From 69d88ec4639d7bec0d3b226c2f4d2186703e9055 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sun, 30 Mar 2014 15:59:54 +0200 Subject: [PATCH 001/133] Major refactoring of lfops, removed a lot of duplicate code --- armsrc/lfops.c | 631 ++++++++++++++++++------------------------------- 1 file changed, 230 insertions(+), 401 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 76c4b44e7..072961a27 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -15,32 +15,8 @@ #include "crc16.h" #include "string.h" -void AcquireRawAdcSamples125k(int divisor) -{ - if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else if (divisor == 0) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); - - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); - - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); - - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - // Now call the acquisition routine - DoAcquisition125k(); -} - // split into two routines so we can avoid timing issues after sending commands // -void DoAcquisition125k(void) +void DoAcquisition125k_internal(bool silent) { uint8_t *dest = (uint8_t *)BigBuf; int n = sizeof(BigBuf); @@ -60,8 +36,44 @@ void DoAcquisition125k(void) if (i >= n) break; } } - Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", - dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); + if( ! silent) + { + Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", + dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); + } +} + +void DoAcquisition125k(void) +{ + DoAcquisition125k_internal(false); +} + +void SetupToAcquireRawAdcSamples(int divisor) +{ + if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + else if (divisor == 0) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + else + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); + + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); + + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); + + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); +} + +void AcquireRawAdcSamples125k(int divisor) +{ + SetupToAcquireRawAdcSamples(divisor); + // Now call the acquisition routine + DoAcquisition125k_internal(false); } void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) @@ -593,15 +605,8 @@ void CmdHIDsimTAG(int hi, int lo, int ledcontrol) if (ledcontrol) LED_A_OFF(); } - - -// loop to capture raw HID waveform then FSK demodulate the TAG ID from it -void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) +void setup_for_125khz() { - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, n=0, i=0, idx=0, found=0, lastval=0; - uint32_t hi2=0, hi=0, lo=0; - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); @@ -614,6 +619,115 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) // Now set up the SSC to get the ADC samples that are now streaming at us. FpgaSetupSsc(); +} +void get_samples(int ledcontrol, uint8_t* dest, int size) +{ + int i = 0; + + memset(dest,128,size); + for(;;) { + if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { + AT91C_BASE_SSC->SSC_THR = 0x43; + if (ledcontrol) LED_D_ON(); + } + if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; + i++; + if (ledcontrol) LED_D_OFF(); + if(i >= size) { + break; + } + } + } +} + +uint8_t fsk_demod(uint8_t * dest, int size) +{ + uint8_t last_transition = 0; + uint8_t idx = 1; + + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + uint8_t threshold_value = 127; + + WDT_HIT(); + + // sync to first lo-hi transition, and threshold + + //Need to threshold first sample + if(dest[0] < threshold_value) dest[0] = 0; + else dest[0] = 1; + + uint8_t numBits = 0; + // count cycles between consecutive lo-hi transitions, there should be either 8 (fc/8) + // or 10 (fc/10) cycles but in practice due to noise etc we may end up with with anywhere + // between 7 to 11 cycles so fuzz it by treat anything <9 as 8 and anything else as 10 + for(idx = 1; idx < size; idx++) { + + // threshold current value + if (dest[idx] < threshold_value) dest[idx] = 0; + else dest[idx] = 1; + + // Check for 0->1 transition + if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition + + if (idx-last_transition < 9) { + dest[numBits]=1; + } else { + dest[numBits]=0; + } + last_transition = idx; + numBits++; + } + } + return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 +} + +uint8_t aggregate_bits(uint8_t *dest,uint8_t size, uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, uint8_t maxConsequtiveBits ) +{ + uint8_t lastval=dest[0]; + uint8_t idx=0; + uint8_t numBits=0; + uint8_t n=1, i=0; + + for( idx=1; idx < size; idx++) { + + if (dest[idx]==lastval) { + n++; + continue; + } + //if lastval was 1, we have a 1->0 crossing + if ( lastval ) { + n=(n+1)/7; + } else {// 0->1 crossing + n=(n+1)/6; + } + if(n < 13) + { + memset(dest+i, lastval ^ 1, n); + numBits += n; + } + n=0; + lastval=dest[idx]; + }//end for + + return numBits; + +} +// loop to capture raw HID waveform then FSK demodulate the TAG ID from it +void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) +{ + uint8_t *dest = (uint8_t *)BigBuf; + + int size=0, idx=0, found=0; + uint32_t hi2=0, hi=0, lo=0; + + // Configure to go in 125Khz listen mode + SetupToAcquireRawAdcSamples(0); + for(;;) { WDT_HIT(); if (ledcontrol) @@ -625,170 +739,64 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) return; } - i = 0; - m = sizeof(BigBuf); - memset(dest,128,m); - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { - AT91C_BASE_SSC->SSC_THR = 0x43; - if (ledcontrol) - LED_D_ON(); - } - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; - i++; - if (ledcontrol) - LED_D_OFF(); - if(i >= m) { - break; - } - } - } + + DoAcquisition125k_internal(true); + size = sizeof(BigBuf); // FSK demodulator + size = fsk_demod(dest, size); - // sync to first lo-hi transition - for( idx=1; idx0 : fc/8 in sets of 6 + // 0->1 : fc/10 in sets of 5 + size = aggregate_bits(dest,size, 6,5,5); + WDT_HIT(); // final loop, go over previously decoded manchester data and decode into usable tag ID // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - for( idx=0; idx>1) & 0xFFFF); - } - else { - Dbprintf("TAG ID: %x%08x (%d)", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - } - /* if we're only looking for one tag */ - if (findone) - { - *high = hi; - *low = lo; - return; - } - hi2=0; - hi=0; - lo=0; - found=0; - } - } + uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; + + for( idx=0; idx < size-sizeof(frame_marker_mask); idx++) { + if (found) { - if (dest[idx] && (!dest[idx+1]) ) { - hi2=(hi2<<1)|(hi>>31); - hi=(hi<<1)|(lo>>31); - lo=(lo<<1)|0; - } else if ( (!dest[idx]) && dest[idx+1]) { - hi2=(hi2<<1)|(hi>>31); - hi=(hi<<1)|(lo>>31); - lo=(lo<<1)|1; - } else { + if(dest[idx] == dest[idx+1]) + {// 1 1 or 00 found=0; - hi2=0; + hi2=0; hi=0; lo=0; + }else + { + //Shift in a bit. Start by shifting high registers + hi2 = (hi2<<1)|(hi>>31); + hi = (hi<<1)|(lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + lo=(lo<<1)|0; + else // 0 1 + lo=(lo<<1)|1; } idx++; } - if ( dest[idx] && dest[idx+1] && dest[idx+2] && (!dest[idx+3]) && (!dest[idx+4]) && (!dest[idx+5]) ) - { + + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // Found start of frame marker found=1; - idx+=6; - if (found && (hi|lo)) { - if (hi2 != 0){ - Dbprintf("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - } - else { - Dbprintf("TAG ID: %x%08x (%d)", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - } + idx+=sizeof(frame_marker_mask); + if (found && (hi2|hi|lo)) { + if (hi2 != 0){ + Dbprintf("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + } + else { + Dbprintf("TAG ID: %x%08x (%d)", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + } /* if we're only looking for one tag */ if (findone) { @@ -796,7 +804,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) *low = lo; return; } - hi2=0; + hi2=0; hi=0; lo=0; found=0; @@ -807,25 +815,26 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) } } +uint32_t bytebits_to_byte(uint8_t* src, int numbits) +{ + uint32_t num = 0; + for(int i = 0 ; i < numbits ; i++) + { + num = (num << 1) | (*src); + src++; + } + return num; +} + + void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - int m=0, n=0, i=0, idx=0, lastval=0; - int found=0; + int size=0, idx=0; uint32_t code=0, code2=0; //uint32_t hi2=0, hi=0, lo=0; - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); - - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); - - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + setup_for_125khz(); for(;;) { WDT_HIT(); @@ -838,170 +847,24 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) return; } - i = 0; - m = sizeof(BigBuf); - memset(dest,128,m); - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { - AT91C_BASE_SSC->SSC_THR = 0x43; - if (ledcontrol) - LED_D_ON(); - } - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; - i++; - if (ledcontrol) - LED_D_OFF(); - if(i >= m) { - break; - } - } - } + DoAcquisition125k_internal(true); + size = sizeof(BigBuf); // FSK demodulator - - // sync to first lo-hi transition - for( idx=1; idx0 : fc/8 in sets of 7 + // 0->1 : fc/10 in sets of 6 + size = aggregate_bits(dest, size, 7,6,13); + WDT_HIT(); - for( idx=0; idx Date: Mon, 31 Mar 2014 17:57:14 +0200 Subject: [PATCH 002/133] Refactoring low frequency operations, now 'lf hid fskdemod' is more stable. Also did changes to handling ioprox tags, this is yet untested, so until it's been tested it should be kept off 'stable' branch --- armsrc/lfops.c | 180 ++++++++++++++++----------------------------- client/proxmark3.c | 6 +- 2 files changed, 70 insertions(+), 116 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 072961a27..397ea8475 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -605,55 +605,16 @@ void CmdHIDsimTAG(int hi, int lo, int ledcontrol) if (ledcontrol) LED_A_OFF(); } -void setup_for_125khz() + +size_t fsk_demod(uint8_t * dest, size_t size) { - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_READER); - - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); - - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - -} -void get_samples(int ledcontrol, uint8_t* dest, int size) -{ - int i = 0; - - memset(dest,128,size); - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { - AT91C_BASE_SSC->SSC_THR = 0x43; - if (ledcontrol) LED_D_ON(); - } - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; - i++; - if (ledcontrol) LED_D_OFF(); - if(i >= size) { - break; - } - } - } -} - -uint8_t fsk_demod(uint8_t * dest, int size) -{ - uint8_t last_transition = 0; - uint8_t idx = 1; + uint32_t last_transition = 0; + uint32_t idx = 1; // we don't care about actual value, only if it's more or less than a // threshold essentially we capture zero crossings for later analysis uint8_t threshold_value = 127; - WDT_HIT(); // sync to first lo-hi transition, and threshold @@ -661,12 +622,11 @@ uint8_t fsk_demod(uint8_t * dest, int size) if(dest[0] < threshold_value) dest[0] = 0; else dest[0] = 1; - uint8_t numBits = 0; + size_t numBits = 0; // count cycles between consecutive lo-hi transitions, there should be either 8 (fc/8) // or 10 (fc/10) cycles but in practice due to noise etc we may end up with with anywhere // between 7 to 11 cycles so fuzz it by treat anything <9 as 8 and anything else as 10 for(idx = 1; idx < size; idx++) { - // threshold current value if (dest[idx] < threshold_value) dest[idx] = 0; else dest[idx] = 1; @@ -686,12 +646,13 @@ uint8_t fsk_demod(uint8_t * dest, int size) return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 } -uint8_t aggregate_bits(uint8_t *dest,uint8_t size, uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, uint8_t maxConsequtiveBits ) + +size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, uint8_t maxConsequtiveBits ) { uint8_t lastval=dest[0]; - uint8_t idx=0; - uint8_t numBits=0; - uint8_t n=1, i=0; + uint32_t idx=0; + size_t numBits=0; + uint32_t n=1; for( idx=1; idx < size; idx++) { @@ -700,14 +661,16 @@ uint8_t aggregate_bits(uint8_t *dest,uint8_t size, uint8_t h2l_crossing_value,ui continue; } //if lastval was 1, we have a 1->0 crossing - if ( lastval ) { - n=(n+1)/7; + if ( dest[idx-1] ) { + n=(n+1) / h2l_crossing_value; } else {// 0->1 crossing - n=(n+1)/6; + n=(n+1) / l2h_crossing_value; } - if(n < 13) + if (n == 0) n = 1; + + if(n < maxConsequtiveBits) { - memset(dest+i, lastval ^ 1, n); + memset(dest+numBits, dest[idx-1] , n); numBits += n; } n=0; @@ -722,34 +685,26 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - int size=0, idx=0, found=0; + size_t size=0,idx=0; //, found=0; uint32_t hi2=0, hi=0, lo=0; - // Configure to go in 125Khz listen mode - SetupToAcquireRawAdcSamples(0); - for(;;) { + while(!BUTTON_PRESS()) { + + // Configure to go in 125Khz listen mode + SetupToAcquireRawAdcSamples(0); + WDT_HIT(); - if (ledcontrol) - LED_A_ON(); - if(BUTTON_PRESS()) { - DbpString("Stopped"); - if (ledcontrol) - LED_A_OFF(); - return; - } - + if (ledcontrol) LED_A_ON(); DoAcquisition125k_internal(true); size = sizeof(BigBuf); // FSK demodulator size = fsk_demod(dest, size); - WDT_HIT(); // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns - // 1->0 : fc/8 in sets of 6 // 0->1 : fc/10 in sets of 5 size = aggregate_bits(dest,size, 6,5,5); @@ -759,36 +714,32 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) // final loop, go over previously decoded manchester data and decode into usable tag ID // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; + int numshifts = 0; + idx = 0; + while( idx + sizeof(frame_marker_mask) < size) { + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=sizeof(frame_marker_mask); - for( idx=0; idx < size-sizeof(frame_marker_mask); idx++) { - - if (found) { - if(dest[idx] == dest[idx+1]) - {// 1 1 or 00 - found=0; - hi2=0; - hi=0; - lo=0; - }else - { - //Shift in a bit. Start by shifting high registers + while(dest[idx] != dest[idx+1] && idx < size-2) + { // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers hi2 = (hi2<<1)|(hi>>31); hi = (hi<<1)|(lo>>31); //Then, shift in a 0 or one into low if (dest[idx] && !dest[idx+1]) // 1 0 lo=(lo<<1)|0; else // 0 1 - lo=(lo<<1)|1; + lo=(lo<<1)| + 1; + numshifts ++; + idx += 2; } - idx++; - } - - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // Found start of frame marker - found=1; - idx+=sizeof(frame_marker_mask); - if (found && (hi2|hi|lo)) { + //Dbprintf("Num shifts: %d ", numshifts); + // Hopefully, we read a tag and hit upon the next frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { if (hi2 != 0){ Dbprintf("TAG ID: %x%08x%08x (%d)", (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); @@ -797,22 +748,21 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) Dbprintf("TAG ID: %x%08x (%d)", (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); } - /* if we're only looking for one tag */ - if (findone) - { - *high = hi; - *low = lo; - return; - } - hi2=0; - hi=0; - lo=0; - found=0; } + + // reset + hi2 = hi = lo = 0; + numshifts = 0; + }else + { + idx++; } } WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } uint32_t bytebits_to_byte(uint8_t* src, int numbits) @@ -830,22 +780,18 @@ uint32_t bytebits_to_byte(uint8_t* src, int numbits) void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - int size=0, idx=0; + + size_t size=0, idx=0; uint32_t code=0, code2=0; - //uint32_t hi2=0, hi=0, lo=0; - setup_for_125khz(); - for(;;) { + while(!BUTTON_PRESS()) { + + // Configure to go in 125Khz listen mode + SetupToAcquireRawAdcSamples(0); + WDT_HIT(); - if (ledcontrol) - LED_A_ON(); - if(BUTTON_PRESS()) { - DbpString("Stopped"); - if (ledcontrol) - LED_A_OFF(); - return; - } + if (ledcontrol) LED_A_ON(); DoAcquisition125k_internal(true); size = sizeof(BigBuf); @@ -853,6 +799,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) // FSK demodulator size = fsk_demod(dest, size); WDT_HIT(); + // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns // 1->0 : fc/8 in sets of 7 // 0->1 : fc/10 in sets of 6 @@ -860,6 +807,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) WDT_HIT(); + //Handle the data uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; for( idx=0; idx < size - 64; idx++) { @@ -890,8 +838,10 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) return; } } + WDT_HIT(); } - WDT_HIT(); + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } /*------------------------------ diff --git a/client/proxmark3.c b/client/proxmark3.c index 528cae341..bf0f3817f 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -47,7 +47,11 @@ void SendCommand(UsbCommand *c) { PrintAndLog("Sending bytes to proxmark failed - offline"); return; } - + /** + The while-loop below causes hangups at times, when the pm3 unit is unresponsive + or disconnected. The main console thread is alive, but comm thread just spins here. + Not good.../holiman + **/ while(txcmd_pending); txcmd = *c; txcmd_pending = true; From 1a5a0d75909562e37b23e6cfd97f0d88206eeac6 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 24 Oct 2014 20:53:43 +0200 Subject: [PATCH 003/133] Fixed compilation issues, but functionality not tested --- armsrc/lfops.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index d29ec3755..3478932a8 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -81,10 +81,7 @@ void AcquireRawAdcSamples125k(int divisor) void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) { LFSetupFPGAForADC(divisor, false); - DoAcquisition125k(trigger_threshold, false); -} - - + DoAcquisition125k(trigger_threshold); } void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) @@ -706,12 +703,12 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) while(!BUTTON_PRESS()) { // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(0, true) + LFSetupFPGAForADC(0, true); WDT_HIT(); if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(true); + DoAcquisition125k_internal(-1,true); size = sizeof(BigBuf); // FSK demodulator @@ -807,7 +804,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) WDT_HIT(); if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(true); + DoAcquisition125k_internal(-1,true); size = sizeof(BigBuf); // FSK demodulator From b225678574c43cd109503f0b2d94f70499812c67 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 24 Oct 2014 21:12:31 +0200 Subject: [PATCH 004/133] Some minor changes and some documentation --- armsrc/lfops.c | 54 +++++++++++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 3478932a8..ba9015ee1 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -15,7 +15,13 @@ #include "crc16.h" #include "string.h" -// split into two routines so we can avoid timing issues after sending commands // + +/** +* Does the sample acquisition. If threshold is specified, the actual sampling +* is not commenced until the threshold has been reached. +* @param trigger_threshold - the threshold +* @param silent - is true, now outputs are made. If false, dbprints the status +*/ void DoAcquisition125k_internal(int trigger_threshold,bool silent) { uint8_t *dest = (uint8_t *)BigBuf; @@ -46,12 +52,21 @@ void DoAcquisition125k_internal(int trigger_threshold,bool silent) } } +/** +* Perform sample aquisition. +*/ void DoAcquisition125k(int trigger_threshold) { DoAcquisition125k_internal(trigger_threshold, false); } -//void SetupToAcquireRawAdcSamples(int divisor) +/** +* Setup the FPGA to listen for samples. This method downloads the FPGA bitstream +* if not already loaded, sets divisor and starts up the antenna. +* @param divisor : 1, 88> 255 or negative ==> 134.8 KHz +* 0 or 95 ==> 125 KHz +* +**/ void LFSetupFPGAForADC(int divisor, bool lf_field) { FpgaDownloadAndGo(FPGA_BITSTREAM_LF); @@ -71,13 +86,19 @@ void LFSetupFPGAForADC(int divisor, bool lf_field) // Now set up the SSC to get the ADC samples that are now streaming at us. FpgaSetupSsc(); } - +/** +* Initializes the FPGA, and acquires the samples. +**/ void AcquireRawAdcSamples125k(int divisor) { LFSetupFPGAForADC(divisor, true); // Now call the acquisition routine DoAcquisition125k_internal(-1,false); } +/** +* Initializes the FPGA for snoop-mode, and acquires the samples. +**/ + void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) { LFSetupFPGAForADC(divisor, false); @@ -86,28 +107,25 @@ void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) { - int at134khz; /* Make sure the tag is reset */ FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); SpinDelay(2500); + + int divisor_used = 95; // 125 KHz // see if 'h' was specified + if (command[strlen((char *) command) - 1] == 'h') - at134khz = TRUE; - else - at134khz = FALSE; + divisor_used = 88; // 134.8 KHz - if (at134khz) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. SpinDelay(50); + // And a little more time for the tag to fully power up SpinDelay(2000); @@ -119,10 +137,7 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LED_D_OFF(); SpinDelayUs(delay_off); - if (at134khz) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); LED_D_ON(); @@ -134,10 +149,7 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LED_D_OFF(); SpinDelayUs(delay_off); - if (at134khz) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); @@ -702,9 +714,11 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) while(!BUTTON_PRESS()) { + /** TODO! This should probably be moved outside the loop /Martin */ // Configure to go in 125Khz listen mode LFSetupFPGAForADC(0, true); + WDT_HIT(); if (ledcontrol) LED_A_ON(); From 9cc8a1e5882d22cfded4f0439cab99de07aa5841 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sat, 25 Oct 2014 22:42:27 +0200 Subject: [PATCH 005/133] Some more docs, also made lf hid fskdemod a bit more stable. Should be no more false readings now --- armsrc/lfops.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index ba9015ee1..74f04913e 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -711,14 +711,11 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) size_t size=0,idx=0; //, found=0; uint32_t hi2=0, hi=0, lo=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); while(!BUTTON_PRESS()) { - /** TODO! This should probably be moved outside the loop /Martin */ - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(0, true); - - WDT_HIT(); if (ledcontrol) LED_A_ON(); @@ -727,7 +724,6 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) // FSK demodulator size = fsk_demod(dest, size); - WDT_HIT(); // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns // 1->0 : fc/8 in sets of 6 @@ -748,7 +744,8 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) idx+=sizeof(frame_marker_mask); while(dest[idx] != dest[idx+1] && idx < size-2) - { // Keep going until next frame marker (or error) + { + // Keep going until next frame marker (or error) // Shift in a bit. Start by shifting high registers hi2 = (hi2<<1)|(hi>>31); hi = (hi<<1)|(lo>>31); @@ -763,16 +760,20 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) } //Dbprintf("Num shifts: %d ", numshifts); // Hopefully, we read a tag and hit upon the next frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + if(idx + sizeof(frame_marker_mask) < size) { - if (hi2 != 0){ - Dbprintf("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - } - else { - Dbprintf("TAG ID: %x%08x (%d)", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + if (hi2 != 0){ + Dbprintf("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + } + else { + Dbprintf("TAG ID: %x%08x (%d)", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + } } + } // reset @@ -809,11 +810,11 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) size_t size=0, idx=0; uint32_t code=0, code2=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); while(!BUTTON_PRESS()) { - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(0, true); WDT_HIT(); if (ledcontrol) LED_A_ON(); @@ -823,7 +824,6 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) // FSK demodulator size = fsk_demod(dest, size); - WDT_HIT(); // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns // 1->0 : fc/8 in sets of 7 From 90e278d3daf11b501043d7ae628a25aeb0227420 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 27 Oct 2014 21:46:04 +0100 Subject: [PATCH 006/133] Fixed several issues found using a coverity-scan --- client/cmddata.c | 2 +- client/cmdhf15.c | 3 ++- client/cmdhficlass.c | 4 ++-- client/cmdhfmf.c | 26 ++++++++++++++------------ client/cmdlfem4x.c | 2 +- client/cmdlfhitag.c | 1 + client/cmdmain.c | 3 ++- client/mifarehost.c | 2 +- client/nonce2key/crapto1.c | 6 ++++++ 9 files changed, 30 insertions(+), 19 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index fa54d01a6..7d9ec1b76 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -556,7 +556,7 @@ int CmdManchesterDemod(const char *Cmd) /* But it does not work if compiling on WIndows: therefore we just allocate a */ /* large array */ - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0}; /* Detect high and lows */ for (i = 0; i < GraphTraceLen; i++) diff --git a/client/cmdhf15.c b/client/cmdhf15.c index cc61d2899..2239e9e46 100644 --- a/client/cmdhf15.c +++ b/client/cmdhf15.c @@ -535,7 +535,8 @@ int CmdHF15CmdRaw (const char *cmd) { */ int prepareHF15Cmd(char **cmd, UsbCommand *c, uint8_t iso15cmd[], int iso15cmdlen) { int temp; - uint8_t *req=c->d.asBytes, uid[8]; + uint8_t *req=c->d.asBytes; + uint8_t uid[8] = {0}; uint32_t reqlen=0; // strip diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index 7156b1188..d9af90441 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -502,6 +502,8 @@ int CmdHFiClassReader_Dump(const char *Cmd) SendCommand(&c); UsbCommand resp; + uint8_t key_sel[8] = {0}; + uint8_t key_sel_p[8] = { 0 }; if (WaitForResponseTimeout(CMD_ACK,&resp,4500)) { uint8_t isOK = resp.arg[0] & 0xff; @@ -520,8 +522,6 @@ int CmdHFiClassReader_Dump(const char *Cmd) { if(elite) { - uint8_t key_sel[8] = {0}; - uint8_t key_sel_p[8] = { 0 }; //Get the key index (hash1) uint8_t key_index[8] = {0}; diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index b66aa3a6d..4b591f0f6 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -1004,6 +1004,16 @@ int CmdHF14AMfNested(const char *Cmd) int CmdHF14AMfChk(const char *Cmd) { + if (strlen(Cmd)<3) { + PrintAndLog("Usage: hf mf chk |<*card memory> [t] [] []"); + PrintAndLog(" * - all sectors"); + PrintAndLog("card memory - 0 - MINI(320 bytes), 1 - 1K, 2 - 2K, 4 - 4K, - 1K"); + PrintAndLog("d - write keys to binary file\n"); + PrintAndLog(" sample: hf mf chk 0 A 1234567890ab keys.dic"); + PrintAndLog(" hf mf chk *1 ? t"); + return 0; + } + FILE * f; char filename[256]={0}; char buf[13]; @@ -1021,6 +1031,7 @@ int CmdHF14AMfChk(const char *Cmd) int transferToEml = 0; int createDumpFile = 0; + keyBlock = calloc(stKeyBlock, 6); if (keyBlock == NULL) return 1; @@ -1047,15 +1058,6 @@ int CmdHF14AMfChk(const char *Cmd) num_to_bytes(defaultKeys[defaultKeyCounter], 6, (uint8_t*)(keyBlock + defaultKeyCounter * 6)); } - if (strlen(Cmd)<3) { - PrintAndLog("Usage: hf mf chk |<*card memory> [t] [] []"); - PrintAndLog(" * - all sectors"); - PrintAndLog("card memory - 0 - MINI(320 bytes), 1 - 1K, 2 - 2K, 4 - 4K, - 1K"); - PrintAndLog("d - write keys to binary file\n"); - PrintAndLog(" sample: hf mf chk 0 A 1234567890ab keys.dic"); - PrintAndLog(" hf mf chk *1 ? t"); - return 0; - } if (param_getchar(Cmd, 0)=='*') { blockNo = 3; @@ -1144,11 +1146,11 @@ int CmdHF14AMfChk(const char *Cmd) keycnt++; memset(buf, 0, sizeof(buf)); } + fclose(f); } else { PrintAndLog("File: %s: not found or locked.", filename); free(keyBlock); return 1; - fclose(f); } } } @@ -1586,8 +1588,8 @@ int CmdHF14AMfEKeyPrn(const char *Cmd) int CmdHF14AMfCSetUID(const char *Cmd) { uint8_t wipeCard = 0; - uint8_t uid[8]; - uint8_t oldUid[8]; + uint8_t uid[8] = {0}; + uint8_t oldUid[8]= {0}; int res; if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') { diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index a7312d21b..a3674a6ca 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -319,7 +319,7 @@ int CmdEM4x50Read(const char *Cmd) ++i; while ((GraphBuffer[i] > low) && (i(MAX_GRAPH_TRACE_LEN/64)) { + if (j>=(MAX_GRAPH_TRACE_LEN/64)) { break; } tmpbuff[j++]= i - start; diff --git a/client/cmdlfhitag.c b/client/cmdlfhitag.c index af61bd366..13f075f72 100644 --- a/client/cmdlfhitag.c +++ b/client/cmdlfhitag.c @@ -149,6 +149,7 @@ int CmdLFHitagSim(const char *Cmd) { tag_mem_supplied = true; if (fread(c.d.asBytes,48,1,pf) == 0) { PrintAndLog("Error: File reading error"); + fclose(pf); return 1; } fclose(pf); diff --git a/client/cmdmain.c b/client/cmdmain.c index fa358fac8..77f1c373e 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -134,8 +134,9 @@ int getCommand(UsbCommand* response) */ bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeout) { + UsbCommand resp; + if (response == NULL) { - UsbCommand resp; response = &resp; } diff --git a/client/mifarehost.c b/client/mifarehost.c index fe8b8b268..7633def36 100644 --- a/client/mifarehost.c +++ b/client/mifarehost.c @@ -296,7 +296,7 @@ static uint8_t trailerAccessBytes[4] = {0x08, 0x77, 0x8F, 0x00}; // variables char logHexFileName[200] = {0x00}; static uint8_t traceCard[4096] = {0x00}; -static char traceFileName[20]; +static char traceFileName[200] = {0}; static int traceState = TRACE_IDLE; static uint8_t traceCurBlock = 0; static uint8_t traceCurKey = 0; diff --git a/client/nonce2key/crapto1.c b/client/nonce2key/crapto1.c index 90f55ab4c..61215420f 100644 --- a/client/nonce2key/crapto1.c +++ b/client/nonce2key/crapto1.c @@ -544,8 +544,14 @@ lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8], statelist = malloc((sizeof *statelist) << 21); //how large should be? if(!statelist || !odd || !even) + { + free(statelist); + free(odd); + free(even); return 0; + } + s = statelist; for(o = odd; *o != -1; ++o) for(e = even; *e != -1; ++e) From 97d582a69235c88c8f30a88193769dbddb74e9b1 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 27 Oct 2014 22:33:37 +0100 Subject: [PATCH 007/133] More coverity findings --- client/cmdhfmf.c | 86 +++++++++++------------------------------- client/cmdlfhitag.c | 23 ++++------- client/loclass/ikeys.c | 10 +++-- client/mifarehost.c | 26 ++++--------- 4 files changed, 46 insertions(+), 99 deletions(-) diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 4b591f0f6..80d93a466 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -343,10 +343,6 @@ int CmdHF14AMfURdCard(const char *Cmd) uint8_t isOK = 0; uint8_t * data = NULL; - if (sectorNo > 15) { - PrintAndLog("Sector number must be less than 16"); - return 1; - } PrintAndLog("Attempting to Read Ultralight... "); UsbCommand c = {CMD_MIFAREU_READCARD, {sectorNo}}; @@ -359,64 +355,24 @@ int CmdHF14AMfURdCard(const char *Cmd) PrintAndLog("isOk:%02x", isOK); if (isOK) - for (i = 0; i < 16; i++) { - switch(i){ - case 2: - //process lock bytes - lockbytes_t=data+(i*4); - lockbytes[0]=lockbytes_t[2]; - lockbytes[1]=lockbytes_t[3]; - for(int j=0; j<16; j++){ - bit[j]=lockbytes[j/8] & ( 1 <<(7-j%8)); - } - //PrintAndLog("LB %02x %02x", lockbytes[0],lockbytes[1]); - //PrintAndLog("LB2b %02x %02x %02x %02x %02x %02x %02x %02x",bit[8],bit[9],bit[10],bit[11],bit[12],bit[13],bit[14],bit[15]); - PrintAndLog("Block %3d:%s ", i,sprint_hex(data + i * 4, 4)); - break; - case 3: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[4]); - break; - case 4: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[3]); - break; - case 5: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[2]); - break; - case 6: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[1]); - break; - case 7: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[0]); - break; - case 8: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[15]); - break; - case 9: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[14]); - break; - case 10: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[13]); - break; - case 11: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[12]); - break; - case 12: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[11]); - break; - case 13: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[10]); - break; - case 14: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[9]); - break; - case 15: - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[8]); - break; - default: - PrintAndLog("Block %3d:%s ", i,sprint_hex(data + i * 4, 4)); - break; + { // bit 0 and 1 + PrintAndLog("Block %3d:%s ", 0,sprint_hex(data + 0 * 4, 4)); + PrintAndLog("Block %3d:%s ", 1,sprint_hex(data + 1 * 4, 4)); + // bit 2 + //process lock bytes + lockbytes_t=data+(2*4); + lockbytes[0]=lockbytes_t[2]; + lockbytes[1]=lockbytes_t[3]; + for(int j=0; j<16; j++){ + bit[j]=lockbytes[j/8] & ( 1 <<(7-j%8)); } - } + //remaining + for (i = 3; i < 16; i++) { + int bitnum = (23-i) % 16; + PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[bitnum]); + } + + } } else { PrintAndLog("Command execute timeout"); } @@ -546,6 +502,7 @@ int CmdHF14AMfDump(const char *Cmd) for (sectorNo=0; sectorNo= 1900) { break; @@ -107,23 +104,19 @@ int CmdLFHitagList(const char *Cmd) line); - if (pf) { - fprintf(pf," +%7d: %3d: %s %s\n", - (prev < 0 ? 0 : (timestamp - prev)), - bits, - (isResponse ? "TAG" : " "), - line); - } +// if (pf) { +// fprintf(pf," +%7d: %3d: %s %s\n", +// (prev < 0 ? 0 : (timestamp - prev)), +// bits, +// (isResponse ? "TAG" : " "), +// line); +// } prev = timestamp; i += (len + 9); } - if (pf) { - PrintAndLog("Recorded activity succesfully written to file: %s", filename); - fclose(pf); - } - + return 0; } diff --git a/client/loclass/ikeys.c b/client/loclass/ikeys.c index cd2b72ee0..4749181e3 100644 --- a/client/loclass/ikeys.c +++ b/client/loclass/ikeys.c @@ -727,13 +727,17 @@ int readKeyFile(uint8_t key[8]) { FILE *f; - + int retval = 1; f = fopen("iclass_key.bin", "rb"); if (f) { - if(fread(key, sizeof(key), 1, f) == 1) return 0; + if(fread(key, sizeof(uint8_t), 8, f) == 1) + { + retval = 0; + } + fclose(f); } - return 1; + return retval; } diff --git a/client/mifarehost.c b/client/mifarehost.c index 7633def36..72e70662a 100644 --- a/client/mifarehost.c +++ b/client/mifarehost.c @@ -497,7 +497,7 @@ int mfTraceDecode(uint8_t *data_src, int len, uint32_t parity, bool wantSaveToEm break; case TRACE_WRITE_OK: - if ((len == 1) && (data[0] = 0x0a)) { + if ((len == 1) && (data[0] == 0x0a)) { traceState = TRACE_WRITE_DATA; return 0; @@ -555,23 +555,13 @@ int mfTraceDecode(uint8_t *data_src, int len, uint32_t parity, bool wantSaveToEm at_par = parity; // decode key here) - if (!traceCrypto1) { - ks2 = ar_enc ^ prng_successor(nt, 64); - ks3 = at_enc ^ prng_successor(nt, 96); - revstate = lfsr_recovery64(ks2, ks3); - lfsr_rollback_word(revstate, 0, 0); - lfsr_rollback_word(revstate, 0, 0); - lfsr_rollback_word(revstate, nr_enc, 1); - lfsr_rollback_word(revstate, uid ^ nt, 0); - }else{ - ks2 = ar_enc ^ prng_successor(nt, 64); - ks3 = at_enc ^ prng_successor(nt, 96); - revstate = lfsr_recovery64(ks2, ks3); - lfsr_rollback_word(revstate, 0, 0); - lfsr_rollback_word(revstate, 0, 0); - lfsr_rollback_word(revstate, nr_enc, 1); - lfsr_rollback_word(revstate, uid ^ nt, 0); - } + ks2 = ar_enc ^ prng_successor(nt, 64); + ks3 = at_enc ^ prng_successor(nt, 96); + revstate = lfsr_recovery64(ks2, ks3); + lfsr_rollback_word(revstate, 0, 0); + lfsr_rollback_word(revstate, 0, 0); + lfsr_rollback_word(revstate, nr_enc, 1); + lfsr_rollback_word(revstate, uid ^ nt, 0); crypto1_get_lfsr(revstate, &lfsr); printf("key> %x%x\n", (unsigned int)((lfsr & 0xFFFFFFFF00000000) >> 32), (unsigned int)(lfsr & 0xFFFFFFFF)); AddLogUint64(logHexFileName, "key> ", lfsr); From 2ed270a8548e1b0436af6caf2e1c5e179a6b6a58 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Tue, 28 Oct 2014 21:44:17 +0100 Subject: [PATCH 008/133] Coverity-fixes in armsrc --- armsrc/epa.c | 2 +- armsrc/hitag2.c | 4 +- armsrc/iclass.c | 29 +++++---- armsrc/iso14443a.c | 11 +++- armsrc/lfops.c | 147 +++++++++++++++++++++++---------------------- armsrc/util.c | 2 +- 6 files changed, 104 insertions(+), 91 deletions(-) diff --git a/armsrc/epa.c b/armsrc/epa.c index b0ae5e0d0..b1f0a1874 100644 --- a/armsrc/epa.c +++ b/armsrc/epa.c @@ -419,7 +419,7 @@ int EPA_Setup() // return code int return_code = 0; // card UID - uint8_t uid[8]; + uint8_t uid[10]; // card select information iso14a_card_select_t card_select_info; // power up the field diff --git a/armsrc/hitag2.c b/armsrc/hitag2.c index 9181a62ea..839240bd3 100644 --- a/armsrc/hitag2.c +++ b/armsrc/hitag2.c @@ -1140,7 +1140,7 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { case RHT2F_PASSWORD: { Dbprintf("List identifier in password mode"); memcpy(password,htd->pwd.password,4); - blocknr = 0; + blocknr = 0; bQuitTraceFull = false; bQuiet = false; bPwd = false; @@ -1158,7 +1158,7 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { case RHT2F_CRYPTO: { DbpString("Authenticating using key:"); - memcpy(key,htd->crypto.key,6); + memcpy(key,htd->crypto.key,4); Dbhexdump(6,key,false); blocknr = 0; bQuiet = false; diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 0ff24bfdd..0ee1b3554 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -1295,20 +1295,23 @@ static void TransmitIClassCommand(const uint8_t *cmd, int len, int *samples, int FpgaSetupSsc(); if (wait) - if(*wait < 10) - *wait = 10; + { + if(*wait < 10) *wait = 10; + + for(c = 0; c < *wait;) { + if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { + AT91C_BASE_SSC->SSC_THR = 0x00; // For exact timing! + c++; + } + if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { + volatile uint32_t r = AT91C_BASE_SSC->SSC_RHR; + (void)r; + } + WDT_HIT(); + } + + } - for(c = 0; c < *wait;) { - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { - AT91C_BASE_SSC->SSC_THR = 0x00; // For exact timing! - c++; - } - if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { - volatile uint32_t r = AT91C_BASE_SSC->SSC_RHR; - (void)r; - } - WDT_HIT(); - } uint8_t sendbyte; bool firstpart = TRUE; diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index 9a80a1772..bbfc0b75b 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -1726,7 +1726,13 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u if ((sak & 0x04) /* && uid_resp[0] == 0x88 */) { // Remove first byte, 0x88 is not an UID byte, it CT, see page 3 of: // http://www.nxp.com/documents/application_note/AN10927.pdf - memcpy(uid_resp, uid_resp + 1, 3); + // This was earlier: + //memcpy(uid_resp, uid_resp + 1, 3); + // But memcpy should not be used for overlapping arrays, + // and memmove appears to not be available in the arm build. + // So this has been replaced with a for-loop: + for(int xx = 0; xx < 3; xx++) uid_resp[xx] = uid_resp[xx+1]; + uid_resp_len = 3; } @@ -1936,7 +1942,8 @@ void ReaderMifare(bool first_try) uint8_t uid[10]; uint32_t cuid; - uint32_t nt, previous_nt; + uint32_t nt =0 ; + uint32_t previous_nt = 0; static uint32_t nt_attacked = 0; byte_t par_list[8] = {0,0,0,0,0,0,0,0}; byte_t ks_list[8] = {0,0,0,0,0,0,0,0}; diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 74f04913e..7d497e3cc 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -1456,78 +1456,81 @@ int DemodPCF7931(uint8_t **outBlocks) { for (bitidx = 0; i < GraphTraceLen; i++) { - if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) - { - lc = i - lastval; - lastval = i; - - // Switch depending on lc length: - // Tolerance is 1/8 of clock rate (arbitrary) - if (abs(lc-clock/4) < tolerance) { - // 16T0 - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33+16)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else { - pmc = i; - } - } else if (abs(lc-clock/2) < tolerance) { - // 32TO - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else if(half_switch == 1) { - BitStream[bitidx++] = 0; - half_switch = 0; - } - else - half_switch++; - } else if (abs(lc-clock) < tolerance) { - // 64TO - BitStream[bitidx++] = 1; - } else { - // Error - warnings++; - if (warnings > 10) - { - Dbprintf("Error: too many detection errors, aborting."); - return 0; - } - } - - if(block_done == 1) { - if(bitidx == 128) { - for(j=0; j<16; j++) { - Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ - 64*BitStream[j*8+6]+ - 32*BitStream[j*8+5]+ - 16*BitStream[j*8+4]+ - 8*BitStream[j*8+3]+ - 4*BitStream[j*8+2]+ - 2*BitStream[j*8+1]+ - BitStream[j*8]; - } - num_blocks++; - } - bitidx = 0; - block_done = 0; - half_switch = 0; - } - if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; - else dir = 1; - } - if(bitidx==255) - bitidx=0; - warnings = 0; - if(num_blocks == 4) break; + if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) + { + lc = i - lastval; + lastval = i; + + // Switch depending on lc length: + // Tolerance is 1/8 of clock rate (arbitrary) + if (abs(lc-clock/4) < tolerance) { + // 16T0 + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33+16)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else { + pmc = i; + } + } else if (abs(lc-clock/2) < tolerance) { + // 32TO + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else if(half_switch == 1) { + BitStream[bitidx++] = 0; + half_switch = 0; + } + else + half_switch++; + } else if (abs(lc-clock) < tolerance) { + // 64TO + BitStream[bitidx++] = 1; + } else { + // Error + warnings++; + if (warnings > 10) + { + Dbprintf("Error: too many detection errors, aborting."); + return 0; + } + } + + if(block_done == 1) { + if(bitidx == 128) { + for(j=0; j<16; j++) { + Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ + 64*BitStream[j*8+6]+ + 32*BitStream[j*8+5]+ + 16*BitStream[j*8+4]+ + 8*BitStream[j*8+3]+ + 4*BitStream[j*8+2]+ + 2*BitStream[j*8+1]+ + BitStream[j*8]; + } + num_blocks++; + } + bitidx = 0; + block_done = 0; + half_switch = 0; + } + if(i < GraphTraceLen) + { + if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; + else dir = 1; + } + } + if(bitidx==255) + bitidx=0; + warnings = 0; + if(num_blocks == 4) break; } memcpy(outBlocks, Blocks, 16*num_blocks); return num_blocks; diff --git a/armsrc/util.c b/armsrc/util.c index 2d3aab9ca..5b68f5134 100644 --- a/armsrc/util.c +++ b/armsrc/util.c @@ -225,7 +225,7 @@ void FormatVersionInformation(char *dst, int len, const char *prefix, void *vers { struct version_information *v = (struct version_information*)version_information; dst[0] = 0; - strncat(dst, prefix, len); + strncat(dst, prefix, len-1); if(v->magic != VERSION_INFORMATION_MAGIC) { strncat(dst, "Missing/Invalid version information", len - strlen(dst) - 1); return; From ca4714cd23338a762c45839d1b3010988b7612a7 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 30 Oct 2014 21:49:18 +0100 Subject: [PATCH 009/133] More coverity fixes --- armsrc/iso14443a.c | 10 ++++++---- client/cmdhfmf.c | 8 +++++++- client/loclass/cipherutils.c | 1 + client/loclass/fileutils.c | 1 + client/mifarehost.c | 6 ++++-- client/uart.c | 1 + 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index bbfc0b75b..01cf24868 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -1730,9 +1730,11 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u //memcpy(uid_resp, uid_resp + 1, 3); // But memcpy should not be used for overlapping arrays, // and memmove appears to not be available in the arm build. - // So this has been replaced with a for-loop: - for(int xx = 0; xx < 3; xx++) uid_resp[xx] = uid_resp[xx+1]; - + // Therefore: + uid_resp[0] = uid_resp[1]; + uid_resp[1] = uid_resp[2]; + uid_resp[2] = uid_resp[3]; + uid_resp_len = 3; } @@ -1939,7 +1941,7 @@ void ReaderMifare(bool first_try) //byte_t par_mask = 0xff; static byte_t par_low = 0; bool led_on = TRUE; - uint8_t uid[10]; + uint8_t uid[10] ={0}; uint32_t cuid; uint32_t nt =0 ; diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 80d93a466..bdb0e7e74 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -667,12 +667,15 @@ int CmdHF14AMfRestore(const char *Cmd) } if ((fkeys = fopen("dumpkeys.bin","rb")) == NULL) { PrintAndLog("Could not find file dumpkeys.bin"); + fclose(fdump); return 1; } for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { if (fread(keyA[sectorNo], 1, 6, fkeys) == 0) { PrintAndLog("File reading error (dumpkeys.bin)."); + fclose(fdump); + fclose(fkeys); return 2; } } @@ -680,9 +683,12 @@ int CmdHF14AMfRestore(const char *Cmd) for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { if (fread(keyB[sectorNo], 1, 6, fkeys) == 0) { PrintAndLog("File reading error (dumpkeys.bin)."); + fclose(fdump); + fclose(fkeys); return 2; } } + fclose(fkeys); PrintAndLog("Restoring dumpdata.bin to card"); @@ -693,6 +699,7 @@ int CmdHF14AMfRestore(const char *Cmd) if (fread(bldata, 1, 16, fdump) == 0) { PrintAndLog("File reading error (dumpdata.bin)."); + fclose(fdump); return 2; } @@ -727,7 +734,6 @@ int CmdHF14AMfRestore(const char *Cmd) } fclose(fdump); - fclose(fkeys); return 0; } diff --git a/client/loclass/cipherutils.c b/client/loclass/cipherutils.c index 1e08cf105..e11e8d224 100644 --- a/client/loclass/cipherutils.c +++ b/client/loclass/cipherutils.c @@ -192,6 +192,7 @@ void printarr_human_readable(char * title, uint8_t* arr, int len) cx += snprintf(output+cx,outsize-cx, "%02x ",*(arr+i)); } prnlog(output); + free(output); } //----------------------------- diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index 2f7b6b655..8c08c9ee3 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -35,6 +35,7 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si FILE *fileHandle=fopen(fileName,"wb"); if(!fileHandle) { prnlog("Failed to write to file '%s'", fileName); + free(fileName); return 1; } fwrite(data, 1, datalen, fileHandle); diff --git a/client/mifarehost.c b/client/mifarehost.c index 72e70662a..2a1f8a48e 100644 --- a/client/mifarehost.c +++ b/client/mifarehost.c @@ -350,13 +350,15 @@ int loadTraceCard(uint8_t *tuid) { while(!feof(f)){ memset(buf, 0, sizeof(buf)); if (fgets(buf, sizeof(buf), f) == NULL) { - PrintAndLog("File reading error."); + PrintAndLog("File reading error."); + fclose(f); return 2; - } + } if (strlen(buf) < 32){ if (feof(f)) break; PrintAndLog("File content error. Block data must include 32 HEX symbols"); + fclose(f); return 2; } for (i = 0; i < 32; i += 2) diff --git a/client/uart.c b/client/uart.c index f7c5e35c3..4b2fee994 100644 --- a/client/uart.c +++ b/client/uart.c @@ -73,6 +73,7 @@ serial_port uart_open(const char* pcPortName) // Does the system allows us to place a lock on this file descriptor if (fcntl(sp->fd, F_SETLK, &fl) == -1) { // A conflicting lock is held by another process + free(sp); return CLAIMED_SERIAL_PORT; } From d6a120a25ba4838c3991643e026fc10ef821e42a Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sun, 30 Nov 2014 22:30:36 +0100 Subject: [PATCH 010/133] Added Enios cool tuning-trick (LF) from forum-post: http://www.proxmark.org/forum/viewtopic.php?pid=13060#p13060 --- armsrc/appmain.c | 2 +- client/cmddata.c | 21 +++++++++++++++++++++ client/cmddata.h | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index a3f507d65..8f676c8e4 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -203,7 +203,7 @@ void MeasureAntennaTuning(void) LED_B_ON(); DbpString("Measuring antenna characteristics, please wait..."); - memset(dest,0,sizeof(FREE_BUFFER_SIZE)); + memset(dest,0,FREE_BUFFER_SIZE); /* * Sweeps the useful LF range of the proxmark from diff --git a/client/cmddata.c b/client/cmddata.c index 7d9ec1b76..b34ed8e01 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -479,6 +479,26 @@ int CmdSamples(const char *Cmd) return 0; } +int CmdTuneSamples(const char *Cmd) +{ + int cnt = 0; + int n = 255; + uint8_t got[255]; + + PrintAndLog("Reading %d samples\n", n); + GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 + WaitForResponse(CMD_ACK,NULL); + for (int j = 0; j < n; j++) { + GraphBuffer[cnt++] = ((int)got[j]) - 128; + } + + PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); + PrintAndLog("\n"); + GraphTraceLen = n; + RepaintGraphWindow(); + return 0; +} + int CmdLoad(const char *Cmd) { FILE *f = fopen(Cmd, "r"); @@ -906,6 +926,7 @@ static command_t CommandTable[] = {"norm", CmdNorm, 1, "Normalize max/min to +/-500"}, {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, + {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, {"save", CmdSave, 1, " -- Save trace (from graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, diff --git a/client/cmddata.h b/client/cmddata.h index 716c9c39c..8dcefc303 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -35,6 +35,7 @@ int CmdManchesterMod(const char *Cmd); int CmdNorm(const char *Cmd); int CmdPlot(const char *Cmd); int CmdSamples(const char *Cmd); +int CmdTuneSamples(const char *Cmd); int CmdSave(const char *Cmd); int CmdScale(const char *Cmd); int CmdThreshold(const char *Cmd); From 0ff9a93966032e1acb84685b5c243e7ee0d26249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Veres-Szentkir=C3=A1lyi?= Date: Wed, 10 Dec 2014 16:42:31 +0100 Subject: [PATCH 011/133] Typofix: occurrences It's spelled with two rs. --- client/cmdlf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/cmdlf.c b/client/cmdlf.c index 22aa1e059..cf920b1ef 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -269,7 +269,7 @@ int CmdIndalaDemod(const char *Cmd) PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); } - // Checking UID against next occurences + // Checking UID against next occurrences for (; i + uidlen <= rawbit;) { int failed = 0; for (bit = 0; bit < uidlen; bit++) { @@ -283,7 +283,7 @@ int CmdIndalaDemod(const char *Cmd) } times += 1; } - PrintAndLog("Occurences: %d (expected %d)", times, (rawbit - start) / uidlen); + PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); // Remodulating for tag cloning GraphTraceLen = 32*uidlen; From 48601727895467580bdb7ec23e0a095f0f4ceb07 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Sat, 13 Dec 2014 20:23:59 -0500 Subject: [PATCH 012/133] LF HID & IO prox demod translation addons lf hid fskdemod - add bit format length, facility code and card numbers for different formats --- armsrc/lfops.c | 76 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 63 insertions(+), 13 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 7d497e3cc..a3cef485c 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -755,22 +755,71 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) else // 0 1 lo=(lo<<1)| 1; - numshifts ++; + numshifts++; idx += 2; } + //Dbprintf("Num shifts: %d ", numshifts); // Hopefully, we read a tag and hit upon the next frame marker if(idx + sizeof(frame_marker_mask) < size) { if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) { - if (hi2 != 0){ + if (hi2 != 0){ //should be large enough for the largest HID tags Dbprintf("TAG ID: %x%08x%08x (%d)", (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); } - else { - Dbprintf("TAG ID: %x%08x (%d)", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + else { //standard bits + //Dbprintf("TAG ID: %x%08x (%d)", + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; + } + bitlen =idx3+19; + fc =0; + cardnum=0; + if(bitlen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + //Dbprintf("Format Len: %d bit - FC: %d - Card: %d",(unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + //Dbprintf("TAG ID: %x%08x (%d)", + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + + Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); } } @@ -837,7 +886,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) for( idx=0; idx < size - 64; idx++) { if ( memcmp(dest + idx, mask, sizeof(mask)) ) continue; - + Dbprintf("%b",bytebits_to_byte(dest+idx,32)); Dbprintf("%d%d%d%d%d%d%d%d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7]); Dbprintf("%d%d%d%d%d%d%d%d",dest[idx+8], dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15]); Dbprintf("%d%d%d%d%d%d%d%d",dest[idx+16],dest[idx+17],dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23]); @@ -850,11 +899,11 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) code = bytebits_to_byte(dest+idx,32); code2 = bytebits_to_byte(dest+idx+32,32); - short version = bytebits_to_byte(dest+idx+14,4); - char unknown = bytebits_to_byte(dest+idx+19,8) ; - uint16_t number = bytebits_to_byte(dest+idx+36,9); + short version = bytebits_to_byte(dest+idx+28,8); //14,4 + char facilitycode = bytebits_to_byte(dest+idx+19,8) ; + uint16_t number = (bytebits_to_byte(dest+idx+37,8)<<8)|(bytebits_to_byte(dest+idx+46,8)); //36,9 - Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,unknown,number,code,code2); + Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); if (ledcontrol) LED_D_OFF(); // if we're only looking for one tag @@ -950,7 +999,8 @@ void T55xxWriteBit(int bit) // Write one card block in page 0, no lock void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - unsigned int i; + //unsigned int i; //enio adjustment 12/10/14 + uint32_t i; FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz @@ -995,8 +1045,8 @@ void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMod void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; - + //int m=0, i=0; //enio adjustment 12/10/14 + uint32_t m=0, i=0; FpgaDownloadAndGo(FPGA_BITSTREAM_LF); m = sizeof(BigBuf); // Clear destination buffer before sending the command From eabba3df7e2a09f466e6f5f988d973aff7722cd5 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sun, 14 Dec 2014 18:07:12 +0100 Subject: [PATCH 013/133] Fix (iclass) --- armsrc/iclass.c | 2 +- client/cmdhficlass.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 0ee1b3554..730367124 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -994,7 +994,7 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain { uint8_t mac_responses[64] = { 0 }; - Dbprintf("Going into attack mode"); + Dbprintf("Going into attack mode, %d CSNS sent", numberOfCSNS); // In this mode, a number of csns are within datain. We'll simulate each one, one at a time // in order to collect MAC's from the reader. This can later be used in an offlne-attack // in order to obtain the keys, as in the "dismantling iclass"-paper. diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index d9af90441..a59a9bac3 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -340,7 +340,7 @@ int CmdHFiClassSim(const char *Cmd) if(simType == 2) { - UsbCommand c = {CMD_SIMULATE_TAG_ICLASS, {simType,63}}; + UsbCommand c = {CMD_SIMULATE_TAG_ICLASS, {simType,8}}; UsbCommand resp = {0}; uint8_t csns[64] = { From 6116c7961889ab2e2c6821b3ac180d6ba71f9a2a Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sun, 14 Dec 2014 21:37:56 +0100 Subject: [PATCH 014/133] Reverted to original malicious CSNs from paper, it appears legit readers does not accept if they dont end with F7,FF,12,E0 --- armsrc/iclass.c | 8 ++++---- client/cmdhficlass.c | 32 +++++++++++++++++++++++++------- client/loclass/fileutils.c | 7 ++++--- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 730367124..937edcb46 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -1004,7 +1004,7 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain // The usb data is 512 bytes, fitting 65 8-byte CSNs in there. memcpy(csn_crc, datain+(i*8), 8); - if(doIClassSimulation(csn_crc,1,mac_responses)) + if(doIClassSimulation(csn_crc,1,mac_responses+i*8)) { return; // Button pressed } @@ -1132,7 +1132,6 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader //Signal tracer // Can be used to get a trigger for an oscilloscope.. LED_C_OFF(); - if(!GetIClassCommandFromReader(receivedCmd, &len, 100)) { buttonPressed = true; break; @@ -1175,9 +1174,10 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader respsize = 0; if (breakAfterMacReceived){ // dbprintf:ing ... - Dbprintf("CSN: %02x %02x %02x %02x %02x %02x %02x %02x",csn[0],csn[1],csn[2],csn[3],csn[4],csn[5],csn[6],csn[7]); + Dbprintf("CSN: %02x %02x %02x %02x %02x %02x %02x %02x" + ,csn[0],csn[1],csn[2],csn[3],csn[4],csn[5],csn[6],csn[7]); Dbprintf("RDR: (len=%02d): %02x %02x %02x %02x %02x %02x %02x %02x %02x",len, - receivedCmd[0], receivedCmd[1], receivedCmd[2], + receivedCmd[0], receivedCmd[1], receivedCmd[2], receivedCmd[3], receivedCmd[4], receivedCmd[5], receivedCmd[6], receivedCmd[7], receivedCmd[8]); if (reader_mac_buf != NULL) diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index a59a9bac3..d3d6e930d 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -303,7 +303,7 @@ int CmdHFiClassSnoop(const char *Cmd) SendCommand(&c); return 0; } - +#define NUM_CSNS 15 int CmdHFiClassSim(const char *Cmd) { uint8_t simType = 0; @@ -340,10 +340,10 @@ int CmdHFiClassSim(const char *Cmd) if(simType == 2) { - UsbCommand c = {CMD_SIMULATE_TAG_ICLASS, {simType,8}}; + UsbCommand c = {CMD_SIMULATE_TAG_ICLASS, {simType,NUM_CSNS}}; UsbCommand resp = {0}; - uint8_t csns[64] = { + /*uint8_t csns[8 * NUM_CSNS] = { 0x00,0x0B,0x0F,0xFF,0xF7,0xFF,0x12,0xE0 , 0x00,0x13,0x94,0x7e,0x76,0xff,0x12,0xe0 , 0x2a,0x99,0xac,0x79,0xec,0xff,0x12,0xe0 , @@ -352,8 +352,26 @@ int CmdHFiClassSim(const char *Cmd) 0x4b,0x5e,0x0b,0x72,0xef,0xff,0x12,0xe0 , 0x00,0x73,0xd8,0x75,0x58,0xff,0x12,0xe0 , 0x0c,0x90,0x32,0xf3,0x5d,0xff,0x12,0xe0 }; +*/ + + uint8_t csns[8*NUM_CSNS] = { + 0x00, 0x0B, 0x0F, 0xFF, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x04, 0x0E, 0x08, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x09, 0x0D, 0x05, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x0A, 0x0C, 0x06, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x0F, 0x0B, 0x03, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x08, 0x0A, 0x0C, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x0D, 0x09, 0x09, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x0E, 0x08, 0x0A, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x03, 0x07, 0x17, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x3C, 0x06, 0xE0, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x01, 0x05, 0x1D, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x02, 0x04, 0x1E, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x07, 0x03, 0x1B, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x00, 0x02, 0x24, 0xF7, 0xFF, 0x12, 0xE0, + 0x00, 0x05, 0x01, 0x21, 0xF7, 0xFF, 0x12, 0xE0 }; - memcpy(c.d.asBytes, csns, 64); + memcpy(c.d.asBytes, csns, 8*NUM_CSNS); SendCommand(&c); if (!WaitForResponseTimeout(CMD_ACK, &resp, -1)) { @@ -362,9 +380,9 @@ int CmdHFiClassSim(const char *Cmd) } uint8_t num_mac_responses = resp.arg[1]; - PrintAndLog("Mac responses: %d MACs obtained (should be 8)", num_mac_responses); + PrintAndLog("Mac responses: %d MACs obtained (should be %d)", num_mac_responses,NUM_CSNS); - size_t datalen = 8*24; + size_t datalen = NUM_CSNS*24; /* * Now, time to dump to file. We'll use this format: * <8-byte CSN><8-byte CC><4 byte NR><4 byte MAC>.... @@ -378,7 +396,7 @@ int CmdHFiClassSim(const char *Cmd) void* dump = malloc(datalen); memset(dump,0,datalen);//<-- Need zeroes for the CC-field uint8_t i = 0; - for(i = 0 ; i < 8 ; i++) + for(i = 0 ; i < NUM_CSNS ; i++) { memcpy(dump+i*24, csns+i*8,8); //CSN //8 zero bytes here... diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index 8c08c9ee3..255aa3137 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -18,7 +18,7 @@ int fileExists(const char *filename) { int saveFile(const char *preferredName, const char *suffix, const void* data, size_t datalen) { - int size = sizeof(char) * (strlen(preferredName)+strlen(suffix)+5); + int size = sizeof(char) * (strlen(preferredName)+strlen(suffix)+10); char * fileName = malloc(size); memset(fileName,0,size); @@ -34,13 +34,14 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si /*Opening file for writing in binary mode*/ FILE *fileHandle=fopen(fileName,"wb"); if(!fileHandle) { - prnlog("Failed to write to file '%s'", fileName); + PrintAndLog("Failed to write to file '%s'", fileName); free(fileName); return 1; } fwrite(data, 1, datalen, fileHandle); fclose(fileHandle); - prnlog("Saved data to '%s'", fileName); + PrintAndLog(">Saved data to '%s'", fileName); + free(fileName); return 0; From 6a1f2d82bb7d33cd49f9c191f36144ca10d5b629 Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Tue, 16 Dec 2014 07:41:07 +0100 Subject: [PATCH 015/133] bugfixes iso14443a (hf 14a commands) - buffers were too small to handle 256 byte frames - parity bits were only handled for up to 32 byte frames - trace format was inefficient - removed parity calculation from decoders in iclass.c (parity not used on air anyway) --- armsrc/appmain.c | 5 +- armsrc/apps.h | 32 +- armsrc/epa.c | 3 +- armsrc/iclass.c | 112 +++---- armsrc/iso14443a.c | 736 ++++++++++++++++++++++++------------------- armsrc/iso14443a.h | 30 +- armsrc/mifarecmd.c | 53 ++-- armsrc/mifaresniff.c | 9 +- armsrc/mifaresniff.h | 2 +- armsrc/mifareutil.c | 210 ++++++------ armsrc/mifareutil.h | 22 +- client/cmdhf14a.c | 163 +++++----- client/cmdhfmf.c | 23 +- client/mifarehost.c | 12 +- client/mifarehost.h | 6 +- 15 files changed, 732 insertions(+), 686 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index a3f507d65..728c81d97 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -36,7 +36,8 @@ // is the order in which they go out on the wire. //============================================================================= -uint8_t ToSend[512]; +#define TOSEND_BUFFER_SIZE (9*MAX_FRAME_SIZE + 1 + 1 + 2) // 8 data bits and 1 parity bit per payload byte, 1 correction bit, 1 SOC bit, 2 EOC bits +uint8_t ToSend[TOSEND_BUFFER_SIZE]; int ToSendMax; static int ToSendBit; struct common_area common_area __attribute__((section(".commonarea"))); @@ -67,7 +68,7 @@ void ToSendStuffBit(int b) ToSendBit++; - if(ToSendBit >= sizeof(ToSend)) { + if(ToSendMax >= sizeof(ToSend)) { ToSendBit = 0; DbpString("ToSendStuffBit overflowed!"); } diff --git a/armsrc/apps.h b/armsrc/apps.h index 011ad6953..f57cd4494 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -20,18 +20,22 @@ // The large multi-purpose buffer, typically used to hold A/D samples, // maybe processed in some way. -uint32_t BigBuf[10000]; -// BIG CHANGE - UNDERSTAND THIS BEFORE WE COMMIT -#define TRACE_OFFSET 0 -#define TRACE_SIZE 3000 -#define RECV_CMD_OFFSET 3032 -#define RECV_CMD_SIZE 64 -#define RECV_RES_OFFSET 3096 -#define RECV_RES_SIZE 64 -#define DMA_BUFFER_OFFSET 3160 -#define DMA_BUFFER_SIZE 4096 -#define FREE_BUFFER_OFFSET 7256 -#define FREE_BUFFER_SIZE 2744 +#define BIGBUF_SIZE 40000 +uint32_t BigBuf[BIGBUF_SIZE / sizeof(uint32_t)]; +#define TRACE_OFFSET 0 +#define TRACE_SIZE 3000 +#define RECV_CMD_OFFSET (TRACE_OFFSET + TRACE_SIZE) +#define MAX_FRAME_SIZE 256 +#define MAX_PARITY_SIZE ((MAX_FRAME_SIZE + 1)/ 8) +#define RECV_CMD_PAR_OFFSET (RECV_CMD_OFFSET + MAX_FRAME_SIZE) +#define RECV_RESP_OFFSET (RECV_CMD_PAR_OFFSET + MAX_PARITY_SIZE) +#define RECV_RESP_PAR_OFFSET (RECV_RESP_OFFSET + MAX_FRAME_SIZE) +#define CARD_MEMORY_OFFSET (RECV_RESP_PAR_OFFSET + MAX_PARITY_SIZE) +#define CARD_MEMORY_SIZE 4096 +#define DMA_BUFFER_OFFSET CARD_MEMORY_OFFSET +#define DMA_BUFFER_SIZE CARD_MEMORY_SIZE +#define FREE_BUFFER_OFFSET (CARD_MEMORY_OFFSET + CARD_MEMORY_SIZE) +#define FREE_BUFFER_SIZE (BIGBUF_SIZE - FREE_BUFFER_OFFSET - 1) extern const uint8_t OddByteParity[256]; extern uint8_t *trace; // = (uint8_t *) BigBuf; @@ -157,8 +161,8 @@ void RAMFUNC SnoopIso14443a(uint8_t param); void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data); void ReaderIso14443a(UsbCommand * c); // Also used in iclass.c -bool RAMFUNC LogTrace(const uint8_t * btBytes, uint8_t iLen, uint32_t iSamples, uint32_t dwParity, bool readerToTag); -uint32_t GetParity(const uint8_t * pbtCmd, int iLen); +bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t len, uint32_t timestamp_start, uint32_t timestamp_end, uint8_t *parity, bool readerToTag); +void GetParity(const uint8_t *pbtCmd, uint16_t len, uint8_t *parity); void iso14a_set_trigger(bool enable); void iso14a_clear_trace(); void iso14a_set_tracing(bool enable); diff --git a/armsrc/epa.c b/armsrc/epa.c index b1f0a1874..497bd9de6 100644 --- a/armsrc/epa.c +++ b/armsrc/epa.c @@ -434,7 +434,8 @@ int EPA_Setup() // send the PPS request ReaderTransmit((uint8_t *)pps, sizeof(pps), NULL); uint8_t pps_response[3]; - return_code = ReaderReceive(pps_response); + uint8_t pps_response_par[1]; + return_code = ReaderReceive(pps_response, pps_response_par); if (return_code != 3 || pps_response[0] != 0xD0) { return return_code == 0 ? 2 : return_code; } diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 0ee1b3554..061336a7c 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -71,14 +71,13 @@ static struct { int nOutOfCnt; int OutOfCnt; int syncBit; - int parityBits; int samples; int highCnt; int swapper; int counter; int bitBuffer; int dropPosition; - uint8_t *output; + uint8_t *output; } Uart; static RAMFUNC int OutOfNDecoding(int bit) @@ -137,11 +136,8 @@ static RAMFUNC int OutOfNDecoding(int bit) if(Uart.byteCnt == 0) { // Its not straightforward to show single EOFs // So just leave it and do not return TRUE - Uart.output[Uart.byteCnt] = 0xf0; + Uart.output[0] = 0xf0; Uart.byteCnt++; - - // Calculate the parity bit for the client... - Uart.parityBits = 1; } else { return TRUE; @@ -223,11 +219,6 @@ static RAMFUNC int OutOfNDecoding(int bit) if(Uart.bitCnt == 8) { Uart.output[Uart.byteCnt] = (Uart.shiftReg & 0xff); Uart.byteCnt++; - - // Calculate the parity bit for the client... - Uart.parityBits <<= 1; - Uart.parityBits ^= OddByteParity[(Uart.shiftReg & 0xff)]; - Uart.bitCnt = 0; Uart.shiftReg = 0; } @@ -246,11 +237,6 @@ static RAMFUNC int OutOfNDecoding(int bit) Uart.dropPosition--; Uart.output[Uart.byteCnt] = (Uart.dropPosition & 0xff); Uart.byteCnt++; - - // Calculate the parity bit for the client... - Uart.parityBits <<= 1; - Uart.parityBits ^= OddByteParity[(Uart.dropPosition & 0xff)]; - Uart.bitCnt = 0; Uart.shiftReg = 0; Uart.nOutOfCnt = 0; @@ -311,7 +297,6 @@ static RAMFUNC int OutOfNDecoding(int bit) Uart.state = STATE_START_OF_COMMUNICATION; Uart.bitCnt = 0; Uart.byteCnt = 0; - Uart.parityBits = 0; Uart.nOutOfCnt = 0; Uart.OutOfCnt = 4; // Start at 1/4, could switch to 1/256 Uart.dropPosition = 0; @@ -353,7 +338,6 @@ static struct { int bitCount; int posCount; int syncBit; - int parityBits; uint16_t shiftReg; int buffer; int buffer2; @@ -367,7 +351,7 @@ static struct { SUB_SECOND_HALF, SUB_BOTH } sub; - uint8_t *output; + uint8_t *output; } Demod; static RAMFUNC int ManchesterDecoding(int v) @@ -420,7 +404,6 @@ static RAMFUNC int ManchesterDecoding(int v) Demod.sub = SUB_FIRST_HALF; Demod.bitCount = 0; Demod.shiftReg = 0; - Demod.parityBits = 0; Demod.samples = 0; if(Demod.posCount) { //if(trigger) LED_A_OFF(); // Not useful in this case... @@ -485,8 +468,6 @@ static RAMFUNC int ManchesterDecoding(int v) if(Demod.state == DEMOD_SOF_COMPLETE) { Demod.output[Demod.len] = 0x0f; Demod.len++; - Demod.parityBits <<= 1; - Demod.parityBits ^= OddByteParity[0x0f]; Demod.state = DEMOD_UNSYNCD; // error = 0x0f; return TRUE; @@ -567,11 +548,9 @@ static RAMFUNC int ManchesterDecoding(int v) // Tag response does not need to be a complete byte! if(Demod.len > 0 || Demod.bitCount > 0) { if(Demod.bitCount > 1) { // was > 0, do not interpret last closing bit, is part of EOF - Demod.shiftReg >>= (9 - Demod.bitCount); + Demod.shiftReg >>= (9 - Demod.bitCount); // right align data Demod.output[Demod.len] = Demod.shiftReg & 0xff; Demod.len++; - // No parity bit, so just shift a 0 - Demod.parityBits <<= 1; } Demod.state = DEMOD_UNSYNCD; @@ -608,11 +587,6 @@ static RAMFUNC int ManchesterDecoding(int v) Demod.shiftReg >>= 1; Demod.output[Demod.len] = (Demod.shiftReg & 0xff); Demod.len++; - - // FOR ISO15639 PARITY NOT SEND OTA, JUST CALCULATE IT FOR THE CLIENT - Demod.parityBits <<= 1; - Demod.parityBits ^= OddByteParity[(Demod.shiftReg & 0xff)]; - Demod.bitCount = 0; Demod.shiftReg = 0; } @@ -669,8 +643,8 @@ void RAMFUNC SnoopIClass(void) // So 32 should be enough! uint8_t *readerToTagCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); // The response (tag -> reader) that we're receiving. - uint8_t *tagToReaderResponse = (((uint8_t *)BigBuf) + RECV_RES_OFFSET); - + uint8_t *tagToReaderResponse = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + FpgaDownloadAndGo(FPGA_BITSTREAM_HF); // reset traceLen to 0 @@ -769,10 +743,10 @@ void RAMFUNC SnoopIClass(void) //if(!LogTrace(Uart.output,Uart.byteCnt, rsamples, Uart.parityBits,TRUE)) break; //if(!LogTrace(NULL, 0, Uart.endTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER, 0, TRUE)) break; - if(tracing) - { - LogTrace(Uart.output,Uart.byteCnt, (GetCountSspClk()-time_0) << 4, Uart.parityBits,TRUE); - LogTrace(NULL, 0, (GetCountSspClk()-time_0) << 4, 0, TRUE); + if(tracing) { + uint8_t parity[MAX_PARITY_SIZE]; + GetParity(Uart.output, Uart.byteCnt, parity); + LogTrace(Uart.output,Uart.byteCnt, (GetCountSspClk()-time_0) << 4, (GetCountSspClk()-time_0) << 4, parity, TRUE); } @@ -793,10 +767,10 @@ void RAMFUNC SnoopIClass(void) rsamples = samples - Demod.samples; LED_B_ON(); - if(tracing) - { - LogTrace(Demod.output,Demod.len, (GetCountSspClk()-time_0) << 4 , Demod.parityBits,FALSE); - LogTrace(NULL, 0, (GetCountSspClk()-time_0) << 4, 0, FALSE); + if(tracing) { + uint8_t parity[MAX_PARITY_SIZE]; + GetParity(Demod.output, Demod.len, parity); + LogTrace(Demod.output, Demod.len, (GetCountSspClk()-time_0) << 4, (GetCountSspClk()-time_0) << 4, parity, FALSE); } @@ -1079,7 +1053,7 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader // + 1720.. uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); - memset(receivedCmd, 0x44, RECV_CMD_SIZE); + memset(receivedCmd, 0x44, MAX_FRAME_SIZE); int len; // Prepare card messages @@ -1219,14 +1193,13 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader } if (tracing) { - LogTrace(receivedCmd,len, (r2t_time-time_0)<< 4, Uart.parityBits,TRUE); - LogTrace(NULL,0, (r2t_time-time_0) << 4, 0,TRUE); + uint8_t parity[MAX_PARITY_SIZE]; + GetParity(receivedCmd, len, parity); + LogTrace(receivedCmd,len, (r2t_time-time_0)<< 4, (r2t_time-time_0) << 4, parity, TRUE); if (respdata != NULL) { - LogTrace(respdata,respsize, (t2r_time-time_0) << 4,SwapBits(GetParity(respdata,respsize),respsize),FALSE); - LogTrace(NULL,0, (t2r_time-time_0) << 4,0,FALSE); - - + GetParity(respdata, respsize, parity); + LogTrace(respdata, respsize, (t2r_time-time_0) << 4, (t2r_time-time_0) << 4, parity, FALSE); } if(!tracing) { DbpString("Trace full"); @@ -1234,7 +1207,7 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader } } - memset(receivedCmd, 0x44, RECV_CMD_SIZE); + memset(receivedCmd, 0x44, MAX_FRAME_SIZE); } //Dbprintf("%x", cmdsRecvd); @@ -1391,21 +1364,24 @@ void CodeIClassCommand(const uint8_t * cmd, int len) void ReaderTransmitIClass(uint8_t* frame, int len) { - int wait = 0; - int samples = 0; - int par = 0; + int wait = 0; + int samples = 0; - // This is tied to other size changes - // uint8_t* frame_addr = ((uint8_t*)BigBuf) + 2024; - CodeIClassCommand(frame,len); + // This is tied to other size changes + // uint8_t* frame_addr = ((uint8_t*)BigBuf) + 2024; + CodeIClassCommand(frame,len); - // Select the card - TransmitIClassCommand(ToSend, ToSendMax, &samples, &wait); - if(trigger) - LED_A_ON(); + // Select the card + TransmitIClassCommand(ToSend, ToSendMax, &samples, &wait); + if(trigger) + LED_A_ON(); - // Store reader command in buffer - if (tracing) LogTrace(frame,len,rsamples,par,TRUE); + // Store reader command in buffer + if (tracing) { + uint8_t par[MAX_PARITY_SIZE]; + GetParity(frame, len, par); + LogTrace(frame, len, rsamples, rsamples, par, TRUE); + } } //----------------------------------------------------------------------------- @@ -1464,7 +1440,11 @@ int ReaderReceiveIClass(uint8_t* receivedAnswer) int samples = 0; if (!GetIClassAnswer(receivedAnswer,160,&samples,0)) return FALSE; rsamples += samples; - if (tracing) LogTrace(receivedAnswer,Demod.len,rsamples,Demod.parityBits,FALSE); + if (tracing) { + uint8_t parity[MAX_PARITY_SIZE]; + GetParity(receivedAnswer, Demod.len, parity); + LogTrace(receivedAnswer,Demod.len,rsamples,rsamples,parity,FALSE); + } if(samples == 0) return FALSE; return Demod.len; } @@ -1504,8 +1484,8 @@ void ReaderIClass(uint8_t arg0) { uint8_t card_data[24]={0}; uint8_t last_csn[8]={0}; - uint8_t* resp = (((uint8_t *)BigBuf) + 3560); // was 3560 - tied to other size changes - + uint8_t *resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + int read_status= 0; bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE; @@ -1595,8 +1575,8 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { int keyaccess; } memory; - uint8_t* resp = (((uint8_t *)BigBuf) + 3560); // was 3560 - tied to other size changes - + uint8_t* resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + setupIclassReader(); @@ -1714,7 +1694,7 @@ void IClass_iso14443A_write(uint8_t arg0, uint8_t blockNo, uint8_t *data, uint8_ uint16_t crc = 0; - uint8_t* resp = (((uint8_t *)BigBuf) + 3560); // was 3560 - tied to other size changes + uint8_t* resp = (((uint8_t *)BigBuf) + 3560); // Reset trace buffer memset(trace, 0x44, RECV_CMD_OFFSET); diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index 01cf24868..b1d3690f7 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -104,9 +104,9 @@ uint16_t FpgaSendQueueDelay; //variables used for timing purposes: //these are in ssp_clk cycles: -uint32_t NextTransferTime; -uint32_t LastTimeProxToAirStart; -uint32_t LastProxToAirDuration; +static uint32_t NextTransferTime; +static uint32_t LastTimeProxToAirStart; +static uint32_t LastProxToAirDuration; @@ -171,17 +171,28 @@ byte_t oddparity (const byte_t bt) return OddByteParity[bt]; } -uint32_t GetParity(const uint8_t * pbtCmd, int iLen) +void GetParity(const uint8_t *pbtCmd, uint16_t iLen, uint8_t *par) { - int i; - uint32_t dwPar = 0; + uint16_t paritybit_cnt = 0; + uint16_t paritybyte_cnt = 0; + uint8_t parityBits = 0; - // Generate the parity bits - for (i = 0; i < iLen; i++) { - // and save them to a 32Bit word - dwPar |= ((OddByteParity[pbtCmd[i]]) << i); + for (uint16_t i = 0; i < iLen; i++) { + // Generate the parity bits + parityBits |= ((OddByteParity[pbtCmd[i]]) << (7-paritybit_cnt)); + if (paritybit_cnt == 7) { + par[paritybyte_cnt] = parityBits; // save 8 Bits parity + parityBits = 0; // and advance to next Parity Byte + paritybyte_cnt++; + paritybit_cnt = 0; + } else { + paritybit_cnt++; + } } - return dwPar; + + // save remaining parity bits + par[paritybyte_cnt] = parityBits; + } void AppendCrc14443a(uint8_t* data, int len) @@ -190,33 +201,57 @@ void AppendCrc14443a(uint8_t* data, int len) } // The function LogTrace() is also used by the iClass implementation in iClass.c -bool RAMFUNC LogTrace(const uint8_t * btBytes, uint8_t iLen, uint32_t timestamp, uint32_t dwParity, bool readerToTag) +bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_start, uint32_t timestamp_end, uint8_t *parity, bool readerToTag) { if (!tracing) return FALSE; + + uint16_t num_paritybytes = (iLen-1)/8 + 1; // number of valid paritybytes in *parity + uint16_t duration = timestamp_end - timestamp_start; + // Return when trace is full - if (traceLen + sizeof(timestamp) + sizeof(dwParity) + iLen >= TRACE_SIZE) { + if (traceLen + sizeof(iLen) + sizeof(timestamp_start) + sizeof(duration) + num_paritybytes + iLen >= TRACE_SIZE) { tracing = FALSE; // don't trace any more return FALSE; } - // Trace the random, i'm curious - trace[traceLen++] = ((timestamp >> 0) & 0xff); - trace[traceLen++] = ((timestamp >> 8) & 0xff); - trace[traceLen++] = ((timestamp >> 16) & 0xff); - trace[traceLen++] = ((timestamp >> 24) & 0xff); + // Traceformat: + // 32 bits timestamp (little endian) + // 16 bits duration (little endian) + // 16 bits data length (little endian, Highest Bit used as readerToTag flag) + // y Bytes data + // x Bytes parity (one byte per 8 bytes data) + + // timestamp (start) + trace[traceLen++] = ((timestamp_start >> 0) & 0xff); + trace[traceLen++] = ((timestamp_start >> 8) & 0xff); + trace[traceLen++] = ((timestamp_start >> 16) & 0xff); + trace[traceLen++] = ((timestamp_start >> 24) & 0xff); + + // duration + trace[traceLen++] = ((duration >> 0) & 0xff); + trace[traceLen++] = ((duration >> 8) & 0xff); + // data length + trace[traceLen++] = ((iLen >> 0) & 0xff); + trace[traceLen++] = ((iLen >> 8) & 0xff); + + // readerToTag flag if (!readerToTag) { trace[traceLen - 1] |= 0x80; } - trace[traceLen++] = ((dwParity >> 0) & 0xff); - trace[traceLen++] = ((dwParity >> 8) & 0xff); - trace[traceLen++] = ((dwParity >> 16) & 0xff); - trace[traceLen++] = ((dwParity >> 24) & 0xff); - trace[traceLen++] = iLen; + + // data bytes if (btBytes != NULL && iLen != 0) { memcpy(trace + traceLen, btBytes, iLen); } traceLen += iLen; + + // parity bytes + if (parity != NULL && iLen != 0) { + memcpy(trace + traceLen, parity, num_paritybytes); + } + traceLen += num_paritybytes; + return TRUE; } @@ -252,14 +287,21 @@ void UartReset() Uart.state = STATE_UNSYNCD; Uart.bitCount = 0; Uart.len = 0; // number of decoded data bytes + Uart.parityLen = 0; // number of decoded parity bytes Uart.shiftReg = 0; // shiftreg to hold decoded data bits - Uart.parityBits = 0; // + Uart.parityBits = 0; // holds 8 parity bits Uart.twoBits = 0x0000; // buffer for 2 Bits Uart.highCnt = 0; Uart.startTime = 0; Uart.endTime = 0; } +void UartInit(uint8_t *data, uint8_t *parity) +{ + Uart.output = data; + Uart.parity = parity; + UartReset(); +} // use parameter non_real_time to provide a timestamp. Set to 0 if the decoder should measure real time static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) @@ -314,6 +356,10 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) Uart.parityBits |= ((Uart.shiftReg >> 8) & 0x01); // store parity bit Uart.bitCount = 0; Uart.shiftReg = 0; + if((Uart.len&0x0007) == 0) { // every 8 data bytes + Uart.parity[Uart.parityLen++] = Uart.parityBits; // store 8 parity bits + Uart.parityBits = 0; + } } } } @@ -329,17 +375,28 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) Uart.parityBits |= ((Uart.shiftReg >> 8) & 0x01); // store parity bit Uart.bitCount = 0; Uart.shiftReg = 0; + if ((Uart.len&0x0007) == 0) { // every 8 data bytes + Uart.parity[Uart.parityLen++] = Uart.parityBits; // store 8 parity bits + Uart.parityBits = 0; + } } } else { // no modulation in both halves - Sequence Y if (Uart.state == STATE_MILLER_Z || Uart.state == STATE_MILLER_Y) { // Y after logic "0" - End of Communication Uart.state = STATE_UNSYNCD; - if(Uart.len == 0 && Uart.bitCount > 0) { // if we decoded some bits - Uart.shiftReg >>= (9 - Uart.bitCount); // add them to the output - Uart.output[Uart.len++] = (Uart.shiftReg & 0xff); - Uart.parityBits <<= 1; // no parity bit - add "0" - Uart.bitCount--; // last "0" was part of the EOC sequence + Uart.bitCount--; // last "0" was part of EOC sequence + Uart.shiftReg <<= 1; // drop it + if(Uart.bitCount > 0) { // if we decoded some bits + Uart.shiftReg >>= (9 - Uart.bitCount); // right align them + Uart.output[Uart.len++] = (Uart.shiftReg & 0xff); // add last byte to the output + Uart.parityBits <<= 1; // add a (void) parity bit + Uart.parityBits <<= (8 - (Uart.len&0x0007)); // left align parity bits + Uart.parity[Uart.parityLen++] = Uart.parityBits; // and store it + return TRUE; + } else if (Uart.len & 0x0007) { // there are some parity bits to store + Uart.parityBits <<= (8 - (Uart.len&0x0007)); // left align remaining parity bits + Uart.parity[Uart.parityLen++] = Uart.parityBits; // and store them + return TRUE; // we are finished with decoding the raw data sequence } - return TRUE; } if (Uart.state == STATE_START_OF_COMMUNICATION) { // error - must not follow directly after SOC UartReset(); @@ -354,6 +411,10 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) Uart.parityBits |= ((Uart.shiftReg >> 8) & 0x01); // store parity bit Uart.bitCount = 0; Uart.shiftReg = 0; + if ((Uart.len&0x0007) == 0) { // every 8 data bytes + Uart.parity[Uart.parityLen++] = Uart.parityBits; // store 8 parity bits + Uart.parityBits = 0; + } } } } @@ -398,6 +459,7 @@ void DemodReset() { Demod.state = DEMOD_UNSYNCD; Demod.len = 0; // number of decoded data bytes + Demod.parityLen = 0; Demod.shiftReg = 0; // shiftreg to hold decoded data bits Demod.parityBits = 0; // Demod.collisionPos = 0; // Position of collision bit @@ -407,6 +469,14 @@ void DemodReset() Demod.endTime = 0; } + +void DemodInit(uint8_t *data, uint8_t *parity) +{ + Demod.output = data; + Demod.parity = parity; + DemodReset(); +} + // use parameter non_real_time to provide a timestamp. Set to 0 if the decoder should measure real time static RAMFUNC int ManchesterDecoding(uint8_t bit, uint16_t offset, uint32_t non_real_time) { @@ -455,6 +525,10 @@ static RAMFUNC int ManchesterDecoding(uint8_t bit, uint16_t offset, uint32_t non Demod.parityBits |= ((Demod.shiftReg >> 8) & 0x01); // store parity bit Demod.bitCount = 0; Demod.shiftReg = 0; + if((Demod.len&0x0007) == 0) { // every 8 data bytes + Demod.parity[Demod.parityLen++] = Demod.parityBits; // store 8 parity bits + Demod.parityBits = 0; + } } Demod.endTime = Demod.startTime + 8*(9*Demod.len + Demod.bitCount + 1) - 4; } else { // no modulation in first half @@ -467,16 +541,23 @@ static RAMFUNC int ManchesterDecoding(uint8_t bit, uint16_t offset, uint32_t non Demod.parityBits |= ((Demod.shiftReg >> 8) & 0x01); // store parity bit Demod.bitCount = 0; Demod.shiftReg = 0; + if ((Demod.len&0x0007) == 0) { // every 8 data bytes + Demod.parity[Demod.parityLen++] = Demod.parityBits; // store 8 parity bits1 + Demod.parityBits = 0; + } } Demod.endTime = Demod.startTime + 8*(9*Demod.len + Demod.bitCount + 1); } else { // no modulation in both halves - End of communication - if (Demod.len > 0 || Demod.bitCount > 0) { // received something - if(Demod.bitCount > 0) { // if we decoded bits - Demod.shiftReg >>= (9 - Demod.bitCount); // add the remaining decoded bits to the output - Demod.output[Demod.len++] = Demod.shiftReg & 0xff; - // No parity bit, so just shift a 0 - Demod.parityBits <<= 1; - } + if(Demod.bitCount > 0) { // there are some remaining data bits + Demod.shiftReg >>= (9 - Demod.bitCount); // right align the decoded bits + Demod.output[Demod.len++] = Demod.shiftReg & 0xff; // and add them to the output + Demod.parityBits <<= 1; // add a (void) parity bit + Demod.parityBits <<= (8 - (Demod.len&0x0007)); // left align remaining parity bits + Demod.parity[Demod.parityLen++] = Demod.parityBits; // and store them + return TRUE; + } else if (Demod.len & 0x0007) { // there are some parity bits to store + Demod.parityBits <<= (8 - (Demod.len&0x0007)); // left align remaining parity bits + Demod.parity[Demod.parityLen++] = Demod.parityBits; // and store them return TRUE; // we are finished with decoding the raw data sequence } else { // nothing received. Start over DemodReset(); @@ -518,10 +599,13 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { // The command (reader -> tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! - uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); + uint8_t *receivedCmd = ((uint8_t *)BigBuf) + RECV_CMD_OFFSET; + uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET; + // The response (tag -> reader) that we're receiving. - uint8_t *receivedResponse = (((uint8_t *)BigBuf) + RECV_RES_OFFSET); - + uint8_t *receivedResponse = ((uint8_t *)BigBuf) + RECV_RESP_OFFSET; + uint8_t *receivedResponsePar = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET; + // As we receive stuff, we copy it from receivedCmd or receivedResponse // into trace, along with its length and other annotations. //uint8_t *trace = (uint8_t *)BigBuf; @@ -538,11 +622,11 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { iso14443a_setup(FPGA_HF_ISO14443A_SNIFFER); // Set up the demodulator for tag -> reader responses. - Demod.output = receivedResponse; - + DemodInit(receivedResponse, receivedResponsePar); + // Set up the demodulator for the reader -> tag commands - Uart.output = receivedCmd; - + UartInit(receivedCmd, receivedCmdPar); + // Setup and start DMA. FpgaSetupSscDma((uint8_t *)dmaBuf, DMA_BUFFER_SIZE); @@ -599,8 +683,12 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { if ((!triggered) && (param & 0x02) && (Uart.len == 1) && (Uart.bitCount == 7)) triggered = TRUE; if(triggered) { - if (!LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER, Uart.parityBits, TRUE)) break; - if (!LogTrace(NULL, 0, Uart.endTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER, 0, TRUE)) break; + if (!LogTrace(receivedCmd, + Uart.len, + Uart.startTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER, + Uart.endTime*16 - DELAY_READER_AIR2ARM_AS_SNIFFER, + Uart.parity, + TRUE)) break; } /* And ready to receive another command. */ UartReset(); @@ -617,8 +705,12 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { if(ManchesterDecoding(tagdata, 0, (rsamples-1)*4)) { LED_B_ON(); - if (!LogTrace(receivedResponse, Demod.len, Demod.startTime*16 - DELAY_TAG_AIR2ARM_AS_SNIFFER, Demod.parityBits, FALSE)) break; - if (!LogTrace(NULL, 0, Demod.endTime*16 - DELAY_TAG_AIR2ARM_AS_SNIFFER, 0, FALSE)) break; + if (!LogTrace(receivedResponse, + Demod.len, + Demod.startTime*16 - DELAY_TAG_AIR2ARM_AS_SNIFFER, + Demod.endTime*16 - DELAY_TAG_AIR2ARM_AS_SNIFFER, + Demod.parity, + FALSE)) break; if ((!triggered) && (param & 0x01)) triggered = TRUE; @@ -649,10 +741,8 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { //----------------------------------------------------------------------------- // Prepare tag messages //----------------------------------------------------------------------------- -static void CodeIso14443aAsTagPar(const uint8_t *cmd, int len, uint32_t dwParity) +static void CodeIso14443aAsTagPar(const uint8_t *cmd, uint16_t len, uint8_t *parity) { - int i; - ToSendReset(); // Correction bit, might be removed when not needed @@ -667,14 +757,14 @@ static void CodeIso14443aAsTagPar(const uint8_t *cmd, int len, uint32_t dwParity // Send startbit ToSend[++ToSendMax] = SEC_D; + LastProxToAirDuration = 8 * ToSendMax - 4; - for(i = 0; i < len; i++) { - int j; + for(uint16_t i = 0; i < len; i++) { uint8_t b = cmd[i]; // Data bits - for(j = 0; j < 8; j++) { + for(uint16_t j = 0; j < 8; j++) { if(b & 1) { ToSend[++ToSendMax] = SEC_D; } else { @@ -684,7 +774,7 @@ static void CodeIso14443aAsTagPar(const uint8_t *cmd, int len, uint32_t dwParity } // Get the parity bit - if ((dwParity >> i) & 0x01) { + if (parity[i>>3] & (0x80>>(i&0x0007))) { ToSend[++ToSendMax] = SEC_D; LastProxToAirDuration = 8 * ToSendMax - 4; } else { @@ -700,8 +790,12 @@ static void CodeIso14443aAsTagPar(const uint8_t *cmd, int len, uint32_t dwParity ToSendMax++; } -static void CodeIso14443aAsTag(const uint8_t *cmd, int len){ - CodeIso14443aAsTagPar(cmd, len, GetParity(cmd, len)); +static void CodeIso14443aAsTag(const uint8_t *cmd, uint16_t len) +{ + uint8_t par[MAX_PARITY_SIZE]; + + GetParity(cmd, len, par); + CodeIso14443aAsTagPar(cmd, len, par); } @@ -748,7 +842,7 @@ static void Code4bitAnswerAsTag(uint8_t cmd) // Stop when button is pressed // Or return TRUE when command is captured //----------------------------------------------------------------------------- -static int GetIso14443aCommandFromReader(uint8_t *received, int *len, int maxLen) +static int GetIso14443aCommandFromReader(uint8_t *received, uint8_t *parity, int *len) { // Set FPGA mode to "simulated ISO 14443 tag", no modulation (listen // only, since we are receiving, not transmitting). @@ -757,8 +851,7 @@ static int GetIso14443aCommandFromReader(uint8_t *received, int *len, int maxLen FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_TAGSIM_LISTEN); // Now run a `software UART' on the stream of incoming samples. - UartReset(); - Uart.output = received; + UartInit(received, parity); // clear RXRDY: uint8_t b = (uint8_t)AT91C_BASE_SSC->SSC_RHR; @@ -778,16 +871,15 @@ static int GetIso14443aCommandFromReader(uint8_t *received, int *len, int maxLen } } -static int EmSendCmd14443aRaw(uint8_t *resp, int respLen, bool correctionNeeded); +static int EmSendCmd14443aRaw(uint8_t *resp, uint16_t respLen, bool correctionNeeded); int EmSend4bitEx(uint8_t resp, bool correctionNeeded); int EmSend4bit(uint8_t resp); -int EmSendCmdExPar(uint8_t *resp, int respLen, bool correctionNeeded, uint32_t par); -int EmSendCmdExPar(uint8_t *resp, int respLen, bool correctionNeeded, uint32_t par); -int EmSendCmdEx(uint8_t *resp, int respLen, bool correctionNeeded); -int EmSendCmd(uint8_t *resp, int respLen); -int EmSendCmdPar(uint8_t *resp, int respLen, uint32_t par); -bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_StartTime, uint32_t reader_EndTime, uint32_t reader_Parity, - uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint32_t tag_Parity); +int EmSendCmdExPar(uint8_t *resp, uint16_t respLen, bool correctionNeeded, uint8_t *par); +int EmSendCmdEx(uint8_t *resp, uint16_t respLen, bool correctionNeeded); +int EmSendCmd(uint8_t *resp, uint16_t respLen); +int EmSendCmdPar(uint8_t *resp, uint16_t respLen, uint8_t *par); +bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_StartTime, uint32_t reader_EndTime, uint8_t *reader_Parity, + uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint8_t *tag_Parity); static uint8_t* free_buffer_pointer = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); @@ -840,7 +932,7 @@ bool prepare_allocated_tag_modulation(tag_response_info_t* response_info) { response_info->modulation = free_buffer_pointer; // Determine the maximum size we can use from our buffer - size_t max_buffer_size = (((uint8_t *)BigBuf)+FREE_BUFFER_OFFSET+FREE_BUFFER_SIZE)-free_buffer_pointer; + size_t max_buffer_size = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + FREE_BUFFER_SIZE) - free_buffer_pointer; // Forward the prepare tag modulation function to the inner function if (prepare_tag_modulation(response_info,max_buffer_size)) { @@ -933,7 +1025,11 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) ComputeCrc14443(CRC_14443_A, response3a, 1, &response3a[1], &response3a[2]); uint8_t response5[] = { 0x00, 0x00, 0x00, 0x00 }; // Very random tag nonce - uint8_t response6[] = { 0x04, 0x58, 0x00, 0x02, 0x00, 0x00 }; // dummy ATS (pseudo-ATR), answer to RATS + uint8_t response6[] = { 0x04, 0x58, 0x80, 0x02, 0x00, 0x00 }; // dummy ATS (pseudo-ATR), answer to RATS: + // Format byte = 0x58: FSCI=0x08 (FSC=256), TA(1) and TC(1) present, + // TA(1) = 0x80: different divisors not supported, DR = 1, DS = 1 + // TB(1) = not present. Defaults: FWI = 4 (FWT = 256 * 16 * 2^4 * 1/fc = 4833us), SFGI = 0 (SFG = 256 * 16 * 2^0 * 1/fc = 302us) + // TC(1) = 0x02: CID supported, NAD not supported ComputeCrc14443(CRC_14443_A, response6, 4, &response6[4], &response6[5]); #define TAG_RESPONSE_COUNT 7 @@ -969,7 +1065,6 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) prepare_allocated_tag_modulation(&responses[i]); } - uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); int len = 0; // To control where we are in the protocol @@ -984,6 +1079,10 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) // We need to listen to the high-frequency, peak-detected path. iso14443a_setup(FPGA_HF_ISO14443A_TAGSIM_LISTEN); + // buffers used on software Uart: + uint8_t *receivedCmd = ((uint8_t *)BigBuf) + RECV_CMD_OFFSET; + uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET; + cmdsRecvd = 0; tag_response_info_t* p_response; @@ -991,14 +1090,13 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) for(;;) { // Clean receive command buffer - if(!GetIso14443aCommandFromReader(receivedCmd, &len, RECV_CMD_SIZE)) { + if(!GetIso14443aCommandFromReader(receivedCmd, receivedCmdPar, &len)) { DbpString("Button press"); break; } p_response = NULL; - // doob - added loads of debug strings so we can see what the reader is saying to us during the sim as hi14alist is not populated // Okay, look at the command now. lastorder = order; if(receivedCmd[0] == 0x26) { // Received a REQUEST @@ -1007,22 +1105,21 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) p_response = &responses[0]; order = 6; } else if(receivedCmd[1] == 0x20 && receivedCmd[0] == 0x93) { // Received request for UID (cascade 1) p_response = &responses[1]; order = 2; - } else if(receivedCmd[1] == 0x20 && receivedCmd[0] == 0x95) { // Received request for UID (cascade 2) + } else if(receivedCmd[1] == 0x20 && receivedCmd[0] == 0x95) { // Received request for UID (cascade 2) p_response = &responses[2]; order = 20; } else if(receivedCmd[1] == 0x70 && receivedCmd[0] == 0x93) { // Received a SELECT (cascade 1) p_response = &responses[3]; order = 3; } else if(receivedCmd[1] == 0x70 && receivedCmd[0] == 0x95) { // Received a SELECT (cascade 2) p_response = &responses[4]; order = 30; } else if(receivedCmd[0] == 0x30) { // Received a (plain) READ - EmSendCmdEx(data+(4*receivedCmd[0]),16,false); + EmSendCmdEx(data+(4*receivedCmd[1]),16,false); // Dbprintf("Read request from reader: %x %x",receivedCmd[0],receivedCmd[1]); // We already responded, do not send anything with the EmSendCmd14443aRaw() that is called below p_response = NULL; } else if(receivedCmd[0] == 0x50) { // Received a HALT // DbpString("Reader requested we HALT!:"); if (tracing) { - LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); } p_response = NULL; } else if(receivedCmd[0] == 0x60 || receivedCmd[0] == 0x61) { // Received an authentication request @@ -1034,10 +1131,9 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) } else { p_response = &responses[6]; order = 70; } - } else if (order == 7 && len == 8) { // Received authentication request + } else if (order == 7 && len == 8) { // Received {nr] and {ar} (part of authentication) if (tracing) { - LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); } uint32_t nr = bytes_to_num(receivedCmd,4); uint32_t ar = bytes_to_num(receivedCmd+4,4); @@ -1081,8 +1177,7 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) default: { // Never seen this command before if (tracing) { - LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); } Dbprintf("Received unknown command (len=%d):",len); Dbhexdump(len,receivedCmd,false); @@ -1102,8 +1197,7 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) if (prepare_tag_modulation(&dynamic_response_info,DYNAMIC_MODULATION_BUFFER_SIZE) == false) { Dbprintf("Error preparing tag response"); if (tracing) { - LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); } break; } @@ -1126,16 +1220,18 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) if (p_response != NULL) { EmSendCmd14443aRaw(p_response->modulation, p_response->modulation_n, receivedCmd[0] == 0x52); // do the tracing for the previous reader request and this tag answer: + uint8_t par[MAX_PARITY_SIZE]; + GetParity(p_response->response, p_response->response_n, par); EmLogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, - Uart.parityBits, + Uart.parity, p_response->response, p_response->response_n, LastTimeProxToAirStart*16 + DELAY_ARM2AIR_AS_TAG, (LastTimeProxToAirStart + p_response->ProxToAirDuration)*16 + DELAY_ARM2AIR_AS_TAG, - SwapBits(GetParity(p_response->response, p_response->response_n), p_response->response_n)); + par); } if (!tracing) { @@ -1181,7 +1277,7 @@ void PrepareDelayedTransfer(uint16_t delay) // if == 0: transfer immediately and return time of transfer // if != 0: delay transfer until time specified //------------------------------------------------------------------------------------- -static void TransmitFor14443a(const uint8_t *cmd, int len, uint32_t *timing) +static void TransmitFor14443a(const uint8_t *cmd, uint16_t len, uint32_t *timing) { FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); @@ -1232,7 +1328,7 @@ static void TransmitFor14443a(const uint8_t *cmd, int len, uint32_t *timing) //----------------------------------------------------------------------------- // Prepare reader command (in bits, support short frames) to send to FPGA //----------------------------------------------------------------------------- -void CodeIso14443aBitsAsReaderPar(const uint8_t * cmd, int bits, uint32_t dwParity) +void CodeIso14443aBitsAsReaderPar(const uint8_t *cmd, uint16_t bits, const uint8_t *parity) { int i, j; int last; @@ -1272,10 +1368,10 @@ void CodeIso14443aBitsAsReaderPar(const uint8_t * cmd, int bits, uint32_t dwPari b >>= 1; } - // Only transmit (last) parity bit if we transmitted a complete byte + // Only transmit parity bit if we transmitted a complete byte if (j == 8) { // Get the parity bit - if ((dwParity >> i) & 0x01) { + if (parity[i>>3] & (0x80 >> (i&0x0007))) { // Sequence X ToSend[++ToSendMax] = SEC_X; LastProxToAirDuration = 8 * (ToSendMax+1) - 2; @@ -1313,9 +1409,9 @@ void CodeIso14443aBitsAsReaderPar(const uint8_t * cmd, int bits, uint32_t dwPari //----------------------------------------------------------------------------- // Prepare reader command to send to FPGA //----------------------------------------------------------------------------- -void CodeIso14443aAsReaderPar(const uint8_t * cmd, int len, uint32_t dwParity) +void CodeIso14443aAsReaderPar(const uint8_t *cmd, uint16_t len, const uint8_t *parity) { - CodeIso14443aBitsAsReaderPar(cmd,len*8,dwParity); + CodeIso14443aBitsAsReaderPar(cmd, len*8, parity); } //----------------------------------------------------------------------------- @@ -1323,7 +1419,7 @@ void CodeIso14443aAsReaderPar(const uint8_t * cmd, int len, uint32_t dwParity) // Stop when button is pressed (return 1) or field was gone (return 2) // Or return 0 when command is captured //----------------------------------------------------------------------------- -static int EmGetCmd(uint8_t *received, int *len) +static int EmGetCmd(uint8_t *received, uint16_t *len, uint8_t *parity) { *len = 0; @@ -1348,8 +1444,7 @@ static int EmGetCmd(uint8_t *received, int *len) AT91C_BASE_ADC->ADC_CR = AT91C_ADC_START; // Now run a 'software UART' on the stream of incoming samples. - UartReset(); - Uart.output = received; + UartInit(received, parity); // Clear RXRDY: uint8_t b = (uint8_t)AT91C_BASE_SSC->SSC_RHR; @@ -1390,7 +1485,7 @@ static int EmGetCmd(uint8_t *received, int *len) } -static int EmSendCmd14443aRaw(uint8_t *resp, int respLen, bool correctionNeeded) +static int EmSendCmd14443aRaw(uint8_t *resp, uint16_t respLen, bool correctionNeeded) { uint8_t b; uint16_t i = 0; @@ -1457,16 +1552,18 @@ int EmSend4bitEx(uint8_t resp, bool correctionNeeded){ Code4bitAnswerAsTag(resp); int res = EmSendCmd14443aRaw(ToSend, ToSendMax, correctionNeeded); // do the tracing for the previous reader request and this tag answer: + uint8_t par[1]; + GetParity(&resp, 1, par); EmLogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, - Uart.parityBits, + Uart.parity, &resp, 1, LastTimeProxToAirStart*16 + DELAY_ARM2AIR_AS_TAG, (LastTimeProxToAirStart + LastProxToAirDuration)*16 + DELAY_ARM2AIR_AS_TAG, - SwapBits(GetParity(&resp, 1), 1)); + par); return res; } @@ -1474,7 +1571,7 @@ int EmSend4bit(uint8_t resp){ return EmSend4bitEx(resp, false); } -int EmSendCmdExPar(uint8_t *resp, int respLen, bool correctionNeeded, uint32_t par){ +int EmSendCmdExPar(uint8_t *resp, uint16_t respLen, bool correctionNeeded, uint8_t *par){ CodeIso14443aAsTagPar(resp, respLen, par); int res = EmSendCmd14443aRaw(ToSend, ToSendMax, correctionNeeded); // do the tracing for the previous reader request and this tag answer: @@ -1482,29 +1579,33 @@ int EmSendCmdExPar(uint8_t *resp, int respLen, bool correctionNeeded, uint32_t p Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, - Uart.parityBits, + Uart.parity, resp, respLen, LastTimeProxToAirStart*16 + DELAY_ARM2AIR_AS_TAG, (LastTimeProxToAirStart + LastProxToAirDuration)*16 + DELAY_ARM2AIR_AS_TAG, - SwapBits(GetParity(resp, respLen), respLen)); + par); return res; } -int EmSendCmdEx(uint8_t *resp, int respLen, bool correctionNeeded){ - return EmSendCmdExPar(resp, respLen, correctionNeeded, GetParity(resp, respLen)); +int EmSendCmdEx(uint8_t *resp, uint16_t respLen, bool correctionNeeded){ + uint8_t par[MAX_PARITY_SIZE]; + GetParity(resp, respLen, par); + return EmSendCmdExPar(resp, respLen, correctionNeeded, par); } -int EmSendCmd(uint8_t *resp, int respLen){ - return EmSendCmdExPar(resp, respLen, false, GetParity(resp, respLen)); -} - -int EmSendCmdPar(uint8_t *resp, int respLen, uint32_t par){ +int EmSendCmd(uint8_t *resp, uint16_t respLen){ + uint8_t par[MAX_PARITY_SIZE]; + GetParity(resp, respLen, par); return EmSendCmdExPar(resp, respLen, false, par); } -bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_StartTime, uint32_t reader_EndTime, uint32_t reader_Parity, - uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint32_t tag_Parity) +int EmSendCmdPar(uint8_t *resp, uint16_t respLen, uint8_t *par){ + return EmSendCmdExPar(resp, respLen, false, par); +} + +bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_StartTime, uint32_t reader_EndTime, uint8_t *reader_Parity, + uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint8_t *tag_Parity) { if (tracing) { // we cannot exactly measure the end and start of a received command from reader. However we know that the delay from @@ -1515,15 +1616,9 @@ bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_Start uint16_t exact_fdt = (approx_fdt - 20 + 32)/64 * 64 + 20; reader_EndTime = tag_StartTime - exact_fdt; reader_StartTime = reader_EndTime - reader_modlen; - if (!LogTrace(reader_data, reader_len, reader_StartTime, reader_Parity, TRUE)) { + if (!LogTrace(reader_data, reader_len, reader_StartTime, reader_EndTime, reader_Parity, TRUE)) { return FALSE; - } else if (!LogTrace(NULL, 0, reader_EndTime, 0, TRUE)) { - return FALSE; - } else if (!LogTrace(tag_data, tag_len, tag_StartTime, tag_Parity, FALSE)) { - return FALSE; - } else { - return (!LogTrace(NULL, 0, tag_EndTime, 0, FALSE)); - } + } else return(!LogTrace(tag_data, tag_len, tag_StartTime, tag_EndTime, tag_Parity, FALSE)); } else { return TRUE; } @@ -1534,7 +1629,7 @@ bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_Start // If a response is captured return TRUE // If it takes too long return FALSE //----------------------------------------------------------------------------- -static int GetIso14443aAnswerFromTag(uint8_t *receivedResponse, uint16_t offset, int maxLen) +static int GetIso14443aAnswerFromTag(uint8_t *receivedResponse, uint8_t *receivedResponsePar, uint16_t offset) { uint16_t c; @@ -1545,8 +1640,7 @@ static int GetIso14443aAnswerFromTag(uint8_t *receivedResponse, uint16_t offset, FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_LISTEN); // Now get the answer from the card - DemodReset(); - Demod.output = receivedResponse; + DemodInit(receivedResponse, receivedResponsePar); // clear RXRDY: uint8_t b = (uint8_t)AT91C_BASE_SSC->SSC_RHR; @@ -1560,17 +1654,17 @@ static int GetIso14443aAnswerFromTag(uint8_t *receivedResponse, uint16_t offset, if(ManchesterDecoding(b, offset, 0)) { NextTransferTime = MAX(NextTransferTime, Demod.endTime - (DELAY_AIR2ARM_AS_READER + DELAY_ARM2AIR_AS_READER)/16 + FRAME_DELAY_TIME_PICC_TO_PCD); return TRUE; - } else if(c++ > iso14a_timeout) { + } else if (c++ > iso14a_timeout) { return FALSE; } } } } -void ReaderTransmitBitsPar(uint8_t* frame, int bits, uint32_t par, uint32_t *timing) +void ReaderTransmitBitsPar(uint8_t* frame, uint16_t bits, uint8_t *par, uint32_t *timing) { - CodeIso14443aBitsAsReaderPar(frame,bits,par); + CodeIso14443aBitsAsReaderPar(frame, bits, par); // Send command to tag TransmitFor14443a(ToSend, ToSendMax, timing); @@ -1579,198 +1673,195 @@ void ReaderTransmitBitsPar(uint8_t* frame, int bits, uint32_t par, uint32_t *tim // Log reader command in trace buffer if (tracing) { - LogTrace(frame, nbytes(bits), LastTimeProxToAirStart*16 + DELAY_ARM2AIR_AS_READER, par, TRUE); - LogTrace(NULL, 0, (LastTimeProxToAirStart + LastProxToAirDuration)*16 + DELAY_ARM2AIR_AS_READER, 0, TRUE); + LogTrace(frame, nbytes(bits), LastTimeProxToAirStart*16 + DELAY_ARM2AIR_AS_READER, (LastTimeProxToAirStart + LastProxToAirDuration)*16 + DELAY_ARM2AIR_AS_READER, par, TRUE); } } -void ReaderTransmitPar(uint8_t* frame, int len, uint32_t par, uint32_t *timing) +void ReaderTransmitPar(uint8_t* frame, uint16_t len, uint8_t *par, uint32_t *timing) { - ReaderTransmitBitsPar(frame,len*8,par, timing); + ReaderTransmitBitsPar(frame, len*8, par, timing); } -void ReaderTransmitBits(uint8_t* frame, int len, uint32_t *timing) +void ReaderTransmitBits(uint8_t* frame, uint16_t len, uint32_t *timing) { // Generate parity and redirect - ReaderTransmitBitsPar(frame,len,GetParity(frame,len/8), timing); + uint8_t par[MAX_PARITY_SIZE]; + GetParity(frame, len/8, par); + ReaderTransmitBitsPar(frame, len, par, timing); } -void ReaderTransmit(uint8_t* frame, int len, uint32_t *timing) +void ReaderTransmit(uint8_t* frame, uint16_t len, uint32_t *timing) { // Generate parity and redirect - ReaderTransmitBitsPar(frame,len*8,GetParity(frame,len), timing); + uint8_t par[MAX_PARITY_SIZE]; + GetParity(frame, len, par); + ReaderTransmitBitsPar(frame, len*8, par, timing); } -int ReaderReceiveOffset(uint8_t* receivedAnswer, uint16_t offset) +int ReaderReceiveOffset(uint8_t* receivedAnswer, uint16_t offset, uint8_t *parity) { - if (!GetIso14443aAnswerFromTag(receivedAnswer,offset,160)) return FALSE; + if (!GetIso14443aAnswerFromTag(receivedAnswer, parity, offset)) return FALSE; if (tracing) { - LogTrace(receivedAnswer, Demod.len, Demod.startTime*16 - DELAY_AIR2ARM_AS_READER, Demod.parityBits, FALSE); - LogTrace(NULL, 0, Demod.endTime*16 - DELAY_AIR2ARM_AS_READER, 0, FALSE); + LogTrace(receivedAnswer, Demod.len, Demod.startTime*16 - DELAY_AIR2ARM_AS_READER, Demod.endTime*16 - DELAY_AIR2ARM_AS_READER, parity, FALSE); } return Demod.len; } -int ReaderReceive(uint8_t* receivedAnswer) +int ReaderReceive(uint8_t *receivedAnswer, uint8_t *parity) { - return ReaderReceiveOffset(receivedAnswer, 0); -} - -int ReaderReceivePar(uint8_t *receivedAnswer, uint32_t *parptr) -{ - if (!GetIso14443aAnswerFromTag(receivedAnswer,0,160)) return FALSE; + if (!GetIso14443aAnswerFromTag(receivedAnswer, parity, 0)) return FALSE; if (tracing) { - LogTrace(receivedAnswer, Demod.len, Demod.startTime*16 - DELAY_AIR2ARM_AS_READER, Demod.parityBits, FALSE); - LogTrace(NULL, 0, Demod.endTime*16 - DELAY_AIR2ARM_AS_READER, 0, FALSE); + LogTrace(receivedAnswer, Demod.len, Demod.startTime*16 - DELAY_AIR2ARM_AS_READER, Demod.endTime*16 - DELAY_AIR2ARM_AS_READER, parity, FALSE); } - *parptr = Demod.parityBits; return Demod.len; } /* performs iso14443a anticollision procedure * fills the uid pointer unless NULL * fills resp_data unless NULL */ -int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, uint32_t* cuid_ptr) { - uint8_t wupa[] = { 0x52 }; // 0x26 - REQA 0x52 - WAKE-UP - uint8_t sel_all[] = { 0x93,0x20 }; - uint8_t sel_uid[] = { 0x93,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; - uint8_t rats[] = { 0xE0,0x80,0x00,0x00 }; // FSD=256, FSDI=8, CID=0 - uint8_t* resp = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); // was 3560 - tied to other size changes - byte_t uid_resp[4]; - size_t uid_resp_len; +int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, uint32_t *cuid_ptr) { + uint8_t wupa[] = { 0x52 }; // 0x26 - REQA 0x52 - WAKE-UP + uint8_t sel_all[] = { 0x93,0x20 }; + uint8_t sel_uid[] = { 0x93,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; + uint8_t rats[] = { 0xE0,0x80,0x00,0x00 }; // FSD=256, FSDI=8, CID=0 + uint8_t *resp = ((uint8_t *)BigBuf) + RECV_RESP_OFFSET; + uint8_t *resp_par = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET; + byte_t uid_resp[4]; + size_t uid_resp_len; - uint8_t sak = 0x04; // cascade uid - int cascade_level = 0; - int len; - - // Broadcast for a card, WUPA (0x52) will force response from all cards in the field + uint8_t sak = 0x04; // cascade uid + int cascade_level = 0; + int len; + + // Broadcast for a card, WUPA (0x52) will force response from all cards in the field ReaderTransmitBitsPar(wupa,7,0, NULL); - // Receive the ATQA - if(!ReaderReceive(resp)) return 0; - // Dbprintf("atqa: %02x %02x",resp[0],resp[1]); + // Receive the ATQA + if(!ReaderReceive(resp, resp_par)) return 0; + //Dbprintf("atqa: %02x %02x",resp[1],resp[0]); - if(p_hi14a_card) { - memcpy(p_hi14a_card->atqa, resp, 2); - p_hi14a_card->uidlen = 0; - memset(p_hi14a_card->uid,0,10); - } - - // clear uid - if (uid_ptr) { - memset(uid_ptr,0,10); - } - - // OK we will select at least at cascade 1, lets see if first byte of UID was 0x88 in - // which case we need to make a cascade 2 request and select - this is a long UID - // While the UID is not complete, the 3nd bit (from the right) is set in the SAK. - for(; sak & 0x04; cascade_level++) { - // SELECT_* (L1: 0x93, L2: 0x95, L3: 0x97) - sel_uid[0] = sel_all[0] = 0x93 + cascade_level * 2; - - // SELECT_ALL - ReaderTransmit(sel_all,sizeof(sel_all), NULL); - if (!ReaderReceive(resp)) return 0; - - if (Demod.collisionPos) { // we had a collision and need to construct the UID bit by bit - memset(uid_resp, 0, 4); - uint16_t uid_resp_bits = 0; - uint16_t collision_answer_offset = 0; - // anti-collision-loop: - while (Demod.collisionPos) { - Dbprintf("Multiple tags detected. Collision after Bit %d", Demod.collisionPos); - for (uint16_t i = collision_answer_offset; i < Demod.collisionPos; i++, uid_resp_bits++) { // add valid UID bits before collision point - uint16_t UIDbit = (resp[i/8] >> (i % 8)) & 0x01; - uid_resp[uid_resp_bits & 0xf8] |= UIDbit << (uid_resp_bits % 8); - } - uid_resp[uid_resp_bits/8] |= 1 << (uid_resp_bits % 8); // next time select the card(s) with a 1 in the collision position - uid_resp_bits++; - // construct anticollosion command: - sel_uid[1] = ((2 + uid_resp_bits/8) << 4) | (uid_resp_bits & 0x07); // length of data in bytes and bits - for (uint16_t i = 0; i <= uid_resp_bits/8; i++) { - sel_uid[2+i] = uid_resp[i]; - } - collision_answer_offset = uid_resp_bits%8; - ReaderTransmitBits(sel_uid, 16 + uid_resp_bits, NULL); - if (!ReaderReceiveOffset(resp, collision_answer_offset)) return 0; - } - // finally, add the last bits and BCC of the UID - for (uint16_t i = collision_answer_offset; i < (Demod.len-1)*8; i++, uid_resp_bits++) { - uint16_t UIDbit = (resp[i/8] >> (i%8)) & 0x01; - uid_resp[uid_resp_bits/8] |= UIDbit << (uid_resp_bits % 8); - } - - } else { // no collision, use the response to SELECT_ALL as current uid - memcpy(uid_resp,resp,4); + if(p_hi14a_card) { + memcpy(p_hi14a_card->atqa, resp, 2); + p_hi14a_card->uidlen = 0; + memset(p_hi14a_card->uid,0,10); } - uid_resp_len = 4; - // Dbprintf("uid: %02x %02x %02x %02x",uid_resp[0],uid_resp[1],uid_resp[2],uid_resp[3]); - // calculate crypto UID. Always use last 4 Bytes. - if(cuid_ptr) { - *cuid_ptr = bytes_to_num(uid_resp, 4); - } + // clear uid + if (uid_ptr) { + memset(uid_ptr,0,10); + } - // Construct SELECT UID command - sel_uid[1] = 0x70; // transmitting a full UID (1 Byte cmd, 1 Byte NVB, 4 Byte UID, 1 Byte BCC, 2 Bytes CRC) - memcpy(sel_uid+2,uid_resp,4); // the UID - sel_uid[6] = sel_uid[2] ^ sel_uid[3] ^ sel_uid[4] ^ sel_uid[5]; // calculate and add BCC - AppendCrc14443a(sel_uid,7); // calculate and add CRC - ReaderTransmit(sel_uid,sizeof(sel_uid), NULL); + // OK we will select at least at cascade 1, lets see if first byte of UID was 0x88 in + // which case we need to make a cascade 2 request and select - this is a long UID + // While the UID is not complete, the 3nd bit (from the right) is set in the SAK. + for(; sak & 0x04; cascade_level++) { + // SELECT_* (L1: 0x93, L2: 0x95, L3: 0x97) + sel_uid[0] = sel_all[0] = 0x93 + cascade_level * 2; - // Receive the SAK - if (!ReaderReceive(resp)) return 0; - sak = resp[0]; + // SELECT_ALL + ReaderTransmit(sel_all, sizeof(sel_all), NULL); + if (!ReaderReceive(resp, resp_par)) return 0; - // Test if more parts of the uid are comming - if ((sak & 0x04) /* && uid_resp[0] == 0x88 */) { - // Remove first byte, 0x88 is not an UID byte, it CT, see page 3 of: - // http://www.nxp.com/documents/application_note/AN10927.pdf - // This was earlier: - //memcpy(uid_resp, uid_resp + 1, 3); - // But memcpy should not be used for overlapping arrays, - // and memmove appears to not be available in the arm build. - // Therefore: - uid_resp[0] = uid_resp[1]; - uid_resp[1] = uid_resp[2]; - uid_resp[2] = uid_resp[3]; - - uid_resp_len = 3; - } + if (Demod.collisionPos) { // we had a collision and need to construct the UID bit by bit + memset(uid_resp, 0, 4); + uint16_t uid_resp_bits = 0; + uint16_t collision_answer_offset = 0; + // anti-collision-loop: + while (Demod.collisionPos) { + Dbprintf("Multiple tags detected. Collision after Bit %d", Demod.collisionPos); + for (uint16_t i = collision_answer_offset; i < Demod.collisionPos; i++, uid_resp_bits++) { // add valid UID bits before collision point + uint16_t UIDbit = (resp[i/8] >> (i % 8)) & 0x01; + uid_resp[uid_resp_bits & 0xf8] |= UIDbit << (uid_resp_bits % 8); + } + uid_resp[uid_resp_bits/8] |= 1 << (uid_resp_bits % 8); // next time select the card(s) with a 1 in the collision position + uid_resp_bits++; + // construct anticollosion command: + sel_uid[1] = ((2 + uid_resp_bits/8) << 4) | (uid_resp_bits & 0x07); // length of data in bytes and bits + for (uint16_t i = 0; i <= uid_resp_bits/8; i++) { + sel_uid[2+i] = uid_resp[i]; + } + collision_answer_offset = uid_resp_bits%8; + ReaderTransmitBits(sel_uid, 16 + uid_resp_bits, NULL); + if (!ReaderReceiveOffset(resp, collision_answer_offset, resp_par)) return 0; + } + // finally, add the last bits and BCC of the UID + for (uint16_t i = collision_answer_offset; i < (Demod.len-1)*8; i++, uid_resp_bits++) { + uint16_t UIDbit = (resp[i/8] >> (i%8)) & 0x01; + uid_resp[uid_resp_bits/8] |= UIDbit << (uid_resp_bits % 8); + } - if(uid_ptr) { - memcpy(uid_ptr + (cascade_level*3), uid_resp, uid_resp_len); - } + } else { // no collision, use the response to SELECT_ALL as current uid + memcpy(uid_resp, resp, 4); + } + uid_resp_len = 4; + //Dbprintf("uid: %02x %02x %02x %02x",uid_resp[0],uid_resp[1],uid_resp[2],uid_resp[3]); - if(p_hi14a_card) { - memcpy(p_hi14a_card->uid + (cascade_level*3), uid_resp, uid_resp_len); - p_hi14a_card->uidlen += uid_resp_len; - } - } + // calculate crypto UID. Always use last 4 Bytes. + if(cuid_ptr) { + *cuid_ptr = bytes_to_num(uid_resp, 4); + } - if(p_hi14a_card) { - p_hi14a_card->sak = sak; - p_hi14a_card->ats_len = 0; - } + // Construct SELECT UID command + sel_uid[1] = 0x70; // transmitting a full UID (1 Byte cmd, 1 Byte NVB, 4 Byte UID, 1 Byte BCC, 2 Bytes CRC) + memcpy(sel_uid+2, uid_resp, 4); // the UID + sel_uid[6] = sel_uid[2] ^ sel_uid[3] ^ sel_uid[4] ^ sel_uid[5]; // calculate and add BCC + AppendCrc14443a(sel_uid, 7); // calculate and add CRC + ReaderTransmit(sel_uid, sizeof(sel_uid), NULL); - if( (sak & 0x20) == 0) { - return 2; // non iso14443a compliant tag - } + // Receive the SAK + if (!ReaderReceive(resp, resp_par)) return 0; + sak = resp[0]; - // Request for answer to select - AppendCrc14443a(rats, 2); - ReaderTransmit(rats, sizeof(rats), NULL); + // Test if more parts of the uid are comming + if ((sak & 0x04) /* && uid_resp[0] == 0x88 */) { + // Remove first byte, 0x88 is not an UID byte, it CT, see page 3 of: + // http://www.nxp.com/documents/application_note/AN10927.pdf + // This was earlier: + //memcpy(uid_resp, uid_resp + 1, 3); + // But memcpy should not be used for overlapping arrays, + // and memmove appears to not be available in the arm build. + // Therefore: + uid_resp[0] = uid_resp[1]; + uid_resp[1] = uid_resp[2]; + uid_resp[2] = uid_resp[3]; - if (!(len = ReaderReceive(resp))) return 0; + uid_resp_len = 3; + } - if(p_hi14a_card) { - memcpy(p_hi14a_card->ats, resp, sizeof(p_hi14a_card->ats)); - p_hi14a_card->ats_len = len; - } + if(uid_ptr) { + memcpy(uid_ptr + (cascade_level*3), uid_resp, uid_resp_len); + } - // reset the PCB block number - iso14_pcb_blocknum = 0; - return 1; + if(p_hi14a_card) { + memcpy(p_hi14a_card->uid + (cascade_level*3), uid_resp, uid_resp_len); + p_hi14a_card->uidlen += uid_resp_len; + } + } + + if(p_hi14a_card) { + p_hi14a_card->sak = sak; + p_hi14a_card->ats_len = 0; + } + + if( (sak & 0x20) == 0) { + return 2; // non iso14443a compliant tag + } + + // Request for answer to select + AppendCrc14443a(rats, 2); + ReaderTransmit(rats, sizeof(rats), NULL); + + if (!(len = ReaderReceive(resp, resp_par))) return 0; + + if(p_hi14a_card) { + memcpy(p_hi14a_card->ats, resp, sizeof(p_hi14a_card->ats)); + p_hi14a_card->ats_len = len; + } + + // reset the PCB block number + iso14_pcb_blocknum = 0; + + return 1; } void iso14443a_setup(uint8_t fpga_minor_mode) { @@ -1798,7 +1889,8 @@ void iso14443a_setup(uint8_t fpga_minor_mode) { iso14a_set_timeout(1050); // 10ms default } -int iso14_apdu(uint8_t * cmd, size_t cmd_len, void * data) { +int iso14_apdu(uint8_t *cmd, uint16_t cmd_len, void *data) { + uint8_t parity[MAX_PARITY_SIZE]; uint8_t real_cmd[cmd_len+4]; real_cmd[0] = 0x0a; //I-Block // put block number into the PCB @@ -1808,8 +1900,8 @@ int iso14_apdu(uint8_t * cmd, size_t cmd_len, void * data) { AppendCrc14443a(real_cmd,cmd_len+2); ReaderTransmit(real_cmd, cmd_len+4, NULL); - size_t len = ReaderReceive(data); - uint8_t * data_bytes = (uint8_t *) data; + size_t len = ReaderReceive(data, parity); + uint8_t *data_bytes = (uint8_t *) data; if (!len) return 0; //DATA LINK ERROR // if we received an I- or R(ACK)-Block with a block number equal to the @@ -1837,6 +1929,7 @@ void ReaderIso14443a(UsbCommand *c) size_t lenbits = c->arg[2]; uint32_t arg0 = 0; byte_t buf[USB_CMD_DATA_SIZE]; + uint8_t par[MAX_PARITY_SIZE]; if(param & ISO14A_CONNECT) { iso14a_clear_trace(); @@ -1873,11 +1966,12 @@ void ReaderIso14443a(UsbCommand *c) if (lenbits) lenbits += 16; } if(lenbits>0) { - ReaderTransmitBitsPar(cmd,lenbits,GetParity(cmd,lenbits/8), NULL); + GetParity(cmd, lenbits/8, par); + ReaderTransmitBitsPar(cmd, lenbits, par, NULL); } else { ReaderTransmit(cmd,len, NULL); } - arg0 = ReaderReceive(buf); + arg0 = ReaderReceive(buf, par); cmd_send(CMD_ACK,arg0,0,0,buf,sizeof(buf)); } @@ -1931,20 +2025,20 @@ void ReaderMifare(bool first_try) uint8_t mf_nr_ar[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static uint8_t mf_nr_ar3; - uint8_t* receivedAnswer = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); + uint8_t* receivedAnswer = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + uint8_t* receivedAnswerPar = (((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET); iso14a_clear_trace(); iso14a_set_tracing(TRUE); byte_t nt_diff = 0; - byte_t par = 0; - //byte_t par_mask = 0xff; + uint8_t par[1] = {0}; // maximum 8 Bytes to be sent here, 1 byte parity is therefore enough static byte_t par_low = 0; bool led_on = TRUE; uint8_t uid[10] ={0}; uint32_t cuid; - uint32_t nt =0 ; + uint32_t nt = 0; uint32_t previous_nt = 0; static uint32_t nt_attacked = 0; byte_t par_list[8] = {0,0,0,0,0,0,0,0}; @@ -1966,14 +2060,13 @@ void ReaderMifare(bool first_try) sync_cycles = 65536; // theory: Mifare Classic's random generator repeats every 2^16 cycles (and so do the nonces). nt_attacked = 0; nt = 0; - par = 0; + par[0] = 0; } else { // we were unsuccessful on a previous call. Try another READER nonce (first 3 parity bits remain the same) - // nt_attacked = prng_successor(nt_attacked, 1); mf_nr_ar3++; mf_nr_ar[3] = mf_nr_ar3; - par = par_low; + par[0] = par_low; } LED_A_ON(); @@ -2009,7 +2102,7 @@ void ReaderMifare(bool first_try) ReaderTransmit(mf_auth, sizeof(mf_auth), &sync_time); // Receive the (4 Byte) "random" nonce - if (!ReaderReceive(receivedAnswer)) { + if (!ReaderReceive(receivedAnswer, receivedAnswerPar)) { if (MF_DBGLEVEL >= 1) Dbprintf("Mifare: Couldn't receive tag nonce"); continue; } @@ -2061,19 +2154,19 @@ void ReaderMifare(bool first_try) consecutive_resyncs = 0; // Receive answer. This will be a 4 Bit NACK when the 8 parity bits are OK after decoding - if (ReaderReceive(receivedAnswer)) + if (ReaderReceive(receivedAnswer, receivedAnswerPar)) { catch_up_cycles = 8; // the PRNG is delayed by 8 cycles due to the NAC (4Bits = 0x05 encrypted) transfer if (nt_diff == 0) { - par_low = par & 0x07; // there is no need to check all parities for other nt_diff. Parity Bits for mf_nr_ar[0..2] won't change + par_low = par[0] & 0xE0; // there is no need to check all parities for other nt_diff. Parity Bits for mf_nr_ar[0..2] won't change } led_on = !led_on; if(led_on) LED_B_ON(); else LED_B_OFF(); - par_list[nt_diff] = par; + par_list[nt_diff] = SwapBits(par[0], 8); ks_list[nt_diff] = receivedAnswer[0] ^ 0x05; // Test if the information is complete @@ -2084,13 +2177,13 @@ void ReaderMifare(bool first_try) nt_diff = (nt_diff + 1) & 0x07; mf_nr_ar[3] = (mf_nr_ar[3] & 0x1F) | (nt_diff << 5); - par = par_low; + par[0] = par_low; } else { if (nt_diff == 0 && first_try) { - par++; + par[0]++; } else { - par = (((par >> 3) + 1) << 3) | par_low; + par[0] = ((par[0] & 0x1F) + 1) | par_low; } } } @@ -2132,8 +2225,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * int res; uint32_t selTimer = 0; uint32_t authTimer = 0; - uint32_t par = 0; - int len = 0; + uint16_t len = 0; uint8_t cardWRBL = 0; uint8_t cardAUTHSC = 0; uint8_t cardAUTHKEY = 0xff; // no authentication @@ -2147,8 +2239,10 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * struct Crypto1State *pcs; pcs = &mpcs; uint32_t numReads = 0;//Counts numer of times reader read a block - uint8_t* receivedCmd = eml_get_bigbufptr_recbuf(); - uint8_t *response = eml_get_bigbufptr_sendbuf(); + uint8_t* receivedCmd = get_bigbufptr_recvcmdbuf(); + uint8_t* receivedCmd_par = receivedCmd + MAX_FRAME_SIZE; + uint8_t* response = get_bigbufptr_recvrespbuf(); + uint8_t* response_par = response + MAX_FRAME_SIZE; uint8_t rATQA[] = {0x04, 0x00}; // Mifare classic 1k 4BUID uint8_t rUIDBCC1[] = {0xde, 0xad, 0xbe, 0xaf, 0x62}; @@ -2242,7 +2336,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * //Now, get data - res = EmGetCmd(receivedCmd, &len); + res = EmGetCmd(receivedCmd, &len, receivedCmd_par); if (res == 2) { //Field is off! cardSTATE = MFEMUL_NOFIELD; LEDsoff(); @@ -2269,8 +2363,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * case MFEMUL_NOFIELD: case MFEMUL_HALTED: case MFEMUL_IDLE:{ - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); break; } case MFEMUL_SELECT1:{ @@ -2305,12 +2398,11 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * if( len != 8) { cardSTATE_TO_IDLE(); - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); break; } uint32_t ar = bytes_to_num(receivedCmd, 4); - uint32_t nr= bytes_to_num(&receivedCmd[4], 4); + uint32_t nr = bytes_to_num(&receivedCmd[4], 4); //Collect AR/NR if(ar_nr_collected < 2){ @@ -2338,8 +2430,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * // reader to do a WUPA after a while. /Martin // -- which is the correct response. /piwi cardSTATE_TO_IDLE(); - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); break; } @@ -2357,8 +2448,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * } case MFEMUL_SELECT2:{ if (!len) { - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); break; } if (len == 2 && (receivedCmd[0] == 0x95 && receivedCmd[1] == 0x20)) { @@ -2379,8 +2469,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * // i guess there is a command). go into the work state. if (len != 4) { - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); break; } cardSTATE = MFEMUL_WORK; @@ -2390,8 +2479,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * case MFEMUL_WORK:{ if (len == 0) { - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); break; } @@ -2439,8 +2527,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * } if(len != 4) { - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); break; } @@ -2469,8 +2556,8 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * } emlGetMem(response, receivedCmd[1], 1); AppendCrc14443a(response, 16); - mf_crypto1_encrypt(pcs, response, 18, &par); - EmSendCmdPar(response, 18, par); + mf_crypto1_encrypt(pcs, response, 18, response_par); + EmSendCmdPar(response, 18, response_par); numReads++; if(exitAfterNReads > 0 && numReads == exitAfterNReads) { Dbprintf("%d reads done, exiting", numReads); @@ -2519,8 +2606,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * LED_C_OFF(); cardSTATE = MFEMUL_HALTED; if (MF_DBGLEVEL >= 4) Dbprintf("--> HALTED. Selected time: %d ms", GetTickCount() - selTimer); - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); break; } // RATS @@ -2541,8 +2627,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * cardSTATE = MFEMUL_WORK; } else { cardSTATE_TO_IDLE(); - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); } break; } @@ -2555,8 +2640,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * cardSTATE_TO_IDLE(); break; } - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); cardINTREG = cardINTREG + ans; cardSTATE = MFEMUL_WORK; break; @@ -2569,8 +2653,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * cardSTATE_TO_IDLE(); break; } - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); cardINTREG = cardINTREG - ans; cardSTATE = MFEMUL_WORK; break; @@ -2583,8 +2666,7 @@ void Mifare1ksim(uint8_t flags, uint8_t exitAfterNReads, uint8_t arg2, uint8_t * cardSTATE_TO_IDLE(); break; } - LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parityBits, TRUE); - LogTrace(NULL, 0, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, 0, TRUE); + LogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); cardSTATE = MFEMUL_WORK; break; } @@ -2648,8 +2730,10 @@ void RAMFUNC SniffMifare(uint8_t param) { // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); + uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET; // The response (tag -> reader) that we're receiving. - uint8_t *receivedResponse = (((uint8_t *)BigBuf) + RECV_RES_OFFSET); + uint8_t *receivedResponse = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + uint8_t *receivedResponsePar = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET; // As we receive stuff, we copy it from receivedCmd or receivedResponse // into trace, along with its length and other annotations. @@ -2667,10 +2751,10 @@ void RAMFUNC SniffMifare(uint8_t param) { iso14443a_setup(FPGA_HF_ISO14443A_SNIFFER); // Set up the demodulator for tag -> reader responses. - Demod.output = receivedResponse; + DemodInit(receivedResponse, receivedResponsePar); // Set up the demodulator for the reader -> tag commands - Uart.output = receivedCmd; + UartInit(receivedCmd, receivedCmdPar); // Setup for the DMA. FpgaSetupSscDma((uint8_t *)dmaBuf, DMA_BUFFER_SIZE); // set transfer address and number of bytes. Start transfer. @@ -2742,7 +2826,7 @@ void RAMFUNC SniffMifare(uint8_t param) { uint8_t readerdata = (previous_data & 0xF0) | (*data >> 4); if(MillerDecoding(readerdata, (sniffCounter-1)*4)) { LED_C_INV(); - if (MfSniffLogic(receivedCmd, Uart.len, Uart.parityBits, Uart.bitCount, TRUE)) break; + if (MfSniffLogic(receivedCmd, Uart.len, Uart.parity, Uart.bitCount, TRUE)) break; /* And ready to receive another command. */ UartReset(); @@ -2758,7 +2842,7 @@ void RAMFUNC SniffMifare(uint8_t param) { if(ManchesterDecoding(tagdata, 0, (sniffCounter-1)*4)) { LED_C_INV(); - if (MfSniffLogic(receivedResponse, Demod.len, Demod.parityBits, Demod.bitCount, FALSE)) break; + if (MfSniffLogic(receivedResponse, Demod.len, Demod.parity, Demod.bitCount, FALSE)) break; // And ready to receive another response. DemodReset(); diff --git a/armsrc/iso14443a.h b/armsrc/iso14443a.h index 6d18515fc..c595d5e12 100644 --- a/armsrc/iso14443a.h +++ b/armsrc/iso14443a.h @@ -15,13 +15,6 @@ #include "common.h" #include "mifaresniff.h" -// mifare reader over DMA buffer (SnoopIso14443a())!!! -#define MIFARE_BUFF_OFFSET 3560 // \/ \/ \/ -// card emulator memory -#define EML_RESPONSES 4000 -#define CARD_MEMORY 6000 -#define CARD_MEMORY_LEN 4096 - typedef struct { enum { DEMOD_UNSYNCD, @@ -35,12 +28,14 @@ typedef struct { uint16_t bitCount; uint16_t collisionPos; uint16_t syncBit; - uint32_t parityBits; + uint8_t parityBits; + uint8_t parityLen; uint16_t shiftReg; uint16_t samples; uint16_t len; uint32_t startTime, endTime; uint8_t *output; + uint8_t *parity; } tDemod; typedef enum { @@ -66,32 +61,33 @@ typedef struct { uint16_t byteCntMax; uint16_t posCnt; uint16_t syncBit; - uint32_t parityBits; + uint8_t parityBits; + uint8_t parityLen; uint16_t highCnt; uint16_t twoBits; uint32_t startTime, endTime; uint8_t *output; + uint8_t *parity; } tUart; extern byte_t oddparity (const byte_t bt); -extern uint32_t GetParity(const uint8_t *pbtCmd, int iLen); +extern void GetParity(const uint8_t *pbtCmd, uint16_t len, uint8_t *par); extern void AppendCrc14443a(uint8_t *data, int len); -extern void ReaderTransmit(uint8_t *frame, int len, uint32_t *timing); -extern void ReaderTransmitBitsPar(uint8_t *frame, int bits, uint32_t par, uint32_t *timing); -extern void ReaderTransmitPar(uint8_t *frame, int len, uint32_t par, uint32_t *timing); -extern int ReaderReceive(uint8_t *receivedAnswer); -extern int ReaderReceivePar(uint8_t *receivedAnswer, uint32_t *parptr); +extern void ReaderTransmit(uint8_t *frame, uint16_t len, uint32_t *timing); +extern void ReaderTransmitBitsPar(uint8_t *frame, uint16_t bits, uint8_t *par, uint32_t *timing); +extern void ReaderTransmitPar(uint8_t *frame, uint16_t len, uint8_t *par, uint32_t *timing); +extern int ReaderReceive(uint8_t *receivedAnswer, uint8_t *par); extern void iso14443a_setup(uint8_t fpga_minor_mode); -extern int iso14_apdu(uint8_t *cmd, size_t cmd_len, void *data); +extern int iso14_apdu(uint8_t *cmd, uint16_t cmd_len, void *data); extern int iso14443a_select_card(uint8_t *uid_ptr, iso14a_card_select_t *resp_data, uint32_t *cuid_ptr); extern void iso14a_set_trigger(bool enable); extern void iso14a_set_timeout(uint32_t timeout); -extern void iso14a_clear_tracelen(); +extern void iso14a_clear_trace(); extern void iso14a_set_tracing(bool enable); #endif /* __ISO14443A_H */ diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index 42dee56ec..344b0f3ed 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -126,11 +126,8 @@ void MifareUReadBlock(uint8_t arg0,uint8_t *datain) if (MF_DBGLEVEL >= 2) DbpString("READ BLOCK FINISHED"); - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); + cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); LED_B_OFF(); @@ -459,7 +456,7 @@ void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain) // Return 1 if the nonce is invalid else return 0 -int valid_nonce(uint32_t Nt, uint32_t NtEnc, uint32_t Ks1, byte_t * parity) { +int valid_nonce(uint32_t Nt, uint32_t NtEnc, uint32_t Ks1, uint8_t *parity) { return ((oddparity((Nt >> 24) & 0xFF) == ((parity[0]) ^ oddparity((NtEnc >> 24) & 0xFF) ^ BIT(Ks1,16))) & \ (oddparity((Nt >> 16) & 0xFF) == ((parity[1]) ^ oddparity((NtEnc >> 16) & 0xFF) ^ BIT(Ks1,8))) & \ (oddparity((Nt >> 8) & 0xFF) == ((parity[2]) ^ oddparity((NtEnc >> 8) & 0xFF) ^ BIT(Ks1,0)))) ? 1 : 0; @@ -486,7 +483,8 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat uint16_t davg; static uint16_t dmin, dmax; uint8_t uid[10]; - uint32_t cuid, nt1, nt2, nttmp, nttest, par, ks1; + uint32_t cuid, nt1, nt2, nttmp, nttest, ks1; + uint8_t par[1]; uint32_t target_nt[2], target_ks[2]; uint8_t par_array[4]; @@ -494,7 +492,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat struct Crypto1State mpcs = {0, 0}; struct Crypto1State *pcs; pcs = &mpcs; - uint8_t* receivedAnswer = mifare_get_bigbufptr(); + uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); uint32_t auth1_time, auth2_time; static uint16_t delta_time; @@ -610,19 +608,18 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat // nested authentication auth2_time = auth1_time + delta_time; - len = mifare_sendcmd_shortex(pcs, AUTH_NESTED, 0x60 + (targetKeyType & 0x01), targetBlockNo, receivedAnswer, &par, &auth2_time); + len = mifare_sendcmd_shortex(pcs, AUTH_NESTED, 0x60 + (targetKeyType & 0x01), targetBlockNo, receivedAnswer, par, &auth2_time); if (len != 4) { if (MF_DBGLEVEL >= 1) Dbprintf("Nested: Auth2 error len=%d", len); continue; }; nt2 = bytes_to_num(receivedAnswer, 4); - if (MF_DBGLEVEL >= 3) Dbprintf("Nonce#%d: Testing nt1=%08x nt2enc=%08x nt2par=%02x", i+1, nt1, nt2, par); + if (MF_DBGLEVEL >= 3) Dbprintf("Nonce#%d: Testing nt1=%08x nt2enc=%08x nt2par=%02x", i+1, nt1, nt2, par[0]); // Parity validity check for (j = 0; j < 4; j++) { - par_array[j] = (oddparity(receivedAnswer[j]) != ((par & 0x08) >> 3)); - par = par << 1; + par_array[j] = (oddparity(receivedAnswer[j]) != ((par[0] >> (7-j)) & 0x01)); } ncount = 0; @@ -657,10 +654,6 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat // ----------------------------- crypto1 destroy crypto1_destroy(pcs); - // add trace trailer - memset(uid, 0x44, 4); - LogTrace(uid, 4, 0, 0, TRUE); - byte_t buf[4 + 4 * 4]; memcpy(buf, &cuid, 4); memcpy(buf+4, &target_nt[0], 4); @@ -896,8 +889,9 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai uint32_t cuid; memset(uid, 0x00, 10); - uint8_t* receivedAnswer = mifare_get_bigbufptr(); - + uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + if (workFlags & 0x08) { // clear trace iso14a_clear_trace(); @@ -931,14 +925,14 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai // reset chip if (needWipe){ - ReaderTransmitBitsPar(wupC1,7,0, NULL); - if(!ReaderReceive(receivedAnswer) || (receivedAnswer[0] != 0x0a)) { + ReaderTransmitBitsPar(wupC1,7,0, NULL); + if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { if (MF_DBGLEVEL >= 1) Dbprintf("wupC1 error"); break; }; ReaderTransmit(wipeC, sizeof(wipeC), NULL); - if(!ReaderReceive(receivedAnswer) || (receivedAnswer[0] != 0x0a)) { + if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { if (MF_DBGLEVEL >= 1) Dbprintf("wipeC error"); break; }; @@ -951,20 +945,20 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai // write block if (workFlags & 0x02) { - ReaderTransmitBitsPar(wupC1,7,0, NULL); - if(!ReaderReceive(receivedAnswer) || (receivedAnswer[0] != 0x0a)) { + ReaderTransmitBitsPar(wupC1,7,0, NULL); + if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { if (MF_DBGLEVEL >= 1) Dbprintf("wupC1 error"); break; }; ReaderTransmit(wupC2, sizeof(wupC2), NULL); - if(!ReaderReceive(receivedAnswer) || (receivedAnswer[0] != 0x0a)) { + if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { if (MF_DBGLEVEL >= 1) Dbprintf("wupC2 error"); break; }; } - if ((mifare_sendcmd_short(NULL, 0, 0xA0, blockNo, receivedAnswer, NULL) != 1) || (receivedAnswer[0] != 0x0a)) { + if ((mifare_sendcmd_short(NULL, 0, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL) != 1) || (receivedAnswer[0] != 0x0a)) { if (MF_DBGLEVEL >= 1) Dbprintf("write block send command error"); break; }; @@ -973,7 +967,7 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai AppendCrc14443a(d_block, 16); ReaderTransmit(d_block, sizeof(d_block), NULL); - if ((ReaderReceive(receivedAnswer) != 1) || (receivedAnswer[0] != 0x0a)) { + if ((ReaderReceive(receivedAnswer, receivedAnswerPar) != 1) || (receivedAnswer[0] != 0x0a)) { if (MF_DBGLEVEL >= 1) Dbprintf("write block send data error"); break; }; @@ -1021,7 +1015,8 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai uint32_t cuid = 0; memset(data, 0x00, 18); - uint8_t* receivedAnswer = mifare_get_bigbufptr(); + uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; if (workFlags & 0x08) { // clear trace @@ -1043,20 +1038,20 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai while (true) { if (workFlags & 0x02) { ReaderTransmitBitsPar(wupC1,7,0, NULL); - if(!ReaderReceive(receivedAnswer) || (receivedAnswer[0] != 0x0a)) { + if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { if (MF_DBGLEVEL >= 1) Dbprintf("wupC1 error"); break; }; ReaderTransmit(wupC2, sizeof(wupC2), NULL); - if(!ReaderReceive(receivedAnswer) || (receivedAnswer[0] != 0x0a)) { + if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { if (MF_DBGLEVEL >= 1) Dbprintf("wupC2 error"); break; }; } // read block - if ((mifare_sendcmd_short(NULL, 0, 0x30, blockNo, receivedAnswer, NULL) != 18)) { + if ((mifare_sendcmd_short(NULL, 0, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL) != 18)) { if (MF_DBGLEVEL >= 1) Dbprintf("read block send command error"); break; }; diff --git a/armsrc/mifaresniff.c b/armsrc/mifaresniff.c index 3e5570f9c..910ea74d5 100644 --- a/armsrc/mifaresniff.c +++ b/armsrc/mifaresniff.c @@ -11,6 +11,7 @@ #include "mifaresniff.h" #include "apps.h" + static int sniffState = SNF_INIT; static uint8_t sniffUIDType; static uint8_t sniffUID[8]; @@ -37,7 +38,7 @@ bool MfSniffEnd(void){ return FALSE; } -bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint32_t parity, uint16_t bitCnt, bool reader) { +bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint8_t *parity, uint16_t bitCnt, bool reader) { if (reader && (len == 1) && (bitCnt == 7)) { // reset on 7-Bit commands from reader sniffState = SNF_INIT; @@ -114,16 +115,16 @@ bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint32_t parity, ui sniffBuf[11] = sniffSAK; sniffBuf[12] = 0xFF; sniffBuf[13] = 0xFF; - LogTrace(sniffBuf, 14, 0, parity, true); + LogTrace(sniffBuf, 14, 0, 0, NULL, TRUE); } // intentionally no break; case SNF_CARD_CMD:{ - LogTrace(data, len, 0, parity, true); + LogTrace(data, len, 0, 0, NULL, TRUE); sniffState = SNF_CARD_RESP; timerData = GetTickCount(); break; } case SNF_CARD_RESP:{ - LogTrace(data, len, 0, parity, false); + LogTrace(data, len, 0, 0, NULL, FALSE); sniffState = SNF_CARD_CMD; timerData = GetTickCount(); break; diff --git a/armsrc/mifaresniff.h b/armsrc/mifaresniff.h index 1065fa618..22daffee7 100644 --- a/armsrc/mifaresniff.h +++ b/armsrc/mifaresniff.h @@ -39,7 +39,7 @@ #define SNF_UID_7 0 bool MfSniffInit(void); -bool RAMFUNC MfSniffLogic(const uint8_t * data, uint16_t len, uint32_t parity, uint16_t bitCnt, bool reader); +bool RAMFUNC MfSniffLogic(const uint8_t *data, uint16_t len, uint8_t *parity, uint16_t bitCnt, bool reader); bool RAMFUNC MfSniffSend(uint16_t maxTimeoutMs); bool intMfSniffSend(); bool MfSniffEnd(void); diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index 0b93db8f7..5122d0ec1 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -22,17 +22,14 @@ int MF_DBGLEVEL = MF_DBG_ALL; // memory management -uint8_t* mifare_get_bigbufptr(void) { - return (((uint8_t *)BigBuf) + MIFARE_BUFF_OFFSET); // was 3560 - tied to other size changes +uint8_t* get_bigbufptr_recvrespbuf(void) { + return (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); } -uint8_t* eml_get_bigbufptr_sendbuf(void) { +uint8_t* get_bigbufptr_recvcmdbuf(void) { return (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); } -uint8_t* eml_get_bigbufptr_recbuf(void) { - return (((uint8_t *)BigBuf) + MIFARE_BUFF_OFFSET); -} -uint8_t* eml_get_bigbufptr_cardmem(void) { - return (((uint8_t *)BigBuf) + CARD_MEMORY); +uint8_t* get_bigbufptr_emlcardmem(void) { + return (((uint8_t *)BigBuf) + CARD_MEMORY_OFFSET); } // crypto1 helpers @@ -53,15 +50,15 @@ void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *data, int len){ return; } -void mf_crypto1_encrypt(struct Crypto1State *pcs, uint8_t *data, int len, uint32_t *par) { +void mf_crypto1_encrypt(struct Crypto1State *pcs, uint8_t *data, uint16_t len, uint8_t *par) { uint8_t bt = 0; int i; - uint32_t mltpl = 1 << (len - 1); // for len=18 it=0x20000 - *par = 0; + par[0] = 0; for (i = 0; i < len; i++) { bt = data[i]; data[i] = crypto1_byte(pcs, 0x00, 0) ^ data[i]; - *par = (*par >> 1) | ( ((filter(pcs->odd) ^ oddparity(bt)) & 0x01) * mltpl ); + if((i&0x0007) == 0) par[i>>3] = 0; + par[i>>3] |= (((filter(pcs->odd) ^ oddparity(bt)) & 0x01)<<(7-(i&0x0007))); } return; } @@ -77,18 +74,18 @@ uint8_t mf_crypto1_encrypt4bit(struct Crypto1State *pcs, uint8_t data) { } // send commands -int mifare_sendcmd_short(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint32_t *timing) +int mifare_sendcmd_short(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing) { - return mifare_sendcmd_shortex(pcs, crypted, cmd, data, answer, NULL, timing); + return mifare_sendcmd_shortex(pcs, crypted, cmd, data, answer, answer_parity, timing); } -int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t* data, uint8_t* answer, uint8_t *timing) +int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t* data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing) { - uint8_t dcmd[8];//, ecmd[4]; - //uint32_t par=0; + uint8_t dcmd[8];//, ecmd[4]; + //uint32_t par=0; - dcmd[0] = cmd; - dcmd[1] = data[0]; + dcmd[0] = cmd; + dcmd[1] = data[0]; dcmd[2] = data[1]; dcmd[3] = data[2]; dcmd[4] = data[3]; @@ -99,7 +96,7 @@ int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint //memcpy(ecmd, dcmd, sizeof(dcmd)); ReaderTransmit(dcmd, sizeof(dcmd), NULL); - int len = ReaderReceive(answer); + int len = ReaderReceive(answer, answer_parity); if(!len) { if (MF_DBGLEVEL >= 1) Dbprintf("Authentication failed. Card timeout."); @@ -108,11 +105,11 @@ int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint return len; } -int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint32_t * parptr, uint32_t *timing) +int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t *answer, uint8_t *answer_parity, uint32_t *timing) { uint8_t dcmd[4], ecmd[4]; - uint32_t pos, par, res; - + uint16_t pos, res; + uint8_t par[1]; // 1 Byte parity is enough here dcmd[0] = cmd; dcmd[1] = data; AppendCrc14443a(dcmd, 2); @@ -120,11 +117,11 @@ int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cm memcpy(ecmd, dcmd, sizeof(dcmd)); if (crypted) { - par = 0; + par[0] = 0; for (pos = 0; pos < 4; pos++) { ecmd[pos] = crypto1_byte(pcs, 0x00, 0) ^ dcmd[pos]; - par = (par >> 1) | ( ((filter(pcs->odd) ^ oddparity(dcmd[pos])) & 0x01) * 0x08 ); + par[0] |= (((filter(pcs->odd) ^ oddparity(dcmd[pos])) & 0x01) << (7-pos)); } ReaderTransmitPar(ecmd, sizeof(ecmd), par, timing); @@ -133,10 +130,10 @@ int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cm ReaderTransmit(dcmd, sizeof(dcmd), timing); } - int len = ReaderReceivePar(answer, &par); + int len = ReaderReceive(answer, par); + + if (answer_parity) *answer_parity = par[0]; - if (parptr) *parptr = par; - if (crypted == CRYPT_ALL) { if (len == 1) { res = 0; @@ -157,33 +154,35 @@ int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cm } // mifare commands -int mifare_classic_auth(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint64_t isNested) +int mifare_classic_auth(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint8_t isNested) { return mifare_classic_authex(pcs, uid, blockNo, keyType, ui64Key, isNested, NULL, NULL); } -int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint64_t isNested, uint32_t * ntptr, uint32_t *timing) +int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint8_t isNested, uint32_t *ntptr, uint32_t *timing) { // variables int len; uint32_t pos; uint8_t tmp4[4]; - byte_t par = 0; - byte_t ar[4]; + uint8_t par[1] = {0}; + byte_t nr[4]; uint32_t nt, ntpp; // Supplied tag nonce uint8_t mf_nr_ar[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; - uint8_t* receivedAnswer = mifare_get_bigbufptr(); - + uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + // Transmit MIFARE_CLASSIC_AUTH - len = mifare_sendcmd_short(pcs, isNested, 0x60 + (keyType & 0x01), blockNo, receivedAnswer, timing); - if (MF_DBGLEVEL >= 4) Dbprintf("rand nonce len: %x", len); + len = mifare_sendcmd_short(pcs, isNested, 0x60 + (keyType & 0x01), blockNo, receivedAnswer, receivedAnswerPar, timing); + if (MF_DBGLEVEL >= 4) Dbprintf("rand tag nonce len: %x", len); if (len != 4) return 1; - ar[0] = 0x55; - ar[1] = 0x41; - ar[2] = 0x49; - ar[3] = 0x92; + // "random" reader nonce: + nr[0] = 0x55; + nr[1] = 0x41; + nr[2] = 0x49; + nr[3] = 0x92; // Save the tag nonce (nt) nt = bytes_to_num(receivedAnswer, 4); @@ -211,12 +210,13 @@ int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockN if (ntptr) *ntptr = nt; - par = 0; + // Generate (encrypted) nr+parity by loading it into the cipher (Nr) + par[0] = 0; for (pos = 0; pos < 4; pos++) { - mf_nr_ar[pos] = crypto1_byte(pcs, ar[pos], 0) ^ ar[pos]; - par = (par >> 1) | ( ((filter(pcs->odd) ^ oddparity(ar[pos])) & 0x01) * 0x80 ); + mf_nr_ar[pos] = crypto1_byte(pcs, nr[pos], 0) ^ nr[pos]; + par[0] |= (((filter(pcs->odd) ^ oddparity(nr[pos])) & 0x01) << (7-pos)); } // Skip 32 bits in pseudo random generator @@ -227,14 +227,14 @@ int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockN { nt = prng_successor(nt,8); mf_nr_ar[pos] = crypto1_byte(pcs,0x00,0) ^ (nt & 0xff); - par = (par >> 1)| ( ((filter(pcs->odd) ^ oddparity(nt & 0xff)) & 0x01) * 0x80 ); + par[0] |= (((filter(pcs->odd) ^ oddparity(nt & 0xff)) & 0x01) << (7-pos)); } // Transmit reader nonce and reader answer ReaderTransmitPar(mf_nr_ar, sizeof(mf_nr_ar), par, NULL); - // Receive 4 bit answer - len = ReaderReceive(receivedAnswer); + // Receive 4 byte tag answer + len = ReaderReceive(receivedAnswer, receivedAnswerPar); if (!len) { if (MF_DBGLEVEL >= 1) Dbprintf("Authentication failed. Card timeout."); @@ -258,10 +258,11 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo int len; uint8_t bt[2]; - uint8_t* receivedAnswer = mifare_get_bigbufptr(); + uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; // command MIFARE_CLASSIC_READBLOCK - len = mifare_sendcmd_short(pcs, 1, 0x30, blockNo, receivedAnswer, NULL); + len = mifare_sendcmd_short(pcs, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL); if (len == 1) { if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Error: %02x", receivedAnswer[0]); return 1; @@ -285,13 +286,14 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) { // variables - int len; + uint16_t len; uint8_t bt[2]; - uint8_t* receivedAnswer = mifare_get_bigbufptr(); + uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; // command MIFARE_CLASSIC_READBLOCK - len = mifare_sendcmd_short(NULL, 1, 0x30, blockNo, receivedAnswer,NULL); + len = mifare_sendcmd_short(NULL, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL); if (len == 1) { if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Error: %02x", receivedAnswer[0]); return 1; @@ -318,14 +320,15 @@ int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t bl // variables int len, i; uint32_t pos; - uint32_t par = 0; + uint8_t par[3] = {0}; // enough for 18 Bytes to send byte_t res; uint8_t d_block[18], d_block_enc[18]; - uint8_t* receivedAnswer = mifare_get_bigbufptr(); + uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; // command MIFARE_CLASSIC_WRITEBLOCK - len = mifare_sendcmd_short(pcs, 1, 0xA0, blockNo, receivedAnswer, NULL); + len = mifare_sendcmd_short(pcs, 1, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL); if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Error: %02x", receivedAnswer[0]); @@ -336,17 +339,16 @@ int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t bl AppendCrc14443a(d_block, 16); // crypto - par = 0; for (pos = 0; pos < 18; pos++) { d_block_enc[pos] = crypto1_byte(pcs, 0x00, 0) ^ d_block[pos]; - par = (par >> 1) | ( ((filter(pcs->odd) ^ oddparity(d_block[pos])) & 0x01) * 0x20000 ); + par[pos>>3] |= (((filter(pcs->odd) ^ oddparity(d_block[pos])) & 0x01) << (7 - (pos&0x0007))); } ReaderTransmitPar(d_block_enc, sizeof(d_block_enc), par, NULL); // Receive the response - len = ReaderReceive(receivedAnswer); + len = ReaderReceive(receivedAnswer, receivedAnswerPar); res = 0; for (i = 0; i < 4; i++) @@ -362,72 +364,74 @@ int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t bl int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) { - // variables - int len; - uint32_t par = 0; + // variables + uint16_t len; + uint8_t par[3] = {0}; // enough for 18 parity bits - uint8_t d_block[18]; - uint8_t* receivedAnswer = mifare_get_bigbufptr(); + uint8_t d_block[18]; + uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - // command MIFARE_CLASSIC_WRITEBLOCK - len = mifare_sendcmd_short(NULL, 1, 0xA0, blockNo, receivedAnswer,NULL); + // command MIFARE_CLASSIC_WRITEBLOCK + len = mifare_sendcmd_short(NULL, true, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL); - if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK - if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Addr Error: %02x", receivedAnswer[0]); - return 1; - } + if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK + if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Addr Error: %02x", receivedAnswer[0]); + return 1; + } memset(d_block,'\0',18); memcpy(d_block, blockData, 16); - AppendCrc14443a(d_block, 16); + AppendCrc14443a(d_block, 16); ReaderTransmitPar(d_block, sizeof(d_block), par, NULL); - // Receive the response - len = ReaderReceive(receivedAnswer); + // Receive the response + len = ReaderReceive(receivedAnswer, receivedAnswerPar); if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK - if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Data Error: %02x %d", receivedAnswer[0],len); - return 2; - } + if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Data Error: %02x %d", receivedAnswer[0],len); + return 2; + } - return 0; + return 0; } int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) { - // variables - int len; - //uint32_t par = 0; + uint16_t len; - uint8_t d_block[8]; - uint8_t* receivedAnswer = mifare_get_bigbufptr(); + uint8_t d_block[8]; + uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - // command MIFARE_CLASSIC_WRITEBLOCK + // command MIFARE_CLASSIC_WRITEBLOCK memset(d_block,'\0',8); d_block[0]= blockNo; memcpy(d_block+1,blockData,4); AppendCrc14443a(d_block, 6); //i know the data send here is correct - len = mifare_sendcmd_short_special(NULL, 1, 0xA2, d_block, receivedAnswer,NULL); + len = mifare_sendcmd_short_special(NULL, 1, 0xA2, d_block, receivedAnswer, receivedAnswerPar, NULL); - if (receivedAnswer[0] != 0x0A) { // 0x0a - ACK - if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Send Error: %02x %d", receivedAnswer[0],len); - return 1; - } - return 0; + if (receivedAnswer[0] != 0x0A) { // 0x0a - ACK + if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Send Error: %02x %d", receivedAnswer[0],len); + return 1; + } + + return 0; } int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) { // variables - int len; + uint16_t len; // Mifare HALT - uint8_t* receivedAnswer = mifare_get_bigbufptr(); + uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - len = mifare_sendcmd_short(pcs, pcs == NULL ? 0:1, 0x50, 0x00, receivedAnswer, NULL); + len = mifare_sendcmd_short(pcs, pcs == NULL ? false:true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL); if (len != 0) { if (MF_DBGLEVEL >= 1) Dbprintf("halt error. response len: %x", len); return 1; @@ -438,13 +442,13 @@ int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) int mifare_ultra_halt(uint32_t uid) { - // variables - int len; + uint16_t len; // Mifare HALT - uint8_t* receivedAnswer = mifare_get_bigbufptr(); + uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; - len = mifare_sendcmd_short(NULL, 1, 0x50, 0x00, receivedAnswer, NULL); + len = mifare_sendcmd_short(NULL, true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL); if (len != 0) { if (MF_DBGLEVEL >= 1) Dbprintf("halt error. response len: %x", len); return 1; @@ -476,25 +480,25 @@ uint8_t FirstBlockOfSector(uint8_t sectorNo) // work with emulator memory void emlSetMem(uint8_t *data, int blockNum, int blocksCount) { - uint8_t* emCARD = eml_get_bigbufptr_cardmem(); + uint8_t* emCARD = get_bigbufptr_emlcardmem(); memcpy(emCARD + blockNum * 16, data, blocksCount * 16); } void emlGetMem(uint8_t *data, int blockNum, int blocksCount) { - uint8_t* emCARD = eml_get_bigbufptr_cardmem(); + uint8_t* emCARD = get_bigbufptr_emlcardmem(); memcpy(data, emCARD + blockNum * 16, blocksCount * 16); } void emlGetMemBt(uint8_t *data, int bytePtr, int byteCount) { - uint8_t* emCARD = eml_get_bigbufptr_cardmem(); + uint8_t* emCARD = get_bigbufptr_emlcardmem(); memcpy(data, emCARD + bytePtr, byteCount); } int emlCheckValBl(int blockNum) { - uint8_t* emCARD = eml_get_bigbufptr_cardmem(); + uint8_t* emCARD = get_bigbufptr_emlcardmem(); uint8_t* data = emCARD + blockNum * 16; if ((data[0] != (data[4] ^ 0xff)) || (data[0] != data[8]) || @@ -509,7 +513,7 @@ int emlCheckValBl(int blockNum) { } int emlGetValBl(uint32_t *blReg, uint8_t *blBlock, int blockNum) { - uint8_t* emCARD = eml_get_bigbufptr_cardmem(); + uint8_t* emCARD = get_bigbufptr_emlcardmem(); uint8_t* data = emCARD + blockNum * 16; if (emlCheckValBl(blockNum)) { @@ -523,7 +527,7 @@ int emlGetValBl(uint32_t *blReg, uint8_t *blBlock, int blockNum) { } int emlSetValBl(uint32_t blReg, uint8_t blBlock, int blockNum) { - uint8_t* emCARD = eml_get_bigbufptr_cardmem(); + uint8_t* emCARD = get_bigbufptr_emlcardmem(); uint8_t* data = emCARD + blockNum * 16; memcpy(data + 0, &blReg, 4); @@ -541,7 +545,7 @@ int emlSetValBl(uint32_t blReg, uint8_t blBlock, int blockNum) { uint64_t emlGetKey(int sectorNum, int keyType) { uint8_t key[6]; - uint8_t* emCARD = eml_get_bigbufptr_cardmem(); + uint8_t* emCARD = get_bigbufptr_emlcardmem(); memcpy(key, emCARD + 16 * (FirstBlockOfSector(sectorNum) + NumBlocksPerSector(sectorNum) - 1) + keyType * 10, 6); return bytes_to_num(key, 6); @@ -552,9 +556,9 @@ void emlClearMem(void) { const uint8_t trailer[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x80, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; const uint8_t uid[] = {0xe6, 0x84, 0x87, 0xf3, 0x16, 0x88, 0x04, 0x00, 0x46, 0x8e, 0x45, 0x55, 0x4d, 0x70, 0x41, 0x04}; - uint8_t* emCARD = eml_get_bigbufptr_cardmem(); + uint8_t* emCARD = get_bigbufptr_emlcardmem(); - memset(emCARD, 0, CARD_MEMORY_LEN); + memset(emCARD, 0, CARD_MEMORY_SIZE); // fill sectors trailer data for(b = 3; b < 256; b<127?(b+=4):(b+=16)) { diff --git a/armsrc/mifareutil.h b/armsrc/mifareutil.h index 8708d3dd4..c8f3dadfd 100644 --- a/armsrc/mifareutil.h +++ b/armsrc/mifareutil.h @@ -16,7 +16,7 @@ #define CRYPT_NONE 0 #define CRYPT_ALL 1 #define CRYPT_REQUEST 2 -#define AUTH_FIRST 0 +#define AUTH_FIRST 0 #define AUTH_NESTED 2 // mifare 4bit card answers @@ -54,14 +54,12 @@ extern int MF_DBGLEVEL; //functions uint8_t* mifare_get_bigbufptr(void); -int mifare_sendcmd_short(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint32_t *timing); -int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t *data, uint8_t* amswer, uint8_t *timing); -int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint32_t * parptr, uint32_t *timing); +int mifare_sendcmd_short(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); +int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t *data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); +int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); -int mifare_classic_auth(struct Crypto1State *pcs, uint32_t uid, \ - uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint64_t isNested); -int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, \ - uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint64_t isNested, uint32_t * ntptr, uint32_t *timing); +int mifare_classic_auth(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint8_t isNested); +int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint8_t isNested, uint32_t * ntptr, uint32_t *timing); int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t *blockData); int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData); int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t *blockData); @@ -72,13 +70,13 @@ int mifare_ultra_halt(uint32_t uid); // crypto functions void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *receivedCmd, int len); -void mf_crypto1_encrypt(struct Crypto1State *pcs, uint8_t *data, int len, uint32_t *par); +void mf_crypto1_encrypt(struct Crypto1State *pcs, uint8_t *data, uint16_t len, uint8_t *par); uint8_t mf_crypto1_encrypt4bit(struct Crypto1State *pcs, uint8_t data); // memory management -uint8_t* mifare_get_bigbufptr(void); -uint8_t* eml_get_bigbufptr_sendbuf(void); -uint8_t* eml_get_bigbufptr_recbuf(void); +uint8_t* get_bigbufptr_recvrespbuf(void); +uint8_t* get_bigbufptr_recvcmdbuf(void); +uint8_t* get_bigbufptr_emlcardmem(void); // Mifare memory structure uint8_t NumBlocksPerSector(uint8_t sectorNo); diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 39bdcf402..5d1c48535 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -43,10 +43,13 @@ int CmdHF14AList(const char *Cmd) if (param == 'f') { ShowWaitCycles = true; } - - uint8_t got[1920]; - GetFromBigBuf(got,sizeof(got),0); - WaitForResponse(CMD_ACK,NULL); + +// for the time being. Need better Bigbuf handling. +#define TRACE_SIZE 3000 + + uint8_t trace[TRACE_SIZE]; + GetFromBigBuf(trace, TRACE_SIZE, 0); + WaitForResponse(CMD_ACK, NULL); PrintAndLog("Recorded Activity"); PrintAndLog(""); @@ -56,123 +59,105 @@ int CmdHF14AList(const char *Cmd) PrintAndLog(" Start | End | Src | Data"); PrintAndLog("-----------|-----------|-----|--------"); - int i = 0; - uint32_t first_timestamp = 0; + uint16_t tracepos = 0; + uint16_t duration; + uint16_t data_len; + uint16_t parity_len; + bool isResponse; uint32_t timestamp; - uint32_t EndOfTransmissionTimestamp = 0; + uint32_t first_timestamp; + uint32_t EndOfTransmissionTimestamp; for (;;) { - if(i >= 1900) { + + if(tracepos >= TRACE_SIZE) { break; } - bool isResponse; - timestamp = *((uint32_t *)(got+i)); - if (timestamp & 0x80000000) { - timestamp &= 0x7fffffff; + timestamp = *((uint32_t *)(trace + tracepos)); + if(tracepos == 0) { + first_timestamp = timestamp; + } + tracepos += 4; + duration = *((uint16_t *)(trace + tracepos)); + tracepos += 2; + data_len = *((uint16_t *)(trace + tracepos)); + tracepos += 2; + + if (data_len & 0x8000) { + data_len &= 0x7fff; isResponse = true; } else { isResponse = false; } - if(i==0) { - first_timestamp = timestamp; + parity_len = (data_len-1)/8 + 1; + + if (tracepos + data_len + parity_len >= TRACE_SIZE) { + break; } - int parityBits = *((uint32_t *)(got+i+4)); - - int len = got[i+8]; - - if (len > 100) { - break; - } - if (i + len >= 1900) { - break; - } - - uint8_t *frame = (got+i+9); + uint8_t *frame = trace + tracepos; + tracepos += data_len; + uint8_t *parityBytes = trace + tracepos; + tracepos += parity_len; // Break and stick with current result if buffer was not completely full - if (frame[0] == 0x44 && frame[1] == 0x44 && frame[2] == 0x44 && frame[3] == 0x44) break; + if (timestamp == 0x44444444) break; char line[1000] = ""; int j; - if (len) { - for (j = 0; j < len; j++) { - int oddparity = 0x01; - int k; + for (j = 0; j < data_len; j++) { + int oddparity = 0x01; + int k; - for (k=0;k<8;k++) { - oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); - } - - //if((parityBits >> (len - j - 1)) & 0x01) { - if (isResponse && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) { - sprintf(line+(j*4), "%02x! ", frame[j]); - } else { - sprintf(line+(j*4), "%02x ", frame[j]); - } + for (k=0;k<8;k++) { + oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); } - } else { - if (ShowWaitCycles) { - uint32_t next_timestamp = (*((uint32_t *)(got+i+9))) & 0x7fffffff; - sprintf(line, "fdt (Frame Delay Time): %d", (next_timestamp - timestamp)); + + uint8_t parityBits = parityBytes[j>>3]; + if (isResponse && (oddparity != ((parityBits >> (7-(j&0x0007))) & 0x01))) { + sprintf(line+(j*4), "%02x! ", frame[j]); + } else { + sprintf(line+(j*4), "%02x ", frame[j]); } } - char *crc; - crc = ""; - if (len > 2) { - uint8_t b1, b2; - for (j = 0; j < (len - 1); j++) { - // gives problems... search for the reason.. - /*if(frame[j] == 0xAA) { - switch(frame[j+1]) { - case 0x01: - crc = "[1] Two drops close after each other"; - break; - case 0x02: - crc = "[2] Potential SOC with a drop in second half of bitperiod"; - break; - case 0x03: - crc = "[3] Segment Z after segment X is not possible"; - break; - case 0x04: - crc = "[4] Parity bit of a fully received byte was wrong"; - break; - default: - crc = "[?] Unknown error"; - break; - } - break; - }*/ + char crc[6] = ""; + if (data_len > 2) { + uint8_t b1, b2; + ComputeCrc14443(CRC_14443_A, frame, data_len-2, &b1, &b2); + if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { + sprintf(crc, (isResponse & (data_len < 6)) ? "" : " !crc"); + } else { + sprintf(crc, ""); } - - if (strlen(crc)==0) { - ComputeCrc14443(CRC_14443_A, frame, len-2, &b1, &b2); - if (b1 != frame[len-2] || b2 != frame[len-1]) { - crc = (isResponse & (len < 6)) ? "" : " !crc"; - } else { - crc = ""; - } - } - } else { - crc = ""; // SHORT } - i += (len + 9); - - EndOfTransmissionTimestamp = (*((uint32_t *)(got+i))) & 0x7fffffff; - - if (!ShowWaitCycles) i += 9; + EndOfTransmissionTimestamp = timestamp + duration; PrintAndLog(" %9d | %9d | %s | %s %s", (timestamp - first_timestamp), (EndOfTransmissionTimestamp - first_timestamp), - (len?(isResponse ? "Tag" : "Rdr"):" "), - line, crc); + (isResponse ? "Tag" : "Rdr"), + line, + crc); + bool next_isResponse = *((uint16_t *)(trace + tracepos + 6)) & 0x8000; + + if (ShowWaitCycles && !isResponse && next_isResponse) { + uint32_t next_timestamp = *((uint32_t *)(trace + tracepos)); + if (next_timestamp != 0x44444444) { + PrintAndLog(" %9d | %9d | %s | fdt (Frame Delay Time): %d", + (EndOfTransmissionTimestamp - first_timestamp), + (next_timestamp - first_timestamp), + " ", + (next_timestamp - EndOfTransmissionTimestamp)); + } + } + } + return 0; } diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index bdb0e7e74..6d0bebd7f 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -1894,7 +1894,6 @@ int CmdHF14AMfSniff(const char *Cmd){ uint8_t atqa[2]; uint8_t sak; bool isTag; - uint32_t parity; uint8_t buf[3000]; uint8_t * bufPtr = buf; memset(buf, 0x00, 3000); @@ -1961,14 +1960,17 @@ int CmdHF14AMfSniff(const char *Cmd){ printf(">\n"); PrintAndLog("received trace len: %d packages: %d", blockLen, pckNum); num = 0; - while (bufPtr - buf + 9 < blockLen) { - isTag = bufPtr[3] & 0x80 ? true:false; - bufPtr += 4; - parity = *((uint32_t *)(bufPtr)); - bufPtr += 4; - len = bufPtr[0]; - bufPtr++; - if ((len == 14) && (bufPtr[0] == 0xff) && (bufPtr[1] == 0xff)) { + while (bufPtr - buf < blockLen) { + bufPtr += 6; // ignore void timing information + len = *((uint16_t *)bufPtr); + if(len & 0x8000) { + isTag = true; + len &= 0x7fff; + } else { + isTag = false; + } + bufPtr += 2; + if ((len == 14) && (bufPtr[0] == 0xff) && (bufPtr[1] == 0xff) && (bufPtr[12] == 0xff) && (bufPtr[13] == 0xff)) { memcpy(uid, bufPtr + 2, 7); memcpy(atqa, bufPtr + 2 + 7, 2); uid_len = (atqa[0] & 0xC0) == 0x40 ? 7 : 4; @@ -1987,9 +1989,10 @@ int CmdHF14AMfSniff(const char *Cmd){ } else { PrintAndLog("%s(%d):%s", isTag ? "TAG":"RDR", num, sprint_hex(bufPtr, len)); if (wantLogToFile) AddLogHex(logHexFileName, isTag ? "TAG: ":"RDR: ", bufPtr, len); - if (wantDecrypt) mfTraceDecode(bufPtr, len, parity, wantSaveToEmlFile); + if (wantDecrypt) mfTraceDecode(bufPtr, len, wantSaveToEmlFile); } bufPtr += len; + bufPtr += ((len-1)/8+1); // ignore parity num++; } } diff --git a/client/mifarehost.c b/client/mifarehost.c index 2a1f8a48e..378fb2e51 100644 --- a/client/mifarehost.c +++ b/client/mifarehost.c @@ -238,7 +238,7 @@ int mfEmlSetMem(uint8_t *data, int blockNum, int blocksCount) { // "MAGIC" CARD -int mfCSetUID(uint8_t *uid, uint8_t *oldUID, int wantWipe) { +int mfCSetUID(uint8_t *uid, uint8_t *oldUID, bool wantWipe) { uint8_t block0[16]; memset(block0, 0, 16); memcpy(block0, uid, 4); @@ -251,7 +251,7 @@ int mfCSetUID(uint8_t *uid, uint8_t *oldUID, int wantWipe) { return mfCSetBlock(0, block0, oldUID, wantWipe, CSETBLOCK_SINGLE_OPER); } -int mfCSetBlock(uint8_t blockNo, uint8_t *data, uint8_t *uid, int wantWipe, uint8_t params) { +int mfCSetBlock(uint8_t blockNo, uint8_t *data, uint8_t *uid, bool wantWipe, uint8_t params) { uint8_t isOK = 0; UsbCommand c = {CMD_MIFARE_EML_CSETBLOCK, {wantWipe, params & (0xFE | (uid == NULL ? 0:1)), blockNo}}; @@ -310,12 +310,9 @@ uint32_t ks3; uint32_t uid; // serial number uint32_t nt; // tag challenge -uint32_t nt_par; uint32_t nr_enc; // encrypted reader challenge uint32_t ar_enc; // encrypted reader response -uint32_t nr_ar_par; uint32_t at_enc; // encrypted tag response -uint32_t at_par; int isTraceCardEmpty(void) { return ((traceCard[0] == 0) && (traceCard[1] == 0) && (traceCard[2] == 0) && (traceCard[3] == 0)); @@ -424,7 +421,7 @@ void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *data, int len, bool i } -int mfTraceDecode(uint8_t *data_src, int len, uint32_t parity, bool wantSaveToEmlFile) { +int mfTraceDecode(uint8_t *data_src, int len, bool wantSaveToEmlFile) { uint8_t data[64]; if (traceState == TRACE_ERROR) return 1; @@ -527,7 +524,6 @@ int mfTraceDecode(uint8_t *data_src, int len, uint32_t parity, bool wantSaveToEm traceState = TRACE_AUTH2; nt = bytes_to_num(data, 4); - nt_par = parity; return 0; } else { traceState = TRACE_ERROR; @@ -541,7 +537,6 @@ int mfTraceDecode(uint8_t *data_src, int len, uint32_t parity, bool wantSaveToEm nr_enc = bytes_to_num(data, 4); ar_enc = bytes_to_num(data + 4, 4); - nr_ar_par = parity; return 0; } else { traceState = TRACE_ERROR; @@ -554,7 +549,6 @@ int mfTraceDecode(uint8_t *data_src, int len, uint32_t parity, bool wantSaveToEm traceState = TRACE_IDLE; at_enc = bytes_to_num(data, 4); - at_par = parity; // decode key here) ks2 = ar_enc ^ prng_successor(nt, 64); diff --git a/client/mifarehost.h b/client/mifarehost.h index 5de082cea..cb99a4073 100644 --- a/client/mifarehost.h +++ b/client/mifarehost.h @@ -56,12 +56,12 @@ int mfCheckKeys (uint8_t blockNo, uint8_t keyType, uint8_t keycnt, uint8_t * key int mfEmlGetMem(uint8_t *data, int blockNum, int blocksCount); int mfEmlSetMem(uint8_t *data, int blockNum, int blocksCount); -int mfCSetUID(uint8_t *uid, uint8_t *oldUID, int wantWipe); -int mfCSetBlock(uint8_t blockNo, uint8_t *data, uint8_t *uid, int wantWipe, uint8_t params); +int mfCSetUID(uint8_t *uid, uint8_t *oldUID, bool wantWipe); +int mfCSetBlock(uint8_t blockNo, uint8_t *data, uint8_t *uid, bool wantWipe, uint8_t params); int mfCGetBlock(uint8_t blockNo, uint8_t *data, uint8_t params); int mfTraceInit(uint8_t *tuid, uint8_t *atqa, uint8_t sak, bool wantSaveToEmlFile); -int mfTraceDecode(uint8_t *data_src, int len, uint32_t parity, bool wantSaveToEmlFile); +int mfTraceDecode(uint8_t *data_src, int len, bool wantSaveToEmlFile); int isTraceCardEmpty(void); int isBlockEmpty(int blockN); From 083ca3de73b2ae8f3842cae24571962a27741601 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 17 Dec 2014 09:51:40 -0500 Subject: [PATCH 016/133] LF HID & IO prox fixes/options --- armsrc/appmain.c | 4 +- armsrc/lfops.c | 123 ++++++++++++++++++++++------------------------ client/cmdlf.c | 4 +- client/cmdlfhid.c | 9 ++-- client/cmdlfio.c | 7 ++- 5 files changed, 75 insertions(+), 72 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 8f676c8e4..0f22ba90f 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -643,7 +643,7 @@ void UsbPacketReceived(uint8_t *packet, int len) cmd_send(CMD_ACK,0,0,0,0,0); break; case CMD_HID_DEMOD_FSK: - CmdHIDdemodFSK(0, 0, 0, 1); // Demodulate HID tag + CmdHIDdemodFSK(c->arg[0], 0, 0, 1); // Demodulate HID tag break; case CMD_HID_SIM_TAG: CmdHIDsimTAG(c->arg[0], c->arg[1], 1); // Simulate HID tag by ID @@ -652,7 +652,7 @@ void UsbPacketReceived(uint8_t *packet, int len) CopyHIDtoT55x7(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes[0]); break; case CMD_IO_DEMOD_FSK: - CmdIOdemodFSK(1, 0, 0, 1); // Demodulate IO tag + CmdIOdemodFSK(c->arg[0], 0, 0, 1); // Demodulate IO tag break; case CMD_IO_CLONE_TAG: // Clone IO tag by ID to T55x7 CopyIOtoT55x7(c->arg[0], c->arg[1], c->d.asBytes[0]); diff --git a/armsrc/lfops.c b/armsrc/lfops.c index a3cef485c..95a9fcf60 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -634,11 +634,10 @@ size_t fsk_demod(uint8_t * dest, size_t size) { uint32_t last_transition = 0; uint32_t idx = 1; - // we don't care about actual value, only if it's more or less than a // threshold essentially we capture zero crossings for later analysis uint8_t threshold_value = 127; - + // sync to first lo-hi transition, and threshold //Need to threshold first sample @@ -670,7 +669,7 @@ size_t fsk_demod(uint8_t * dest, size_t size) } -size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, uint8_t maxConsequtiveBits ) +size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, uint8_t maxConsequtiveBits, uint8_t invert ) { uint8_t lastval=dest[0]; uint32_t idx=0; @@ -684,24 +683,27 @@ size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t h2l_crossing_value,uint continue; } //if lastval was 1, we have a 1->0 crossing - if ( dest[idx-1] ) { + if ( dest[idx-1]==1 ) { n=(n+1) / h2l_crossing_value; } else {// 0->1 crossing n=(n+1) / l2h_crossing_value; } if (n == 0) n = 1; - if(n < maxConsequtiveBits) + if(n < maxConsequtiveBits) //Consecutive { - memset(dest+numBits, dest[idx-1] , n); + if(invert==0){ //invert bits + memset(dest+numBits, dest[idx-1] , n); + }else{ + memset(dest+numBits, dest[idx-1]^1 , n); + } + numBits += n; } n=0; lastval=dest[idx]; }//end for - return numBits; - } // loop to capture raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) @@ -726,9 +728,10 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) size = fsk_demod(dest, size); // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns - // 1->0 : fc/8 in sets of 6 - // 0->1 : fc/10 in sets of 5 - size = aggregate_bits(dest,size, 6,5,5); + // 1->0 : fc/8 in sets of 6 (RF/50 / 8 = 6.25) + // 0->1 : fc/10 in sets of 5 (RF/50 / 10= 5) + // do not invert + size = aggregate_bits(dest,size, 6,5,5,0); WDT_HIT(); @@ -742,7 +745,6 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) { // frame marker found idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < size-2) { // Keep going until next frame marker (or error) @@ -758,24 +760,21 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) numshifts++; idx += 2; } - //Dbprintf("Num shifts: %d ", numshifts); // Hopefully, we read a tag and hit upon the next frame marker if(idx + sizeof(frame_marker_mask) < size) { if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) { - if (hi2 != 0){ //should be large enough for the largest HID tags + if (hi2 != 0){ //extra large HID tags Dbprintf("TAG ID: %x%08x%08x (%d)", (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); } - else { //standard bits - //Dbprintf("TAG ID: %x%08x (%d)", - // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd uint8_t bitlen = 0; uint32_t fc = 0; uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used uint32_t lo2=0; lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit @@ -784,7 +783,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) lo2=lo2>>1; idx3++; } - bitlen =idx3+19; + bitlen =idx3+19; fc =0; cardnum=0; if(bitlen==26){ @@ -803,7 +802,6 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) cardnum = (lo>>1)&0xFFFFF; fc = ((hi&1)<<11)|(lo>>21); } - //Dbprintf("Format Len: %d bit - FC: %d - Card: %d",(unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); } else { //if bit 38 is not set then 37 bit format is used bitlen= 37; @@ -815,16 +813,17 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) } } //Dbprintf("TAG ID: %x%08x (%d)", - // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } } - } - // reset hi2 = hi = lo = 0; numshifts = 0; @@ -851,65 +850,63 @@ uint32_t bytebits_to_byte(uint8_t* src, int numbits) return num; } - void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0, idx=0; uint32_t code=0, code2=0; // Configure to go in 125Khz listen mode LFSetupFPGAForADC(95, true); - + while(!BUTTON_PRESS()) { - - WDT_HIT(); if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); size = sizeof(BigBuf); // FSK demodulator size = fsk_demod(dest, size); - // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns - // 1->0 : fc/8 in sets of 7 - // 0->1 : fc/10 in sets of 6 - size = aggregate_bits(dest, size, 7,6,13); - + // 1->0 : fc/8 in sets of 7 (RF/64 / 8 = 8) + // 0->1 : fc/10 in sets of 6 (RF/64 / 10 = 6.4) + size = aggregate_bits(dest, size, 7,6,13,1); //13 max Consecutive should be ok as most 0s in row should be 10 for init seq - invert bits WDT_HIT(); - + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo //Handle the data uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < size - 64; idx++) { - - if ( memcmp(dest + idx, mask, sizeof(mask)) ) continue; - Dbprintf("%b",bytebits_to_byte(dest+idx,32)); - Dbprintf("%d%d%d%d%d%d%d%d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7]); - Dbprintf("%d%d%d%d%d%d%d%d",dest[idx+8], dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15]); - Dbprintf("%d%d%d%d%d%d%d%d",dest[idx+16],dest[idx+17],dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23]); - Dbprintf("%d%d%d%d%d%d%d%d",dest[idx+24],dest[idx+25],dest[idx+26],dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31]); - Dbprintf("%d%d%d%d%d%d%d%d",dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35],dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39]); - Dbprintf("%d%d%d%d%d%d%d%d",dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44],dest[idx+45],dest[idx+46],dest[idx+47]); - Dbprintf("%d%d%d%d%d%d%d%d",dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53],dest[idx+54],dest[idx+55]); - Dbprintf("%d%d%d%d%d%d%d%d",dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); - - code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); - - short version = bytebits_to_byte(dest+idx+28,8); //14,4 - char facilitycode = bytebits_to_byte(dest+idx+19,8) ; - uint16_t number = (bytebits_to_byte(dest+idx+37,8)<<8)|(bytebits_to_byte(dest+idx+46,8)); //36,9 - - Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); - if (ledcontrol) LED_D_OFF(); - - // if we're only looking for one tag - if (findone){ - LED_A_OFF(); - return; + for( idx=0; idx < (size - 64); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + //frame marker found + if(findone){ //only print binary if we are doing one + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); + Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); + } + code = bytebits_to_byte(dest+idx,32); + code2 = bytebits_to_byte(dest+idx+32,32); + short version = bytebits_to_byte(dest+idx+28,8); //14,4 + char facilitycode = bytebits_to_byte(dest+idx+19,8) ; + uint16_t number = (bytebits_to_byte(dest+idx+37,8)<<8)|(bytebits_to_byte(dest+idx+46,8)); //36,9 + + Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); + // if we're only looking for one tag + if (findone){ + if (ledcontrol) LED_A_OFF(); + //LED_A_OFF(); + return; + } } } WDT_HIT(); diff --git a/client/cmdlf.c b/client/cmdlf.c index cf920b1ef..404708b6c 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -555,9 +555,9 @@ static command_t CommandTable[] = {"em4x", CmdLFEM4X, 1, "{ EM4X RFIDs... }"}, {"flexdemod", CmdFlexdemod, 1, "Demodulate samples for FlexPass"}, {"hid", CmdLFHID, 1, "{ HID RFIDs... }"}, - {"io", CmdLFIO, 1, "{ ioProx tags... }"}, + {"io", CmdLFIO, 1, "{ ioProx tags... }"}, {"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, - {"indalaclone", CmdIndalaClone, 1, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, + {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, {"read", CmdLFRead, 0, "['h' or ] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"}, {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, diff --git a/client/cmdlfhid.c b/client/cmdlfhid.c index dd413d2e2..5d841ae12 100644 --- a/client/cmdlfhid.c +++ b/client/cmdlfhid.c @@ -40,7 +40,10 @@ int CmdHIDDemod(const char *Cmd) int CmdHIDDemodFSK(const char *Cmd) { + int findone=0; UsbCommand c={CMD_HID_DEMOD_FSK}; + if(Cmd[0]=='1') findone=1; + c.arg[0]=findone; SendCommand(&c); return 0; } @@ -104,9 +107,9 @@ static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, {"demod", CmdHIDDemod, 1, "Demodulate HID Prox Card II (not optimal)"}, - {"fskdemod", CmdHIDDemodFSK, 1, "Realtime HID FSK demodulator"}, - {"sim", CmdHIDSim, 1, " -- HID tag simulator"}, - {"clone", CmdHIDClone, 1, " ['l'] -- Clone HID to T55x7 (tag must be in antenna)(option 'l' for 84bit ID)"}, + {"fskdemod", CmdHIDDemodFSK, 0, "['1'] Realtime HID FSK demodulator (option '1' for one tag only)"}, + {"sim", CmdHIDSim, 0, " -- HID tag simulator"}, + {"clone", CmdHIDClone, 0, " ['l'] -- Clone HID to T55x7 (tag must be in antenna)(option 'l' for 84bit ID)"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmdlfio.c b/client/cmdlfio.c index a3d79b2ba..7482ad976 100644 --- a/client/cmdlfio.c +++ b/client/cmdlfio.c @@ -17,7 +17,10 @@ static int CmdHelp(const char *Cmd); int CmdIODemodFSK(const char *Cmd) { + int findone=0; + if(Cmd[0]=='1') findone=1; UsbCommand c={CMD_IO_DEMOD_FSK}; + c.arg[0]=findone; SendCommand(&c); return 0; } @@ -71,8 +74,8 @@ static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, {"demod", CmdIOProxDemod, 1, "Demodulate Stream"}, - {"fskdemod", CmdIODemodFSK, 1, "Demodulate ioProx Tag"}, - {"clone", CmdIOClone, 1, "Clone ioProx Tag"}, + {"fskdemod", CmdIODemodFSK, 0, "['1'] Realtime IO FSK demodulator (option '1' for one tag only)"}, + {"clone", CmdIOClone, 0, "Clone ioProx Tag"}, {NULL, NULL, 0, NULL} }; From 2bdd68c370f880e34d52218d3580b0856ec81ad0 Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Wed, 17 Dec 2014 17:38:13 +0100 Subject: [PATCH 017/133] unify/refactor hw tune and data tune - unified hw tune and Enio's great data tune - don't use BigBuf (and hardcoded Offset) - removed special handling of CMD_MEASURED_ANTENNA_TUNING in UsbCommandReceived() --- armsrc/appmain.c | 35 +++++++++++----------------- client/cmddata.c | 60 +++++++++++++++++++++++++++++++++++++----------- client/cmdhw.c | 5 ++-- client/cmdmain.c | 44 +++++++++++++++++------------------ 4 files changed, 83 insertions(+), 61 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 05e688682..143b175e5 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -196,15 +196,11 @@ int AvgAdc(int ch) // was static - merlok void MeasureAntennaTuning(void) { - uint8_t *dest = (uint8_t *)BigBuf+FREE_BUFFER_OFFSET; + uint8_t LF_Results[256]; int i, adcval = 0, peak = 0, peakv = 0, peakf = 0; //ptr = 0 int vLf125 = 0, vLf134 = 0, vHf = 0; // in mV -// UsbCommand c; - - LED_B_ON(); - DbpString("Measuring antenna characteristics, please wait..."); - memset(dest,0,FREE_BUFFER_SIZE); + LED_B_ON(); /* * Sweeps the useful LF range of the proxmark from @@ -217,7 +213,7 @@ void MeasureAntennaTuning(void) FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - for (i=255; i>19; i--) { + for (i=255; i>=19; i--) { WDT_HIT(); FpgaSendCommand(FPGA_CMD_SET_DIVISOR, i); SpinDelay(20); @@ -227,16 +223,18 @@ void MeasureAntennaTuning(void) if (i==95) vLf125 = adcval; // voltage at 125Khz if (i==89) vLf134 = adcval; // voltage at 134Khz - dest[i] = adcval>>8; // scale int to fit in byte for graphing purposes - if(dest[i] > peak) { + LF_Results[i] = adcval>>8; // scale int to fit in byte for graphing purposes + if(LF_Results[i] > peak) { peakv = adcval; - peak = dest[i]; + peak = LF_Results[i]; peakf = i; //ptr = i; } } - LED_A_ON(); + for (i=18; i >= 0; i--) LF_Results[i] = 0; + + LED_A_ON(); // Let the FPGA drive the high-frequency antenna around 13.56 MHz. FpgaDownloadAndGo(FPGA_BITSTREAM_HF); FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); @@ -245,18 +243,11 @@ void MeasureAntennaTuning(void) // can measure voltages up to 33000 mV vHf = (33000 * AvgAdc(ADC_CHAN_HF)) >> 10; -// c.cmd = CMD_MEASURED_ANTENNA_TUNING; -// c.arg[0] = (vLf125 << 0) | (vLf134 << 16); -// c.arg[1] = vHf; -// c.arg[2] = peakf | (peakv << 16); - - DbpString("Measuring complete, sending report back to host"); - cmd_send(CMD_MEASURED_ANTENNA_TUNING,vLf125|(vLf134<<16),vHf,peakf|(peakv<<16),0,0); -// UsbSendPacket((uint8_t *)&c, sizeof(c)); + cmd_send(CMD_MEASURED_ANTENNA_TUNING,vLf125|(vLf134<<16),vHf,peakf|(peakv<<16),LF_Results,256); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_A_OFF(); - LED_B_OFF(); - return; + LED_A_OFF(); + LED_B_OFF(); + return; } void MeasureAntennaTuningHf(void) diff --git a/client/cmddata.c b/client/cmddata.c index b34ed8e01..2307c8af7 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -481,24 +481,56 @@ int CmdSamples(const char *Cmd) int CmdTuneSamples(const char *Cmd) { - int cnt = 0; - int n = 255; - uint8_t got[255]; + int timeout = 0; + printf("\nMeasuring antenna characteristics, please wait..."); - PrintAndLog("Reading %d samples\n", n); - GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 - WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; - } + UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING}; + SendCommand(&c); + + UsbCommand resp; + while(!WaitForResponseTimeout(CMD_MEASURED_ANTENNA_TUNING,&resp,1000)) { + timeout++; + printf("."); + if (timeout > 7) { + PrintAndLog("\nNo response from Proxmark. Aborting..."); + return 1; + } + } + + int peakv, peakf; + int vLf125, vLf134, vHf; + vLf125 = resp.arg[0] & 0xffff; + vLf134 = resp.arg[0] >> 16; + vHf = resp.arg[1] & 0xffff;; + peakf = resp.arg[2] & 0xffff; + peakv = resp.arg[2] >> 16; + PrintAndLog(""); + PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0); + PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0); + PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); + PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0); + if (peakv<2000) + PrintAndLog("# Your LF antenna is unusable."); + else if (peakv<10000) + PrintAndLog("# Your LF antenna is marginal."); + if (vHf<2000) + PrintAndLog("# Your HF antenna is unusable."); + else if (vHf<5000) + PrintAndLog("# Your HF antenna is marginal."); + + for (int i = 0; i < 256; i++) { + GraphBuffer[i] = resp.d.asBytes[i] - 128; + } - PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); - PrintAndLog("\n"); - GraphTraceLen = n; - RepaintGraphWindow(); - return 0; + PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); + PrintAndLog("\n"); + GraphTraceLen = 256; + ShowGraphWindow(); + + return 0; } + int CmdLoad(const char *Cmd) { FILE *f = fopen(Cmd, "r"); diff --git a/client/cmdhw.c b/client/cmdhw.c index 4f0f3e38a..443973b83 100644 --- a/client/cmdhw.c +++ b/client/cmdhw.c @@ -18,6 +18,7 @@ #include "cmdparser.h" #include "cmdhw.h" #include "cmdmain.h" +#include "cmddata.h" /* low-level hardware control */ @@ -391,9 +392,7 @@ int CmdSetMux(const char *Cmd) int CmdTune(const char *Cmd) { - UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING}; - SendCommand(&c); - return 0; + return CmdTuneSamples(Cmd); } int CmdVersion(const char *Cmd) diff --git a/client/cmdmain.c b/client/cmdmain.c index 77f1c373e..b27234905 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -206,28 +206,28 @@ void UsbCommandReceived(UsbCommand *UC) return; } break; - case CMD_MEASURED_ANTENNA_TUNING: { - int peakv, peakf; - int vLf125, vLf134, vHf; - vLf125 = UC->arg[0] & 0xffff; - vLf134 = UC->arg[0] >> 16; - vHf = UC->arg[1] & 0xffff;; - peakf = UC->arg[2] & 0xffff; - peakv = UC->arg[2] >> 16; - PrintAndLog(""); - PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0); - PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0); - PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); - PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0); - if (peakv<2000) - PrintAndLog("# Your LF antenna is unusable."); - else if (peakv<10000) - PrintAndLog("# Your LF antenna is marginal."); - if (vHf<2000) - PrintAndLog("# Your HF antenna is unusable."); - else if (vHf<5000) - PrintAndLog("# Your HF antenna is marginal."); - } break; + // case CMD_MEASURED_ANTENNA_TUNING: { + // int peakv, peakf; + // int vLf125, vLf134, vHf; + // vLf125 = UC->arg[0] & 0xffff; + // vLf134 = UC->arg[0] >> 16; + // vHf = UC->arg[1] & 0xffff;; + // peakf = UC->arg[2] & 0xffff; + // peakv = UC->arg[2] >> 16; + // PrintAndLog(""); + // PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0); + // PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0); + // PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); + // PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0); + // if (peakv<2000) + // PrintAndLog("# Your LF antenna is unusable."); + // else if (peakv<10000) + // PrintAndLog("# Your LF antenna is marginal."); + // if (vHf<2000) + // PrintAndLog("# Your HF antenna is unusable."); + // else if (vHf<5000) + // PrintAndLog("# Your HF antenna is marginal."); + // } break; case CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K: { // printf("received samples: "); From 0eea34a2a3f01e2fc6c07fc347d71847c3b880be Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 18 Dec 2014 14:41:17 +0100 Subject: [PATCH 018/133] Fixed error in hash1 (from loclass), now it possibly calculates the KSel correctly for actually dumping data --- client/cmdhficlass.c | 30 ++++++++++++++++++++++-------- client/loclass/elite_crack.c | 6 +++--- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index d3d6e930d..5cfcc46b0 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -513,17 +513,27 @@ int CmdHFiClassReader_Dump(const char *Cmd) } - - UsbCommand c = {CMD_READER_ICLASS, {0}}; - c.arg[0] = FLAG_ICLASS_READER_ONLY_ONCE; - - SendCommand(&c); - UsbCommand resp; uint8_t key_sel[8] = {0}; uint8_t key_sel_p[8] = { 0 }; - if (WaitForResponseTimeout(CMD_ACK,&resp,4500)) { + //HACK -- Below is for testing without access to a tag + uint8_t xdata[16] = {0x01,0x02,0x03,0x04,0xF7,0xFF,0x12,0xE0, //CSN from http://www.proxmark.org/forum/viewtopic.php?pid=11230#p11230 + 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; // Just a random CC. Would be good to add a real testcase here + memcpy(resp.d.asBytes,xdata, 16); + resp.arg[0] = 2; + uint8_t fake_dummy_test = false; + //End hack + + + UsbCommand c = {CMD_READER_ICLASS, {0}}; + c.arg[0] = FLAG_ICLASS_READER_ONLY_ONCE; + if(!fake_dummy_test) + SendCommand(&c); + + + + if (fake_dummy_test || WaitForResponseTimeout(CMD_ACK,&resp,4500)) { uint8_t isOK = resp.arg[0] & 0xff; uint8_t * data = resp.d.asBytes; @@ -547,6 +557,7 @@ int CmdHFiClassReader_Dump(const char *Cmd) printvar("hash1", key_index,8); for(i = 0; i < 8 ; i++) key_sel[i] = keytable[key_index[i]] & 0xFF; + PrintAndLog("Pre-fortified 'permuted' HS key that would be needed by an iclass reader to talk to above CSN:"); printvar("k_sel", key_sel,8); //Permute from iclass format to standard format permutekey_rev(key_sel,key_sel_p); @@ -563,8 +574,11 @@ int CmdHFiClassReader_Dump(const char *Cmd) used_key = KEY; } + + PrintAndLog("Pre-fortified key that would be needed by the OmniKey reader to talk to above CSN:"); printvar("Used key",used_key,8); diversifyKey(CSN,used_key, div_key); + PrintAndLog("Hash0, a.k.a diversified key, that is computed using Ksel and stored in the card (Block 3):"); printvar("Div key", div_key, 8); printvar("CC_NR:",CCNR,12); doMAC(CCNR,12,div_key, MAC); @@ -572,7 +586,7 @@ int CmdHFiClassReader_Dump(const char *Cmd) UsbCommand d = {CMD_READER_ICLASS_REPLAY, {readerType}}; memcpy(d.d.asBytes, MAC, 4); - SendCommand(&d); + if(!fake_dummy_test) SendCommand(&d); }else{ PrintAndLog("Failed to obtain CC! Aborting"); diff --git a/client/loclass/elite_crack.c b/client/loclass/elite_crack.c index 1a464b6cd..7dc60396f 100644 --- a/client/loclass/elite_crack.c +++ b/client/loclass/elite_crack.c @@ -113,9 +113,9 @@ void hash1(uint8_t csn[] , uint8_t k[]) k[0] = csn[0]^csn[1]^csn[2]^csn[3]^csn[4]^csn[5]^csn[6]^csn[7]; k[1] = csn[0]+csn[1]+csn[2]+csn[3]+csn[4]+csn[5]+csn[6]+csn[7]; k[2] = rr(swap( csn[2]+k[1] )); - k[3] = rr(swap( csn[3]+k[0] )); - k[4] = ~rr(swap( csn[4]+k[2] ))+1; - k[5] = ~rr(swap( csn[5]+k[3] ))+1; + k[3] = rl(swap( csn[3]+k[0] )); + k[4] = ~rr( csn[4]+k[2] )+1; + k[5] = ~rl( csn[5]+k[3] )+1; k[6] = rr( csn[6]+(k[4]^0x3c) ); k[7] = rl( csn[7]+(k[5]^0xc3) ); int i; From 8e9768399ccf8e22f73ac33e0456aeaa78fe626c Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 18 Dec 2014 14:46:38 +0100 Subject: [PATCH 019/133] minor change --- client/cmdhficlass.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index 5cfcc46b0..c20459522 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -518,11 +518,15 @@ int CmdHFiClassReader_Dump(const char *Cmd) uint8_t key_sel_p[8] = { 0 }; //HACK -- Below is for testing without access to a tag - uint8_t xdata[16] = {0x01,0x02,0x03,0x04,0xF7,0xFF,0x12,0xE0, //CSN from http://www.proxmark.org/forum/viewtopic.php?pid=11230#p11230 - 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; // Just a random CC. Would be good to add a real testcase here - memcpy(resp.d.asBytes,xdata, 16); - resp.arg[0] = 2; uint8_t fake_dummy_test = false; + if(fake_dummy_test) + { + uint8_t xdata[16] = {0x01,0x02,0x03,0x04,0xF7,0xFF,0x12,0xE0, //CSN from http://www.proxmark.org/forum/viewtopic.php?pid=11230#p11230 + 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; // Just a random CC. Would be good to add a real testcase here + memcpy(resp.d.asBytes,xdata, 16); + resp.arg[0] = 2; + } + //End hack From f10bf20c6cd0cdf6074acae03493955224ed17cf Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Thu, 18 Dec 2014 19:39:16 +0100 Subject: [PATCH 020/133] Format hf 14a list output for bigger frame sizes --- client/cmdhf14a.c | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 5d1c48535..e8dc8abca 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -56,8 +56,8 @@ int CmdHF14AList(const char *Cmd) PrintAndLog("Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer"); PrintAndLog("All times are in carrier periods (1/13.56Mhz)"); PrintAndLog(""); - PrintAndLog(" Start | End | Src | Data"); - PrintAndLog("-----------|-----------|-----|--------"); + PrintAndLog(" Start | End | Src | Data (! denotes parity error) | CRC "); + PrintAndLog("-----------|-----------|-----|-----------------------------------------------------------------------"); uint16_t tracepos = 0; uint16_t duration; @@ -105,30 +105,30 @@ int CmdHF14AList(const char *Cmd) // Break and stick with current result if buffer was not completely full if (timestamp == 0x44444444) break; - char line[1000] = ""; - int j; - for (j = 0; j < data_len; j++) { + char line[16][110]; + for (int j = 0; j < data_len; j++) { int oddparity = 0x01; int k; - + for (k=0;k<8;k++) { oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); } uint8_t parityBits = parityBytes[j>>3]; if (isResponse && (oddparity != ((parityBits >> (7-(j&0x0007))) & 0x01))) { - sprintf(line+(j*4), "%02x! ", frame[j]); + sprintf(line[j/16]+((j%16)*4), "%02x! ", frame[j]); } else { - sprintf(line+(j*4), "%02x ", frame[j]); + sprintf(line[j/16]+((j%16)*4), "%02x ", frame[j]); } + } - char crc[6] = ""; + char crc[5] = ""; if (data_len > 2) { uint8_t b1, b2; ComputeCrc14443(CRC_14443_A, frame, data_len-2, &b1, &b2); if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { - sprintf(crc, (isResponse & (data_len < 6)) ? "" : " !crc"); + sprintf(crc, (isResponse & (data_len < 6)) ? "" : "!crc"); } else { sprintf(crc, ""); } @@ -136,12 +136,21 @@ int CmdHF14AList(const char *Cmd) EndOfTransmissionTimestamp = timestamp + duration; - PrintAndLog(" %9d | %9d | %s | %s %s", - (timestamp - first_timestamp), - (EndOfTransmissionTimestamp - first_timestamp), - (isResponse ? "Tag" : "Rdr"), - line, - crc); + int num_lines = (data_len - 1)/16 + 1; + for (int j = 0; j < num_lines; j++) { + if (j == 0) { + PrintAndLog(" %9d | %9d | %s | %-64s| %s", + (timestamp - first_timestamp), + (EndOfTransmissionTimestamp - first_timestamp), + (isResponse ? "Tag" : "Rdr"), + line[j], + (j == num_lines-1)?crc:""); + } else { + PrintAndLog(" | | | %-64s| %s", + line[j], + (j == num_lines-1)?crc:""); + } + } bool next_isResponse = *((uint16_t *)(trace + tracepos + 6)) & 0x8000; From 57642f63fa9440e6e5e19841c5dd98dee9f5eaa5 Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Thu, 18 Dec 2014 19:40:35 +0100 Subject: [PATCH 021/133] bugfixes hf epa cnonces - extended length (more than 1 byte) not handled correctly - nonces not printed on Windows due to type mismatch --- armsrc/epa.c | 4 ++-- client/cmdhfepa.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/armsrc/epa.c b/armsrc/epa.c index 497bd9de6..fb19656d1 100644 --- a/armsrc/epa.c +++ b/armsrc/epa.c @@ -108,9 +108,9 @@ size_t EPA_Parse_CardAccess(uint8_t *data, if (data[index] == 0x31 || data[index] == 0x30) { // enter the set (skip tag + length) index += 2; - // extended length + // check for extended length if ((data[index - 1] & 0x80) != 0) { - index += (data[index] & 0x7F); + index += (data[index-1] & 0x7F); } } // OID diff --git a/client/cmdhfepa.c b/client/cmdhfepa.c index 8a36d6aef..8f6a6af2d 100644 --- a/client/cmdhfepa.c +++ b/client/cmdhfepa.c @@ -54,10 +54,10 @@ int CmdHFEPACollectPACENonces(const char *Cmd) size_t nonce_length = resp.arg[1]; char *nonce = (char *) malloc(2 * nonce_length + 1); for(int j = 0; j < nonce_length; j++) { - snprintf(nonce + (2 * j), 3, "%02X", resp.d.asBytes[j]); + sprintf(nonce + (2 * j), "%02X", resp.d.asBytes[j]); } // print nonce - PrintAndLog("Length: %d, Nonce: %s",resp.arg[1], nonce); + PrintAndLog("Length: %d, Nonce: %s", nonce_length, nonce); } if (i < n - 1) { sleep(d); From b3b706693bedcdece33c4b189a993cbe54bd3612 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Fri, 19 Dec 2014 12:14:27 -0500 Subject: [PATCH 022/133] Final touches on IO prox and HID prox demod makes both more robust and handles various error situations. --- armsrc/lfops.c | 164 ++++++++++------ client/cmddata.c | 501 +++++++++++++++++++++++++++++++++++++++++++---- client/cmddata.h | 2 + 3 files changed, 568 insertions(+), 99 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 95a9fcf60..94d9d1fb8 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -630,17 +630,32 @@ void CmdHIDsimTAG(int hi, int lo, int ledcontrol) LED_A_OFF(); } +//translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_demod(uint8_t * dest, size_t size) { uint32_t last_transition = 0; uint32_t idx = 1; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - uint8_t threshold_value = 127; + uint32_t maxVal=0; + // // we don't care about actual value, only if it's more or less than a + // // threshold essentially we capture zero crossings for later analysis + + // we do care about the actual value as sometimes near the center of the + // wave we may get static that changes direction of wave for one value + // if our value is too low it might affect the read. and if our tag or + // antenna is weak a setting too high might not see anything. [marshmellow] + if (size<100) return size; + for(idx=1; idx<100; idx++){ + if(maxVal1 transition if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - - if (idx-last_transition < 9) { - dest[numBits]=1; + if (idx-last_transition<6){ + //do nothing with extra garbage + } else if (idx-last_transition < 9) { + dest[numBits]=1; } else { - dest[numBits]=0; + dest[numBits]=0; } last_transition = idx; numBits++; @@ -668,8 +684,14 @@ size_t fsk_demod(uint8_t * dest, size_t size) return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 } +uint32_t myround(float f) +{ + if (f >= 2000) return 2000;//something bad happened + return (uint32_t) (f + (float)0.5); +} -size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, uint8_t maxConsequtiveBits, uint8_t invert ) +//translate 11111100000 to 10 +size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, { uint8_t lastval=dest[0]; uint32_t idx=0; @@ -684,9 +706,11 @@ size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t h2l_crossing_value,uint } //if lastval was 1, we have a 1->0 crossing if ( dest[idx-1]==1 ) { - n=(n+1) / h2l_crossing_value; + n=myround((float)(n+1)/((float)(rfLen)/(float)8)); + //n=(n+1) / h2l_crossing_value; } else {// 0->1 crossing - n=(n+1) / l2h_crossing_value; + n=myround((float)(n+1)/((float)(rfLen-2)/(float)10)); + //n=(n+1) / l2h_crossing_value; } if (n == 0) n = 1; @@ -696,8 +720,7 @@ size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t h2l_crossing_value,uint memset(dest+numBits, dest[idx-1] , n); }else{ memset(dest+numBits, dest[idx-1]^1 , n); - } - + } numBits += n; } n=0; @@ -705,7 +728,7 @@ size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t h2l_crossing_value,uint }//end for return numBits; } -// loop to capture raw HID waveform then FSK demodulate the TAG ID from it +// loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; @@ -723,7 +746,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); size = sizeof(BigBuf); - + if (size < 2000) continue; // FSK demodulator size = fsk_demod(dest, size); @@ -731,7 +754,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) // 1->0 : fc/8 in sets of 6 (RF/50 / 8 = 6.25) // 0->1 : fc/10 in sets of 5 (RF/50 / 10= 5) // do not invert - size = aggregate_bits(dest,size, 6,5,5,0); + size = aggregate_bits(dest,size, 50,5,0); //6,5,5,0 WDT_HIT(); @@ -740,8 +763,11 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; int numshifts = 0; idx = 0; + //one scan + uint8_t sameCardCount =0; while( idx + sizeof(frame_marker_mask) < size) { // search for a start of frame marker + if (sameCardCount>2) break; //only up to 2 valid sets of data for the same read of looping card data if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) { // frame marker found idx+=sizeof(frame_marker_mask); @@ -818,6 +844,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); } + sameCardCount++; if (findone){ if (ledcontrol) LED_A_OFF(); return; @@ -864,51 +891,68 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) if (ledcontrol) LED_A_ON(); DoAcquisition125k_internal(-1,true); size = sizeof(BigBuf); - - // FSK demodulator - size = fsk_demod(dest, size); - // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns - // 1->0 : fc/8 in sets of 7 (RF/64 / 8 = 8) - // 0->1 : fc/10 in sets of 6 (RF/64 / 10 = 6.4) - size = aggregate_bits(dest, size, 7,6,13,1); //13 max Consecutive should be ok as most 0s in row should be 10 for init seq - invert bits - WDT_HIT(); - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 64); idx++) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - //frame marker found - if(findone){ //only print binary if we are doing one - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); - Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); - } - code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); - short version = bytebits_to_byte(dest+idx+28,8); //14,4 - char facilitycode = bytebits_to_byte(dest+idx+19,8) ; - uint16_t number = (bytebits_to_byte(dest+idx+37,8)<<8)|(bytebits_to_byte(dest+idx+46,8)); //36,9 - - Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); - // if we're only looking for one tag - if (findone){ - if (ledcontrol) LED_A_OFF(); - //LED_A_OFF(); - return; - } - } + //make sure buffer has data + if (size < 64) return; + //test samples are not just noise + uint8_t testMax=0; + for(idx=0;idx<64;idx++){ + if (testMax170){ + //Dbprintf("testMax: %d",testMax); + // FSK demodulator + size = fsk_demod(dest, size); + // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns + // 1->0 : fc/8 in sets of 7 (RF/64 / 8 = 8) + // 0->1 : fc/10 in sets of 6 (RF/64 / 10 = 6.4) + size = aggregate_bits(dest, size, 64, 13, 1); //13 max Consecutive should be ok as most 0s in row should be 10 for init seq - invert bits + WDT_HIT(); + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + uint8_t sameCardCount=0; + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 74); idx++) { + if (sameCardCount>2) break; + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + //frame marker found + if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ + //confirmed proper separator bits found + if(findone){ //only print binary if we are doing one + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); + Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); + } + code = bytebits_to_byte(dest+idx,32); + code2 = bytebits_to_byte(dest+idx+32,32); + short version = bytebits_to_byte(dest+idx+27,8); //14,4 + uint8_t facilitycode = bytebits_to_byte(dest+idx+19,8) ; + uint16_t number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 + + Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); + // if we're only looking for one tag + if (findone){ + if (ledcontrol) LED_A_OFF(); + //LED_A_OFF(); + return; + } + sameCardCount++; + } + } + } + } WDT_HIT(); } DbpString("Stopped"); diff --git a/client/cmddata.c b/client/cmddata.c index b34ed8e01..93aaf9534 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -69,6 +69,9 @@ int CmdAmp(const char *Cmd) * Arguments: * c : 0 or 1 */ + //this method is dependant on all highs and lows to be the same(or clipped) this could be an issue[marshmellow] + //might be able to use clock to help identify highs and lows with some more tolerance + //but for now I will try a fuzz factor int Cmdaskdemod(const char *Cmd) { int i; @@ -79,7 +82,7 @@ int Cmdaskdemod(const char *Cmd) sscanf(Cmd, "%i", &c); /* Detect high and lows and clock */ - // (AL - clock???) + // (AL - clock???) for (i = 0; i < GraphTraceLen; ++i) { if (GraphBuffer[i] > high) @@ -91,12 +94,15 @@ int Cmdaskdemod(const char *Cmd) PrintAndLog("Invalid argument: %s", Cmd); return 0; } - + //prime loop if (GraphBuffer[0] > 0) { GraphBuffer[0] = 1-c; } else { GraphBuffer[0] = c; } + //20% fuzz [marshmellow] + high=(int)(.8*high); + low=(int)(.8*low); for (i = 1; i < GraphTraceLen; ++i) { /* Transitions are detected at each peak * Transitions are either: @@ -106,9 +112,10 @@ int Cmdaskdemod(const char *Cmd) * low for long periods, others just reach the peak and go * down) */ - if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) { + //[marhsmellow] changed == to >= for high and <= for low + if ((GraphBuffer[i] >= high) && (GraphBuffer[i - 1] == c)) { GraphBuffer[i] = 1 - c; - } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){ + } else if ((GraphBuffer[i] <= low) && (GraphBuffer[i - 1] == (1 - c))){ GraphBuffer[i] = c; } else { /* No transition */ @@ -264,7 +271,421 @@ int CmdDetectClockRate(const char *Cmd) return 0; } +//demod GraphBuffer wave to 0s and 1s for each wave - 0s for short waves 1s for long waves +size_t fsk_wave_demod(int size) +{ + uint32_t last_transition = 0; + uint32_t idx = 1; + uint32_t maxVal = 0; + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + for(idx=1; idx1 transition + if (GraphBuffer[idx-1] < GraphBuffer[idx]) { // 0 -> 1 transition + if (idx-last_transition<6){ + // do nothing with extra garbage (shouldn't be any) noise tolerance? + } else if(idx-last_transition < 9) { + GraphBuffer[numBits]=1; + // Other fsk demods reverse this making the short waves 1 and long waves 0 + // this is really backwards... smaller waves will typically be 0 and larger 1 [marshmellow] + // but will leave as is and invert when needed later + } else{ + GraphBuffer[numBits]=0; + } + last_transition = idx; + numBits++; + // PrintAndLog("numbits %d",numBits); + } + } + return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 +} +uint32_t myround(float f) +{ + if (f >= UINT_MAX) return UINT_MAX; + return (uint32_t) (f + (float)0.5); +} +//translate 11111100000 to 10 +size_t aggregate_bits(int size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert) //,uint8_t l2h_crossing_value +{ + int lastval=GraphBuffer[0]; + uint32_t idx=0; + size_t numBits=0; + uint32_t n=1; + uint32_t n2=0; + for( idx=1; idx < size; idx++) { + + if (GraphBuffer[idx]==lastval) { + n++; + continue; + } + // if lastval was 1, we have a 1->0 crossing + if ( GraphBuffer[idx-1]==1 ) { + n=myround((float)(n+1)/((float)(rfLen)/(float)8)); //-2 noise tolerance + + // n=(n+1) / h2l_crossing_value; + //truncating could get us into trouble + //now we will try with actual clock (RF/64 or RF/50) variable instead + //then devide with float casting then truncate after more acurate division + //and round to nearest int + //like n = (((float)n)/(float)rfLen/(float)10); + } else {// 0->1 crossing + n=myround((float)(n+1)/((float)(rfLen-2)/(float)10)); // as int 120/6 = 20 as float 120/(64/10) = 18 (18.75) + //n=(n+1) / l2h_crossing_value; + } + if (n == 0) n = 1; //this should never happen... should we error if it does? + + if (n < maxConsequtiveBits) // Consecutive //when the consecutive bits are low - the noise tolerance can be high + //if it is high then we must be careful how much noise tolerance we allow + { + if (invert==0){ // do not invert bits + for (n2=0; n20 && strlen(Cmd)<=2) { + rfLen=param_get8(Cmd, 0); //if rfLen option only is used + if (rfLen==1){ + invert=1; //if invert option only is used + rfLen = 50; + } else if(rfLen==0) rfLen=50; + } + if (strlen(Cmd)>2) { + rfLen=param_get8(Cmd, 0); //if both options are used + invert=param_get8(Cmd,1); + } + PrintAndLog("Args invert: %d \nClock:%d",invert,rfLen); + + size_t size = fskdemod(rfLen,invert); + + PrintAndLog("FSK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + if(size > (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size + + for (int i = 2; i < (size-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + GraphBuffer[i], + GraphBuffer[i+1], + GraphBuffer[i+2], + GraphBuffer[i+3], + GraphBuffer[i+4], + GraphBuffer[i+5], + GraphBuffer[i+6], + GraphBuffer[i+7], + GraphBuffer[i+8], + GraphBuffer[i+9], + GraphBuffer[i+10], + GraphBuffer[i+11], + GraphBuffer[i+12], + GraphBuffer[i+13], + GraphBuffer[i+14], + GraphBuffer[i+15]); + } + ClearGraph(1); + return 0; +} + +int CmdFSKdemodHID(const char *Cmd) +{ + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + //set defaults + uint8_t rfLen = 50; + uint8_t invert=0;//param_get8(Cmd, 0); + size_t idx=0; + uint32_t hi2=0, hi=0, lo=0; + + //get binary from fsk wave + size_t size = fskdemod(rfLen,invert); + + // final loop, go over previously decoded fsk data and now manchester decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + int frame_marker_mask[] = {1,1,1,0,0,0}; + int numshifts = 0; + idx = 0; + while( idx + 6 < size) { + // search for a start of frame marker + + if ( memcmp(GraphBuffer+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=6;//sizeof(frame_marker_mask); //size of int is >6 + while(GraphBuffer[idx] != GraphBuffer[idx+1] && idx < size-2) + { + // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers + hi2 = (hi2<<1)|(hi>>31); + hi = (hi<<1)|(lo>>31); + //Then, shift in a 0 or one into low + if (GraphBuffer[idx] && !GraphBuffer[idx+1]) // 1 0 + lo=(lo<<1)|0; + else // 0 1 + lo=(lo<<1)|1; + numshifts++; + idx += 2; + } + + //PrintAndLog("Num shifts: %d ", numshifts); + // Hopefully, we read a tag and hit upon the next frame marker + if(idx + 6 < size) + { + if ( memcmp(GraphBuffer+(idx), frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + if (hi2 != 0){ //extra large HID tags + PrintAndLog("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + } + else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 15) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; + } + bitlen =idx3+19; + fc =0; + cardnum=0; + if(bitlen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + + PrintAndLog("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + ClearGraph(1); + return 0; + } + } + } + // reset + hi2 = hi = lo = 0; + numshifts = 0; + }else + { + idx++; + } + } + if (idx + sizeof(frame_marker_mask) >= size){ + PrintAndLog("start bits for hid not found"); + PrintAndLog("FSK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + if(size > (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size + + for (int i = 2; i < (size-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + GraphBuffer[i], + GraphBuffer[i+1], + GraphBuffer[i+2], + GraphBuffer[i+3], + GraphBuffer[i+4], + GraphBuffer[i+5], + GraphBuffer[i+6], + GraphBuffer[i+7], + GraphBuffer[i+8], + GraphBuffer[i+9], + GraphBuffer[i+10], + GraphBuffer[i+11], + GraphBuffer[i+12], + GraphBuffer[i+13], + GraphBuffer[i+14], + GraphBuffer[i+15]); + } + } + ClearGraph(1); + return 0; +} + + +int CmdFSKdemodIO(const char *Cmd) +{ + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + //set defaults + uint8_t rfLen = 64; + uint8_t invert=1; + size_t idx=0; + uint8_t testMax=0; + //test samples are not just noise + if (GraphTraceLen < 64) return 0; + for(idx=0;idx<64;idx++){ + if (testMax40){ + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo (raw) + //Handle the data + int mask[] = {0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 74); idx++) { + if ( memcmp(GraphBuffer + idx, mask, sizeof(mask))==0) { + //frame marker found + if (GraphBuffer[idx+17]==1 && GraphBuffer[idx+26]==1 && GraphBuffer[idx+35]==1 && GraphBuffer[idx+44]==1 && GraphBuffer[idx+53]==1){ + //confirmed proper separator bits found + + PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx], GraphBuffer[idx+1], GraphBuffer[idx+2], GraphBuffer[idx+3], GraphBuffer[idx+4], GraphBuffer[idx+5], GraphBuffer[idx+6], GraphBuffer[idx+7], GraphBuffer[idx+8]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+9], GraphBuffer[idx+10], GraphBuffer[idx+11],GraphBuffer[idx+12],GraphBuffer[idx+13],GraphBuffer[idx+14],GraphBuffer[idx+15],GraphBuffer[idx+16],GraphBuffer[idx+17]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+18], GraphBuffer[idx+19], GraphBuffer[idx+20],GraphBuffer[idx+21],GraphBuffer[idx+22],GraphBuffer[idx+23],GraphBuffer[idx+24],GraphBuffer[idx+25],GraphBuffer[idx+26]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+27], GraphBuffer[idx+28], GraphBuffer[idx+29],GraphBuffer[idx+30],GraphBuffer[idx+31],GraphBuffer[idx+32],GraphBuffer[idx+33],GraphBuffer[idx+34],GraphBuffer[idx+35]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+36], GraphBuffer[idx+37], GraphBuffer[idx+38],GraphBuffer[idx+39],GraphBuffer[idx+40],GraphBuffer[idx+41],GraphBuffer[idx+42],GraphBuffer[idx+43],GraphBuffer[idx+44]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+45], GraphBuffer[idx+46], GraphBuffer[idx+47],GraphBuffer[idx+48],GraphBuffer[idx+49],GraphBuffer[idx+50],GraphBuffer[idx+51],GraphBuffer[idx+52],GraphBuffer[idx+53]); + PrintAndLog("%d%d%d%d%d%d%d%d %d%d",GraphBuffer[idx+54],GraphBuffer[idx+55],GraphBuffer[idx+56],GraphBuffer[idx+57],GraphBuffer[idx+58],GraphBuffer[idx+59],GraphBuffer[idx+60],GraphBuffer[idx+61],GraphBuffer[idx+62],GraphBuffer[idx+63]); + + uint32_t code = bytebits_to_byte(GraphBuffer+idx,32); + uint32_t code2 = bytebits_to_byte(GraphBuffer+idx+32,32); + short version = bytebits_to_byte(GraphBuffer+idx+27,8); //14,4 + uint8_t facilitycode = bytebits_to_byte(GraphBuffer+idx+19,8) ; + uint16_t number = (bytebits_to_byte(GraphBuffer+idx+36,8)<<8)|(bytebits_to_byte(GraphBuffer+idx+45,8)); //36,9 + + PrintAndLog("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); + ClearGraph(1); + return 0; + } else { + PrintAndLog("thought we had a valid tag but did not match format"); + } + } + } + if (idx >= (size-74)){ + PrintAndLog("start bits for io prox not found"); + PrintAndLog("FSK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + if(size > (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size + + for (int i = 2; i < (size-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + GraphBuffer[i], + GraphBuffer[i+1], + GraphBuffer[i+2], + GraphBuffer[i+3], + GraphBuffer[i+4], + GraphBuffer[i+5], + GraphBuffer[i+6], + GraphBuffer[i+7], + GraphBuffer[i+8], + GraphBuffer[i+9], + GraphBuffer[i+10], + GraphBuffer[i+11], + GraphBuffer[i+12], + GraphBuffer[i+13], + GraphBuffer[i+14], + GraphBuffer[i+15]); + } + } + } + ClearGraph(1); + return 0; +} +/* +int CmdFSKdemodHIDold(const char *Cmd)//not put in commands yet //old CmdFSKdemod needs updating { static const int LowTone[] = { 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, @@ -284,12 +705,12 @@ int CmdFSKdemod(const char *Cmd) int lowLen = sizeof (LowTone) / sizeof (int); int highLen = sizeof (HighTone) / sizeof (int); - int convLen = (highLen > lowLen) ? highLen : lowLen; + int convLen = (highLen > lowLen) ? highLen : lowLen; //if highlen > lowLen then highlen else lowlen uint32_t hi = 0, lo = 0; int i, j; int minMark = 0, maxMark = 0; - + for (i = 0; i < GraphTraceLen - convLen; ++i) { int lowSum = 0, highSum = 0; @@ -321,7 +742,7 @@ int CmdFSKdemod(const char *Cmd) GraphTraceLen -= (convLen + 16); RepaintGraphWindow(); - // Find bit-sync (3 lo followed by 3 high) + // Find bit-sync (3 lo followed by 3 high) (HID ONLY) int max = 0, maxPos = 0; for (i = 0; i < 6000; ++i) { int dec = 0; @@ -382,7 +803,7 @@ int CmdFSKdemod(const char *Cmd) PrintAndLog("hex: %08x %08x", hi, lo); return 0; } - +*/ int CmdGrid(const char *Cmd) { sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); @@ -463,7 +884,7 @@ int CmdSamples(const char *Cmd) uint8_t got[40000]; n = strtol(Cmd, NULL, 0); - if (n == 0) n = 512; + if (n == 0) n = 6000; if (n > sizeof(got)) n = sizeof(got); PrintAndLog("Reading %d samples\n", n); @@ -657,30 +1078,30 @@ int CmdManchesterDemod(const char *Cmd) { if (GraphBuffer[i-1] != GraphBuffer[i]) { - lc = i-lastval; - lastval = i; + lc = i-lastval; + lastval = i; - // Error check: if bitidx becomes too large, we do not - // have a Manchester encoded bitstream or the clock is really - // wrong! - if (bitidx > (GraphTraceLen*2/clock+8) ) { - PrintAndLog("Error: the clock you gave is probably wrong, aborting."); - return 0; - } - // Then switch depending on lc length: - // Tolerance is 1/4 of clock rate (arbitrary) - if (abs(lc-clock/2) < tolerance) { - // Short pulse : either "1" or "0" - BitStream[bitidx++]=GraphBuffer[i-1]; - } else if (abs(lc-clock) < tolerance) { - // Long pulse: either "11" or "00" - BitStream[bitidx++]=GraphBuffer[i-1]; - BitStream[bitidx++]=GraphBuffer[i-1]; - } else { + // Error check: if bitidx becomes too large, we do not + // have a Manchester encoded bitstream or the clock is really + // wrong! + if (bitidx > (GraphTraceLen*2/clock+8) ) { + PrintAndLog("Error: the clock you gave is probably wrong, aborting."); + return 0; + } + // Then switch depending on lc length: + // Tolerance is 1/4 of clock rate (arbitrary) + if (abs(lc-clock/2) < tolerance) { + // Short pulse : either "1" or "0" + BitStream[bitidx++]=GraphBuffer[i-1]; + } else if (abs(lc-clock) < tolerance) { + // Long pulse: either "11" or "00" + BitStream[bitidx++]=GraphBuffer[i-1]; + BitStream[bitidx++]=GraphBuffer[i-1]; + } else { // Error warnings++; - PrintAndLog("Warning: Manchester decode error for pulse width detection."); - PrintAndLog("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)"); + PrintAndLog("Warning: Manchester decode error for pulse width detection."); + PrintAndLog("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)"); if (warnings > 10) { @@ -697,15 +1118,15 @@ int CmdManchesterDemod(const char *Cmd) for (i = 0; i < bitidx; i += 2) { if ((BitStream[i] == 0) && (BitStream[i+1] == 1)) { BitStream[bit2idx++] = 1 ^ invert; - } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) { - BitStream[bit2idx++] = 0 ^ invert; - } else { - // We cannot end up in this state, this means we are unsynchronized, - // move up 1 bit: - i++; + } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) { + BitStream[bit2idx++] = 0 ^ invert; + } else { + // We cannot end up in this state, this means we are unsynchronized, + // move up 1 bit: + i++; warnings++; - PrintAndLog("Unsynchronized, resync..."); - PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)"); + PrintAndLog("Unsynchronized, resync..."); + PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)"); if (warnings > 10) { @@ -914,7 +1335,9 @@ static command_t CommandTable[] = {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, {"dec", CmdDec, 1, "Decimate samples"}, {"detectclock", CmdDetectClockRate, 1, "Detect clock rate"}, - {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, + {"fskdemod", CmdFSKdemod, 1, "[clock rate] [invert] Demodulate graph window from FSK to binary (clock = 64 or 50)(invert = 1 or 0)"}, + {"fskdemodhid", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK"}, + {"fskdemodio", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK"}, {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, {"hide", CmdHide, 1, "Hide graph window"}, diff --git a/client/cmddata.h b/client/cmddata.h index 8dcefc303..6a4e6ee67 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -24,6 +24,8 @@ int CmdBuffClear(const char *Cmd); int CmdDec(const char *Cmd); int CmdDetectClockRate(const char *Cmd); int CmdFSKdemod(const char *Cmd); +int CmdFSKdemodHID(const char *Cmd); +int CmdFSKdemodIO(const char *Cmd); int CmdGrid(const char *Cmd); int CmdHexsamples(const char *Cmd); int CmdHide(const char *Cmd); From ae2f73c12dda1a640c3081827b9df0c796617cc1 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Fri, 19 Dec 2014 12:39:41 -0500 Subject: [PATCH 023/133] put ask demod and mandemod put ask demod and mandemod back until i have time to test it --- client/cmddata.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 93aaf9534..1f8b9fcd3 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -100,9 +100,9 @@ int Cmdaskdemod(const char *Cmd) } else { GraphBuffer[0] = c; } - //20% fuzz [marshmellow] - high=(int)(.8*high); - low=(int)(.8*low); + ////13% fuzz [marshmellow] + //high=(int)(0.87*high); + //low=(int)(0.87*low); for (i = 1; i < GraphTraceLen; ++i) { /* Transitions are detected at each peak * Transitions are either: @@ -112,10 +112,10 @@ int Cmdaskdemod(const char *Cmd) * low for long periods, others just reach the peak and go * down) */ - //[marhsmellow] changed == to >= for high and <= for low - if ((GraphBuffer[i] >= high) && (GraphBuffer[i - 1] == c)) { + //[marhsmellow] change == to >= for high and <= for low for fuzz + if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) { GraphBuffer[i] = 1 - c; - } else if ((GraphBuffer[i] <= low) && (GraphBuffer[i - 1] == (1 - c))){ + } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){ GraphBuffer[i] = c; } else { /* No transition */ From 545f2038268bf6c22c9d8cf958dea0efc2261900 Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Sat, 20 Dec 2014 18:46:13 +0100 Subject: [PATCH 024/133] adapted hf iclass list to new trace format --- client/cmdhf14a.c | 7 +- client/cmdhficlass.c | 320 +++++++++++++++---------------------------- 2 files changed, 111 insertions(+), 216 deletions(-) diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index e8dc8abca..917411349 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -78,6 +78,10 @@ int CmdHF14AList(const char *Cmd) if(tracepos == 0) { first_timestamp = timestamp; } + + // Break and stick with current result if buffer was not completely full + if (timestamp == 0x44444444) break; + tracepos += 4; duration = *((uint16_t *)(trace + tracepos)); tracepos += 2; @@ -102,9 +106,6 @@ int CmdHF14AList(const char *Cmd) uint8_t *parityBytes = trace + tracepos; tracepos += parity_len; - // Break and stick with current result if buffer was not completely full - if (timestamp == 0x44444444) break; - char line[16][110]; for (int j = 0; j < data_len; j++) { int oddparity = 0x01; diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index c20459522..583d518e6 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -44,10 +44,9 @@ int xorbits_8(uint8_t val) int CmdHFiClassList(const char *Cmd) { - bool ShowWaitCycles = false; char param = param_getchar(Cmd, 0); - + if (param != 0) { PrintAndLog("List data in trace buffer."); PrintAndLog("Usage: hf iclass list"); @@ -56,247 +55,142 @@ int CmdHFiClassList(const char *Cmd) return 0; } - uint8_t got[1920]; - GetFromBigBuf(got,sizeof(got),0); - WaitForResponse(CMD_ACK,NULL); +// for the time being. Need better Bigbuf handling. +#define TRACE_SIZE 3000 + + uint8_t trace[TRACE_SIZE]; + GetFromBigBuf(trace, TRACE_SIZE, 0); + WaitForResponse(CMD_ACK, NULL); PrintAndLog("Recorded Activity"); PrintAndLog(""); PrintAndLog("Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer"); PrintAndLog("All times are in carrier periods (1/13.56Mhz)"); PrintAndLog(""); - PrintAndLog(" Start | End | Src | Data"); - PrintAndLog("-----------|-----------|-----|--------"); + PrintAndLog(" Start | End | Src | Data (! denotes parity error) | CRC "); + PrintAndLog("-----------|-----------|-----|-----------------------------------------------------------------------"); - int i; - uint32_t first_timestamp = 0; + uint16_t tracepos = 0; + uint16_t duration; + uint16_t data_len; + uint16_t parity_len; + bool isResponse; uint32_t timestamp; - bool tagToReader; - uint32_t parityBits; - uint8_t len; - uint8_t *frame; - uint32_t EndOfTransmissionTimestamp = 0; + uint32_t first_timestamp; + uint32_t EndOfTransmissionTimestamp; + + for (;;) { + if(tracepos >= TRACE_SIZE) { + break; + } - for( i=0; i < 1900;) - { - //First 32 bits contain - // isResponse (1 bit) - // timestamp (remaining) - //Then paritybits - //Then length - timestamp = *((uint32_t *)(got+i)); - parityBits = *((uint32_t *)(got+i+4)); - len = got[i+8]; - frame = (got+i+9); - uint32_t next_timestamp = (*((uint32_t *)(got+i+9))) & 0x7fffffff; - - tagToReader = timestamp & 0x80000000; - timestamp &= 0x7fffffff; - - if(i==0) { + timestamp = *((uint32_t *)(trace + tracepos)); + if(tracepos == 0) { first_timestamp = timestamp; } - // Break and stick with current result idf buffer was not completely full - if (frame[0] == 0x44 && frame[1] == 0x44 && frame[2] == 0x44 && frame[3] == 0x44) break; + // Break and stick with current result if buffer was not completely full + if (timestamp == 0x44444444) break; - char line[1000] = ""; - - if(len)//We have some data to display - { - int j,oddparity; - - for(j = 0; j < len ; j++) - { - oddparity = 0x01 ^ xorbits_8(frame[j] & 0xFF); - - if (tagToReader && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) { - sprintf(line+(j*4), "%02x! ", frame[j]); - } else { - sprintf(line+(j*4), "%02x ", frame[j]); - } - } - }else - { - if (ShowWaitCycles) { - sprintf(line, "fdt (Frame Delay Time): %d", (next_timestamp - timestamp)); - } + tracepos += 4; + duration = *((uint16_t *)(trace + tracepos)); + tracepos += 2; + data_len = *((uint16_t *)(trace + tracepos)); + tracepos += 2; + + if (data_len & 0x8000) { + data_len &= 0x7fff; + isResponse = true; + } else { + isResponse = false; } - char *crc = ""; + parity_len = (data_len-1)/8 + 1; - if(len > 2) - { + if (tracepos + data_len + parity_len >= TRACE_SIZE) { + break; + } + + uint8_t *frame = trace + tracepos; + tracepos += data_len; + uint8_t *parityBytes = trace + tracepos; + tracepos += parity_len; + + char line[16][110]; + for (int j = 0; j < data_len; j++) { + int oddparity = 0x01; + int k; + + for (k=0;k<8;k++) { + oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); + } + + uint8_t parityBits = parityBytes[j>>3]; + if (isResponse && (oddparity != ((parityBits >> (7-(j&0x0007))) & 0x01))) { + sprintf(line[j/16]+((j%16)*4), "%02x! ", frame[j]); + } else { + sprintf(line[j/16]+((j%16)*4), "%02x ", frame[j]); + } + + } + + char *crc = ""; + if (data_len > 2) { uint8_t b1, b2; - if(!tagToReader && len == 4) { + if(!isResponse && data_len == 4 ) { // Rough guess that this is a command from the reader // For iClass the command byte is not part of the CRC - ComputeCrc14443(CRC_ICLASS, &frame[1], len-3, &b1, &b2); + ComputeCrc14443(CRC_ICLASS, &frame[1], data_len-3, &b1, &b2); + if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { + crc = "!crc"; + } } else { - // For other data.. CRC might not be applicable (UPDATE commands etc.) - ComputeCrc14443(CRC_ICLASS, frame, len-2, &b1, &b2); - } - - if (b1 != frame[len-2] || b2 != frame[len-1]) { - crc = (tagToReader & (len < 8)) ? "" : " !crc"; + // For other data.. CRC might not be applicable (UPDATE commands etc.) + ComputeCrc14443(CRC_ICLASS, frame, data_len-2, &b1, &b2); + if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { + crc = "!crc"; + } } } - i += (len + 9); - EndOfTransmissionTimestamp = (*((uint32_t *)(got+i))) & 0x7fffffff; + EndOfTransmissionTimestamp = timestamp + duration; + + int num_lines = (data_len - 1)/16 + 1; + for (int j = 0; j < num_lines; j++) { + if (j == 0) { + PrintAndLog(" %9d | %9d | %s | %-64s| %s", + (timestamp - first_timestamp), + (EndOfTransmissionTimestamp - first_timestamp), + (isResponse ? "Tag" : "Rdr"), + line[j], + (j == num_lines-1)?crc:""); + } else { + PrintAndLog(" | | | %-64s| %s", + line[j], + (j == num_lines-1)?crc:""); + } + } - // Not implemented for iclass on the ARM-side - //if (!ShowWaitCycles) i += 9; - - PrintAndLog(" %9d | %9d | %s | %s %s", - (timestamp - first_timestamp), - (EndOfTransmissionTimestamp - first_timestamp), - (len?(tagToReader ? "Tag" : "Rdr"):" "), - line, crc); + bool next_isResponse = *((uint16_t *)(trace + tracepos + 6)) & 0x8000; + + if (ShowWaitCycles && !isResponse && next_isResponse) { + uint32_t next_timestamp = *((uint32_t *)(trace + tracepos)); + if (next_timestamp != 0x44444444) { + PrintAndLog(" %9d | %9d | %s | fdt (Frame Delay Time): %d", + (EndOfTransmissionTimestamp - first_timestamp), + (next_timestamp - first_timestamp), + " ", + (next_timestamp - EndOfTransmissionTimestamp)); + } + } + } + return 0; } -int CmdHFiClassListOld(const char *Cmd) -{ - uint8_t got[1920]; - GetFromBigBuf(got,sizeof(got),0); - - PrintAndLog("recorded activity:"); - PrintAndLog(" ETU :rssi: who bytes"); - PrintAndLog("---------+----+----+-----------"); - - int i = 0; - int prev = -1; - - for (;;) { - if(i >= 1900) { - break; - } - - bool isResponse; - int timestamp = *((uint32_t *)(got+i)); - if (timestamp & 0x80000000) { - timestamp &= 0x7fffffff; - isResponse = 1; - } else { - isResponse = 0; - } - - - int metric = 0; - - int parityBits = *((uint32_t *)(got+i+4)); - // 4 bytes of additional information... - // maximum of 32 additional parity bit information - // - // TODO: - // at each quarter bit period we can send power level (16 levels) - // or each half bit period in 256 levels. - - - int len = got[i+8]; - - if (len > 100) { - break; - } - if (i + len >= 1900) { - break; - } - - uint8_t *frame = (got+i+9); - - // Break and stick with current result if buffer was not completely full - if (frame[0] == 0x44 && frame[1] == 0x44 && frame[3] == 0x44) { break; } - - char line[1000] = ""; - int j; - for (j = 0; j < len; j++) { - int oddparity = 0x01; - int k; - - for (k=0;k<8;k++) { - oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); - } - - //if((parityBits >> (len - j - 1)) & 0x01) { - if (isResponse && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) { - sprintf(line+(j*4), "%02x! ", frame[j]); - } - else { - sprintf(line+(j*4), "%02x ", frame[j]); - } - } - - char *crc; - crc = ""; - if (len > 2) { - uint8_t b1, b2; - for (j = 0; j < (len - 1); j++) { - // gives problems... search for the reason.. - /*if(frame[j] == 0xAA) { - switch(frame[j+1]) { - case 0x01: - crc = "[1] Two drops close after each other"; - break; - case 0x02: - crc = "[2] Potential SOC with a drop in second half of bitperiod"; - break; - case 0x03: - crc = "[3] Segment Z after segment X is not possible"; - break; - case 0x04: - crc = "[4] Parity bit of a fully received byte was wrong"; - break; - default: - crc = "[?] Unknown error"; - break; - } - break; - }*/ - } - - if (strlen(crc)==0) { - if(!isResponse && len == 4) { - // Rough guess that this is a command from the reader - // For iClass the command byte is not part of the CRC - ComputeCrc14443(CRC_ICLASS, &frame[1], len-3, &b1, &b2); - } - else { - // For other data.. CRC might not be applicable (UPDATE commands etc.) - ComputeCrc14443(CRC_ICLASS, frame, len-2, &b1, &b2); - } - //printf("%1x %1x",(unsigned)b1,(unsigned)b2); - if (b1 != frame[len-2] || b2 != frame[len-1]) { - crc = (isResponse & (len < 8)) ? "" : " !crc"; - } else { - crc = ""; - } - } - } else { - crc = ""; // SHORT - } - - char metricString[100]; - if (isResponse) { - sprintf(metricString, "%3d", metric); - } else { - strcpy(metricString, " "); - } - - PrintAndLog(" +%7d: %s: %s %s %s", - (prev < 0 ? 0 : (timestamp - prev)), - metricString, - (isResponse ? "TAG" : " "), line, crc); - - prev = timestamp; - i += (len + 9); - } - return 0; -} - int CmdHFiClassSnoop(const char *Cmd) { UsbCommand c = {CMD_SNOOP_ICLASS}; From e888ed8e62bab6d7421c9b9689309a58040754fe Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Mon, 22 Dec 2014 17:46:28 -0500 Subject: [PATCH 025/133] added new data askrawdemod command added new data askrawdemod command returned data fskdemod and separated out new fskrawdemod commands --- client/cmddata.c | 170 +++++++++++++++++++++++++++++++++++++++++++---- client/cmddata.h | 2 + 2 files changed, 159 insertions(+), 13 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 1f8b9fcd3..af075e6cf 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -100,9 +100,9 @@ int Cmdaskdemod(const char *Cmd) } else { GraphBuffer[0] = c; } - ////13% fuzz [marshmellow] - //high=(int)(0.87*high); - //low=(int)(0.87*low); + //13% fuzz [marshmellow] + high=(int)(0.87*high); + low=(int)(0.87*low); for (i = 1; i < GraphTraceLen; ++i) { /* Transitions are detected at each peak * Transitions are either: @@ -126,6 +126,145 @@ int Cmdaskdemod(const char *Cmd) return 0; } +void printBitStream(uint8_t BitStream[], uint32_t bitLen){ + uint32_t i = 0; + if (bitLen<16) return; + if (bitLen>512) bitLen=512; + for (i = 0; i < (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + BitStream[i], + BitStream[i+1], + BitStream[i+2], + BitStream[i+3], + BitStream[i+4], + BitStream[i+5], + BitStream[i+6], + BitStream[i+7], + BitStream[i+8], + BitStream[i+9], + BitStream[i+10], + BitStream[i+11], + BitStream[i+12], + BitStream[i+13], + BitStream[i+14], + BitStream[i+15]); + } + return; +} + +//by marshmellow +//takes 2 arguments - clock and invert both as integers +//prints binary found and saves in graphbuffer for further commands +int Cmdaskrawdemod(const char *Cmd) +{ + uint32_t i; + int invert=0; //invert default + int high = 0, low = 0; + int clk=64; //clock default + uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0}; + sscanf(Cmd, "%i %i", &clk, &invert); + if (!(clk>8)){ + PrintAndLog("Invalid argument: %s",Cmd); + return 0; + } + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } + uint32_t initLoopMax = 1000; + if (initLoopMax>GraphTraceLen) initLoopMax=GraphTraceLen; + // Detect high and lows + PrintAndLog("Using Clock: %d and invert=%d",clk,invert); + for (i = 0; i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } + if ((high < 30) && ((high !=1)||(low !=-1))){ //throw away static - allow 1 and -1 (in case of threshold command first) + PrintAndLog("no data found"); + return 0; + } + //13% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)(0.75*high); + low=(int)(0.75*low); + + //PrintAndLog("valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 32;//clock tolerance adjust + uint32_t iii = 0; + uint32_t gLen = GraphTraceLen; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + + //PrintAndLog("lastbit - %d",lastBit); + + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((GraphBuffer[iii]>=high)||(GraphBuffer[iii]<=low)){ + lastBit=iii-clk; + //loop through to see if this start location works + for (i = iii; i < GraphTraceLen; ++i) { + if ((GraphBuffer[i] >= high) && ((i-lastBit)>(clk-((int)clk/tol)))) { // && GraphBuffer[i-1] < high + lastBit+=clk; + BitStream[bitnum] = invert; + bitnum++; + } else if ((GraphBuffer[i] <= low) && ((i-lastBit)>(clk-((int)clk/tol)))){ + //low found and we are expecting a bar + lastBit+=clk; + BitStream[bitnum] = 1-invert; + bitnum++; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(clk+((int)(clk/tol)))){ + //should have hit a high or low based on clock!! + + /* + //debug + PrintAndLog("no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(clk/tol)))),(lastBit+(clk+((int)(clk/tol)))),lastBit); + if (bitnum > 0){ + BitStream[bitnum]=77; + bitnum++; + } + */ + + errCnt++; + lastBit+=clk;//skip over until hit too many errors + if (errCnt>((GraphTraceLen/1000)*2)){ //allow 2 errors for every 1000 samples else start over + errCnt=0; + bitnum=0;//start over + break; + } + } + } + } + /* + //debug + if ((bitnum>64) && (BitStream[bitnum-1]!=77)) break; + */ + } + } + ClearGraph(0); + //move BitStream back to GraphBuffer + for (i=0; i < bitnum; ++i){ + GraphBuffer[i]=BitStream[i]; + } + GraphTraceLen=bitnum; + RepaintGraphWindow(); + + //output + if (errCnt>0){ + PrintAndLog("# Error during Demoding: %d\n",errCnt); + } + PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printBitStream(BitStream,bitnum); + + return 0; +} + int CmdAutoCorr(const char *Cmd) { static int CorrelBuffer[MAX_GRAPH_TRACE_LEN]; @@ -409,7 +548,7 @@ uint32_t bytebits_to_byte(int* src, int numbits) } //fsk demod and print binary -int CmdFSKdemod(const char *Cmd) +int CmdFSKrawdemod(const char *Cmd) { //raw fsk demod no manchester decoding no start bit finding just get binary from wave //set defaults @@ -570,7 +709,8 @@ int CmdFSKdemodHID(const char *Cmd) PrintAndLog("FSK decoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits if(size > (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size - + printBitStream(GraphBuffer,size); + /* for (int i = 2; i < (size-16); i+=16) { PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", GraphBuffer[i], @@ -590,6 +730,7 @@ int CmdFSKdemodHID(const char *Cmd) GraphBuffer[i+14], GraphBuffer[i+15]); } + */ } ClearGraph(1); return 0; @@ -659,7 +800,8 @@ int CmdFSKdemodIO(const char *Cmd) PrintAndLog("FSK decoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits if(size > (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size - + printBitStream(GraphBuffer,size); + /* for (int i = 2; i < (size-16); i+=16) { PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", GraphBuffer[i], @@ -678,14 +820,14 @@ int CmdFSKdemodIO(const char *Cmd) GraphBuffer[i+13], GraphBuffer[i+14], GraphBuffer[i+15]); - } + } + */ } } ClearGraph(1); return 0; } -/* -int CmdFSKdemodHIDold(const char *Cmd)//not put in commands yet //old CmdFSKdemod needs updating +int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating { static const int LowTone[] = { 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, @@ -803,7 +945,7 @@ int CmdFSKdemodHIDold(const char *Cmd)//not put in commands yet //old CmdFSKdemo PrintAndLog("hex: %08x %08x", hi, lo); return 0; } -*/ + int CmdGrid(const char *Cmd) { sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); @@ -1329,15 +1471,17 @@ static command_t CommandTable[] = {"help", CmdHelp, 1, "This help"}, {"amp", CmdAmp, 1, "Amplify peaks"}, {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate simple ASK tags and output binary (args optional-defaults='64 0'"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, {"dec", CmdDec, 1, "Decimate samples"}, {"detectclock", CmdDetectClockRate, 1, "Detect clock rate"}, - {"fskdemod", CmdFSKdemod, 1, "[clock rate] [invert] Demodulate graph window from FSK to binary (clock = 64 or 50)(invert = 1 or 0)"}, - {"fskdemodhid", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK"}, - {"fskdemodio", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK"}, + {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, + {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, + {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, + {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] Demodulate graph window from FSK to binary (clock = 64 or 50)(invert = 1 or 0)"}, {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, {"hide", CmdHide, 1, "Hide graph window"}, diff --git a/client/cmddata.h b/client/cmddata.h index 6a4e6ee67..8a2028284 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -17,6 +17,7 @@ int CmdData(const char *Cmd); int CmdAmp(const char *Cmd); int Cmdaskdemod(const char *Cmd); +int Cmdaskrawdemod(const char *Cmd); int CmdAutoCorr(const char *Cmd); int CmdBitsamples(const char *Cmd); int CmdBitstream(const char *Cmd); @@ -26,6 +27,7 @@ int CmdDetectClockRate(const char *Cmd); int CmdFSKdemod(const char *Cmd); int CmdFSKdemodHID(const char *Cmd); int CmdFSKdemodIO(const char *Cmd); +int CmdFSKrawdemod(const char *Cmd); int CmdGrid(const char *Cmd); int CmdHexsamples(const char *Cmd); int CmdHide(const char *Cmd); From ea7d657f7512b95d7dc04f834ae01de021f5573e Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Mon, 22 Dec 2014 22:50:13 -0500 Subject: [PATCH 026/133] minor fix - got too comment happy removing test code should not have commented this code out --- client/cmddata.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index af075e6cf..6d151140b 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -240,10 +240,10 @@ int Cmdaskrawdemod(const char *Cmd) } } } - /* + //debug if ((bitnum>64) && (BitStream[bitnum-1]!=77)) break; - */ + } } ClearGraph(0); From 7705bf4e37d2fcece03e5c0d693f10956f012bc3 Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Tue, 23 Dec 2014 11:11:52 +0100 Subject: [PATCH 027/133] fixed a bug in iso14443a.c which had been introduced with the big frame and parity support (commit 6a1f2d82) - thanks iceman for finding and testing --- armsrc/iso14443a.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index b1d3690f7..a4632aa54 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -395,7 +395,11 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) } else if (Uart.len & 0x0007) { // there are some parity bits to store Uart.parityBits <<= (8 - (Uart.len&0x0007)); // left align remaining parity bits Uart.parity[Uart.parityLen++] = Uart.parityBits; // and store them + } + if (Uart.len) { return TRUE; // we are finished with decoding the raw data sequence + } else { + UartReset(); // Nothing received - try again } } if (Uart.state == STATE_START_OF_COMMUNICATION) { // error - must not follow directly after SOC @@ -558,6 +562,8 @@ static RAMFUNC int ManchesterDecoding(uint8_t bit, uint16_t offset, uint32_t non } else if (Demod.len & 0x0007) { // there are some parity bits to store Demod.parityBits <<= (8 - (Demod.len&0x0007)); // left align remaining parity bits Demod.parity[Demod.parityLen++] = Demod.parityBits; // and store them + } + if (Demod.len) { return TRUE; // we are finished with decoding the raw data sequence } else { // nothing received. Start over DemodReset(); @@ -1631,7 +1637,7 @@ bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_Start //----------------------------------------------------------------------------- static int GetIso14443aAnswerFromTag(uint8_t *receivedResponse, uint8_t *receivedResponsePar, uint16_t offset) { - uint16_t c; + uint32_t c; // Set FPGA mode to "reader listen mode", no modulation (listen // only, since we are receiving, not transmitting). From 52bfb95543120853999fdfca451204134b73b543 Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Tue, 23 Dec 2014 11:11:52 +0100 Subject: [PATCH 028/133] bugfixes in iso14443a.c and hf 14a reader - introduced with the big frame and parity support (commit 6a1f2d82): tag responses with len%8 == 0 were dropped - thanks iceman for testing and finding - after unsuccessful hf 14a reader the field stayed on. Thanks to iceman for proposing the fix. --- armsrc/iso14443a.c | 8 +++++++- client/cmdhf14a.c | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index b1d3690f7..a4632aa54 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -395,7 +395,11 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) } else if (Uart.len & 0x0007) { // there are some parity bits to store Uart.parityBits <<= (8 - (Uart.len&0x0007)); // left align remaining parity bits Uart.parity[Uart.parityLen++] = Uart.parityBits; // and store them + } + if (Uart.len) { return TRUE; // we are finished with decoding the raw data sequence + } else { + UartReset(); // Nothing received - try again } } if (Uart.state == STATE_START_OF_COMMUNICATION) { // error - must not follow directly after SOC @@ -558,6 +562,8 @@ static RAMFUNC int ManchesterDecoding(uint8_t bit, uint16_t offset, uint32_t non } else if (Demod.len & 0x0007) { // there are some parity bits to store Demod.parityBits <<= (8 - (Demod.len&0x0007)); // left align remaining parity bits Demod.parity[Demod.parityLen++] = Demod.parityBits; // and store them + } + if (Demod.len) { return TRUE; // we are finished with decoding the raw data sequence } else { // nothing received. Start over DemodReset(); @@ -1631,7 +1637,7 @@ bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_Start //----------------------------------------------------------------------------- static int GetIso14443aAnswerFromTag(uint8_t *receivedResponse, uint8_t *receivedResponsePar, uint16_t offset) { - uint16_t c; + uint32_t c; // Set FPGA mode to "reader listen mode", no modulation (listen // only, since we are receiving, not transmitting). diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 917411349..c99760765 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -191,6 +191,11 @@ int CmdHF14AReader(const char *Cmd) if(select_status == 0) { PrintAndLog("iso14443a card select failed"); + // disconnect + c.arg[0] = 0; + c.arg[1] = 0; + c.arg[2] = 0; + SendCommand(&c); return 0; } From 2fc2150ea83f4dcdc952959e10263051aa364b33 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 23 Dec 2014 12:00:13 -0500 Subject: [PATCH 029/133] Add auto check for EM410x format to askrawdemod cmd added EM410x format check and print to the data askrawdemod command. if it finds valid em410x format & parities it will print the EM ID and Unique ID and a few others. --- client/cmddata.c | 244 +++++++++++++++++++++++++++++------------------ 1 file changed, 151 insertions(+), 93 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 6d151140b..4cd06e86f 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -69,9 +69,7 @@ int CmdAmp(const char *Cmd) * Arguments: * c : 0 or 1 */ - //this method is dependant on all highs and lows to be the same(or clipped) this could be an issue[marshmellow] - //might be able to use clock to help identify highs and lows with some more tolerance - //but for now I will try a fuzz factor + //this method is dependant on all highs and lows to be the same(or clipped) this creates issues[marshmellow] it also ignores the clock int Cmdaskdemod(const char *Cmd) { int i; @@ -100,9 +98,6 @@ int Cmdaskdemod(const char *Cmd) } else { GraphBuffer[0] = c; } - //13% fuzz [marshmellow] - high=(int)(0.87*high); - low=(int)(0.87*low); for (i = 1; i < GraphTraceLen; ++i) { /* Transitions are detected at each peak * Transitions are either: @@ -126,7 +121,7 @@ int Cmdaskdemod(const char *Cmd) return 0; } -void printBitStream(uint8_t BitStream[], uint32_t bitLen){ +void printBitStream(int BitStream[], uint32_t bitLen){ uint32_t i = 0; if (bitLen<16) return; if (bitLen>512) bitLen=512; @@ -151,6 +146,120 @@ void printBitStream(uint8_t BitStream[], uint32_t bitLen){ } return; } +void printBitStream2(uint8_t BitStream[], uint32_t bitLen){ + uint32_t i = 0; + if (bitLen<16) { + PrintAndLog("Too few bits found: %d",bitLen); + return; + } + if (bitLen>512) bitLen=512; + for (i = 0; i < (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + BitStream[i], + BitStream[i+1], + BitStream[i+2], + BitStream[i+3], + BitStream[i+4], + BitStream[i+5], + BitStream[i+6], + BitStream[i+7], + BitStream[i+8], + BitStream[i+9], + BitStream[i+10], + BitStream[i+11], + BitStream[i+12], + BitStream[i+13], + BitStream[i+14], + BitStream[i+15]); + } + return; +} + +//by marshmellow +//takes 1s and 0s and searches for EM410x format - output EM ID +int Em410xDecode(const char *Cmd) +{ + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + int high=0, low=0; + uint32_t hi=0, lo=0; + + uint32_t i = 0; + uint32_t initLoopMax = 1000; + if (initLoopMax>GraphTraceLen) initLoopMax=GraphTraceLen; + + for (;i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } + if (((high !=1)||(low !=0))){ //allow only 1s and 0s + PrintAndLog("no data found"); + return 0; + } + uint8_t parityTest=0; + // 111111111 bit pattern represent start of frame + int frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t ii=0; + uint8_t resetCnt = 0; + while( (idx + 64) < GraphTraceLen) { +restart: + // search for a start of frame marker + if ( memcmp(GraphBuffer+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=9;//sizeof(frame_marker_mask); + for (i=0; i<10;i++){ + for(ii=0; ii<5; ++ii){ + parityTest += GraphBuffer[(i*5)+ii+idx]; + } + if (parityTest== ((parityTest>>1)<<1)){ + parityTest=0; + for (ii=0; ii<4;++ii){ + hi = (hi<<1)|(lo>>31); + lo=(lo<<1)|(GraphBuffer[(i*5)+ii+idx]); + } + //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,GraphBuffer[idx+ii+(i*5)-5],GraphBuffer[idx+ii+(i*5)-4],GraphBuffer[idx+ii+(i*5)-3],GraphBuffer[idx+ii+(i*5)-2],GraphBuffer[idx+ii+(i*5)-1],lo); + }else {//parity failed + //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,GraphBuffer[idx+ii+(i*5)-5],GraphBuffer[idx+ii+(i*5)-4],GraphBuffer[idx+ii+(i*5)-3],GraphBuffer[idx+ii+(i*5)-2],GraphBuffer[idx+ii+(i*5)-1]); + parityTest=0; + idx-=8; + if (resetCnt>5)return 0; + resetCnt++; + goto restart;//continue; + } + } + //skip last 5 bit parity test for simplicity. + + //output em id + PrintAndLog("EM TAG ID : %02x%08x", hi, lo); + //get Unique ID + uint32_t iii=1; + uint32_t id2hi=0,id2lo=0; + for (i=0;i<8;i++){ + id2hi=(id2hi<<1)|((hi & (iii<<(i)))>>i); + } + for (ii=4; ii>0;ii--){ + for (i=0;i<8;i++){ + id2lo=(id2lo<<1)|((lo & (iii<<(i+((ii-1)*8))))>>(i+((ii-1)*8))); + } + } + PrintAndLog("Unique TAG ID: %02x%08x", id2hi, id2lo); + PrintAndLog("DEZ 8 : %08d",lo & 0xFFFFFF); + PrintAndLog("DEZ 10 : %010d",lo & 0xFFFFFF); + PrintAndLog("DEZ 5.5 : %05d.%05d",(lo>>16) & 0xFFFF,lo & 0xFFFF); + PrintAndLog("DEZ 3.5A : %03d.%05d",hi,lo &0xFFFF); + return 0; + }else{ + idx++; + } + } + return 0; +} + //by marshmellow //takes 2 arguments - clock and invert both as integers @@ -190,16 +299,17 @@ int Cmdaskrawdemod(const char *Cmd) high=(int)(0.75*high); low=(int)(0.75*low); - //PrintAndLog("valid high: %d - valid low: %d",high,low); + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); int lastBit = 0; //set first clock check uint32_t bitnum = 0; //output counter - uint8_t tol = 32;//clock tolerance adjust + uint8_t tol = clk; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely uint32_t iii = 0; uint32_t gLen = GraphTraceLen; if (gLen > 500) gLen=500; uint8_t errCnt =0; - //PrintAndLog("lastbit - %d",lastBit); + //PrintAndLog("DEBUG - lastbit - %d",lastBit); //loop to find first wave that works for (iii=0; iii < gLen; ++iii){ @@ -223,7 +333,7 @@ int Cmdaskrawdemod(const char *Cmd) /* //debug - PrintAndLog("no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(clk/tol)))),(lastBit+(clk+((int)(clk/tol)))),lastBit); + PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(clk/tol)))),(lastBit+(clk+((int)(clk/tol)))),lastBit); if (bitnum > 0){ BitStream[bitnum]=77; bitnum++; @@ -246,22 +356,24 @@ int Cmdaskrawdemod(const char *Cmd) } } - ClearGraph(0); - //move BitStream back to GraphBuffer - for (i=0; i < bitnum; ++i){ - GraphBuffer[i]=BitStream[i]; - } - GraphTraceLen=bitnum; - RepaintGraphWindow(); - - //output - if (errCnt>0){ - PrintAndLog("# Error during Demoding: %d\n",errCnt); - } - PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - printBitStream(BitStream,bitnum); - + if (bitnum>16){ + PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to GraphBuffer + ClearGraph(0); + for (i=0; i < bitnum; ++i){ + GraphBuffer[i]=BitStream[i]; + } + GraphTraceLen=bitnum; + RepaintGraphWindow(); + //output + if (errCnt>0){ + PrintAndLog("# Errors during Demoding: %d",errCnt); + } + PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printBitStream2(BitStream,bitnum); + Em410xDecode(Cmd); + } return 0; } @@ -410,6 +522,7 @@ int CmdDetectClockRate(const char *Cmd) return 0; } +//by marshmellow //demod GraphBuffer wave to 0s and 1s for each wave - 0s for short waves 1s for long waves size_t fsk_wave_demod(int size) { @@ -465,6 +578,8 @@ uint32_t myround(float f) if (f >= UINT_MAX) return UINT_MAX; return (uint32_t) (f + (float)0.5); } + +//by marshmellow (from holiman's base) //translate 11111100000 to 10 size_t aggregate_bits(int size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert) //,uint8_t l2h_crossing_value { @@ -516,6 +631,8 @@ size_t aggregate_bits(int size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8 }//end for return numBits; } + +//by marshmellow (from holiman's base) // full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod) size_t fskdemod(uint8_t rfLen, uint8_t invert) { @@ -547,6 +664,7 @@ uint32_t bytebits_to_byte(int* src, int numbits) return num; } +//by marshmellow //fsk demod and print binary int CmdFSKrawdemod(const char *Cmd) { @@ -573,30 +691,13 @@ int CmdFSKrawdemod(const char *Cmd) PrintAndLog("FSK decoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits if(size > (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size + printBitStream(GraphBuffer,size); - for (int i = 2; i < (size-16); i+=16) { - PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", - GraphBuffer[i], - GraphBuffer[i+1], - GraphBuffer[i+2], - GraphBuffer[i+3], - GraphBuffer[i+4], - GraphBuffer[i+5], - GraphBuffer[i+6], - GraphBuffer[i+7], - GraphBuffer[i+8], - GraphBuffer[i+9], - GraphBuffer[i+10], - GraphBuffer[i+11], - GraphBuffer[i+12], - GraphBuffer[i+13], - GraphBuffer[i+14], - GraphBuffer[i+15]); - } ClearGraph(1); return 0; } +//by marshmellow int CmdFSKdemodHID(const char *Cmd) { //raw fsk demod no manchester decoding no start bit finding just get binary from wave @@ -708,35 +809,14 @@ int CmdFSKdemodHID(const char *Cmd) PrintAndLog("start bits for hid not found"); PrintAndLog("FSK decoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits - if(size > (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size printBitStream(GraphBuffer,size); - /* - for (int i = 2; i < (size-16); i+=16) { - PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", - GraphBuffer[i], - GraphBuffer[i+1], - GraphBuffer[i+2], - GraphBuffer[i+3], - GraphBuffer[i+4], - GraphBuffer[i+5], - GraphBuffer[i+6], - GraphBuffer[i+7], - GraphBuffer[i+8], - GraphBuffer[i+9], - GraphBuffer[i+10], - GraphBuffer[i+11], - GraphBuffer[i+12], - GraphBuffer[i+13], - GraphBuffer[i+14], - GraphBuffer[i+15]); - } - */ + } ClearGraph(1); return 0; } - +//by marshmellow int CmdFSKdemodIO(const char *Cmd) { //raw fsk demod no manchester decoding no start bit finding just get binary from wave @@ -799,29 +879,7 @@ int CmdFSKdemodIO(const char *Cmd) PrintAndLog("start bits for io prox not found"); PrintAndLog("FSK decoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits - if(size > (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size - printBitStream(GraphBuffer,size); - /* - for (int i = 2; i < (size-16); i+=16) { - PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", - GraphBuffer[i], - GraphBuffer[i+1], - GraphBuffer[i+2], - GraphBuffer[i+3], - GraphBuffer[i+4], - GraphBuffer[i+5], - GraphBuffer[i+6], - GraphBuffer[i+7], - GraphBuffer[i+8], - GraphBuffer[i+9], - GraphBuffer[i+10], - GraphBuffer[i+11], - GraphBuffer[i+12], - GraphBuffer[i+13], - GraphBuffer[i+14], - GraphBuffer[i+15]); - } - */ + printBitStream(GraphBuffer,size); } } ClearGraph(1); @@ -1471,7 +1529,7 @@ static command_t CommandTable[] = {"help", CmdHelp, 1, "This help"}, {"amp", CmdAmp, 1, "Amplify peaks"}, {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, - {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate simple ASK tags and output binary (args optional-defaults='64 0'"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate simple ASK tags and output binary (args optional-defaults='64 0')"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, From cd48c19c31c2d544f08425c06c718576b2ab2805 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 23 Dec 2014 15:16:53 -0500 Subject: [PATCH 030/133] minor askrawdemod adjustment if errors in demoding are found if it can't find a demod position with no errors it will find the one with fewest errors and mark errors with 77. --- client/cmddata.c | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 4cd06e86f..2b548816b 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -302,13 +302,14 @@ int Cmdaskrawdemod(const char *Cmd) //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); int lastBit = 0; //set first clock check uint32_t bitnum = 0; //output counter - uint8_t tol = clk; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely uint32_t iii = 0; uint32_t gLen = GraphTraceLen; if (gLen > 500) gLen=500; uint8_t errCnt =0; - + uint32_t bestStart = GraphTraceLen; + uint32_t bestErrCnt = (GraphTraceLen/1000); //PrintAndLog("DEBUG - lastbit - %d",lastBit); //loop to find first wave that works @@ -317,32 +318,32 @@ int Cmdaskrawdemod(const char *Cmd) lastBit=iii-clk; //loop through to see if this start location works for (i = iii; i < GraphTraceLen; ++i) { - if ((GraphBuffer[i] >= high) && ((i-lastBit)>(clk-((int)clk/tol)))) { // && GraphBuffer[i-1] < high + if ((GraphBuffer[i] >= high) && ((i-lastBit)>(clk-tol))){ lastBit+=clk; BitStream[bitnum] = invert; bitnum++; - } else if ((GraphBuffer[i] <= low) && ((i-lastBit)>(clk-((int)clk/tol)))){ + } else if ((GraphBuffer[i] <= low) && ((i-lastBit)>(clk-tol))){ //low found and we are expecting a bar lastBit+=clk; BitStream[bitnum] = 1-invert; bitnum++; } else { //mid value found or no bar supposed to be here - if ((i-lastBit)>(clk+((int)(clk/tol)))){ + if ((i-lastBit)>(clk+tol)){ //should have hit a high or low based on clock!! - /* + //debug - PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(clk/tol)))),(lastBit+(clk+((int)(clk/tol)))),lastBit); + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); if (bitnum > 0){ BitStream[bitnum]=77; bitnum++; } - */ + errCnt++; lastBit+=clk;//skip over until hit too many errors - if (errCnt>((GraphTraceLen/1000)*2)){ //allow 2 errors for every 1000 samples else start over + if (errCnt>((GraphTraceLen/1000))){ //allow 1 error for every 1000 samples else start over errCnt=0; bitnum=0;//start over break; @@ -350,11 +351,21 @@ int Cmdaskrawdemod(const char *Cmd) } } } - - //debug - if ((bitnum>64) && (BitStream[bitnum-1]!=77)) break; - - } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(GraphTraceLen/1000))) { + //possible good read + if (errCnt==0) break; //great read - finish + if (bestStart = iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt=gLen){ //exhausted test + //if there was a ok test go back to that one and re-run the best run (then dump after that run) + if (bestErrCnt < (GraphTraceLen/1000)) iii=bestStart; + } } if (bitnum>16){ PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); @@ -367,7 +378,7 @@ int Cmdaskrawdemod(const char *Cmd) RepaintGraphWindow(); //output if (errCnt>0){ - PrintAndLog("# Errors during Demoding: %d",errCnt); + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); } PrintAndLog("ASK decoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits From 0e74c023bd73e4516652f1656794a2edc2b12abc Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 24 Dec 2014 11:48:41 -0500 Subject: [PATCH 031/133] Created new detectclock function + EM decode addons new detectclock is somewhat more reliable for ASK modulated tags. added this detect to askrawdemod if no clock in passed as an argument. also added more EM ID formats to output --- client/cmddata.c | 52 ++++++++++++++------------- client/graph.c | 92 ++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 113 insertions(+), 31 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 2b548816b..e56c4e034 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -11,6 +11,8 @@ #include #include #include +#include + #include #include "proxmark3.h" #include "data.h" @@ -183,7 +185,7 @@ int Em410xDecode(const char *Cmd) // otherwise could be a void with no arguments //set defaults int high=0, low=0; - uint32_t hi=0, lo=0; + uint64_t lo=0; //hi=0, uint32_t i = 0; uint32_t initLoopMax = 1000; @@ -219,8 +221,8 @@ restart: if (parityTest== ((parityTest>>1)<<1)){ parityTest=0; for (ii=0; ii<4;++ii){ - hi = (hi<<1)|(lo>>31); - lo=(lo<<1)|(GraphBuffer[(i*5)+ii+idx]); + //hi = (hi<<1)|(lo>>31); + lo=(lo<<1LL)|(GraphBuffer[(i*5)+ii+idx]); } //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,GraphBuffer[idx+ii+(i*5)-5],GraphBuffer[idx+ii+(i*5)-4],GraphBuffer[idx+ii+(i*5)-3],GraphBuffer[idx+ii+(i*5)-2],GraphBuffer[idx+ii+(i*5)-1],lo); }else {//parity failed @@ -234,24 +236,27 @@ restart: } //skip last 5 bit parity test for simplicity. - //output em id - PrintAndLog("EM TAG ID : %02x%08x", hi, lo); //get Unique ID - uint32_t iii=1; - uint32_t id2hi=0,id2lo=0; - for (i=0;i<8;i++){ - id2hi=(id2hi<<1)|((hi & (iii<<(i)))>>i); - } - for (ii=4; ii>0;ii--){ + uint64_t iii=1; + uint64_t id2lo=0; //id2hi=0, + //for (i=0;i<8;i++){ //for uint32 instead of uint64 + // id2hi=(id2hi<<1)|((hi & (iii<<(i)))>>i); + //} + for (ii=5; ii>0;ii--){ for (i=0;i<8;i++){ - id2lo=(id2lo<<1)|((lo & (iii<<(i+((ii-1)*8))))>>(i+((ii-1)*8))); + id2lo=(id2lo<<1LL)|((lo & (iii<<(i+((ii-1)*8))))>>(i+((ii-1)*8))); } } - PrintAndLog("Unique TAG ID: %02x%08x", id2hi, id2lo); - PrintAndLog("DEZ 8 : %08d",lo & 0xFFFFFF); - PrintAndLog("DEZ 10 : %010d",lo & 0xFFFFFF); - PrintAndLog("DEZ 5.5 : %05d.%05d",(lo>>16) & 0xFFFF,lo & 0xFFFF); - PrintAndLog("DEZ 3.5A : %03d.%05d",hi,lo &0xFFFF); + //output em id + PrintAndLog("EM TAG ID : %010llx", lo); + PrintAndLog("Unique TAG ID: %010llx", id2lo); //id2hi, + PrintAndLog("DEZ 8 : %08lld",lo & 0xFFFFFF); + PrintAndLog("DEZ 10 : %010lld",lo & 0xFFFFFF); + PrintAndLog("DEZ 5.5 : %05lld.%05lld",(lo>>16LL) & 0xFFFF,(lo & 0xFFFF)); + PrintAndLog("DEZ 3.5A : %03lld.%05lld",(lo>>32ll),(lo & 0xFFFF)); + PrintAndLog("DEZ 14/IK2 : %014lld",lo); + PrintAndLog("DEZ 15/IK3 : %015lld",id2lo); + PrintAndLog("Other : %05lld_%03lld_%08lld",(lo&0xFFFF),((lo>>16LL) & 0xFF),(lo & 0xFFFFFF)); return 0; }else{ idx++; @@ -269,13 +274,12 @@ int Cmdaskrawdemod(const char *Cmd) uint32_t i; int invert=0; //invert default int high = 0, low = 0; - int clk=64; //clock default + int clk=DetectClock(0); //clock default uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0}; - sscanf(Cmd, "%i %i", &clk, &invert); - if (!(clk>8)){ - PrintAndLog("Invalid argument: %s",Cmd); - return 0; - } + + sscanf(Cmd, "%i %i", &clk, &invert); + if (clk<8) clk =64; + if (clk<32) clk=32; if (invert != 0 && invert != 1) { PrintAndLog("Invalid argument: %s", Cmd); return 0; @@ -355,7 +359,7 @@ int Cmdaskrawdemod(const char *Cmd) if ((bitnum > (64+errCnt)) && (errCnt<(GraphTraceLen/1000))) { //possible good read if (errCnt==0) break; //great read - finish - if (bestStart = iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish if (errCnt peak) peak = GraphBuffer[i]; + // peak=(int)(peak*.75); for (i = 1; i < GraphTraceLen; ++i) { - /* If this is the beginning of a peak */ - if (GraphBuffer[i - 1] != GraphBuffer[i] && GraphBuffer[i] == peak) + // If this is the beginning of a peak + if (GraphBuffer[i - 1] != GraphBuffer[i] && GraphBuffer[i] >= peak) { - /* Find lowest difference between peaks */ + // Find lowest difference between peaks if (lastpeak && i - lastpeak < clock) clock = i - lastpeak; lastpeak = i; @@ -72,12 +75,84 @@ int DetectClock(int peak) return clock; } +*/ + +// by marshmellow +// not perfect especially with lower clocks or VERY good antennas (heavy wave clipping) +// maybe somehow adjust peak trimming value based on samples to fix? +int DetectClock(int peak) +{ + int i=0; + int low=0; + int clk[]={16,32,40,50,64,100,128,256}; + if (!peak){ + for (i=0;ipeak){ + peak = GraphBuffer[i]; + } + if(GraphBuffer[i]=peak) || (GraphBuffer[ii]<=low)){ + //numbits=0; + //good=1; + errCnt[clkCnt]=0; + for (i=0; i<((int)(GraphTraceLen/clk[clkCnt])-1); ++i){ + if (GraphBuffer[ii+(i*clk[clkCnt])]>=peak || GraphBuffer[ii+(i*clk[clkCnt])]<=low){ + //numbits++; + }else if(GraphBuffer[ii+(i*clk[clkCnt])-tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(GraphBuffer[ii+(i*clk[clkCnt])+tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + //numbits=0; + //good=0; + errCnt[clkCnt]++; + //break; + } + } + if(errCnt[clkCnt]==0) return clk[clkCnt]; + if(errCnt[clkCnt] Date: Wed, 24 Dec 2014 13:01:09 -0500 Subject: [PATCH 032/133] rename askrawdemod to askmandemod --- client/cmddata.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index e56c4e034..be6e35d58 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -269,7 +269,7 @@ restart: //by marshmellow //takes 2 arguments - clock and invert both as integers //prints binary found and saves in graphbuffer for further commands -int Cmdaskrawdemod(const char *Cmd) +int Cmdaskmandemod(const char *Cmd) { uint32_t i; int invert=0; //invert default @@ -315,7 +315,6 @@ int Cmdaskrawdemod(const char *Cmd) uint32_t bestStart = GraphTraceLen; uint32_t bestErrCnt = (GraphTraceLen/1000); //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works for (iii=0; iii < gLen; ++iii){ if ((GraphBuffer[iii]>=high)||(GraphBuffer[iii]<=low)){ @@ -372,6 +371,7 @@ int Cmdaskrawdemod(const char *Cmd) } } if (bitnum>16){ + PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); //move BitStream back to GraphBuffer ClearGraph(0); @@ -1544,7 +1544,7 @@ static command_t CommandTable[] = {"help", CmdHelp, 1, "This help"}, {"amp", CmdAmp, 1, "Amplify peaks"}, {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, - {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate simple ASK tags and output binary (args optional-defaults='64 0')"}, + {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, From eb191de615e499035904263bcbdbff21539dd103 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Sun, 28 Dec 2014 20:33:32 -0500 Subject: [PATCH 033/133] LF Demod streamlining one shared location for demoding lf for arm and client. also added a few raw demod commands. --- armsrc/Makefile | 1 + armsrc/lfops.c | 162 +++++++++- client/Makefile | 1 + client/cmddata.c | 764 ++++++++++++++++------------------------------- client/cmddata.h | 1 + common/lfdemod.c | 692 ++++++++++++++++++++++++++++++++++++++++++ common/lfdemod.h | 28 ++ 7 files changed, 1142 insertions(+), 507 deletions(-) create mode 100644 common/lfdemod.c create mode 100644 common/lfdemod.h diff --git a/armsrc/Makefile b/armsrc/Makefile index e10c10019..6f0a2aefd 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -35,6 +35,7 @@ ARMSRC = fpgaloader.c \ legicrf.c \ iso14443crc.c \ crc16.c \ + lfdemod.c \ $(SRC_ISO14443a) \ $(SRC_ISO14443b) \ $(SRC_CRAPTO1) \ diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 94d9d1fb8..0ed1c0c30 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -14,6 +14,7 @@ #include "hitag2.h" #include "crc16.h" #include "string.h" +#include "../common/lfdemod.h" /** @@ -629,7 +630,7 @@ void CmdHIDsimTAG(int hi, int lo, int ledcontrol) if (ledcontrol) LED_A_OFF(); } - +/* //translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_demod(uint8_t * dest, size_t size) { @@ -728,11 +729,106 @@ size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxCons }//end for return numBits; } +*/ + // loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; + size_t size=0; //, found=0; + uint32_t hi2=0, hi=0, lo=0; + + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); + + while(!BUTTON_PRESS()) { + + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + if (size < 2000) continue; + // FSK demodulator + + int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); + + WDT_HIT(); + + if (bitLen>0 && lo>0){ + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + if (hi2 != 0){ //extra large HID tags + Dbprintf("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + }else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; + } + bitlen =idx3+19; + fc =0; + cardnum=0; + if(bitlen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + //Dbprintf("TAG ID: %x%08x (%d)", + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + // reset + hi2 = hi = lo = 0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); +} + +/* +// loop to get raw HID waveform then FSK demodulate the TAG ID from it +void CmdHIDdemodFSK2(int findone, int *high, int *low, int ledcontrol) +{ + uint8_t *dest = (uint8_t *)BigBuf; + size_t size=0,idx=0; //, found=0; uint32_t hi2=0, hi=0, lo=0; @@ -865,7 +961,9 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) DbpString("Stopped"); if (ledcontrol) LED_A_OFF(); } +*/ +/* uint32_t bytebits_to_byte(uint8_t* src, int numbits) { uint32_t num = 0; @@ -876,8 +974,69 @@ uint32_t bytebits_to_byte(uint8_t* src, int numbits) } return num; } +*/ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) +{ + uint8_t *dest = (uint8_t *)BigBuf; + size_t size=0; + int idx=0; + uint32_t code=0, code2=0; + + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); + + while(!BUTTON_PRESS()) { + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + //make sure buffer has data + if (size < 2000) continue; + //fskdemod and get start index + idx = IOdemodFSK(dest,size); + if (idx>0){ + //valid tag found + + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + if(findone){ //only print binary if we are doing one + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); + Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); + } + code = bytebits_to_byte(dest+idx,32); + code2 = bytebits_to_byte(dest+idx+32,32); + short version = bytebits_to_byte(dest+idx+27,8); //14,4 + uint8_t facilitycode = bytebits_to_byte(dest+idx+19,8) ; + uint16_t number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 + + Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); + // if we're only looking for one tag + if (findone){ + if (ledcontrol) LED_A_OFF(); + //LED_A_OFF(); + return; + } + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); +} +/* +void CmdIOdemodFSK2(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; size_t size=0, idx=0; @@ -958,6 +1117,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) DbpString("Stopped"); if (ledcontrol) LED_A_OFF(); } +*/ /*------------------------------ * T5555/T5557/T5567 routines diff --git a/client/Makefile b/client/Makefile index 05ffc6671..b2b215e17 100644 --- a/client/Makefile +++ b/client/Makefile @@ -70,6 +70,7 @@ CMDSRCS = nonce2key/crapto1.c\ graph.c \ ui.c \ cmddata.c \ + lfdemod.c \ cmdhf.c \ cmdhf14a.c \ cmdhf14b.c \ diff --git a/client/cmddata.c b/client/cmddata.c index be6e35d58..607121f01 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -11,8 +11,7 @@ #include #include #include -#include - +//#include #include #include "proxmark3.h" #include "data.h" @@ -22,6 +21,7 @@ #include "util.h" #include "cmdmain.h" #include "cmddata.h" +#include "../common/lfdemod.h" static int CmdHelp(const char *Cmd); @@ -90,6 +90,8 @@ int Cmdaskdemod(const char *Cmd) else if (GraphBuffer[i] < low) low = GraphBuffer[i]; } + high=abs(high*.75); + low=abs(low*.75); if (c != 0 && c != 1) { PrintAndLog("Invalid argument: %s", Cmd); return 0; @@ -123,32 +125,7 @@ int Cmdaskdemod(const char *Cmd) return 0; } -void printBitStream(int BitStream[], uint32_t bitLen){ - uint32_t i = 0; - if (bitLen<16) return; - if (bitLen>512) bitLen=512; - for (i = 0; i < (bitLen-16); i+=16) { - PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", - BitStream[i], - BitStream[i+1], - BitStream[i+2], - BitStream[i+3], - BitStream[i+4], - BitStream[i+5], - BitStream[i+6], - BitStream[i+7], - BitStream[i+8], - BitStream[i+9], - BitStream[i+10], - BitStream[i+11], - BitStream[i+12], - BitStream[i+13], - BitStream[i+14], - BitStream[i+15]); - } - return; -} -void printBitStream2(uint8_t BitStream[], uint32_t bitLen){ +void printBitStream(uint8_t BitStream[], uint32_t bitLen){ uint32_t i = 0; if (bitLen<16) { PrintAndLog("Too few bits found: %d",bitLen); @@ -176,219 +153,183 @@ void printBitStream2(uint8_t BitStream[], uint32_t bitLen){ } return; } - -//by marshmellow -//takes 1s and 0s and searches for EM410x format - output EM ID -int Em410xDecode(const char *Cmd) +void printEM410x(uint64_t id) { - //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future - // otherwise could be a void with no arguments - //set defaults - int high=0, low=0; - uint64_t lo=0; //hi=0, - - uint32_t i = 0; - uint32_t initLoopMax = 1000; - if (initLoopMax>GraphTraceLen) initLoopMax=GraphTraceLen; - - for (;i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values - { - if (GraphBuffer[i] > high) - high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) - low = GraphBuffer[i]; - } - if (((high !=1)||(low !=0))){ //allow only 1s and 0s - PrintAndLog("no data found"); - return 0; - } - uint8_t parityTest=0; - // 111111111 bit pattern represent start of frame - int frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; - uint32_t idx = 0; - uint32_t ii=0; - uint8_t resetCnt = 0; - while( (idx + 64) < GraphTraceLen) { -restart: - // search for a start of frame marker - if ( memcmp(GraphBuffer+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=9;//sizeof(frame_marker_mask); - for (i=0; i<10;i++){ - for(ii=0; ii<5; ++ii){ - parityTest += GraphBuffer[(i*5)+ii+idx]; - } - if (parityTest== ((parityTest>>1)<<1)){ - parityTest=0; - for (ii=0; ii<4;++ii){ - //hi = (hi<<1)|(lo>>31); - lo=(lo<<1LL)|(GraphBuffer[(i*5)+ii+idx]); - } - //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,GraphBuffer[idx+ii+(i*5)-5],GraphBuffer[idx+ii+(i*5)-4],GraphBuffer[idx+ii+(i*5)-3],GraphBuffer[idx+ii+(i*5)-2],GraphBuffer[idx+ii+(i*5)-1],lo); - }else {//parity failed - //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,GraphBuffer[idx+ii+(i*5)-5],GraphBuffer[idx+ii+(i*5)-4],GraphBuffer[idx+ii+(i*5)-3],GraphBuffer[idx+ii+(i*5)-2],GraphBuffer[idx+ii+(i*5)-1]); - parityTest=0; - idx-=8; - if (resetCnt>5)return 0; - resetCnt++; - goto restart;//continue; - } - } - //skip last 5 bit parity test for simplicity. - - //get Unique ID + if (id !=0){ uint64_t iii=1; uint64_t id2lo=0; //id2hi=0, - //for (i=0;i<8;i++){ //for uint32 instead of uint64 - // id2hi=(id2hi<<1)|((hi & (iii<<(i)))>>i); - //} + uint32_t ii=0; + uint32_t i=0; for (ii=5; ii>0;ii--){ for (i=0;i<8;i++){ - id2lo=(id2lo<<1LL)|((lo & (iii<<(i+((ii-1)*8))))>>(i+((ii-1)*8))); + id2lo=(id2lo<<1LL)|((id & (iii<<(i+((ii-1)*8))))>>(i+((ii-1)*8))); } } //output em id - PrintAndLog("EM TAG ID : %010llx", lo); + PrintAndLog("EM TAG ID : %010llx", id); PrintAndLog("Unique TAG ID: %010llx", id2lo); //id2hi, - PrintAndLog("DEZ 8 : %08lld",lo & 0xFFFFFF); - PrintAndLog("DEZ 10 : %010lld",lo & 0xFFFFFF); - PrintAndLog("DEZ 5.5 : %05lld.%05lld",(lo>>16LL) & 0xFFFF,(lo & 0xFFFF)); - PrintAndLog("DEZ 3.5A : %03lld.%05lld",(lo>>32ll),(lo & 0xFFFF)); - PrintAndLog("DEZ 14/IK2 : %014lld",lo); + PrintAndLog("DEZ 8 : %08lld",id & 0xFFFFFF); + PrintAndLog("DEZ 10 : %010lld",id & 0xFFFFFF); + PrintAndLog("DEZ 5.5 : %05lld.%05lld",(id>>16LL) & 0xFFFF,(id & 0xFFFF)); + PrintAndLog("DEZ 3.5A : %03lld.%05lld",(id>>32ll),(id & 0xFFFF)); + PrintAndLog("DEZ 14/IK2 : %014lld",id); PrintAndLog("DEZ 15/IK3 : %015lld",id2lo); - PrintAndLog("Other : %05lld_%03lld_%08lld",(lo&0xFFFF),((lo>>16LL) & 0xFF),(lo & 0xFFFFFF)); - return 0; - }else{ - idx++; - } + PrintAndLog("Other : %05lld_%03lld_%08lld",(id&0xFFFF),((id>>16LL) & 0xFF),(id & 0xFFFFFF)); + } + return; +} + +int CmdEm410xDecode(const char *Cmd) +{ + uint64_t id=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + uint32_t i=0; + for (i=0;iGraphTraceLen) initLoopMax=GraphTraceLen; - // Detect high and lows - PrintAndLog("Using Clock: %d and invert=%d",clk,invert); - for (i = 0; i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values - { - if (GraphBuffer[i] > high) - high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) - low = GraphBuffer[i]; - } - if ((high < 30) && ((high !=1)||(low !=-1))){ //throw away static - allow 1 and -1 (in case of threshold command first) + uint32_t BitLen = getFromGraphBuf(BitStream); + + int errCnt=0; + errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); + if (errCnt==-1){ //if fatal error (or -1) PrintAndLog("no data found"); return 0; - } - //13% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)(0.75*high); - low=(int)(0.75*low); - - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - uint32_t iii = 0; - uint32_t gLen = GraphTraceLen; - if (gLen > 500) gLen=500; - uint8_t errCnt =0; - uint32_t bestStart = GraphTraceLen; - uint32_t bestErrCnt = (GraphTraceLen/1000); - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((GraphBuffer[iii]>=high)||(GraphBuffer[iii]<=low)){ - lastBit=iii-clk; - //loop through to see if this start location works - for (i = iii; i < GraphTraceLen; ++i) { - if ((GraphBuffer[i] >= high) && ((i-lastBit)>(clk-tol))){ - lastBit+=clk; - BitStream[bitnum] = invert; - bitnum++; - } else if ((GraphBuffer[i] <= low) && ((i-lastBit)>(clk-tol))){ - //low found and we are expecting a bar - lastBit+=clk; - BitStream[bitnum] = 1-invert; - bitnum++; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(clk+tol)){ - //should have hit a high or low based on clock!! - - - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BitStream[bitnum]=77; - bitnum++; - } - - - errCnt++; - lastBit+=clk;//skip over until hit too many errors - if (errCnt>((GraphTraceLen/1000))){ //allow 1 error for every 1000 samples else start over - errCnt=0; - bitnum=0;//start over - break; - } - } - } - } - //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(GraphTraceLen/1000))) { - //possible good read - if (errCnt==0) break; //great read - finish - if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish - if (errCnt=gLen){ //exhausted test - //if there was a ok test go back to that one and re-run the best run (then dump after that run) - if (bestErrCnt < (GraphTraceLen/1000)) iii=bestStart; - } - } - if (bitnum>16){ - - PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + } + PrintAndLog("Using Clock: %d and invert=%d",clk,invert); + //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); //move BitStream back to GraphBuffer + /* + ClearGraph(0); + for (i=0; i < bitnum; ++i){ + GraphBuffer[i]=BitStream[i]; + } + GraphTraceLen=bitnum; + RepaintGraphWindow(); + */ + //output + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("ASK/Manchester decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printBitStream(BitStream,BitLen); + uint64_t lo =0; + lo = Em410xDecode(BitStream,BitLen); + printEM410x(lo); + + return 0; +} + +//by marshmellow +//biphase demod = 10 (or 01)=1 / 00 (or 11)=0 + + +//by marshmellow +//manchester demod +//stricktly take 10 and 01 and convert to 0 and 1 +int Cmdmandecoderaw(const char *Cmd) +{ + int i =0; + int errCnt=0; + int bitnum=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + int high=0,low=0; + for (;ihigh) high=GraphBuffer[i]; + else if(GraphBuffer[i]1 || low <0 ){ + PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode"); + return 0; + } + bitnum=i; + errCnt=manrawdemod(BitStream,&bitnum); + PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); + printBitStream(BitStream,bitnum); + if (errCnt==0){ + //put back in graphbuffer ClearGraph(0); - for (i=0; i < bitnum; ++i){ + for (i=0; i0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - } - PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - printBitStream2(BitStream,bitnum); - Em410xDecode(Cmd); - } + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("ASK demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printBitStream(BitStream,BitLen); + return 0; } @@ -536,139 +477,8 @@ int CmdDetectClockRate(const char *Cmd) PrintAndLog("Auto-detected clock rate: %d", clock); return 0; } - -//by marshmellow -//demod GraphBuffer wave to 0s and 1s for each wave - 0s for short waves 1s for long waves -size_t fsk_wave_demod(int size) -{ - uint32_t last_transition = 0; - uint32_t idx = 1; - uint32_t maxVal = 0; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - for(idx=1; idx1 transition - if (GraphBuffer[idx-1] < GraphBuffer[idx]) { // 0 -> 1 transition - if (idx-last_transition<6){ - // do nothing with extra garbage (shouldn't be any) noise tolerance? - } else if(idx-last_transition < 9) { - GraphBuffer[numBits]=1; - // Other fsk demods reverse this making the short waves 1 and long waves 0 - // this is really backwards... smaller waves will typically be 0 and larger 1 [marshmellow] - // but will leave as is and invert when needed later - } else{ - GraphBuffer[numBits]=0; - } - last_transition = idx; - numBits++; - // PrintAndLog("numbits %d",numBits); - } - } - return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 -} -uint32_t myround(float f) -{ - if (f >= UINT_MAX) return UINT_MAX; - return (uint32_t) (f + (float)0.5); -} - -//by marshmellow (from holiman's base) -//translate 11111100000 to 10 -size_t aggregate_bits(int size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert) //,uint8_t l2h_crossing_value -{ - int lastval=GraphBuffer[0]; - uint32_t idx=0; - size_t numBits=0; - uint32_t n=1; - uint32_t n2=0; - for( idx=1; idx < size; idx++) { - - if (GraphBuffer[idx]==lastval) { - n++; - continue; - } - // if lastval was 1, we have a 1->0 crossing - if ( GraphBuffer[idx-1]==1 ) { - n=myround((float)(n+1)/((float)(rfLen)/(float)8)); //-2 noise tolerance - - // n=(n+1) / h2l_crossing_value; - //truncating could get us into trouble - //now we will try with actual clock (RF/64 or RF/50) variable instead - //then devide with float casting then truncate after more acurate division - //and round to nearest int - //like n = (((float)n)/(float)rfLen/(float)10); - } else {// 0->1 crossing - n=myround((float)(n+1)/((float)(rfLen-2)/(float)10)); // as int 120/6 = 20 as float 120/(64/10) = 18 (18.75) - //n=(n+1) / l2h_crossing_value; - } - if (n == 0) n = 1; //this should never happen... should we error if it does? - - if (n < maxConsequtiveBits) // Consecutive //when the consecutive bits are low - the noise tolerance can be high - //if it is high then we must be careful how much noise tolerance we allow - { - if (invert==0){ // do not invert bits - for (n2=0; n2 (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size - printBitStream(GraphBuffer,size); - - ClearGraph(1); + printBitStream(BitStream,size); return 0; } -//by marshmellow +//by marshmellow (based on existing demod + holiman's refactor) +//HID Prox demod - FSK RF/50 with preamble of 00011101 (then manchester encoded) +//print full HID Prox ID and some bit format details if found int CmdFSKdemodHID(const char *Cmd) { //raw fsk demod no manchester decoding no start bit finding just get binary from wave - //set defaults - uint8_t rfLen = 50; - uint8_t invert=0;//param_get8(Cmd, 0); - size_t idx=0; uint32_t hi2=0, hi=0, lo=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + uint32_t BitLen = getFromGraphBuf(BitStream); //get binary from fsk wave - size_t size = fskdemod(rfLen,invert); - - // final loop, go over previously decoded fsk data and now manchester decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - int frame_marker_mask[] = {1,1,1,0,0,0}; - int numshifts = 0; - idx = 0; - while( idx + 6 < size) { - // search for a start of frame marker - - if ( memcmp(GraphBuffer+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=6;//sizeof(frame_marker_mask); //size of int is >6 - while(GraphBuffer[idx] != GraphBuffer[idx+1] && idx < size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - hi2 = (hi2<<1)|(hi>>31); - hi = (hi<<1)|(lo>>31); - //Then, shift in a 0 or one into low - if (GraphBuffer[idx] && !GraphBuffer[idx+1]) // 1 0 - lo=(lo<<1)|0; - else // 0 1 - lo=(lo<<1)|1; - numshifts++; - idx += 2; + size_t size = HIDdemodFSK(BitStream,BitLen,&hi2,&hi,&lo); + if (size<0){ + PrintAndLog("Error demoding fsk"); + return 0; + } + if (hi2 != 0){ //extra large HID tags + PrintAndLog("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + } + else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 15) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; } - - //PrintAndLog("Num shifts: %d ", numshifts); - // Hopefully, we read a tag and hit upon the next frame marker - if(idx + 6 < size) - { - if ( memcmp(GraphBuffer+(idx), frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - if (hi2 != 0){ //extra large HID tags - PrintAndLog("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - } - else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t bitlen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 15) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - bitlen =idx3+19; - fc =0; - cardnum=0; - if(bitlen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(bitlen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(bitlen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - bitlen= 37; - fc =0; - cardnum=0; - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - - PrintAndLog("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); - ClearGraph(1); - return 0; - } - } + bitlen =idx3+19; + fc =0; + cardnum=0; + if(bitlen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); } - // reset - hi2 = hi = lo = 0; - numshifts = 0; - }else - { - idx++; } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + PrintAndLog("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + return 0; } - if (idx + sizeof(frame_marker_mask) >= size){ - PrintAndLog("start bits for hid not found"); - PrintAndLog("FSK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - printBitStream(GraphBuffer,size); - - } - ClearGraph(1); return 0; } //by marshmellow +//IO-Prox demod - FSK RF/64 with preamble of 000000001 +//print ioprox ID and some format details int CmdFSKdemodIO(const char *Cmd) { //raw fsk demod no manchester decoding no start bit finding just get binary from wave //set defaults - uint8_t rfLen = 64; - uint8_t invert=1; - size_t idx=0; - uint8_t testMax=0; + int idx=0; //test samples are not just noise if (GraphTraceLen < 64) return 0; - for(idx=0;idx<64;idx++){ - if (testMax40){ //Index map //0 10 20 30 40 50 60 //| | | | | | | @@ -861,43 +632,22 @@ int CmdFSKdemodIO(const char *Cmd) // //XSF(version)facility:codeone+codetwo (raw) //Handle the data - int mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 74); idx++) { - if ( memcmp(GraphBuffer + idx, mask, sizeof(mask))==0) { - //frame marker found - if (GraphBuffer[idx+17]==1 && GraphBuffer[idx+26]==1 && GraphBuffer[idx+35]==1 && GraphBuffer[idx+44]==1 && GraphBuffer[idx+53]==1){ - //confirmed proper separator bits found - - PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx], GraphBuffer[idx+1], GraphBuffer[idx+2], GraphBuffer[idx+3], GraphBuffer[idx+4], GraphBuffer[idx+5], GraphBuffer[idx+6], GraphBuffer[idx+7], GraphBuffer[idx+8]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+9], GraphBuffer[idx+10], GraphBuffer[idx+11],GraphBuffer[idx+12],GraphBuffer[idx+13],GraphBuffer[idx+14],GraphBuffer[idx+15],GraphBuffer[idx+16],GraphBuffer[idx+17]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+18], GraphBuffer[idx+19], GraphBuffer[idx+20],GraphBuffer[idx+21],GraphBuffer[idx+22],GraphBuffer[idx+23],GraphBuffer[idx+24],GraphBuffer[idx+25],GraphBuffer[idx+26]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+27], GraphBuffer[idx+28], GraphBuffer[idx+29],GraphBuffer[idx+30],GraphBuffer[idx+31],GraphBuffer[idx+32],GraphBuffer[idx+33],GraphBuffer[idx+34],GraphBuffer[idx+35]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+36], GraphBuffer[idx+37], GraphBuffer[idx+38],GraphBuffer[idx+39],GraphBuffer[idx+40],GraphBuffer[idx+41],GraphBuffer[idx+42],GraphBuffer[idx+43],GraphBuffer[idx+44]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",GraphBuffer[idx+45], GraphBuffer[idx+46], GraphBuffer[idx+47],GraphBuffer[idx+48],GraphBuffer[idx+49],GraphBuffer[idx+50],GraphBuffer[idx+51],GraphBuffer[idx+52],GraphBuffer[idx+53]); - PrintAndLog("%d%d%d%d%d%d%d%d %d%d",GraphBuffer[idx+54],GraphBuffer[idx+55],GraphBuffer[idx+56],GraphBuffer[idx+57],GraphBuffer[idx+58],GraphBuffer[idx+59],GraphBuffer[idx+60],GraphBuffer[idx+61],GraphBuffer[idx+62],GraphBuffer[idx+63]); - - uint32_t code = bytebits_to_byte(GraphBuffer+idx,32); - uint32_t code2 = bytebits_to_byte(GraphBuffer+idx+32,32); - short version = bytebits_to_byte(GraphBuffer+idx+27,8); //14,4 - uint8_t facilitycode = bytebits_to_byte(GraphBuffer+idx+19,8) ; - uint16_t number = (bytebits_to_byte(GraphBuffer+idx+36,8)<<8)|(bytebits_to_byte(GraphBuffer+idx+45,8)); //36,9 - - PrintAndLog("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); - ClearGraph(1); - return 0; - } else { - PrintAndLog("thought we had a valid tag but did not match format"); - } - } - } - if (idx >= (size-74)){ - PrintAndLog("start bits for io prox not found"); - PrintAndLog("FSK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - printBitStream(GraphBuffer,size); - } - } - ClearGraph(1); + + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx], BitStream[idx+1], BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9], BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+27], BitStream[idx+28], BitStream[idx+29],BitStream[idx+30],BitStream[idx+31],BitStream[idx+32],BitStream[idx+33],BitStream[idx+34],BitStream[idx+35]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+36], BitStream[idx+37], BitStream[idx+38],BitStream[idx+39],BitStream[idx+40],BitStream[idx+41],BitStream[idx+42],BitStream[idx+43],BitStream[idx+44]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+45], BitStream[idx+46], BitStream[idx+47],BitStream[idx+48],BitStream[idx+49],BitStream[idx+50],BitStream[idx+51],BitStream[idx+52],BitStream[idx+53]); + PrintAndLog("%d%d%d%d%d%d%d%d %d%d",BitStream[idx+54],BitStream[idx+55],BitStream[idx+56],BitStream[idx+57],BitStream[idx+58],BitStream[idx+59],BitStream[idx+60],BitStream[idx+61],BitStream[idx+62],BitStream[idx+63]); + + uint32_t code = bytebits_to_byte(BitStream+idx,32); + uint32_t code2 = bytebits_to_byte(BitStream+idx+32,32); + short version = bytebits_to_byte(BitStream+idx+27,8); //14,4 + uint8_t facilitycode = bytebits_to_byte(BitStream+idx+19,8) ; + uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 + + PrintAndLog("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); return 0; } int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating @@ -1545,6 +1295,7 @@ static command_t CommandTable[] = {"amp", CmdAmp, 1, "Amplify peaks"}, {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, @@ -1562,6 +1313,7 @@ static command_t CommandTable[] = {"load", CmdLoad, 1, " -- Load trace (to graph window"}, {"ltrim", CmdLtrim, 1, " -- Trim samples from left of trace"}, {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, + {"manrawdecode", Cmdmandecoderaw, 1, "Manchester decode binary stream already in graph buffer"}, {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, {"norm", CmdNorm, 1, "Normalize max/min to +/-500"}, {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, diff --git a/client/cmddata.h b/client/cmddata.h index 8a2028284..8bbbf1950 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -18,6 +18,7 @@ int CmdData(const char *Cmd); int CmdAmp(const char *Cmd); int Cmdaskdemod(const char *Cmd); int Cmdaskrawdemod(const char *Cmd); +int Cmdaskmandemod(const char *Cmd); int CmdAutoCorr(const char *Cmd); int CmdBitsamples(const char *Cmd); int CmdBitstream(const char *Cmd); diff --git a/common/lfdemod.c b/common/lfdemod.c new file mode 100644 index 000000000..1d668a143 --- /dev/null +++ b/common/lfdemod.c @@ -0,0 +1,692 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2014 +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// Low frequency commands +//----------------------------------------------------------------------------- + +//#include +#include +#include +//#include +//#include +#include "lfdemod.h" +//#include "proxmark3.h" +//#include "data.h" +//#include "ui.h" +//#include "graph.h" +//#include "cmdparser.h" +//#include "util.h" +//#include "cmdmain.h" +//#include "cmddata.h" +//uint8_t BinStream[MAX_GRAPH_TRACE_LEN]; +//uint8_t BinStreamLen; + +//by marshmellow +//takes 1s and 0s and searches for EM410x format - output EM ID +uint64_t Em410xDecode(uint8_t BitStream[],uint32_t BitLen) +{ + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + int high=0, low=0; + uint64_t lo=0; //hi=0, + + uint32_t i = 0; + uint32_t initLoopMax = 1000; + if (initLoopMax>BitLen) initLoopMax=BitLen; + + for (;i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values + { + if (BitStream[i] > high) + high = BitStream[i]; + else if (BitStream[i] < low) + low = BitStream[i]; + } + if (((high !=1)||(low !=0))){ //allow only 1s and 0s + // PrintAndLog("no data found"); + return 0; + } + uint8_t parityTest=0; + // 111111111 bit pattern represent start of frame + uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t ii=0; + uint8_t resetCnt = 0; + while( (idx + 64) < BitLen) { +restart: + // search for a start of frame marker + if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=9;//sizeof(frame_marker_mask); + for (i=0; i<10;i++){ + for(ii=0; ii<5; ++ii){ + parityTest += BitStream[(i*5)+ii+idx]; + } + if (parityTest== ((parityTest>>1)<<1)){ + parityTest=0; + for (ii=0; ii<4;++ii){ + //hi = (hi<<1)|(lo>>31); + lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); + } + //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); + }else {//parity failed + //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); + parityTest=0; + idx-=8; + if (resetCnt>5)return 0; + resetCnt++; + goto restart;//continue; + } + } + //skip last 5 bit parity test for simplicity. + return lo; + }else{ + idx++; + } + } + return 0; +} + +//by marshmellow +//takes 2 arguments - clock and invert both as integers +//attempts to demodulate ask while decoding manchester +//prints binary found and saves in graphbuffer for further commands +int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) +{ + uint32_t i; + //int invert=0; //invert default + int high = 0, low = 0; + *clk=DetectClock2(BinStream,(size_t)*BitLen,*clk); //clock default + uint8_t BitStream[MAX_BitStream_LEN] = {0}; + + //sscanf(Cmd, "%i %i", &clk, &invert); + if (*clk<8) *clk =64; + if (*clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert=0; + uint32_t initLoopMax = 1000; + if (initLoopMax>*BitLen) initLoopMax=*BitLen; + // Detect high and lows + //PrintAndLog("Using Clock: %d and invert=%d",clk,invert); + for (i = 0; i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 30) && ((high !=1)||(low !=-1))){ //throw away static - allow 1 and -1 (in case of threshold command first) + //PrintAndLog("no data found"); + return -1; + } + //13% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)(0.75*high); + low=(int)(0.75*low); + + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint32_t iii = 0; + uint32_t gLen = *BitLen; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + uint32_t bestStart = *BitLen; + uint32_t bestErrCnt = (*BitLen/1000); + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *BitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BitStream[bitnum] = *invert; + bitnum++; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BitStream[bitnum] = 1-*invert; + bitnum++; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BitStream[bitnum]=77; + bitnum++; + } + + + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>((*BitLen/1000))){ //allow 1 error for every 1000 samples else start over + errCnt=0; + bitnum=0;//start over + break; + } + } + } + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(*BitLen/1000))) { + //possible good read + if (errCnt==0) break; //great read - finish + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt=gLen){ //exhausted test + //if there was a ok test go back to that one and re-run the best run (then dump after that run) + if (bestErrCnt < (*BitLen/1000)) iii=bestStart; + } + } + if (bitnum>16){ + + // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to GraphBuffer + //ClearGraph(0); + for (i=0; i < bitnum; ++i){ + BinStream[i]=BitStream[i]; + } + *BitLen=bitnum; + //RepaintGraphWindow(); + //output + //if (errCnt>0){ + // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + //} + // PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + // printBitStream2(BitStream,bitnum); + // Em410xDecode(Cmd); + } + return errCnt; +} + +//by marshmellow +//take 10 and 01 and manchester decode +//run through 2 times and take least errCnt +int manrawdemod(uint8_t * BitStream, int *bitLen) +{ + uint8_t BitStream2[MAX_BitStream_LEN]={0}; + int bitnum=0; + int errCnt =0; + int i=1; + int bestErr = 1000; + int bestRun = 0; + int finish = 0; + int ii=1; + for (ii=1;ii<3;++ii){ + i=1; + for (i=i+ii;i<*bitLen-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + BitStream2[bitnum++]=0; + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + BitStream2[bitnum++]=1; + } else { + BitStream2[bitnum++]=77; + errCnt++; + } + } + if (bestErr>errCnt){ + bestErr=errCnt; + bestRun=ii; + } + if (ii>1 || finish==1) { + if (bestRun==ii) { + break; + } else{ + ii=bestRun-1; + finish=1; + } + } + errCnt=0; + bitnum=0; + } + errCnt=bestErr; + if (errCnt<10){ + for (i=0; i*bitLen) initLoopMax=*bitLen; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 30) && ((high !=1)||(low !=-1))){ //throw away static - allow 1 and -1 (in case of threshold command first) + // PrintAndLog("no data found"); + return -1; + } + //13% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)(0.75*high); + low=(int)(0.75*low); + + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint32_t iii = 0; + uint32_t gLen = *bitLen; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + uint32_t bestStart = *bitLen; + uint32_t bestErrCnt = (*bitLen/1000); + uint8_t midBit=0; + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *bitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BitStream[bitnum] = *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BitStream[bitnum] = 1-*invert; + bitnum++; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= 1-*invert; + bitnum++; + } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= *invert; + bitnum++; + } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ + //no mid bar found + midBit=1; + BitStream[bitnum]= BitStream[bitnum-1]; + bitnum++; + } else { + //mid value found or no bar supposed to be here + + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BitStream[bitnum]=77; + bitnum++; + } + + + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over + errCnt=0; + bitnum=0;//start over + break; + } + } + } + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { + //possible good read + if (errCnt==0) break; //great read - finish + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt=gLen){ //exhausted test + //if there was a ok test go back to that one and re-run the best run (then dump after that run) + if (bestErrCnt < (*bitLen/1000)) iii=bestStart; + } + } + if (bitnum>16){ + + // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to BinStream + // ClearGraph(0); + for (i=0; i < bitnum; ++i){ + BinStream[i]=BitStream[i]; + } + *bitLen=bitnum; + // RepaintGraphWindow(); + //output + // if (errCnt>0){ + // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + // } + // PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + // printBitStream2(BitStream,bitnum); + //int errCnt=0; + //errCnt=manrawdemod(BitStream,bitnum); + + // Em410xDecode(Cmd); + } else return -1; + return errCnt; +} +//translate wave to 11111100000 (1 for each short wave 0 for each long wave) +size_t fsk_wave_demod2(uint8_t * dest, size_t size) +{ + uint32_t last_transition = 0; + uint32_t idx = 1; + uint32_t maxVal=0; + // // we don't care about actual value, only if it's more or less than a + // // threshold essentially we capture zero crossings for later analysis + + // we do care about the actual value as sometimes near the center of the + // wave we may get static that changes direction of wave for one value + // if our value is too low it might affect the read. and if our tag or + // antenna is weak a setting too high might not see anything. [marshmellow] + if (size<100) return 0; + for(idx=1; idx<100; idx++){ + if(maxVal1 transition + if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition + if (idx-last_transition<6){ + //do nothing with extra garbage + } else if (idx-last_transition < 9) { + dest[numBits]=1; + } else { + dest[numBits]=0; + } + last_transition = idx; + numBits++; + } + } + return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 +} + +uint32_t myround2(float f) +{ + if (f >= 2000) return 2000;//something bad happened + return (uint32_t) (f + (float)0.5); +} + +//translate 11111100000 to 10 +size_t aggregate_bits2(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, +{ + uint8_t lastval=dest[0]; + uint32_t idx=0; + size_t numBits=0; + uint32_t n=1; + + for( idx=1; idx < size; idx++) { + + if (dest[idx]==lastval) { + n++; + continue; + } + //if lastval was 1, we have a 1->0 crossing + if ( dest[idx-1]==1 ) { + n=myround2((float)(n+1)/((float)(rfLen)/(float)8)); + //n=(n+1) / h2l_crossing_value; + } else {// 0->1 crossing + n=myround2((float)(n+1)/((float)(rfLen-2)/(float)10)); + //n=(n+1) / l2h_crossing_value; + } + if (n == 0) n = 1; + + if(n < maxConsequtiveBits) //Consecutive + { + if(invert==0){ //invert bits + memset(dest+numBits, dest[idx-1] , n); + }else{ + memset(dest+numBits, dest[idx-1]^1 , n); + } + numBits += n; + } + n=0; + lastval=dest[idx]; + }//end for + return numBits; +} +//by marshmellow (from holiman's base) +// full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod) +int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert) +{ + //uint8_t h2l_crossing_value = 6; + //uint8_t l2h_crossing_value = 5; + + // if (rfLen==64) //currently only know settings for RF/64 change from default if option entered + // { + // h2l_crossing_value=8; //or 8 as 64/8 = 8 + // l2h_crossing_value=6; //or 6.4 as 64/10 = 6.4 + // } + // size_t size = GraphTraceLen; + // FSK demodulator + size = fsk_wave_demod2(dest, size); + size = aggregate_bits2(dest, size,rfLen,192,invert); + // size = aggregate_bits(size, h2l_crossing_value, l2h_crossing_value,192, invert); //192=no limit to same values + //done messing with GraphBuffer - repaint + //RepaintGraphWindow(); + return size; +} +// loop to get raw HID waveform then FSK demodulate the TAG ID from it +int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) +{ + + size_t idx=0; //, found=0; //size=0, + // FSK demodulator + size = fskdemod(dest, size,50,0); + + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; + int numshifts = 0; + idx = 0; + //one scan + while( idx + sizeof(frame_marker_mask) < size) { + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=sizeof(frame_marker_mask); + while(dest[idx] != dest[idx+1] && idx < size-2) + { + // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|0; + else // 0 1 + *lo=(*lo<<1)|1; + numshifts++; + idx += 2; + } + // Hopefully, we read a tag and hit upon the next frame marker + if(idx + sizeof(frame_marker_mask) < size) + { + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + //good return + return idx; + } + } + // reset + *hi2 = *hi = *lo = 0; + numshifts = 0; + }else { + idx++; + } + } + return -1; +} + +uint32_t bytebits_to_byte(uint8_t* src, int numbits) +{ + uint32_t num = 0; + for(int i = 0 ; i < numbits ; i++) + { + num = (num << 1) | (*src); + src++; + } + return num; +} + +int IOdemodFSK(uint8_t *dest, size_t size) +{ + size_t idx=0; + //make sure buffer has data + if (size < 64) return -1; + //test samples are not just noise + uint8_t testMax=0; + for(idx=0;idx<64;idx++){ + if (testMax170){ + // FSK demodulator + size = fskdemod(dest, size,64,1); + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 74); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + //frame marker found + if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ + //confirmed proper separator bits found + //return start position + return idx; + } + } + } + } + return 0; +} + +// by marshmellow +// not perfect especially with lower clocks or VERY good antennas (heavy wave clipping) +// maybe somehow adjust peak trimming value based on samples to fix? +int DetectClock2(uint8_t dest[], size_t size, int clock) +{ + int i=0; + int peak=0; + int low=0; + int clk[]={16,32,40,50,64,100,128,256}; + for (;i<8;++i) + if (clk[i]==clock) return clock; + if (!peak){ + for (i=0;ipeak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + errCnt[clkCnt]=0; + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt[clkCnt]++; + } + } + if(errCnt[clkCnt]==0) return clk[clkCnt]; + if(errCnt[clkCnt] + +int DetectClock2(uint8_t dest[], size_t size, int clock); +int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); +uint64_t Em410xDecode(uint8_t BitStream[],uint32_t BitLen); +int manrawdemod(uint8_t *BitStream, int *bitLen); +int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); +int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); +int IOdemodFSK(uint8_t *dest, size_t size); +int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert); +uint32_t bytebits_to_byte(uint8_t* src, int numbits); + +// +#define MAX_BitStream_LEN (1024*128) +//extern int BitStreamLen; + +#endif From 7db5f1ca25c2e451eac0f11e4e7eb9b1a9939ce3 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Sun, 28 Dec 2014 21:29:33 -0500 Subject: [PATCH 034/133] slight adjustment to include removed extra unneeded path --- armsrc/lfops.c | 2 +- client/cmddata.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 0ed1c0c30..2381a30fa 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -14,7 +14,7 @@ #include "hitag2.h" #include "crc16.h" #include "string.h" -#include "../common/lfdemod.h" +#include "lfdemod.h" /** diff --git a/client/cmddata.c b/client/cmddata.c index 607121f01..674a1bb5e 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -21,7 +21,7 @@ #include "util.h" #include "cmdmain.h" #include "cmddata.h" -#include "../common/lfdemod.h" +#include "lfdemod.h" static int CmdHelp(const char *Cmd); From 66707a3b3c59b7ac53231dda726b27389a9bfb70 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Mon, 29 Dec 2014 15:32:53 -0500 Subject: [PATCH 035/133] LF Demod bug fixes and add lf em em410xdemod fixed a few bugs in lf demod that the streamlining added. added new lf em em410xdemod command that loops until button pressed. (similar to lf hid fskdemod --- armsrc/appmain.c | 3 + armsrc/apps.h | 1 + armsrc/lfops.c | 359 +++++------------------------------- client/cmddata.c | 21 +-- client/cmdlfem4x.c | 15 ++ client/cmdlfem4x.h | 2 +- client/lualibs/commands.lua | 3 + common/lfdemod.c | 62 ++++--- common/lfdemod.h | 2 +- include/usb_cmd.h | 2 + 10 files changed, 105 insertions(+), 365 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 0f22ba90f..8347bed90 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -657,6 +657,9 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_IO_CLONE_TAG: // Clone IO tag by ID to T55x7 CopyIOtoT55x7(c->arg[0], c->arg[1], c->d.asBytes[0]); break; + case CMD_EM410X_DEMOD: + CmdEM410xdemod(c->arg[0], 0, 0, 1); + break; case CMD_EM410X_WRITE_TAG: WriteEM410x(c->arg[0], c->arg[1], c->arg[2]); break; diff --git a/armsrc/apps.h b/armsrc/apps.h index 011ad6953..ee9fea743 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -128,6 +128,7 @@ void AcquireRawBitsTI(void); void SimulateTagLowFrequency(int period, int gap, int ledcontrol); void CmdHIDsimTAG(int hi, int lo, int ledcontrol); void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol); +void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol); void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol); void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT); // Clone an ioProx card to T5557/T5567 void SimulateTagLowFrequencyBidir(int divisor, int max_bitlen); diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 2381a30fa..c5e244c23 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -630,106 +630,6 @@ void CmdHIDsimTAG(int hi, int lo, int ledcontrol) if (ledcontrol) LED_A_OFF(); } -/* -//translate wave to 11111100000 (1 for each short wave 0 for each long wave) -size_t fsk_demod(uint8_t * dest, size_t size) -{ - uint32_t last_transition = 0; - uint32_t idx = 1; - uint32_t maxVal=0; - // // we don't care about actual value, only if it's more or less than a - // // threshold essentially we capture zero crossings for later analysis - - // we do care about the actual value as sometimes near the center of the - // wave we may get static that changes direction of wave for one value - // if our value is too low it might affect the read. and if our tag or - // antenna is weak a setting too high might not see anything. [marshmellow] - if (size<100) return size; - for(idx=1; idx<100; idx++){ - if(maxVal1 transition - if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - if (idx-last_transition<6){ - //do nothing with extra garbage - } else if (idx-last_transition < 9) { - dest[numBits]=1; - } else { - dest[numBits]=0; - } - last_transition = idx; - numBits++; - } - } - return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 -} - -uint32_t myround(float f) -{ - if (f >= 2000) return 2000;//something bad happened - return (uint32_t) (f + (float)0.5); -} - -//translate 11111100000 to 10 -size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, -{ - uint8_t lastval=dest[0]; - uint32_t idx=0; - size_t numBits=0; - uint32_t n=1; - - for( idx=1; idx < size; idx++) { - - if (dest[idx]==lastval) { - n++; - continue; - } - //if lastval was 1, we have a 1->0 crossing - if ( dest[idx-1]==1 ) { - n=myround((float)(n+1)/((float)(rfLen)/(float)8)); - //n=(n+1) / h2l_crossing_value; - } else {// 0->1 crossing - n=myround((float)(n+1)/((float)(rfLen-2)/(float)10)); - //n=(n+1) / l2h_crossing_value; - } - if (n == 0) n = 1; - - if(n < maxConsequtiveBits) //Consecutive - { - if(invert==0){ //invert bits - memset(dest+numBits, dest[idx-1] , n); - }else{ - memset(dest+numBits, dest[idx-1]^1 , n); - } - numBits += n; - } - n=0; - lastval=dest[idx]; - }//end for - return numBits; -} -*/ // loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) @@ -818,20 +718,20 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) hi2 = hi = lo = 0; } WDT_HIT(); + //SpinDelay(50); } DbpString("Stopped"); if (ledcontrol) LED_A_OFF(); } -/* -// loop to get raw HID waveform then FSK demodulate the TAG ID from it -void CmdHIDdemodFSK2(int findone, int *high, int *low, int ledcontrol) +void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0,idx=0; //, found=0; - uint32_t hi2=0, hi=0, lo=0; - + size_t size=0; //, found=0; + uint32_t bitLen=0; + int clk=0, invert=0, errCnt=0; + uint64_t lo=0; // Configure to go in 125Khz listen mode LFSetupFPGAForADC(95, true); @@ -842,139 +742,40 @@ void CmdHIDdemodFSK2(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); size = sizeof(BigBuf); - if (size < 2000) continue; + if (size < 2000) continue; // FSK demodulator - size = fsk_demod(dest, size); - - // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns - // 1->0 : fc/8 in sets of 6 (RF/50 / 8 = 6.25) - // 0->1 : fc/10 in sets of 5 (RF/50 / 10= 5) - // do not invert - size = aggregate_bits(dest,size, 50,5,0); //6,5,5,0 - + //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); + bitLen=size; + //Dbprintf("DEBUG: Buffer got"); + errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); + //Dbprintf("DEBUG: ASK Got"); WDT_HIT(); - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; - int numshifts = 0; - idx = 0; - //one scan - uint8_t sameCardCount =0; - while( idx + sizeof(frame_marker_mask) < size) { - // search for a start of frame marker - if (sameCardCount>2) break; //only up to 2 valid sets of data for the same read of looping card data - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - hi2 = (hi2<<1)|(hi>>31); - hi = (hi<<1)|(lo>>31); - //Then, shift in a 0 or one into low - if (dest[idx] && !dest[idx+1]) // 1 0 - lo=(lo<<1)|0; - else // 0 1 - lo=(lo<<1)| - 1; - numshifts++; - idx += 2; - } - //Dbprintf("Num shifts: %d ", numshifts); - // Hopefully, we read a tag and hit upon the next frame marker - if(idx + sizeof(frame_marker_mask) < size) - { - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - if (hi2 != 0){ //extra large HID tags - Dbprintf("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - } - else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t bitlen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - bitlen =idx3+19; - fc =0; - cardnum=0; - if(bitlen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(bitlen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(bitlen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - bitlen= 37; - fc =0; - cardnum=0; - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - //Dbprintf("TAG ID: %x%08x (%d)", - // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); - } - sameCardCount++; - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - } - } - // reset - hi2 = hi = lo = 0; - numshifts = 0; - }else - { - idx++; + if (errCnt>=0){ + lo = Em410xDecode(dest,bitLen); + //Dbprintf("DEBUG: EM GOT"); + //printEM410x(lo); + if (lo>0){ + Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; } + } else{ + //Dbprintf("DEBUG: No Tag"); } WDT_HIT(); - - } + lo = 0; + clk=0; + invert=0; + errCnt=0; + size=0; + //SpinDelay(50); + } DbpString("Stopped"); if (ledcontrol) LED_A_OFF(); } -*/ - -/* -uint32_t bytebits_to_byte(uint8_t* src, int numbits) -{ - uint32_t num = 0; - for(int i = 0 ; i < numbits ; i++) - { - num = (num << 1) | (*src); - src++; - } - return num; -} -*/ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { @@ -982,7 +783,9 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) size_t size=0; int idx=0; uint32_t code=0, code2=0; - + uint8_t version=0; + uint8_t facilitycode=0; + uint16_t number=0; // Configure to go in 125Khz listen mode LFSetupFPGAForADC(95, true); @@ -994,6 +797,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) //make sure buffer has data if (size < 2000) continue; //fskdemod and get start index + WDT_HIT(); idx = IOdemodFSK(dest,size); if (idx>0){ //valid tag found @@ -1018,9 +822,9 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) } code = bytebits_to_byte(dest+idx,32); code2 = bytebits_to_byte(dest+idx+32,32); - short version = bytebits_to_byte(dest+idx+27,8); //14,4 - uint8_t facilitycode = bytebits_to_byte(dest+idx+19,8) ; - uint16_t number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 + version = bytebits_to_byte(dest+idx+27,8); //14,4 + facilitycode = bytebits_to_byte(dest+idx+19,8) ; + number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); // if we're only looking for one tag @@ -1029,95 +833,16 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) //LED_A_OFF(); return; } + code=code2=0; + version=facilitycode=0; + number=0; + idx=0; } WDT_HIT(); } DbpString("Stopped"); if (ledcontrol) LED_A_OFF(); } -/* -void CmdIOdemodFSK2(int findone, int *high, int *low, int ledcontrol) -{ - uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0, idx=0; - uint32_t code=0, code2=0; - - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); - - while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - //make sure buffer has data - if (size < 64) return; - //test samples are not just noise - uint8_t testMax=0; - for(idx=0;idx<64;idx++){ - if (testMax170){ - //Dbprintf("testMax: %d",testMax); - // FSK demodulator - size = fsk_demod(dest, size); - // we now have a set of cycle counts, loop over previous results and aggregate data into bit patterns - // 1->0 : fc/8 in sets of 7 (RF/64 / 8 = 8) - // 0->1 : fc/10 in sets of 6 (RF/64 / 10 = 6.4) - size = aggregate_bits(dest, size, 64, 13, 1); //13 max Consecutive should be ok as most 0s in row should be 10 for init seq - invert bits - WDT_HIT(); - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - uint8_t sameCardCount=0; - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 74); idx++) { - if (sameCardCount>2) break; - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - //frame marker found - if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ - //confirmed proper separator bits found - if(findone){ //only print binary if we are doing one - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); - Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); - } - code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); - short version = bytebits_to_byte(dest+idx+27,8); //14,4 - uint8_t facilitycode = bytebits_to_byte(dest+idx+19,8) ; - uint16_t number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 - - Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); - // if we're only looking for one tag - if (findone){ - if (ledcontrol) LED_A_OFF(); - //LED_A_OFF(); - return; - } - sameCardCount++; - } - } - } - } - WDT_HIT(); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); -} -*/ /*------------------------------ * T5555/T5557/T5567 routines diff --git a/client/cmddata.c b/client/cmddata.c index 674a1bb5e..32668d98b 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -442,10 +442,10 @@ int CmdBitstream(const char *Cmd) bit ^= 1; AppendGraph(0, clock, bit); -// for (j = 0; j < (int)(clock/2); j++) -// GraphBuffer[(i * clock) + j] = bit ^ 1; -// for (j = (int)(clock/2); j < clock; j++) -// GraphBuffer[(i * clock) + j] = bit; + // for (j = 0; j < (int)(clock/2); j++) + // GraphBuffer[(i * clock) + j] = bit ^ 1; + // for (j = (int)(clock/2); j < clock; j++) + // GraphBuffer[(i * clock) + j] = bit; } RepaintGraphWindow(); @@ -477,18 +477,7 @@ int CmdDetectClockRate(const char *Cmd) PrintAndLog("Auto-detected clock rate: %d", clock); return 0; } -/* -uint32_t bytebits_to_byte(uint8_t *src, int numbits) -{ - uint32_t num = 0; - for(int i = 0 ; i < numbits ; i++) - { - num = (num << 1) | (*src); - src++; - } - return num; -} -*/ + //by marshmellow //fsk raw demod and print binary //takes 2 arguments - Clock and invert diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index a3674a6ca..83f49db7a 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -22,6 +22,20 @@ static int CmdHelp(const char *Cmd); + + +int CmdEMdemodASK(const char *Cmd) +{ + int findone=0; + UsbCommand c={CMD_EM410X_DEMOD}; + if(Cmd[0]=='1') findone=1; + c.arg[0]=findone; + SendCommand(&c); + return 0; +} + + + /* Read the ID of an EM410x tag. * Format: * 1111 1111 1 <-- standard non-repeatable header @@ -581,6 +595,7 @@ int CmdWriteWordPWD(const char *Cmd) static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, + {"em410xdemod", CmdEMdemodASK, 0, "[clock rate] -- Extract ID from EM410x tag"}, {"em410xread", CmdEM410xRead, 1, "[clock rate] -- Extract ID from EM410x tag"}, {"em410xsim", CmdEM410xSim, 0, " -- Simulate EM410x tag"}, {"em410xwatch", CmdEM410xWatch, 0, "['h'] -- Watches for EM410x 125/134 kHz tags (option 'h' for 134)"}, diff --git a/client/cmdlfem4x.h b/client/cmdlfem4x.h index a209e8f92..6363e3478 100644 --- a/client/cmdlfem4x.h +++ b/client/cmdlfem4x.h @@ -12,7 +12,7 @@ #define CMDLFEM4X_H__ int CmdLFEM4X(const char *Cmd); - +int CmdEMdemodASK(const char *Cmd); int CmdEM410xRead(const char *Cmd); int CmdEM410xSim(const char *Cmd); int CmdEM410xWatch(const char *Cmd); diff --git a/client/lualibs/commands.lua b/client/lualibs/commands.lua index bf2a8a1fb..aeba31a7e 100644 --- a/client/lualibs/commands.lua +++ b/client/lualibs/commands.lua @@ -47,6 +47,9 @@ local _commands = { CMD_PCF7931_READ = 0x0217, CMD_EM4X_READ_WORD = 0x0218, CMD_EM4X_WRITE_WORD = 0x0219, + CMD_IO_DEMOD_FSK = 0x021A, + CMD_IO_CLONE_TAG = 0x021B, + CMD_EM410X_DEMOD = 0x021C, --/* CMD_SET_ADC_MUX: ext1 is 0 for lopkd, 1 for loraw, 2 for hipkd, 3 for hiraw */ --// For the 13.56 MHz tags diff --git a/common/lfdemod.c b/common/lfdemod.c index 1d668a143..c77a449ae 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -27,7 +27,7 @@ //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID -uint64_t Em410xDecode(uint8_t BitStream[],uint32_t BitLen) +uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) { //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future // otherwise could be a void with no arguments @@ -36,10 +36,10 @@ uint64_t Em410xDecode(uint8_t BitStream[],uint32_t BitLen) uint64_t lo=0; //hi=0, uint32_t i = 0; - uint32_t initLoopMax = 1000; + uint32_t initLoopMax = 65; if (initLoopMax>BitLen) initLoopMax=BitLen; - for (;i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values + for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values { if (BitStream[i] > high) high = BitStream[i]; @@ -57,7 +57,7 @@ uint64_t Em410xDecode(uint8_t BitStream[],uint32_t BitLen) uint32_t ii=0; uint8_t resetCnt = 0; while( (idx + 64) < BitLen) { -restart: + restart: // search for a start of frame marker if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) { // frame marker found @@ -101,17 +101,17 @@ int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) //int invert=0; //invert default int high = 0, low = 0; *clk=DetectClock2(BinStream,(size_t)*BitLen,*clk); //clock default - uint8_t BitStream[MAX_BitStream_LEN] = {0}; + uint8_t BitStream[252] = {0}; //sscanf(Cmd, "%i %i", &clk, &invert); if (*clk<8) *clk =64; if (*clk<32) *clk=32; if (*invert != 0 && *invert != 1) *invert=0; - uint32_t initLoopMax = 1000; + uint32_t initLoopMax = 200; if (initLoopMax>*BitLen) initLoopMax=*BitLen; // Detect high and lows //PrintAndLog("Using Clock: %d and invert=%d",clk,invert); - for (i = 0; i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values + for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values { if (BinStream[i] > high) high = BinStream[i]; @@ -142,6 +142,7 @@ int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) for (iii=0; iii < gLen; ++iii){ if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ lastBit=iii-*clk; + bitnum=0; //loop through to see if this start location works for (i = iii; i < *BitLen; ++i) { if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ @@ -176,6 +177,7 @@ int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) } } } + if (bitnum >250) break; } //we got more than 64 good bits and not all errors if ((bitnum > (64+errCnt)) && (errCnt<(*BitLen/1000))) { @@ -220,7 +222,7 @@ int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) //run through 2 times and take least errCnt int manrawdemod(uint8_t * BitStream, int *bitLen) { - uint8_t BitStream2[MAX_BitStream_LEN]={0}; + uint8_t BitStream2[252]={0}; int bitnum=0; int errCnt =0; int i=1; @@ -239,6 +241,7 @@ int manrawdemod(uint8_t * BitStream, int *bitLen) BitStream2[bitnum++]=77; errCnt++; } + if(bitnum>250) break; } if (bestErr>errCnt){ bestErr=errCnt; @@ -275,15 +278,15 @@ int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) // int invert=0; //invert default int high = 0, low = 0; *clk=DetectClock2(BinStream,*bitLen,*clk); //clock default - uint8_t BitStream[MAX_BitStream_LEN] = {0}; + uint8_t BitStream[252] = {0}; if (*clk<8) *clk =64; if (*clk<32) *clk=32; if (*invert != 0 && *invert != 1) *invert =0; - uint32_t initLoopMax = 1000; + uint32_t initLoopMax = 200; if (initLoopMax>*bitLen) initLoopMax=*bitLen; // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //1000 samples should be plenty to find high and low values + for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values { if (BinStream[i] > high) high = BinStream[i]; @@ -294,7 +297,7 @@ int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) // PrintAndLog("no data found"); return -1; } - //13% fuzz in case highs and lows aren't clipped [marshmellow] + //25% fuzz in case highs and lows aren't clipped [marshmellow] high=(int)(0.75*high); low=(int)(0.75*low); @@ -363,8 +366,9 @@ int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) bitnum=0;//start over break; } - } + } } + if (bitnum>250) break; } //we got more than 64 good bits and not all errors if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { @@ -407,15 +411,13 @@ int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) return errCnt; } //translate wave to 11111100000 (1 for each short wave 0 for each long wave) -size_t fsk_wave_demod2(uint8_t * dest, size_t size) +size_t fsk_wave_demod(uint8_t * dest, size_t size) { uint32_t last_transition = 0; uint32_t idx = 1; uint32_t maxVal=0; - // // we don't care about actual value, only if it's more or less than a - // // threshold essentially we capture zero crossings for later analysis - - // we do care about the actual value as sometimes near the center of the + + // we do care about the actual theshold value as sometimes near the center of the // wave we may get static that changes direction of wave for one value // if our value is too low it might affect the read. and if our tag or // antenna is weak a setting too high might not see anything. [marshmellow] @@ -426,8 +428,8 @@ size_t fsk_wave_demod2(uint8_t * dest, size_t size) // set close to the top of the wave threshold with 13% margin for error // less likely to get a false transition up there. // (but have to be careful not to go too high and miss some short waves) - uint32_t threshold_value = (uint32_t)(maxVal*.87); idx=1; - //uint8_t threshold_value = 127; + uint8_t threshold_value = (uint8_t)(maxVal*.87); idx=1; + //uint8_t threshold_value = 127; // sync to first lo-hi transition, and threshold @@ -446,11 +448,11 @@ size_t fsk_wave_demod2(uint8_t * dest, size_t size) // Check for 0->1 transition if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - if (idx-last_transition<6){ + if (idx-last_transition<6){ //0-5 = garbage noise //do nothing with extra garbage - } else if (idx-last_transition < 9) { + } else if (idx-last_transition < 9) { //6-8 = 8 waves dest[numBits]=1; - } else { + } else { //9+ = 10 waves dest[numBits]=0; } last_transition = idx; @@ -467,7 +469,7 @@ uint32_t myround2(float f) } //translate 11111100000 to 10 -size_t aggregate_bits2(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, +size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, { uint8_t lastval=dest[0]; uint32_t idx=0; @@ -485,7 +487,7 @@ size_t aggregate_bits2(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxCon n=myround2((float)(n+1)/((float)(rfLen)/(float)8)); //n=(n+1) / h2l_crossing_value; } else {// 0->1 crossing - n=myround2((float)(n+1)/((float)(rfLen-2)/(float)10)); + n=myround2((float)(n+1)/((float)(rfLen-2)/(float)10)); //-2 for fudge factor //n=(n+1) / l2h_crossing_value; } if (n == 0) n = 1; @@ -518,8 +520,8 @@ int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert) // } // size_t size = GraphTraceLen; // FSK demodulator - size = fsk_wave_demod2(dest, size); - size = aggregate_bits2(dest, size,rfLen,192,invert); + size = fsk_wave_demod(dest, size); + size = aggregate_bits(dest, size,rfLen,192,invert); // size = aggregate_bits(size, h2l_crossing_value, l2h_crossing_value,192, invert); //192=no limit to same values //done messing with GraphBuffer - repaint //RepaintGraphWindow(); @@ -590,7 +592,7 @@ uint32_t bytebits_to_byte(uint8_t* src, int numbits) int IOdemodFSK(uint8_t *dest, size_t size) { - size_t idx=0; + uint32_t idx=0; //make sure buffer has data if (size < 64) return -1; //test samples are not just noise @@ -612,14 +614,14 @@ int IOdemodFSK(uint8_t *dest, size_t size) // //XSF(version)facility:codeone+codetwo //Handle the data - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; for( idx=0; idx < (size - 74); idx++) { if ( memcmp(dest + idx, mask, sizeof(mask))==0) { //frame marker found if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ //confirmed proper separator bits found //return start position - return idx; + return (int) idx; } } } diff --git a/common/lfdemod.h b/common/lfdemod.h index 5e4e0fc7d..38001dd02 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -13,7 +13,7 @@ int DetectClock2(uint8_t dest[], size_t size, int clock); int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); -uint64_t Em410xDecode(uint8_t BitStream[],uint32_t BitLen); +uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen); int manrawdemod(uint8_t *BitStream, int *bitLen); int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); diff --git a/include/usb_cmd.h b/include/usb_cmd.h index b4e298043..3e00c0a64 100644 --- a/include/usb_cmd.h +++ b/include/usb_cmd.h @@ -81,6 +81,8 @@ typedef struct { #define CMD_EM4X_WRITE_WORD 0x0219 #define CMD_IO_DEMOD_FSK 0x021A #define CMD_IO_CLONE_TAG 0x021B +#define CMD_EM410X_DEMOD 0x021C + /* CMD_SET_ADC_MUX: ext1 is 0 for lopkd, 1 for loraw, 2 for hipkd, 3 for hiraw */ // For the 13.56 MHz tags From 2df8c07907a07068d717d9b4ddcc2848f4efd608 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Mon, 29 Dec 2014 15:58:59 -0500 Subject: [PATCH 036/133] minor setting adjustments/cleanup clean up code --- client/cmddata.c | 8 ++++++-- common/lfdemod.c | 6 +++--- common/lfdemod.h | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 32668d98b..6416ebbc3 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -132,7 +132,7 @@ void printBitStream(uint8_t BitStream[], uint32_t bitLen){ return; } if (bitLen>512) bitLen=512; - for (i = 0; i < (bitLen-16); i+=16) { + for (i = 0; i <= (bitLen-16); i+=16) { PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", BitStream[i], BitStream[i+1], @@ -272,6 +272,10 @@ int Cmdmandecoderaw(const char *Cmd) } bitnum=i; errCnt=manrawdemod(BitStream,&bitnum); + if (errCnt>=20){ + PrintAndLog("Too many errors: %d",errCnt); + return 0; + } PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); printBitStream(BitStream,bitnum); if (errCnt==0){ @@ -515,7 +519,7 @@ int CmdFSKrawdemod(const char *Cmd) RepaintGraphWindow(); // Now output the bitstream to the scrollback by line of 16 bits - if(size > (7*32)+2) size = (7*32)+2; //only output a max of 7 blocks of 32 bits most tags will have full bit stream inside that sample size + if(size > (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size printBitStream(BitStream,size); return 0; } diff --git a/common/lfdemod.c b/common/lfdemod.c index c77a449ae..1c3aad6fa 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -259,7 +259,7 @@ int manrawdemod(uint8_t * BitStream, int *bitLen) bitnum=0; } errCnt=bestErr; - if (errCnt<10){ + if (errCnt<20){ for (i=0; i250) break; + if (bitnum>500) break; } //we got more than 64 good bits and not all errors if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { diff --git a/common/lfdemod.h b/common/lfdemod.h index 38001dd02..e66ed6f9e 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -22,7 +22,7 @@ int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert); uint32_t bytebits_to_byte(uint8_t* src, int numbits); // -#define MAX_BitStream_LEN (1024*128) +//#define MAX_BitStream_LEN (1024*128) //extern int BitStreamLen; #endif From d5a72d2fee4bcb0377c64c0be7bb22a1d7e18b3a Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 30 Dec 2014 16:08:33 -0500 Subject: [PATCH 037/133] LF demod/cmd code cleanup + new lf search cleaned up and error proof code. plus added new command lf search when online it will lf read - data samples 20000 - and test for EM410x, HID, IO Prox, and indala cards. when offline it will test current graphbuffer. --- client/cmddata.c | 221 +++++++++++++++++++++++++---------------------- client/cmddata.h | 2 + client/cmdlf.c | 37 ++++++-- client/cmdlf.h | 1 + client/graph.c | 53 +++++++----- client/graph.h | 5 +- 6 files changed, 192 insertions(+), 127 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 9025e8f1b..0a8bcd7a9 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -11,7 +11,6 @@ #include #include #include -//#include #include #include "proxmark3.h" #include "data.h" @@ -125,7 +124,9 @@ int Cmdaskdemod(const char *Cmd) return 0; } -void printBitStream(uint8_t BitStream[], uint32_t bitLen){ +//by marshmellow +void printBitStream(uint8_t BitStream[], uint32_t bitLen) +{ uint32_t i = 0; if (bitLen<16) { PrintAndLog("Too few bits found: %d",bitLen); @@ -153,6 +154,7 @@ void printBitStream(uint8_t BitStream[], uint32_t bitLen){ } return; } +//by marshmellow void printEM410x(uint64_t id) { if (id !=0){ @@ -179,27 +181,19 @@ void printEM410x(uint64_t id) return; } +//by marshmellow int CmdEm410xDecode(const char *Cmd) { uint64_t id=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; uint32_t i=0; - for (i=0;i0) return 1; return 0; } -int getFromGraphBuf(uint8_t *buff) -{ - uint32_t i; - for (i=0;i0){ PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); } @@ -242,17 +237,18 @@ int Cmdaskmandemod(const char *Cmd) printBitStream(BitStream,BitLen); uint64_t lo =0; lo = Em410xDecode(BitStream,BitLen); - printEM410x(lo); - + if (lo>0){ + //set GraphBuffer for clone or sim command + setGraphBuf(BitStream,BitLen); + PrintAndLog("EM410x pattern found: "); + printEM410x(lo); + } + if (BitLen>16) return 1; return 0; } //by marshmellow -//biphase demod = 10 (or 01)=1 / 00 (or 11)=0 - - -//by marshmellow -//manchester demod +//manchester decode //stricktly take 10 and 01 and convert to 0 and 1 int Cmdmandecoderaw(const char *Cmd) { @@ -271,7 +267,7 @@ int Cmdmandecoderaw(const char *Cmd) return 0; } bitnum=i; - errCnt=manrawdemod(BitStream,&bitnum); + errCnt=manrawdecode(BitStream,&bitnum); if (errCnt>=20){ PrintAndLog("Too many errors: %d",errCnt); return 0; @@ -290,9 +286,50 @@ int Cmdmandecoderaw(const char *Cmd) id = Em410xDecode(BitStream,i); printEM410x(id); } - return 0; + return 1; } +//by marshmellow +//biphase decode +//take 01 or 10 = 0 and 11 or 00 = 1 +//takes 1 argument "offset" default = 0 if 1 it will shift the decode by one bit +// since it is not like manchester and doesn't have an incorrect bit pattern we +// cannot determine if our decode is correct or if it should be shifted by one bit +// the argument offset allows us to manually shift if the output is incorrect +// (better would be to demod and decode at the same time so we can distinguish large +// width waves vs small width waves to help the decode positioning) or askbiphdemod +int CmdBiphaseDecodeRaw(const char *Cmd) +{ + int i = 0; + int errCnt=0; + int bitnum=0; + int offset=0; + int high=0, low=0; + sscanf(Cmd, "%i", &offset); + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + //get graphbuffer & high and low + for (;ihigh)high=GraphBuffer[i]; + else if(GraphBuffer[i]1 || low <0){ + PrintAndLog("Error: please raw demod the wave first then decode"); + return 0; + } + bitnum=i; + errCnt=BiphaseRawDecode(BitStream,&bitnum, offset); + if (errCnt>=20){ + PrintAndLog("Too many errors attempting to decode: %d",errCnt); + return 0; + } + PrintAndLog("Biphase Decoded using offset: %d - # errors:%d - data:",offset,errCnt); + printBitStream(BitStream,bitnum); + PrintAndLog("\nif bitstream does not look right try offset=1"); + return 1; +} + + //by marshmellow //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask only @@ -475,10 +512,12 @@ int CmdDec(const char *Cmd) } /* Print our clock rate */ +// uses data from graphbuffer int CmdDetectClockRate(const char *Cmd) { - int clock = DetectClock(0); - PrintAndLog("Auto-detected clock rate: %d", clock); + GetClock("",0,0); + //int clock = DetectASKClock(0); + //PrintAndLog("Auto-detected clock rate: %d", clock); return 0; } @@ -509,18 +548,21 @@ int CmdFSKrawdemod(const char *Cmd) uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; uint32_t BitLen = getFromGraphBuf(BitStream); int size = fskdemod(BitStream,BitLen,rfLen,invert); - - PrintAndLog("FSK decoded bitstream:"); - ClearGraph(0); - for (i=0;i0){ + PrintAndLog("FSK decoded bitstream:"); + ClearGraph(0); + for (i=0;i (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size + printBitStream(BitStream,size); + } else{ + PrintAndLog("no FSK data found"); } - GraphTraceLen=size; - RepaintGraphWindow(); - - // Now output the bitstream to the scrollback by line of 16 bits - if(size > (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size - printBitStream(BitStream,size); return 0; } @@ -540,13 +582,16 @@ int CmdFSKdemodHID(const char *Cmd) PrintAndLog("Error demoding fsk"); return 0; } + if (hi2==0 && hi==0 && lo==0) return 0; if (hi2 != 0){ //extra large HID tags PrintAndLog("TAG ID: %x%08x%08x (%d)", (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + setGraphBuf(BitStream,BitLen); + return 1; } else { //standard HID tags <38 bits //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t bitlen = 0; + uint8_t fmtLen = 0; uint32_t fc = 0; uint32_t cardnum = 0; if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used @@ -557,39 +602,40 @@ int CmdFSKdemodHID(const char *Cmd) lo2=lo2>>1; idx3++; } - bitlen =idx3+19; + fmtLen =idx3+19; fc =0; cardnum=0; - if(bitlen==26){ + if(fmtLen==26){ cardnum = (lo>>1)&0xFFFF; fc = (lo>>17)&0xFF; } - if(bitlen==37){ + if(fmtLen==37){ cardnum = (lo>>1)&0x7FFFF; fc = ((hi&0xF)<<12)|(lo>>20); } - if(bitlen==34){ + if(fmtLen==34){ cardnum = (lo>>1)&0xFFFF; fc= ((hi&1)<<15)|(lo>>17); } - if(bitlen==35){ + if(fmtLen==35){ cardnum = (lo>>1)&0xFFFFF; fc = ((hi&1)<<11)|(lo>>21); } } else { //if bit 38 is not set then 37 bit format is used - bitlen= 37; + fmtLen= 37; fc =0; cardnum=0; - if(bitlen==37){ + if(fmtLen==37){ cardnum = (lo>>1)&0x7FFFF; fc = ((hi&0xF)<<12)|(lo>>20); } } PrintAndLog("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); - return 0; + (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum); + setGraphBuf(BitStream,BitLen); + return 1; } return 0; } @@ -602,19 +648,22 @@ int CmdFSKdemodIO(const char *Cmd) //raw fsk demod no manchester decoding no start bit finding just get binary from wave //set defaults int idx=0; - //test samples are not just noise - if (GraphTraceLen < 64) return 0; + //something in graphbuffer + if (GraphTraceLen < 65) return 0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; uint32_t BitLen = getFromGraphBuf(BitStream); //get binary from fsk wave + // PrintAndLog("DEBUG: got buff"); idx = IOdemodFSK(BitStream,BitLen); if (idx<0){ - PrintAndLog("Error demoding fsk"); + //PrintAndLog("Error demoding fsk"); return 0; } + // PrintAndLog("DEBUG: Got IOdemodFSK"); if (idx==0){ - PrintAndLog("IO Prox Data not found - FSK Data:"); - printBitStream(BitStream,92); + //PrintAndLog("IO Prox Data not found - FSK Data:"); + //if (BitLen > 92) printBitStream(BitStream,92); + return 0; } //Index map //0 10 20 30 40 50 60 @@ -625,7 +674,7 @@ int CmdFSKdemodIO(const char *Cmd) // //XSF(version)facility:codeone+codetwo (raw) //Handle the data - + if (idx+64>BitLen) return 0; PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx], BitStream[idx+1], BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]); PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9], BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]); PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); @@ -641,7 +690,8 @@ int CmdFSKdemodIO(const char *Cmd) uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 PrintAndLog("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); - return 0; + setGraphBuf(BitStream,BitLen); + return 1; } int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating { @@ -860,56 +910,24 @@ int CmdSamples(const char *Cmd) int CmdTuneSamples(const char *Cmd) { - int timeout = 0; - printf("\nMeasuring antenna characteristics, please wait..."); + int cnt = 0; + int n = 255; + uint8_t got[255]; - UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING}; - SendCommand(&c); - - UsbCommand resp; - while(!WaitForResponseTimeout(CMD_MEASURED_ANTENNA_TUNING,&resp,1000)) { - timeout++; - printf("."); - if (timeout > 7) { - PrintAndLog("\nNo response from Proxmark. Aborting..."); - return 1; - } - } - - int peakv, peakf; - int vLf125, vLf134, vHf; - vLf125 = resp.arg[0] & 0xffff; - vLf134 = resp.arg[0] >> 16; - vHf = resp.arg[1] & 0xffff;; - peakf = resp.arg[2] & 0xffff; - peakv = resp.arg[2] >> 16; - PrintAndLog(""); - PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0); - PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0); - PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); - PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0); - if (peakv<2000) - PrintAndLog("# Your LF antenna is unusable."); - else if (peakv<10000) - PrintAndLog("# Your LF antenna is marginal."); - if (vHf<2000) - PrintAndLog("# Your HF antenna is unusable."); - else if (vHf<5000) - PrintAndLog("# Your HF antenna is marginal."); - - for (int i = 0; i < 256; i++) { - GraphBuffer[i] = resp.d.asBytes[i] - 128; - } + PrintAndLog("Reading %d samples\n", n); + GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 + WaitForResponse(CMD_ACK,NULL); + for (int j = 0; j < n; j++) { + GraphBuffer[cnt++] = ((int)got[j]) - 128; + } - PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); - PrintAndLog("\n"); - GraphTraceLen = 256; - ShowGraphWindow(); - - return 0; + PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); + PrintAndLog("\n"); + GraphTraceLen = n; + RepaintGraphWindow(); + return 0; } - int CmdLoad(const char *Cmd) { FILE *f = fopen(Cmd, "r"); @@ -1322,11 +1340,12 @@ static command_t CommandTable[] = {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, + {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, {"dec", CmdDec, 1, "Decimate samples"}, - {"detectclock", CmdDetectClockRate, 1, "Detect clock rate"}, + {"detectaskclock",CmdDetectClockRate, 1, "Detect ASK clock rate"}, {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, diff --git a/client/cmddata.h b/client/cmddata.h index 8bbbf1950..6c1bd9ea6 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -20,6 +20,7 @@ int Cmdaskdemod(const char *Cmd); int Cmdaskrawdemod(const char *Cmd); int Cmdaskmandemod(const char *Cmd); int CmdAutoCorr(const char *Cmd); +int CmdBiphaseDecodeRaw(const char *Cmd); int CmdBitsamples(const char *Cmd); int CmdBitstream(const char *Cmd); int CmdBuffClear(const char *Cmd); @@ -35,6 +36,7 @@ int CmdHide(const char *Cmd); int CmdHpf(const char *Cmd); int CmdLoad(const char *Cmd); int CmdLtrim(const char *Cmd); +int Cmdmandecoderaw(const char *Cmd); int CmdManchesterDemod(const char *Cmd); int CmdManchesterMod(const char *Cmd); int CmdNorm(const char *Cmd); diff --git a/client/cmdlf.c b/client/cmdlf.c index 404708b6c..d9b26e2ae 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -142,7 +142,7 @@ int CmdIndalaDemod(const char *Cmd) uint8_t rawbits[4096]; int rawbit = 0; int worst = 0, worstPos = 0; - PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32); + // PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32); for (i = 0; i < GraphTraceLen-1; i += 2) { count += 1; if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) { @@ -171,9 +171,10 @@ int CmdIndalaDemod(const char *Cmd) count = 0; } } - PrintAndLog("Recovered %d raw bits", rawbit); - PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); - + if (rawbit>0){ + PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); + PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); + } else return 0; // Finding the start of a UID int uidlen, long_wait; if (strcmp(Cmd, "224") == 0) { @@ -303,7 +304,7 @@ int CmdIndalaDemod(const char *Cmd) } RepaintGraphWindow(); - return 0; + return 1; } int CmdIndalaClone(const char *Cmd) @@ -548,6 +549,31 @@ int CmdVchDemod(const char *Cmd) return 0; } +//by marshmellow +int CmdLFfind(const char *Cmd) +{ + int ans=0; + if (!offline){ + ans=CmdLFRead(""); + ans=CmdSamples("20000"); + } + if (GraphTraceLen<1000) return 0; + PrintAndLog("Checking for known tags:"); + ans=Cmdaskmandemod(""); + if (ans>0) return 1; + ans=CmdFSKdemodHID(""); + if (ans>0) return 1; + ans=CmdFSKdemodIO(""); + if (ans>0) return 1; + //add psk and indala + ans=CmdIndalaDemod(""); + if (ans>0) return 1; + ans=CmdIndalaDemod("224"); + if (ans>0) return 1; + PrintAndLog("No Known Tags Found!\n"); + return 0; +} + static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, @@ -559,6 +585,7 @@ static command_t CommandTable[] = {"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, {"read", CmdLFRead, 0, "['h' or ] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"}, + {"search", CmdLFfind, 1, "Read and Search for valid known tag (in offline mode it you can load first then search)"}, {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, {"simman", CmdLFSimManchester, 0, " [GAP] Simulate arbitrary Manchester LF tag"}, diff --git a/client/cmdlf.h b/client/cmdlf.h index 7278754b8..e298d659a 100644 --- a/client/cmdlf.h +++ b/client/cmdlf.h @@ -23,5 +23,6 @@ int CmdLFSimBidir(const char *Cmd); int CmdLFSimManchester(const char *Cmd); int CmdLFSnoop(const char *Cmd); int CmdVchDemod(const char *Cmd); +int CmdLFfind(const char *Cmd); #endif diff --git a/client/graph.c b/client/graph.c index 18ff972a6..3a8f0c3a2 100644 --- a/client/graph.c +++ b/client/graph.c @@ -12,6 +12,7 @@ #include #include "ui.h" #include "graph.h" +#include "lfdemod.h" int GraphBuffer[MAX_GRAPH_TRACE_LEN]; int GraphTraceLen; @@ -46,9 +47,9 @@ int ClearGraph(int redraw) /* * Detect clock rate */ - //decommissioned - has difficulty detecting rf/32 and only works if data is manchester encoded + //decommissioned - has difficulty detecting rf/32 /* -int DetectClock2(int peak) +int DetectClockOld(int peak) { int i; int clock = 0xFFFF; @@ -76,17 +77,21 @@ int DetectClock2(int peak) return clock; } */ +/* +NOW IN LFDEMOD.C // by marshmellow // not perfect especially with lower clocks or VERY good antennas (heavy wave clipping) // maybe somehow adjust peak trimming value based on samples to fix? -int DetectClock(int peak) +int DetectASKClock(int peak) { int i=0; int low=0; int clk[]={16,32,40,50,64,100,128,256}; + int loopCnt = 256; + if (GraphTraceLenpeak){ peak = GraphBuffer[i]; } @@ -97,15 +102,11 @@ int DetectClock(int peak) peak=(int)(peak*.75); low= (int)(low*.75); } - //int numbits; int ii; - int loopCnt = 256; - if (GraphTraceLen=peak) || (GraphBuffer[ii]<=low)){ - //numbits=0; - //good=1; - errCnt[clkCnt]=0; + errCnt[clkCnt]=0; for (i=0; i<((int)(GraphTraceLen/clk[clkCnt])-1); ++i){ if (GraphBuffer[ii+(i*clk[clkCnt])]>=peak || GraphBuffer[ii+(i*clk[clkCnt])]<=low){ - //numbits++; }else if(GraphBuffer[ii+(i*clk[clkCnt])-tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])-tol]<=low){ }else if(GraphBuffer[ii+(i*clk[clkCnt])+tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])+tol]<=low){ }else{ //error no peak detected - //numbits=0; - //good=0; errCnt[clkCnt]++; - //break; } } if(errCnt[clkCnt]==0) return clk[clkCnt]; if(errCnt[clkCnt] void AppendGraph(int redraw, int clock, int bit); int ClearGraph(int redraw); -int DetectClock(int peak); +//int DetectClock(int peak); +int getFromGraphBuf(uint8_t *buff); int GetClock(const char *str, int peak, int verbose); +void setGraphBuf(uint8_t *buff,int size); #define MAX_GRAPH_TRACE_LEN (1024*128) extern int GraphBuffer[MAX_GRAPH_TRACE_LEN]; From f822a063b3c3efd970e6c24651de720e16d37a36 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 31 Dec 2014 02:27:30 -0500 Subject: [PATCH 038/133] lf demod code cleanup - added fskraw arguments merged code and added arguments to data fskrawdemod to allow other fsk mode demodulations (FSK2a = RF/10 & RF/8) another might be (RF/8 & RF/5) --- armsrc/lfops.c | 4 +- client/cmddata.c | 65 +- client/graph.c | 5 +- common/lfdemod.c | 303 +- common/lfdemod.h | 11 +- traces/Casi-12ed825c29.pm3 | 16000 +++++++++++ traces/EM4102-Fob.pm3 | 40000 ++++++++++++++++++++++++++++ traces/indala-504278295.pm3 | 20000 ++++++++++++++ traces/ioProx-XSF-01-BE-03011.pm3 | 16000 +++++++++++ traces/ioprox-XSF-01-3B-44725.pm3 | 40000 ++++++++++++++++++++++++++++ 10 files changed, 132194 insertions(+), 194 deletions(-) create mode 100644 traces/Casi-12ed825c29.pm3 create mode 100644 traces/EM4102-Fob.pm3 create mode 100644 traces/indala-504278295.pm3 create mode 100644 traces/ioProx-XSF-01-BE-03011.pm3 create mode 100644 traces/ioprox-XSF-01-3B-44725.pm3 diff --git a/armsrc/lfops.c b/armsrc/lfops.c index c5e244c23..894adef78 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -823,10 +823,10 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) code = bytebits_to_byte(dest+idx,32); code2 = bytebits_to_byte(dest+idx+32,32); version = bytebits_to_byte(dest+idx+27,8); //14,4 - facilitycode = bytebits_to_byte(dest+idx+19,8) ; + facilitycode = bytebits_to_byte(dest+idx+18,8) ; number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 - Dbprintf("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); + Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); // if we're only looking for one tag if (findone){ if (ledcontrol) LED_A_OFF(); diff --git a/client/cmddata.c b/client/cmddata.c index 0a8bcd7a9..f10d7b536 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -194,6 +194,7 @@ int CmdEm410xDecode(const char *Cmd) return 0; } + //by marshmellow //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask while decoding manchester @@ -209,25 +210,16 @@ int Cmdaskmandemod(const char *Cmd) return 0; } uint32_t BitLen = getFromGraphBuf(BitStream); - + // PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); int errCnt=0; errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); - if (errCnt==-1){ //if fatal error (or -1) - //PrintAndLog("no data found"); + if (errCnt<0){ //if fatal error (or -1) + // PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); return 0; } - PrintAndLog("Using Clock: %d and invert=%d",clk,invert); - //no longer put BitStream back into GraphBuffer... - //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to GraphBuffer - /* - ClearGraph(0); - for (i=0; i < bitnum; ++i){ - GraphBuffer[i]=BitStream[i]; - } - GraphTraceLen=bitnum; - RepaintGraphWindow(); - */ + if (BitLen<16) return 0; + PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen); + //output if (errCnt>0){ PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); @@ -352,7 +344,8 @@ int Cmdaskrawdemod(const char *Cmd) PrintAndLog("no data found"); return 0; } - PrintAndLog("Using Clock: %d and invert=%d",clk,invert); + if (BitLen<16) return 0; + PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); //move BitStream back to GraphBuffer @@ -371,7 +364,7 @@ int Cmdaskrawdemod(const char *Cmd) // Now output the bitstream to the scrollback by line of 16 bits printBitStream(BitStream,BitLen); - return 0; + return 1; } int CmdAutoCorr(const char *Cmd) @@ -523,31 +516,31 @@ int CmdDetectClockRate(const char *Cmd) //by marshmellow //fsk raw demod and print binary -//takes 2 arguments - Clock and invert -//defaults: clock = 50, invert=0 +//takes 4 arguments - Clock, invert, rchigh, rclow +//defaults: clock = 50, invert=0, rchigh=10, rclow=8 (RF/10 RF/8 (fsk2a)) int CmdFSKrawdemod(const char *Cmd) { //raw fsk demod no manchester decoding no start bit finding just get binary from wave //set defaults - uint8_t rfLen = 50; - uint8_t invert=0; + int rfLen = 50; + int invert=0; + int fchigh=10; + int fclow=8; //set options from parameters entered with the command + sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow); + if (strlen(Cmd)>0 && strlen(Cmd)<=2) { - rfLen=param_get8(Cmd, 0); //if rfLen option only is used + //rfLen=param_get8(Cmd, 0); //if rfLen option only is used if (rfLen==1){ invert=1; //if invert option only is used rfLen = 50; } else if(rfLen==0) rfLen=50; } - if (strlen(Cmd)>2) { - rfLen=param_get8(Cmd, 0); //if both options are used - invert=param_get8(Cmd,1); - } - PrintAndLog("Args invert: %d \nClock:%d",invert,rfLen); + PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); uint32_t i=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; uint32_t BitLen = getFromGraphBuf(BitStream); - int size = fskdemod(BitStream,BitLen,rfLen,invert); + int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); if (size>0){ PrintAndLog("FSK decoded bitstream:"); ClearGraph(0); @@ -677,19 +670,19 @@ int CmdFSKdemodIO(const char *Cmd) if (idx+64>BitLen) return 0; PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx], BitStream[idx+1], BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]); PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9], BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+27], BitStream[idx+28], BitStream[idx+29],BitStream[idx+30],BitStream[idx+31],BitStream[idx+32],BitStream[idx+33],BitStream[idx+34],BitStream[idx+35]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+36], BitStream[idx+37], BitStream[idx+38],BitStream[idx+39],BitStream[idx+40],BitStream[idx+41],BitStream[idx+42],BitStream[idx+43],BitStream[idx+44]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+45], BitStream[idx+46], BitStream[idx+47],BitStream[idx+48],BitStream[idx+49],BitStream[idx+50],BitStream[idx+51],BitStream[idx+52],BitStream[idx+53]); - PrintAndLog("%d%d%d%d%d%d%d%d %d%d",BitStream[idx+54],BitStream[idx+55],BitStream[idx+56],BitStream[idx+57],BitStream[idx+58],BitStream[idx+59],BitStream[idx+60],BitStream[idx+61],BitStream[idx+62],BitStream[idx+63]); + PrintAndLog("%d%d%d%d%d%d%d%d %d facility",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); + PrintAndLog("%d%d%d%d%d%d%d%d %d version",BitStream[idx+27], BitStream[idx+28], BitStream[idx+29],BitStream[idx+30],BitStream[idx+31],BitStream[idx+32],BitStream[idx+33],BitStream[idx+34],BitStream[idx+35]); + PrintAndLog("%d%d%d%d%d%d%d%d %d code1",BitStream[idx+36], BitStream[idx+37], BitStream[idx+38],BitStream[idx+39],BitStream[idx+40],BitStream[idx+41],BitStream[idx+42],BitStream[idx+43],BitStream[idx+44]); + PrintAndLog("%d%d%d%d%d%d%d%d %d code2",BitStream[idx+45], BitStream[idx+46], BitStream[idx+47],BitStream[idx+48],BitStream[idx+49],BitStream[idx+50],BitStream[idx+51],BitStream[idx+52],BitStream[idx+53]); + PrintAndLog("%d%d%d%d%d%d%d%d %d%d checksum",BitStream[idx+54],BitStream[idx+55],BitStream[idx+56],BitStream[idx+57],BitStream[idx+58],BitStream[idx+59],BitStream[idx+60],BitStream[idx+61],BitStream[idx+62],BitStream[idx+63]); uint32_t code = bytebits_to_byte(BitStream+idx,32); uint32_t code2 = bytebits_to_byte(BitStream+idx+32,32); - short version = bytebits_to_byte(BitStream+idx+27,8); //14,4 - uint8_t facilitycode = bytebits_to_byte(BitStream+idx+19,8) ; + uint8_t version = bytebits_to_byte(BitStream+idx+27,8); //14,4 + uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ; uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 - PrintAndLog("XSF(%02d)%02x:%d (%08x%08x)",version,facilitycode,number,code,code2); + PrintAndLog("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); setGraphBuf(BitStream,BitLen); return 1; } diff --git a/client/graph.c b/client/graph.c index 3a8f0c3a2..a0e85ffd4 100644 --- a/client/graph.c +++ b/client/graph.c @@ -155,8 +155,11 @@ void setGraphBuf(uint8_t *buff,int size) int getFromGraphBuf(uint8_t *buff) { uint32_t i; - for (i=0;i127) GraphBuffer[i]=127; //trim + if (GraphBuffer[i]<-127) GraphBuffer[i]=-127; //trim buff[i]=(uint8_t)(GraphBuffer[i]+128); + } return i; } /* Get or auto-detect clock rate */ diff --git a/common/lfdemod.c b/common/lfdemod.c index 1c3aad6fa..a03e7f024 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -8,22 +8,9 @@ // Low frequency commands //----------------------------------------------------------------------------- -//#include #include #include -//#include -//#include #include "lfdemod.h" -//#include "proxmark3.h" -//#include "data.h" -//#include "ui.h" -//#include "graph.h" -//#include "cmdparser.h" -//#include "util.h" -//#include "cmdmain.h" -//#include "cmddata.h" -//uint8_t BinStream[MAX_GRAPH_TRACE_LEN]; -//uint8_t BinStreamLen; //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID @@ -32,7 +19,7 @@ uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future // otherwise could be a void with no arguments //set defaults - int high=0, low=0; + int high=0, low=128; uint64_t lo=0; //hi=0, uint32_t i = 0; @@ -97,20 +84,16 @@ uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) //prints binary found and saves in graphbuffer for further commands int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) { - uint32_t i; - //int invert=0; //invert default - int high = 0, low = 0; - *clk=DetectClock2(BinStream,(size_t)*BitLen,*clk); //clock default - uint8_t BitStream[252] = {0}; + int i; + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default - //sscanf(Cmd, "%i %i", &clk, &invert); if (*clk<8) *clk =64; if (*clk<32) *clk=32; if (*invert != 0 && *invert != 1) *invert=0; uint32_t initLoopMax = 200; if (initLoopMax>*BitLen) initLoopMax=*BitLen; // Detect high and lows - //PrintAndLog("Using Clock: %d and invert=%d",clk,invert); for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values { if (BinStream[i] > high) @@ -118,153 +101,178 @@ int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) else if (BinStream[i] < low) low = BinStream[i]; } - if ((high < 30) && ((high !=1)||(low !=-1))){ //throw away static - allow 1 and -1 (in case of threshold command first) + if ((high < 158) ){ //throw away static //PrintAndLog("no data found"); - return -1; + return -2; } - //13% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)(0.75*high); - low=(int)(0.75*low); - + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); int lastBit = 0; //set first clock check uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - uint32_t iii = 0; + int iii = 0; uint32_t gLen = *BitLen; - if (gLen > 500) gLen=500; + if (gLen > 3000) gLen=3000; uint8_t errCnt =0; uint32_t bestStart = *BitLen; uint32_t bestErrCnt = (*BitLen/1000); + uint32_t maxErr = (*BitLen/1000); //PrintAndLog("DEBUG - lastbit - %d",lastBit); //loop to find first wave that works for (iii=0; iii < gLen; ++iii){ if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ lastBit=iii-*clk; - bitnum=0; + errCnt=0; //loop through to see if this start location works for (i = iii; i < *BitLen; ++i) { if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ lastBit+=*clk; - BitStream[bitnum] = *invert; - bitnum++; } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ //low found and we are expecting a bar lastBit+=*clk; - BitStream[bitnum] = 1-*invert; - bitnum++; } else { //mid value found or no bar supposed to be here if ((i-lastBit)>(*clk+tol)){ //should have hit a high or low based on clock!! - - + //debug //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BitStream[bitnum]=77; - bitnum++; - } - errCnt++; lastBit+=*clk;//skip over until hit too many errors - if (errCnt>((*BitLen/1000))){ //allow 1 error for every 1000 samples else start over - errCnt=0; - bitnum=0;//start over - break; - } + if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over } } - if (bitnum >250) break; + if ((i-iii) >(400 * *clk)) break; //got plenty of bits } //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(*BitLen/1000))) { + if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt=gLen){ //exhausted test - //if there was a ok test go back to that one and re-run the best run (then dump after that run) - if (bestErrCnt < (*BitLen/1000)) iii=bestStart; - } } - if (bitnum>16){ - - // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to GraphBuffer - //ClearGraph(0); - for (i=0; i < bitnum; ++i){ - BinStream[i]=BitStream[i]; + if (bestErrCnt= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BinStream[bitnum] = *invert; + bitnum++; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BinStream[bitnum] = 1-*invert; + bitnum++; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BinStream[bitnum]=77; + bitnum++; + } + + lastBit+=*clk;//skip over error + } + } + if (bitnum >=400) break; } *BitLen=bitnum; - //RepaintGraphWindow(); - //output - //if (errCnt>0){ - // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - //} - // PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - // printBitStream2(BitStream,bitnum); - // Em410xDecode(Cmd); - } - return errCnt; + } else{ + *invert=bestStart; + *clk=iii; + return -1; + } + return bestErrCnt; } //by marshmellow //take 10 and 01 and manchester decode //run through 2 times and take least errCnt -int manrawdemod(uint8_t * BitStream, int *bitLen) +int manrawdecode(uint8_t * BitStream, int *bitLen) { - uint8_t BitStream2[252]={0}; int bitnum=0; int errCnt =0; int i=1; int bestErr = 1000; int bestRun = 0; - int finish = 0; int ii=1; for (ii=1;ii<3;++ii){ i=1; for (i=i+ii;i<*bitLen-2;i+=2){ if(BitStream[i]==1 && (BitStream[i+1]==0)){ - BitStream2[bitnum++]=0; } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - BitStream2[bitnum++]=1; } else { - BitStream2[bitnum++]=77; errCnt++; } - if(bitnum>250) break; + if(bitnum>300) break; } if (bestErr>errCnt){ bestErr=errCnt; bestRun=ii; } - if (ii>1 || finish==1) { - if (bestRun==ii) { - break; - } else{ - ii=bestRun-1; - finish=1; - } - } errCnt=0; - bitnum=0; } errCnt=bestErr; if (errCnt<20){ - for (i=0; i300) break; + } + *bitLen=bitnum; + } + return errCnt; +} + + +//by marshmellow +//take 01 or 10 = 0 and 11 or 00 = 1 +int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) +{ + uint8_t bitnum=0; + uint32_t errCnt =0; + uint32_t i=1; + i=offset; + for (;i<*bitLen-2;i+=2){ + if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ + BitStream[bitnum++]=1; + } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ + BitStream[bitnum++]=0; + } else { + BitStream[bitnum++]=77; + errCnt++; + } + if(bitnum>250) break; + } + *bitLen=bitnum; return errCnt; } @@ -276,8 +284,8 @@ int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) { uint32_t i; // int invert=0; //invert default - int high = 0, low = 0; - *clk=DetectClock2(BinStream,*bitLen,*clk); //clock default + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default uint8_t BitStream[502] = {0}; if (*clk<8) *clk =64; @@ -293,13 +301,13 @@ int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) else if (BinStream[i] < low) low = BinStream[i]; } - if ((high < 30) && ((high !=1)||(low !=-1))){ //throw away static - allow 1 and -1 (in case of threshold command first) + if ((high < 158)){ //throw away static // PrintAndLog("no data found"); - return -1; + return -2; } //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)(0.75*high); - low=(int)(0.75*low); + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); int lastBit = 0; //set first clock check @@ -411,29 +419,32 @@ int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) return errCnt; } //translate wave to 11111100000 (1 for each short wave 0 for each long wave) -size_t fsk_wave_demod(uint8_t * dest, size_t size) +size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow) { uint32_t last_transition = 0; uint32_t idx = 1; uint32_t maxVal=0; - + if (fchigh==0) fchigh=10; + if (fclow==0) fclow=8; // we do care about the actual theshold value as sometimes near the center of the // wave we may get static that changes direction of wave for one value // if our value is too low it might affect the read. and if our tag or // antenna is weak a setting too high might not see anything. [marshmellow] if (size<100) return 0; for(idx=1; idx<100; idx++){ - if(maxVal1 transition if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - if (idx-last_transition<6){ //0-5 = garbage noise + if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise //do nothing with extra garbage - } else if (idx-last_transition < 9) { //6-8 = 8 waves + } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves dest[numBits]=1; } else { //9+ = 10 waves dest[numBits]=0; @@ -469,7 +481,7 @@ uint32_t myround2(float f) } //translate 11111100000 to 10 -size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, +size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert,uint8_t fchigh,uint8_t fclow )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, { uint8_t lastval=dest[0]; uint32_t idx=0; @@ -484,10 +496,10 @@ size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxCons } //if lastval was 1, we have a 1->0 crossing if ( dest[idx-1]==1 ) { - n=myround2((float)(n+1)/((float)(rfLen)/(float)8)); + n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); //n=(n+1) / h2l_crossing_value; } else {// 0->1 crossing - n=myround2((float)(n+1)/((float)(rfLen-2)/(float)10)); //-2 for fudge factor + n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor //n=(n+1) / l2h_crossing_value; } if (n == 0) n = 1; @@ -508,23 +520,11 @@ size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxCons } //by marshmellow (from holiman's base) // full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod) -int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert) +int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow) { - //uint8_t h2l_crossing_value = 6; - //uint8_t l2h_crossing_value = 5; - - // if (rfLen==64) //currently only know settings for RF/64 change from default if option entered - // { - // h2l_crossing_value=8; //or 8 as 64/8 = 8 - // l2h_crossing_value=6; //or 6.4 as 64/10 = 6.4 - // } - // size_t size = GraphTraceLen; - // FSK demodulator - size = fsk_wave_demod(dest, size); - size = aggregate_bits(dest, size,rfLen,192,invert); - // size = aggregate_bits(size, h2l_crossing_value, l2h_crossing_value,192, invert); //192=no limit to same values - //done messing with GraphBuffer - repaint - //RepaintGraphWindow(); + // FSK demodulator + size = fsk_wave_demod(dest, size, fchigh, fclow); + size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); return size; } // loop to get raw HID waveform then FSK demodulate the TAG ID from it @@ -533,7 +533,7 @@ int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_ size_t idx=0; //, found=0; //size=0, // FSK demodulator - size = fskdemod(dest, size,50,0); + size = fskdemod(dest, size,50,0,10,8); // final loop, go over previously decoded manchester data and decode into usable tag ID // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 @@ -594,17 +594,18 @@ int IOdemodFSK(uint8_t *dest, size_t size) { uint32_t idx=0; //make sure buffer has data - if (size < 64) return -1; + if (size < 66) return -1; //test samples are not just noise uint8_t testMax=0; - for(idx=0;idx<64;idx++){ + for(idx=0;idx<65;idx++){ if (testMax170){ // FSK demodulator - size = fskdemod(dest, size,64,1); + size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert + if (size < 65) return -1; //did we get a good demod? //Index map //0 10 20 30 40 50 60 //| | | | | | | @@ -615,7 +616,7 @@ int IOdemodFSK(uint8_t *dest, size_t size) //XSF(version)facility:codeone+codetwo //Handle the data uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 74); idx++) { + for( idx=0; idx < (size - 65); idx++) { if ( memcmp(dest + idx, mask, sizeof(mask))==0) { //frame marker found if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ @@ -632,33 +633,36 @@ int IOdemodFSK(uint8_t *dest, size_t size) // by marshmellow // not perfect especially with lower clocks or VERY good antennas (heavy wave clipping) // maybe somehow adjust peak trimming value based on samples to fix? -int DetectClock2(uint8_t dest[], size_t size, int clock) +int DetectASKClock(uint8_t dest[], size_t size, int clock) { int i=0; int peak=0; - int low=0; + int low=128; int clk[]={16,32,40,50,64,100,128,256}; + int loopCnt = 256; //don't need to loop through entire array... + if (sizepeak){ - peak = dest[i]; - } - if(dest[i]peak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ errCnt[clkCnt]=0; + // now that we have the first one lined up test rest of wave array for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ }else{ //error no peak detected errCnt[clkCnt]++; } } + //if we found no errors this is correct one - return this clock if(errCnt[clkCnt]==0) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run if(errCnt[clkCnt] -int DetectClock2(uint8_t dest[], size_t size, int clock); +int DetectASKClock(uint8_t dest[], size_t size, int clock); int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen); -int manrawdemod(uint8_t *BitStream, int *bitLen); +int manrawdecode(uint8_t *BitStream, int *bitLen); +int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset); int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); int IOdemodFSK(uint8_t *dest, size_t size); -int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert); +int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow); uint32_t bytebits_to_byte(uint8_t* src, int numbits); -// -//#define MAX_BitStream_LEN (1024*128) -//extern int BitStreamLen; - #endif diff --git a/traces/Casi-12ed825c29.pm3 b/traces/Casi-12ed825c29.pm3 new file mode 100644 index 000000000..d49c13a2e --- /dev/null +++ b/traces/Casi-12ed825c29.pm3 @@ -0,0 +1,16000 @@ +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +115 +104 +62 +24 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +111 +104 +99 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +94 +89 +84 +76 +71 +64 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +27 +23 +22 +19 +18 +16 +15 +13 +13 +10 +-20 +-46 +-66 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +114 +80 +78 +74 +70 +63 +59 +53 +50 +45 +42 +38 +4 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +60 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +110 +104 +97 +88 +83 +75 +70 +64 +60 +54 +52 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +79 +72 +68 +62 +59 +52 +49 +45 +42 +38 +36 +32 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +120 +85 +84 +79 +75 +68 +63 +57 +53 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +125 +90 +88 +84 +79 +71 +67 +60 +57 +51 +48 +43 +9 +-21 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +90 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +31 +28 +-5 +-33 +-55 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +121 +86 +85 +80 +76 +68 +64 +58 +55 +49 +46 +42 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +88 +83 +76 +71 +65 +60 +55 +52 +46 +44 +39 +37 +33 +31 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +85 +84 +79 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +71 +67 +60 +56 +51 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-8 +-34 +-56 +-74 +-89 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +112 +110 +104 +99 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +94 +89 +84 +75 +70 +64 +60 +55 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +56 +19 +-11 +-37 +-58 +-77 +-91 +-104 +-98 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +109 +108 +102 +96 +87 +82 +74 +70 +63 +60 +54 +51 +45 +43 +38 +37 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +12 +-18 +-44 +-65 +-84 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +82 +74 +70 +63 +59 +53 +51 +46 +44 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +53 +50 +45 +42 +38 +35 +32 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +94 +87 +81 +74 +70 +63 +60 +54 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +63 +59 +54 +50 +45 +42 +38 +36 +32 +30 +27 +-5 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +120 +85 +85 +80 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +46 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +75 +71 +64 +61 +55 +19 +-13 +-38 +-61 +-79 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +11 +-20 +-44 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +50 +45 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +92 +91 +86 +81 +72 +68 +62 +58 +53 +50 +45 +42 +37 +36 +31 +30 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +49 +44 +42 +38 +35 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +59 +21 +-9 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +110 +108 +102 +97 +88 +81 +74 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +23 +20 +19 +16 +16 +13 +-17 +-44 +-65 +-83 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +85 +80 +72 +69 +62 +58 +53 +50 +45 +42 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +59 +21 +-9 +-35 +-57 +-75 +-90 +-103 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +104 +97 +88 +83 +75 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +64 +59 +54 +51 +46 +11 +-20 +-44 +-65 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +92 +91 +86 +82 +73 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +3 +127 +127 +127 +115 +80 +79 +74 +70 +63 +59 +52 +50 +45 +42 +37 +3 +-26 +-49 +-70 +-87 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +124 +88 +87 +83 +78 +70 +65 +59 +56 +51 +47 +43 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +89 +84 +79 +72 +67 +60 +57 +51 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +90 +85 +80 +71 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +92 +91 +85 +81 +73 +68 +62 +59 +52 +49 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +85 +81 +72 +68 +61 +58 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +90 +84 +79 +72 +67 +61 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +61 +23 +-7 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +94 +89 +84 +75 +70 +64 +61 +55 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +12 +12 +10 +-19 +-46 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +7 +127 +127 +127 +115 +80 +79 +75 +70 +63 +59 +53 +51 +45 +42 +38 +5 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +111 +102 +60 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +110 +109 +103 +97 +88 +82 +75 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +30 +28 +26 +23 +22 +19 +18 +16 +15 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +79 +72 +69 +62 +59 +53 +49 +44 +42 +38 +35 +31 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +86 +85 +79 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +57 +52 +48 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +89 +84 +80 +72 +67 +61 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +76 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +56 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +89 +84 +77 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +85 +84 +79 +75 +67 +63 +56 +54 +48 +45 +41 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +71 +66 +60 +56 +51 +48 +43 +9 +-22 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +104 +97 +88 +82 +75 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +-19 +-45 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +57 +19 +-10 +-37 +-58 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +109 +108 +102 +96 +87 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +25 +22 +21 +19 +17 +15 +14 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +33 +31 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +102 +96 +88 +82 +75 +70 +63 +60 +54 +51 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +94 +86 +81 +74 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-34 +-56 +-76 +-92 +-106 +-101 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +120 +85 +84 +79 +74 +67 +62 +56 +53 +48 +46 +41 +6 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +110 +104 +98 +89 +83 +75 +71 +65 +61 +54 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +11 +-20 +-44 +-66 +-82 +-98 +-110 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +85 +81 +72 +67 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +90 +85 +81 +72 +67 +61 +58 +52 +50 +44 +42 +38 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +84 +80 +73 +69 +62 +58 +52 +49 +45 +42 +37 +35 +31 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +84 +79 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +61 +23 +-8 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +109 +108 +102 +96 +86 +81 +73 +69 +62 +59 +52 +49 +44 +42 +37 +35 +31 +29 +25 +24 +22 +20 +17 +16 +14 +13 +11 +-19 +-45 +-66 +-84 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +80 +74 +69 +62 +59 +53 +51 +45 +43 +38 +36 +32 +31 +27 +-5 +-33 +-56 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +59 +21 +-9 +-35 +-57 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +111 +109 +103 +97 +88 +83 +75 +71 +64 +61 +54 +18 +-13 +-38 +-61 +-79 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +94 +89 +84 +76 +70 +64 +60 +55 +51 +45 +11 +-19 +-44 +-66 +-83 +-98 +-110 +-104 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +57 +53 +50 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +80 +79 +75 +71 +63 +59 +53 +50 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +125 +89 +88 +83 +78 +71 +66 +59 +56 +51 +47 +42 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +57 +52 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +85 +81 +72 +67 +61 +58 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +84 +79 +72 +66 +60 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +90 +85 +81 +72 +67 +61 +58 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +104 +98 +88 +83 +75 +71 +64 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +-19 +-45 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +79 +79 +74 +70 +63 +59 +53 +50 +45 +43 +38 +5 +-25 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +109 +103 +97 +88 +82 +75 +70 +64 +60 +54 +51 +45 +43 +39 +37 +32 +30 +27 +26 +23 +21 +19 +18 +15 +14 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +108 +99 +93 +85 +80 +72 +68 +61 +58 +53 +50 +45 +42 +37 +35 +31 +29 +26 +-5 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +84 +79 +75 +67 +63 +56 +53 +48 +45 +40 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +71 +67 +61 +57 +52 +48 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +89 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +76 +72 +64 +61 +55 +52 +47 +44 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +44 +40 +38 +33 +32 +29 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +88 +83 +79 +71 +66 +60 +56 +51 +48 +43 +9 +-21 +-46 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +110 +103 +97 +88 +82 +75 +71 +64 +60 +54 +18 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +59 +54 +51 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +57 +20 +-10 +-36 +-57 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +109 +108 +102 +96 +88 +82 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +32 +30 +27 +26 +22 +21 +19 +17 +15 +15 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +85 +80 +72 +68 +62 +58 +53 +50 +45 +42 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +102 +96 +88 +83 +75 +71 +65 +61 +55 +52 +47 +44 +40 +37 +34 +31 +29 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +94 +86 +81 +73 +69 +62 +59 +53 +50 +45 +42 +38 +35 +31 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +32 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +10 +127 +127 +127 +120 +85 +84 +79 +74 +67 +62 +56 +54 +48 +45 +40 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +75 +71 +65 +61 +55 +19 +-13 +-38 +-60 +-78 +-94 +-106 +-101 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +94 +89 +84 +76 +71 +64 +60 +55 +51 +46 +11 +-19 +-44 +-65 +-82 +-98 +-109 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +91 +90 +84 +80 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +14 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +85 +84 +80 +75 +67 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +46 +127 +127 +127 +127 +112 +110 +104 +98 +88 +83 +75 +71 +63 +60 +54 +51 +46 +43 +38 +36 +32 +30 +27 +26 +22 +21 +18 +17 +14 +14 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +60 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +110 +109 +103 +97 +87 +82 +74 +69 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +95 +93 +88 +84 +76 +70 +63 +60 +55 +51 +46 +11 +-19 +-44 +-65 +-82 +-98 +-109 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +49 +45 +42 +37 +35 +32 +30 +27 +25 +22 +21 +18 +17 +15 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +4 +127 +127 +127 +115 +80 +79 +74 +70 +63 +59 +52 +49 +45 +43 +38 +4 +-26 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +125 +90 +88 +84 +79 +71 +67 +60 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +127 +91 +90 +85 +80 +72 +68 +61 +57 +52 +49 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +90 +90 +84 +80 +71 +66 +61 +57 +51 +49 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +85 +81 +73 +68 +62 +58 +52 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +103 +97 +88 +83 +75 +71 +64 +60 +54 +18 +-14 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +-20 +-46 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +3 +127 +127 +127 +115 +80 +79 +74 +70 +63 +59 +53 +51 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +99 +89 +83 +75 +71 +65 +61 +55 +51 +47 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +-17 +-44 +-65 +-83 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +44 +42 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +84 +80 +75 +67 +63 +56 +53 +48 +46 +40 +6 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +71 +67 +60 +57 +51 +48 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +90 +84 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +71 +65 +61 +55 +51 +47 +44 +40 +37 +33 +31 +27 +-5 +-33 +-56 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +56 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +71 +67 +60 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +44 +39 +37 +34 +32 +28 +-4 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +86 +85 +81 +76 +68 +63 +58 +55 +50 +47 +42 +8 +-22 +-46 +-68 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +61 +22 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +110 +104 +98 +89 +83 +75 +71 +64 +60 +54 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +60 +54 +51 +46 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +57 +19 +-10 +-37 +-58 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +41 +127 +127 +127 +127 +110 +109 +102 +97 +88 +82 +75 +70 +63 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +15 +15 +13 +-18 +-44 +-65 +-83 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +96 +88 +83 +75 +71 +64 +60 +54 +51 +45 +43 +39 +36 +32 +31 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +85 +85 +79 +75 +68 +63 +57 +54 +48 +45 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +109 +103 +97 +88 +82 +75 +71 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +94 +88 +83 +75 +70 +63 +60 +54 +52 +46 +11 +-19 +-43 +-65 +-82 +-98 +-110 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +90 +85 +81 +72 +67 +62 +58 +52 +49 +45 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +85 +80 +72 +67 +62 +58 +52 +50 +45 +42 +38 +35 +31 +30 +27 +-5 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +76 +68 +63 +57 +54 +49 +47 +42 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +98 +89 +84 +76 +71 +65 +61 +55 +52 +47 +45 +40 +37 +34 +32 +29 +27 +23 +23 +20 +19 +16 +15 +13 +-17 +-44 +-65 +-83 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +91 +83 +78 +71 +66 +59 +56 +51 +48 +43 +40 +35 +34 +30 +28 +25 +-7 +-35 +-57 +-77 +-93 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +59 +22 +-9 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +99 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +87 +83 +75 +69 +63 +59 +54 +51 +45 +11 +-20 +-44 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +72 +68 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +12 +9 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +3 +127 +127 +127 +115 +80 +79 +74 +70 +62 +59 +53 +50 +45 +42 +38 +4 +-26 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +15 +127 +127 +127 +125 +89 +88 +83 +78 +71 +66 +60 +57 +51 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +85 +81 +73 +68 +61 +58 +53 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +80 +72 +68 +61 +58 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +71 +67 +60 +56 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +127 +92 +90 +85 +80 +72 +68 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +99 +88 +83 +75 +71 +65 +61 +54 +18 +-13 +-39 +-61 +-78 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +43 +39 +36 +32 +31 +27 +25 +23 +22 +19 +18 +15 +15 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +79 +79 +74 +70 +62 +59 +53 +50 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +103 +61 +22 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +99 +89 +83 +75 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +32 +28 +27 +24 +23 +20 +19 +16 +15 +13 +-17 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +42 +38 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +84 +79 +75 +67 +62 +57 +54 +48 +45 +40 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +56 +52 +49 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +127 +91 +89 +85 +80 +72 +67 +61 +57 +52 +49 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-4 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +56 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +71 +67 +60 +56 +51 +48 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +33 +32 +28 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +58 +54 +49 +46 +42 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +126 +91 +90 +85 +79 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +103 +97 +89 +83 +75 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +59 +54 +51 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +18 +17 +15 +15 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +57 +19 +-11 +-37 +-58 +-76 +-91 +-104 +-98 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +109 +108 +102 +96 +87 +81 +74 +70 +63 +60 +54 +51 +46 +43 +38 +37 +33 +30 +28 +26 +23 +22 +19 +18 +15 +15 +13 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +35 +32 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +45 +43 +38 +36 +32 +31 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +103 +96 +88 +83 +76 +71 +65 +61 +55 +52 +47 +44 +40 +38 +34 +32 +29 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +50 +44 +42 +38 +35 +31 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +120 +85 +84 +79 +74 +67 +62 +56 +53 +48 +46 +40 +6 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +23 +-8 +-34 +-56 +-74 +-89 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +109 +103 +97 +88 +82 +75 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +53 +51 +45 +11 +-20 +-44 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +58 +53 +50 +45 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +92 +90 +86 +81 +73 +68 +61 +58 +53 +50 +45 +42 +38 +35 +31 +30 +26 +25 +22 +20 +18 +18 +15 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +35 +31 +30 +27 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +86 +84 +80 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +62 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +75 +71 +64 +61 +54 +51 +46 +44 +39 +37 +33 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +-17 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +68 +61 +58 +52 +49 +44 +42 +38 +35 +31 +29 +26 +-6 +-34 +-57 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +57 +19 +-10 +-37 +-58 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +110 +104 +98 +88 +83 +75 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-79 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +96 +94 +90 +85 +77 +71 +64 +61 +55 +52 +47 +12 +-19 +-43 +-65 +-82 +-98 +-109 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +85 +81 +73 +68 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +17 +15 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +80 +79 +75 +70 +63 +59 +53 +50 +46 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +125 +89 +89 +84 +79 +70 +65 +60 +56 +51 +48 +43 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +85 +81 +72 +68 +61 +59 +53 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +84 +79 +71 +66 +60 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +91 +90 +85 +80 +72 +68 +61 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +76 +71 +64 +60 +55 +19 +-13 +-38 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +84 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +4 +127 +127 +127 +115 +79 +78 +74 +69 +62 +58 +52 +49 +45 +42 +38 +4 +-26 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +76 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +100 +93 +86 +81 +73 +69 +62 +59 +53 +50 +45 +42 +37 +35 +32 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +85 +84 +79 +75 +67 +62 +56 +53 +48 +45 +40 +6 +-24 +-47 +-69 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +89 +88 +83 +79 +71 +66 +60 +56 +51 +48 +43 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +83 +76 +72 +65 +61 +55 +52 +46 +43 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +86 +86 +80 +75 +68 +63 +57 +53 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +57 +52 +49 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-4 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +121 +86 +85 +80 +76 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +85 +79 +72 +67 +61 +57 +52 +48 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +62 +24 +-7 +-33 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +47 +127 +127 +127 +127 +112 +110 +104 +97 +88 +82 +75 +70 +64 +60 +54 +18 +-14 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +59 +54 +51 +46 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +57 +19 +-11 +-37 +-58 +-77 +-91 +-104 +-98 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +109 +108 +102 +96 +87 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +12 +-18 +-44 +-65 +-84 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +85 +80 +73 +69 +63 +59 +53 +50 +45 +42 +37 +35 +32 +30 +27 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +74 +69 +63 +59 +54 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +31 +28 +-5 +-33 +-55 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +55 +52 +47 +44 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +120 +84 +84 +78 +73 +65 +61 +56 +53 +47 +45 +40 +6 +-24 +-48 +-69 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +109 +104 +97 +88 +82 +75 +71 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +94 +93 +88 +83 +74 +69 +63 +59 +54 +50 +45 +10 +-20 +-44 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +91 +90 +86 +81 +72 +67 +61 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +90 +85 +81 +73 +68 +61 +58 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +42 +38 +35 +32 +30 +26 +-6 +-34 +-57 +-77 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +15 +127 +127 +127 +120 +85 +84 +79 +75 +67 +62 +56 +54 +48 +46 +40 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +46 +127 +127 +127 +127 +112 +111 +105 +99 +90 +84 +76 +72 +65 +61 +55 +52 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +19 +18 +16 +15 +13 +-17 +-44 +-65 +-83 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +68 +63 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +-5 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +58 +20 +-10 +-36 +-57 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +41 +127 +127 +127 +127 +108 +106 +100 +95 +86 +80 +73 +68 +61 +58 +52 +16 +-15 +-40 +-62 +-80 +-95 +-108 +-103 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +84 +76 +71 +64 +61 +55 +52 +47 +12 +-19 +-43 +-65 +-82 +-98 +-110 +-104 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +93 +92 +87 +82 +74 +69 +63 +59 +54 +51 +45 +42 +38 +36 +32 +31 +27 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +4 +127 +127 +127 +114 +79 +78 +73 +69 +61 +57 +52 +49 +44 +42 +37 +4 +-26 +-49 +-70 +-87 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +89 +88 +83 +79 +71 +65 +59 +56 +51 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +60 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +50 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +90 +89 +85 +80 +72 +67 +60 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +91 +90 +85 +81 +72 +67 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +46 +127 +127 +127 +127 +111 +110 +104 +97 +88 +83 +75 +71 +64 +61 +55 +19 +-13 +-38 +-61 +-78 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +93 +89 +84 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +32 +30 +28 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +6 +127 +127 +127 +115 +79 +79 +74 +69 +62 +58 +52 +50 +44 +42 +38 +4 +-26 +-49 +-70 +-87 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +110 +103 +97 +88 +83 +75 +71 +64 +61 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +24 +22 +19 +18 +15 +15 +13 +-17 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +110 +100 +94 +86 +81 +73 +69 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +70 +65 +60 +56 +51 +48 +43 +9 +-21 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +60 +56 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +85 +84 +79 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +71 +66 +61 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +76 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +85 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +126 +90 +89 +84 +80 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +111 +105 +99 +89 +84 +76 +71 +65 +61 +56 +19 +-13 +-38 +-60 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +94 +88 +83 +75 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +30 +27 +26 +22 +22 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +57 +19 +-11 +-37 +-58 +-76 +-91 +-104 +-98 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +109 +107 +102 +96 +87 +82 +74 +69 +63 +59 +54 +51 +45 +43 +38 +36 +32 +31 +27 +26 +22 +21 +18 +17 +15 +14 +12 +-18 +-44 +-65 +-84 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +69 +62 +58 +52 +49 +45 +42 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +74 +70 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +82 +74 +70 +63 +60 +54 +51 +45 +42 +38 +36 +33 +31 +27 +-5 +-33 +-55 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +87 +82 +75 +71 +64 +61 +55 +52 +47 +44 +39 +38 +34 +32 +29 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +123 +86 +86 +81 +77 +69 +64 +58 +55 +49 +47 +42 +7 +-23 +-46 +-68 +-85 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +102 +60 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +104 +97 +88 +83 +75 +71 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +46 +11 +-19 +-44 +-65 +-83 +-98 +-110 +-104 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +51 +48 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +29 +25 +24 +22 +21 +18 +17 +14 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +80 +72 +69 +62 +59 +53 +50 +45 +42 +37 +35 +32 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +120 +86 +84 +79 +75 +67 +63 +57 +53 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-7 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +99 +90 +84 +75 +71 +64 +61 +55 +52 +47 +45 +40 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +-17 +-44 +-65 +-83 +-98 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +72 +69 +62 +58 +52 +49 +44 +42 +38 +35 +32 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +60 +21 +-9 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +109 +108 +102 +96 +87 +82 +74 +69 +62 +58 +53 +17 +-14 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +72 +67 +60 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +58 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +21 +18 +18 +16 +15 +13 +13 +10 +-19 +-46 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +80 +79 +75 +70 +63 +59 +53 +50 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +124 +88 +87 +82 +78 +70 +65 +59 +56 +51 +47 +43 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +80 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +127 +92 +90 +85 +80 +72 +68 +62 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +72 +68 +62 +57 +52 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +84 +79 +71 +67 +60 +57 +51 +49 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +110 +104 +97 +89 +83 +75 +71 +64 +60 +54 +18 +-14 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +-19 +-45 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +79 +79 +74 +69 +62 +58 +53 +50 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +103 +60 +22 +-8 +-35 +-56 +-75 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +109 +103 +97 +88 +83 +75 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +22 +21 +19 +18 +15 +15 +13 +-17 +-44 +-65 +-83 +-98 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +93 +86 +81 +73 +68 +62 +59 +53 +50 +45 +43 +38 +35 +31 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +120 +85 +85 +80 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +43 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +90 +85 +80 +71 +66 +60 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +88 +83 +76 +71 +65 +61 +55 +52 +47 +43 +40 +37 +33 +31 +28 +-4 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +120 +85 +85 +80 +75 +67 +63 +57 +54 +48 +46 +40 +6 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +83 +79 +71 +67 +60 +57 +51 +48 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +76 +72 +65 +61 +54 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +85 +85 +80 +75 +67 +63 +57 +53 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +71 +67 +60 +56 +51 +48 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +27 +127 +127 +127 +127 +95 +94 +89 +84 +76 +71 +64 +61 +54 +52 +47 +44 +40 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +56 +19 +-11 +-37 +-58 +-77 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +41 +127 +127 +127 +127 +109 +108 +102 +96 +87 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +37 +32 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +108 +98 +93 +85 +80 +72 +68 +61 +58 +52 +49 +44 +41 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +82 +74 +69 +63 +60 +54 +50 +46 +43 +39 +36 +32 +31 +28 +-5 +-33 +-55 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +86 +81 +77 +69 +65 +58 +56 +50 +47 +42 +8 +-22 +-46 +-68 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +110 +109 +102 +97 +87 +81 +74 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +11 +-20 +-44 +-66 +-83 +-98 +-110 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +58 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +85 +79 +71 +67 +60 +57 +51 +49 +43 +41 +36 +35 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +-21 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +42 +38 +35 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +61 +23 +-7 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +110 +104 +98 +89 +83 +75 +71 +64 +61 +55 +51 +46 +44 +39 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +-18 +-44 +-65 +-83 +-98 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 diff --git a/traces/EM4102-Fob.pm3 b/traces/EM4102-Fob.pm3 new file mode 100644 index 000000000..1fb16070d --- /dev/null +++ b/traces/EM4102-Fob.pm3 @@ -0,0 +1,40000 @@ +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +71 +50 +27 +7 +-8 +-16 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-12 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-14 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-15 +-14 +-13 +-12 +-13 +-12 +20 +73 +89 +89 +71 +50 +27 +7 +-8 +-17 +-20 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +71 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-19 +-19 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-11 +-8 +-3 +-2 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-21 +-18 +-18 +-16 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +20 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-9 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +90 +88 +71 +50 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-20 +-20 +-17 +-12 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-66 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +72 +51 +27 +9 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +89 +71 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-11 +-9 +-10 +-10 +-11 +-10 +-10 +-11 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-17 +-17 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +18 +72 +89 +88 +71 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-13 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-15 +-14 +-13 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-64 +-47 +-31 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-10 +22 +75 +91 +90 +74 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-82 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +88 +71 +50 +27 +8 +-7 +-17 +-20 +-19 +-18 +-12 +-8 +-4 +-1 +1 +1 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-35 +-72 +-99 +-98 +-86 +-67 +-49 +-33 +-24 +-17 +-14 +-14 +-16 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +21 +76 +92 +90 +74 +53 +28 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-5 +-6 +-6 +-6 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +72 +50 +27 +7 +-9 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +8 +-7 +-17 +-20 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-72 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-17 +-18 +-19 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +-1 +-1 +-1 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-3 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-74 +-98 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +7 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-5 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-64 +-47 +-31 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-16 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +21 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +74 +90 +88 +72 +50 +26 +7 +-7 +-16 +-20 +-20 +-17 +-13 +-8 +-3 +-2 +1 +0 +-1 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-36 +-73 +-99 +-99 +-85 +-66 +-49 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-22 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-9 +-10 +-10 +22 +75 +91 +91 +73 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-2 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-8 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-36 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-16 +-15 +-14 +-16 +-18 +-20 +-20 +-22 +-20 +-20 +-18 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +88 +71 +51 +27 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-23 +-15 +-13 +-14 +-15 +-16 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +87 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +1 +0 +-1 +-2 +-2 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +89 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-9 +-4 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-6 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-13 +-14 +-14 +-14 +-13 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-3 +-5 +-5 +-5 +-7 +-6 +-6 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-8 +-4 +-2 +-1 +-1 +-1 +-1 +-3 +-4 +-4 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-14 +-14 +-13 +-13 +-13 +-13 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +22 +75 +92 +91 +73 +52 +28 +9 +-6 +-14 +-19 +-18 +-16 +-11 +-8 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-6 +-5 +-6 +-6 +-6 +-5 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-84 +-66 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-17 +-19 +-21 +-21 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-12 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +22 +75 +92 +91 +74 +53 +29 +9 +-7 +-15 +-20 +-19 +-16 +-10 +-7 +-2 +-1 +0 +0 +1 +-1 +-2 +-3 +-3 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-9 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +-1 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +90 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-4 +-5 +-6 +-5 +-6 +-5 +-6 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-18 +-19 +-19 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +73 +50 +27 +8 +-8 +-17 +-21 +-20 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-3 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-11 +-36 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-17 +-19 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +7 +-9 +-17 +-20 +-20 +-16 +-12 +-9 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-16 +-17 +-18 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +19 +74 +90 +89 +73 +51 +27 +8 +-8 +-17 +-20 +-20 +-17 +-12 +-7 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-8 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-19 +-20 +-19 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-5 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-14 +-15 +-13 +-13 +-13 +19 +74 +89 +88 +71 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-2 +1 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-31 +-22 +-15 +-14 +-14 +-15 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-13 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-2 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-21 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +89 +88 +72 +51 +26 +8 +-8 +-16 +-20 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +21 +76 +92 +90 +74 +52 +28 +8 +-7 +-15 +-20 +-18 +-15 +-11 +-6 +-3 +-2 +0 +0 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +-1 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +90 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +1 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +20 +74 +90 +88 +71 +50 +26 +7 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-6 +-7 +-6 +-7 +-6 +-8 +-7 +-7 +-8 +-8 +-7 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-36 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-21 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +21 +76 +92 +91 +74 +53 +28 +9 +-7 +-16 +-20 +-19 +-15 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-14 +-13 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-20 +-17 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-7 +-6 +-7 +-6 +-8 +-7 +-7 +-7 +-7 +-7 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-85 +-66 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-19 +-20 +-20 +-21 +-20 +-20 +-20 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +22 +76 +92 +91 +73 +52 +28 +8 +-7 +-15 +-19 +-18 +-15 +-10 +-7 +-3 +-1 +1 +0 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-46 +-32 +-23 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-13 +-12 +19 +74 +90 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-3 +-1 +-1 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-7 +-3 +-1 +-1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +89 +72 +51 +27 +7 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +71 +50 +27 +8 +-9 +-16 +-20 +-19 +-17 +-11 +-9 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-14 +-12 +20 +74 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +-1 +0 +0 +-1 +-1 +-3 +-5 +-6 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-14 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +50 +27 +7 +-9 +-17 +-20 +-20 +-17 +-11 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-15 +-13 +-14 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +8 +-9 +-17 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +-1 +-1 +-2 +-4 +-5 +-7 +-6 +-6 +-6 +-7 +-6 +-8 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +90 +89 +72 +50 +26 +7 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-19 +-20 +-20 +-19 +-18 +-19 +-17 +-16 +-15 +-15 +-13 +-13 +-13 +-14 +-13 +-14 +-13 +20 +73 +89 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-8 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-17 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-2 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-14 +19 +73 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-8 +-4 +-2 +-1 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-6 +-16 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-6 +-5 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +0 +-1 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-36 +-73 +-99 +-99 +-86 +-67 +-50 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +77 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +0 +-1 +-3 +-4 +-5 +-6 +-6 +-5 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-31 +-21 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-7 +-6 +-7 +-6 +-7 +-6 +-6 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +73 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-8 +-8 +-9 +-8 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +-14 +-14 +-13 +-15 +-14 +-14 +-13 +19 +73 +89 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-8 +-6 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-31 +-21 +-16 +-14 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-17 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-10 +-10 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +73 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-4 +-1 +1 +0 +1 +-1 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-9 +-8 +-8 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-16 +-17 +-19 +-20 +-22 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +27 +7 +-8 +-16 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-20 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-13 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +90 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-4 +-4 +-5 +-4 +-6 +-5 +-6 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-12 +20 +74 +90 +89 +71 +51 +27 +8 +-7 +-17 +-20 +-20 +-18 +-12 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-7 +-8 +-8 +-7 +-8 +-7 +-8 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-8 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-15 +-16 +-17 +-19 +-20 +-22 +-21 +-20 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +21 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +-1 +0 +0 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-66 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +18 +73 +89 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-13 +-13 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +22 +76 +92 +91 +73 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-8 +-3 +-1 +1 +0 +1 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-16 +-14 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +22 +76 +93 +92 +74 +53 +29 +9 +-7 +-15 +-20 +-19 +-15 +-11 +-7 +-3 +-1 +0 +0 +1 +-2 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-8 +-8 +-9 +-9 +-8 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-17 +-19 +-20 +-20 +-20 +-20 +-19 +-18 +-18 +-17 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +88 +88 +71 +51 +26 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-5 +-6 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +21 +76 +91 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-18 +-16 +-10 +-7 +-3 +-1 +1 +0 +1 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-21 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-10 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-19 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-14 +-14 +18 +73 +89 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-11 +-8 +-3 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-16 +-16 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +7 +-7 +-17 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-70 +-96 +-80 +-82 +-64 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-19 +-20 +-19 +-21 +-19 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-8 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-12 +20 +74 +90 +89 +72 +51 +27 +7 +-9 +-17 +-20 +-20 +-16 +-11 +-8 +-3 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-21 +-15 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-14 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-5 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-6 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-9 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-1 +0 +-1 +-1 +-2 +-3 +-4 +-4 +-5 +-6 +-7 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +87 +71 +50 +26 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-10 +-9 +-10 +-10 +-11 +-10 +21 +75 +92 +90 +74 +53 +28 +9 +-7 +-15 +-20 +-18 +-15 +-11 +-6 +-2 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-33 +-23 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +72 +89 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-18 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +-1 +-1 +-2 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +19 +73 +89 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-15 +-14 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +27 +7 +-7 +-16 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-2 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-10 +-9 +-9 +-9 +-9 +-8 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +73 +52 +28 +8 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +0 +0 +1 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-21 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-14 +-13 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +-1 +0 +0 +-1 +-1 +-3 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-8 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-19 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-13 +-12 +-12 +-13 +-12 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +91 +73 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-12 +-7 +-2 +-1 +1 +1 +1 +-1 +-2 +-3 +-5 +-5 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +1 +1 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-14 +-14 +-12 +20 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-5 +-6 +-5 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-2 +-2 +0 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-12 +-12 +-12 +19 +73 +90 +88 +72 +50 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +20 +73 +89 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-21 +-19 +-18 +-17 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +74 +90 +89 +71 +50 +27 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +90 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-7 +-3 +-1 +1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +20 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-17 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-14 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-13 +-12 +-12 +-11 +-12 +-11 +-10 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-4 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +74 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-7 +-3 +-2 +0 +-1 +0 +-1 +-2 +-3 +-3 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-17 +-17 +-19 +-20 +-22 +-21 +-20 +-20 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +22 +76 +91 +91 +74 +52 +29 +10 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +0 +1 +1 +1 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-5 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +90 +89 +72 +49 +26 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-2 +-3 +-4 +-5 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-7 +-7 +-9 +-8 +-8 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-15 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-13 +18 +73 +89 +88 +71 +50 +26 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-5 +-2 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-8 +-6 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-15 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +89 +74 +53 +29 +10 +-6 +-15 +-20 +-19 +-16 +-11 +-6 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-8 +-9 +-10 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-98 +-99 +-86 +-66 +-49 +-33 +-23 +-17 +-15 +-14 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +89 +88 +71 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-18 +-19 +-20 +-21 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +21 +76 +92 +91 +74 +53 +28 +9 +-6 +-16 +-20 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-6 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-47 +-31 +-21 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +89 +89 +72 +51 +26 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +-1 +1 +1 +0 +-1 +-2 +-3 +-5 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-9 +-7 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-8 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-15 +-16 +-17 +-20 +-21 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +18 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-2 +0 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-9 +-3 +-1 +0 +0 +1 +-2 +-2 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-97 +-80 +-83 +-64 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-12 +20 +74 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +-1 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-21 +-15 +-15 +-14 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-7 +-4 +-1 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-97 +-80 +-84 +-66 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +18 +73 +89 +89 +72 +51 +27 +7 +-7 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +-12 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-11 +-11 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-20 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +90 +74 +51 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-11 +-10 +-10 +-11 +-10 +-34 +-73 +-99 +-99 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-21 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-2 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-8 +-7 +-8 +-8 +-33 +-71 +-97 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-9 +-10 +-9 +-10 +-9 +-11 +-10 +22 +76 +92 +91 +74 +52 +29 +9 +-7 +-15 +-20 +-19 +-16 +-10 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-31 +-21 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-7 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-18 +-17 +-15 +-15 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-5 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-8 +-4 +-1 +1 +-1 +-1 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-21 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +-1 +-1 +-2 +-5 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +18 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-33 +-70 +-96 +-79 +-82 +-64 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-21 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +76 +91 +91 +74 +52 +29 +10 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-8 +-32 +-70 +-96 +-80 +-82 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +26 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +73 +51 +26 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-8 +-5 +-2 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-14 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +73 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-16 +-13 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-23 +-17 +-14 +-14 +-17 +-18 +-20 +-21 +-22 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-13 +-13 +-14 +-12 +-12 +-13 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +22 +76 +92 +91 +74 +52 +28 +8 +-7 +-15 +-20 +-18 +-15 +-11 +-7 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-5 +-6 +-5 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-12 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-6 +-6 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-11 +-10 +-10 +-11 +-9 +-10 +-10 +-10 +-9 +-35 +-73 +-99 +-98 +-86 +-66 +-49 +-34 +-24 +-17 +-16 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-10 +-9 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +90 +73 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +1 +-1 +-2 +-4 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-7 +-6 +-32 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-18 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +1 +-1 +-1 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-12 +20 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-22 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-8 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-13 +-13 +-13 +-12 +-14 +-13 +19 +73 +89 +89 +72 +51 +28 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-14 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +20 +74 +90 +89 +72 +50 +27 +7 +-8 +-16 +-20 +-20 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-9 +-17 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-8 +-4 +-1 +0 +-1 +-1 +-1 +-3 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-95 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-19 +-20 +-20 +-20 +-20 +-19 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-7 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-14 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-9 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-21 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-15 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +26 +7 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-4 +-2 +-1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +72 +50 +26 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +73 +51 +29 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-6 +-5 +-7 +-6 +-6 +-7 +-33 +-71 +-97 +-80 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-20 +-20 +-19 +-19 +-19 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-8 +-7 +-9 +-8 +-9 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +21 +76 +92 +90 +74 +53 +28 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-2 +-1 +1 +0 +1 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-31 +-69 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-2 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-35 +-73 +-99 +-99 +-85 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-17 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +18 +73 +89 +88 +72 +51 +26 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-23 +-15 +-13 +-13 +-16 +-17 +-18 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-13 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-7 +-16 +-20 +-18 +-15 +-11 +-6 +-2 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-8 +-9 +-10 +-10 +-9 +-11 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-14 +-17 +-17 +-19 +-21 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-15 +-14 +-14 +-15 +-14 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +-1 +-1 +-1 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-14 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-4 +-1 +1 +1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-6 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-17 +-17 +-15 +-14 +-13 +-14 +-13 +-13 +-14 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-2 +-1 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-7 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-74 +-99 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-6 +-6 +-6 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-9 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +1 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-12 +19 +73 +89 +89 +72 +50 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-16 +-16 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-17 +-22 +-20 +-17 +-12 +-8 +-4 +-1 +-1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-16 +-19 +-20 +-20 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +-1 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-11 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +22 +75 +91 +91 +75 +53 +29 +9 +-7 +-15 +-19 +-19 +-16 +-10 +-7 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-16 +-18 +-21 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-15 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +22 +75 +91 +91 +74 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +0 +1 +0 +1 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-35 +-24 +-17 +-15 +-14 +-17 +-18 +-20 +-21 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-15 +-14 +-14 +-13 +-13 +-14 +-13 +18 +72 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +1 +-1 +0 +-2 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-20 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-2 +0 +0 +0 +1 +-1 +-1 +-3 +-3 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-3 +-1 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-9 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-9 +-10 +-9 +-35 +-73 +-99 +-98 +-85 +-66 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +-14 +-14 +-15 +-15 +-14 +-14 +-13 +19 +73 +89 +89 +72 +51 +26 +8 +-9 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-11 +-7 +-3 +-1 +-1 +-1 +-1 +-2 +-3 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-70 +-96 +-79 +-83 +-65 +-48 +-33 +-23 +-15 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +72 +50 +26 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-7 +-3 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +90 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-48 +-32 +-21 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-7 +-3 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-66 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-21 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +50 +27 +7 +-9 +-17 +-20 +-19 +-17 +-11 +-8 +-4 +-1 +1 +0 +0 +-2 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-20 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +21 +76 +92 +90 +73 +52 +29 +9 +-6 +-15 +-20 +-18 +-16 +-11 +-7 +-2 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-12 +-13 +19 +73 +89 +88 +71 +51 +26 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-48 +-33 +-23 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +19 +74 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-13 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +74 +90 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-4 +-2 +0 +1 +0 +-1 +-1 +-4 +-4 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-22 +-20 +-17 +-11 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-35 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-14 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +90 +73 +53 +29 +9 +-6 +-15 +-20 +-18 +-16 +-11 +-7 +-2 +-1 +1 +1 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-14 +-16 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +71 +50 +26 +7 +-7 +-16 +-20 +-20 +-16 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-11 +-10 +-11 +-10 +-11 +-10 +-36 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-19 +-20 +-20 +-21 +-21 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +75 +92 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-11 +-8 +-4 +-2 +-1 +0 +0 +-1 +-1 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-19 +-20 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-84 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-1 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-16 +-13 +-13 +-15 +-17 +-18 +-20 +-20 +-19 +-20 +-17 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +74 +90 +89 +72 +50 +26 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +-1 +0 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-20 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +27 +8 +-9 +-17 +-21 +-20 +-16 +-11 +-7 +-4 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +89 +71 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +0 +-1 +0 +-2 +-3 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-17 +-18 +-19 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +18 +72 +89 +88 +71 +51 +26 +7 +-7 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-2 +0 +-1 +0 +-1 +-3 +-3 +-4 +-6 +-5 +-7 +-7 +-7 +-7 +-8 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-20 +-20 +-20 +-20 +-17 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +28 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-4 +-1 +1 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-18 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-11 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +74 +52 +29 +9 +-7 +-15 +-19 +-19 +-16 +-10 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +0 +0 +-1 +-1 +-2 +-5 +-5 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-18 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +21 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-13 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-21 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +73 +51 +27 +8 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-14 +-14 +18 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +91 +74 +52 +27 +8 +-6 +-16 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-3 +-3 +-5 +-6 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-74 +-99 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +26 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +91 +73 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-5 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +72 +51 +26 +8 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-19 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-8 +-9 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-99 +-85 +-66 +-49 +-34 +-24 +-17 +-16 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-12 +-13 +-12 +-13 +-12 +-13 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-12 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-9 +-11 +-10 +22 +75 +91 +91 +74 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +0 +1 +1 +1 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-9 +-10 +-10 +-10 +-9 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-22 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-17 +-22 +-20 +-17 +-12 +-8 +-4 +-2 +-1 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +18 +72 +89 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-3 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-14 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-14 +-13 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-8 +-3 +-1 +0 +1 +1 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-19 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +74 +53 +28 +9 +-7 +-15 +-19 +-19 +-15 +-10 +-7 +-2 +-1 +0 +0 +0 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-8 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-11 +-11 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-7 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-13 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-20 +-16 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +26 +7 +-9 +-17 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-14 +-13 +20 +73 +89 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-9 +-17 +-21 +-20 +-17 +-11 +-7 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +18 +73 +90 +88 +72 +51 +26 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +89 +89 +72 +50 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +1 +0 +-1 +-1 +-3 +-5 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-16 +-20 +-19 +-16 +-12 +-7 +-3 +-2 +1 +1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-31 +-22 +-15 +-13 +-14 +-16 +-17 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +90 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-14 +-17 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-18 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-9 +-11 +-11 +-11 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-16 +-19 +-18 +-15 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-6 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +19 +74 +90 +89 +72 +50 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-1 +0 +-1 +-1 +-1 +-2 +-4 +-3 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-19 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +90 +88 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +0 +1 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-4 +-4 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-16 +-15 +-16 +-18 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +21 +76 +92 +90 +74 +53 +29 +9 +-6 +-16 +-20 +-18 +-16 +-11 +-7 +-2 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-5 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-18 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-15 +-15 +-14 +-13 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-12 +-11 +-11 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +-11 +-10 +22 +75 +92 +92 +74 +53 +29 +8 +-7 +-15 +-19 +-19 +-15 +-10 +-7 +-3 +-1 +1 +1 +1 +-2 +-1 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +7 +-8 +-17 +-22 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +51 +27 +8 +-7 +-16 +-20 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-12 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-1 +1 +0 +1 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-79 +-83 +-64 +-47 +-33 +-22 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-15 +-20 +-19 +-16 +-11 +-9 +-4 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +8 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-12 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-95 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-15 +-14 +-13 +-13 +-13 +-12 +20 +73 +89 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-82 +-64 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +74 +89 +89 +72 +50 +26 +7 +-9 +-17 +-21 +-19 +-16 +-11 +-7 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-15 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-7 +-6 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +74 +89 +89 +73 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-33 +-23 +-16 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +72 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-4 +-1 +1 +0 +0 +-1 +-3 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +20 +74 +89 +89 +72 +51 +26 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-14 +-15 +-16 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +49 +26 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +-1 +-1 +-2 +-3 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-9 +-4 +-2 +0 +0 +1 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +90 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +50 +26 +8 +-7 +-16 +-20 +-19 +-17 +-11 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-21 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +90 +74 +52 +28 +9 +-6 +-15 +-20 +-18 +-15 +-10 +-7 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-3 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-20 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +72 +51 +27 +8 +-7 +-16 +-20 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-11 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +88 +88 +71 +50 +27 +7 +-7 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-13 +-13 +-13 +-12 +-12 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +21 +75 +91 +90 +74 +52 +29 +9 +-6 +-15 +-19 +-18 +-16 +-10 +-6 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-3 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-8 +-9 +-8 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-99 +-86 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-17 +-19 +-20 +-20 +-22 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-13 +-14 +-13 +-14 +-13 +18 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +21 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-20 +-19 +-15 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-12 +-8 +-4 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-15 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +28 +8 +-7 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-99 +-85 +-66 +-49 +-33 +-23 +-17 +-16 +-15 +-17 +-19 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +91 +73 +52 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-5 +-6 +-5 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-8 +-8 +-7 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-11 +-10 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-21 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +18 +72 +89 +88 +71 +51 +27 +8 +-8 +-16 +-21 +-19 +-16 +-13 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-5 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-5 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-15 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-3 +-5 +-5 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-9 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +72 +89 +89 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-10 +-10 +-10 +-9 +22 +75 +91 +90 +74 +53 +29 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-4 +-4 +-5 +-5 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-10 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-11 +-10 +-10 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-72 +-99 +-98 +-86 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-17 +-18 +-19 +-21 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +18 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-19 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +21 +76 +92 +91 +74 +53 +28 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-12 +-13 +-12 +20 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-16 +-12 +-9 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-7 +-7 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-99 +-86 +-67 +-50 +-33 +-23 +-17 +-15 +-14 +-17 +-17 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +18 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +-1 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-48 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +20 +73 +89 +89 +72 +50 +27 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-8 +-33 +-71 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-33 +-22 +-16 +-15 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-4 +-2 +0 +0 +1 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +73 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-8 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +-1 +-1 +-2 +-5 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +21 +76 +91 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-15 +-10 +-6 +-3 +-1 +1 +0 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-95 +-80 +-83 +-65 +-48 +-33 +-22 +-16 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-20 +-19 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-2 +1 +0 +0 +-1 +-1 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-2 +0 +-1 +0 +-1 +-3 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-19 +-20 +-21 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +8 +-7 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-5 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-1 +1 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-8 +-7 +-8 +-7 +-8 +-7 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-99 +-86 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-9 +22 +76 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-4 +-1 +1 +1 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-13 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-24 +-18 +-16 +-15 +-17 +-18 +-19 +-20 +-21 +-21 +-20 +-20 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +21 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-18 +-15 +-11 +-7 +-2 +0 +2 +1 +1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-20 +-20 +-21 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-12 +-12 +-12 +20 +73 +89 +89 +71 +51 +26 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-5 +-5 +-6 +-5 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-14 +-14 +-13 +20 +73 +90 +89 +71 +51 +27 +7 +-7 +-16 +-21 +-20 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +1 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +-1 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-16 +-13 +-14 +-16 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +7 +-8 +-17 +-22 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-8 +-8 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-79 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-13 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-17 +-16 +-15 +-15 +-13 +-13 +-14 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +-1 +-1 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-14 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-22 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-7 +-3 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +71 +51 +26 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +73 +51 +27 +8 +-9 +-17 +-21 +-19 +-16 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-10 +-11 +-11 +-35 +-73 +-99 +-98 +-86 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +49 +26 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-7 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +74 +90 +89 +73 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-4 +-2 +-1 +0 +0 +-2 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-20 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-11 +-12 +-12 +-12 +-11 +-13 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +77 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-46 +-31 +-21 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-17 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-9 +-17 +-21 +-20 +-17 +-11 +-7 +-4 +-1 +0 +-1 +-1 +-2 +-2 +-4 +-3 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-11 +-9 +-10 +-11 +-36 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-19 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +22 +76 +91 +90 +74 +52 +29 +10 +-7 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-15 +-13 +-13 +-12 +20 +74 +90 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +1 +1 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-23 +-15 +-13 +-14 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +74 +90 +89 +73 +50 +26 +7 +-7 +-16 +-21 +-19 +-16 +-11 +-7 +-4 +-2 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-8 +-8 +-9 +-8 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-73 +-98 +-98 +-85 +-66 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-19 +-19 +-21 +-21 +-20 +-19 +-19 +-16 +-16 +-15 +-14 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +19 +73 +90 +88 +71 +49 +26 +7 +-9 +-17 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-20 +-21 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-15 +-13 +-13 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-9 +22 +76 +92 +90 +73 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-50 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +18 +73 +89 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-12 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +22 +76 +93 +91 +74 +53 +28 +9 +-6 +-16 +-20 +-19 +-16 +-11 +-7 +-2 +-1 +1 +0 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-47 +-31 +-21 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +1 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-9 +-10 +-9 +-34 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-15 +-16 +-15 +-14 +-13 +-15 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +22 +77 +93 +91 +74 +52 +29 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-2 +-1 +1 +1 +1 +0 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-11 +-10 +-9 +-9 +-9 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-17 +-19 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +8 +-8 +-17 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-19 +-16 +-16 +-15 +-14 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +89 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-3 +0 +0 +0 +-1 +-1 +-3 +-5 +-6 +-6 +-7 +-7 +-8 +-8 +-8 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-16 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +52 +28 +8 +-7 +-16 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-9 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-13 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +-13 +-13 +-12 +-12 +-12 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +76 +91 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-2 +-1 +1 +1 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-35 +-73 +-98 +-98 +-87 +-67 +-49 +-33 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-14 +-14 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-12 +-12 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-10 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +22 +77 +92 +91 +73 +52 +28 +9 +-6 +-15 +-20 +-18 +-15 +-11 +-7 +-3 +-1 +1 +0 +1 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-34 +-73 +-98 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-16 +-17 +-21 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-16 +-14 +-15 +-15 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +-12 +-12 +-11 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +52 +29 +10 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-14 +-15 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-9 +-4 +-1 +0 +1 +1 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-8 +-8 +-8 +-7 +-8 +-8 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-11 +-11 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-17 +-20 +-21 +-22 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +19 +74 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-5 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-19 +-20 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-11 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-13 +-13 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-3 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-19 +-17 +-16 +-16 +-15 +-15 +-15 +-15 +-14 +-15 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +26 +7 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-7 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +22 +76 +91 +91 +74 +51 +28 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-5 +-7 +-6 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +89 +72 +51 +26 +7 +-7 +-17 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-4 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-64 +-47 +-32 +-21 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-18 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +1 +1 +-1 +-2 +-3 +-5 +-5 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-22 +-21 +-20 +-19 +-18 +-16 +-17 +-15 +-16 +-15 +-15 +-13 +-13 +-13 +-13 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +21 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +0 +1 +1 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-95 +-79 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +26 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-3 +-4 +-6 +-5 +-7 +-6 +-6 +-6 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-14 +-12 +20 +73 +89 +89 +71 +50 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-95 +-79 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-16 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +27 +8 +-7 +-16 +-20 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-19 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +50 +27 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-12 +20 +73 +90 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-2 +-1 +-3 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-21 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-79 +-83 +-64 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-13 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +1 +1 +-1 +-2 +-4 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-21 +-19 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +-1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-34 +-72 +-99 +-98 +-86 +-66 +-49 +-33 +-23 +-17 +-15 +-14 +-16 +-17 +-20 +-21 +-21 +-21 +-20 +-18 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +88 +71 +51 +27 +8 +-8 +-16 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +0 +-1 +-1 +-2 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-16 +-13 +-14 +-16 +-17 +-19 +-20 +-21 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +20 +73 +89 +89 +72 +50 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +1 +0 +-1 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +29 +9 +-7 +-15 +-20 +-18 +-16 +-11 +-6 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-18 +-20 +-20 +-19 +-19 +-18 +-18 +-16 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-72 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-9 +22 +76 +91 +91 +74 +52 +29 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-8 +-3 +-1 +1 +1 +1 +0 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-4 +-2 +0 +0 +0 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-8 +-7 +-7 +-6 +-32 +-71 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +50 +26 +7 +-9 +-17 +-20 +-20 +-17 +-11 +-7 +-3 +-2 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-99 +-85 +-66 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-21 +-20 +-20 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-2 +-4 +-5 +-5 +-6 +-7 +-6 +-6 +-6 +-6 +-6 +-8 +-7 +-8 +-8 +-8 +-7 +-8 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-23 +-17 +-14 +-14 +-16 +-17 +-20 +-21 +-22 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-15 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +90 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-15 +-13 +-13 +-14 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +87 +71 +51 +27 +8 +-7 +-15 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +1 +1 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-10 +-10 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-36 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +10 +-6 +-16 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-16 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-2 +-1 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +18 +72 +89 +88 +71 +51 +28 +7 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +71 +51 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +1 +-1 +-1 +-2 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-12 +19 +73 +90 +89 +71 +51 +27 +7 +-7 +-16 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +1 +-1 +-2 +-3 +-5 +-6 +-6 +-6 +-6 +-6 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-9 +22 +75 +92 +91 +74 +52 +29 +10 +-6 +-15 +-19 +-19 +-16 +-11 +-8 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-11 +-11 +-9 +-34 +-72 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-16 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-12 +-11 +-11 +-11 +-10 +-10 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-19 +-15 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-8 +-8 +-8 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-86 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-14 +-15 +-15 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +26 +7 +-9 +-17 +-20 +-19 +-17 +-12 +-9 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-7 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-13 +-14 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-13 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +73 +52 +28 +9 +-7 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +0 +1 +1 +1 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-19 +-21 +-20 +-20 +-19 +-17 +-16 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-8 +-9 +-9 +-8 +-9 +-10 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-14 +-14 +-16 +-17 +-21 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-15 +-15 +-15 +-15 +-15 +-13 +-14 +-13 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-8 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-14 +-15 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-14 +-16 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +73 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +-1 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-6 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-48 +-32 +-21 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +72 +89 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-2 +0 +-1 +0 +-2 +-3 +-4 +-4 +-6 +-6 +-6 +-7 +-8 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-7 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-82 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +7 +-9 +-16 +-20 +-19 +-16 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-14 +-17 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +1 +0 +1 +0 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +18 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-11 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-5 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-33 +-71 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-12 +-15 +-17 +-18 +-20 +-21 +-20 +-20 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-15 +-13 +-14 +-13 +-13 +-12 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +1 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-8 +-7 +-8 +-8 +-9 +-8 +-8 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-9 +-9 +-10 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-18 +-20 +-21 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +21 +76 +92 +91 +74 +53 +28 +9 +-7 +-15 +-20 +-18 +-15 +-11 +-7 +-2 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +26 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +0 +-1 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-97 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-48 +-32 +-23 +-16 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +20 +74 +90 +88 +72 +51 +27 +8 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +71 +51 +26 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-12 +19 +73 +89 +88 +71 +51 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +26 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-31 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-19 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +19 +74 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-20 +-17 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-17 +-18 +-15 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-8 +-7 +-7 +-8 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-17 +-17 +-16 +-15 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +18 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-79 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +73 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +1 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-20 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +75 +92 +91 +75 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-12 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-6 +-16 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-6 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-16 +-19 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +7 +-9 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-5 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-85 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +18 +72 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-11 +22 +76 +92 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-17 +-16 +-11 +-6 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-3 +-5 +-6 +-7 +-6 +-8 +-7 +-7 +-6 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-20 +-22 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +-1 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-9 +22 +76 +93 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-18 +-16 +-12 +-8 +-3 +-1 +1 +1 +1 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-3 +0 +0 +0 +-1 +-1 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-9 +-8 +-9 +-8 +-8 +-9 +-9 +-8 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-36 +-74 +-99 +-99 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-10 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +75 +91 +90 +73 +53 +29 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-2 +0 +2 +1 +0 +-1 +-2 +-4 +-3 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-14 +-15 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-22 +-20 +-16 +-11 +-8 +-3 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-2 +0 +1 +1 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-48 +-33 +-23 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-14 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +8 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-3 +0 +0 +0 +-1 +-1 +-3 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-20 +-16 +-12 +-8 +-4 +-2 +-1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-12 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +92 +74 +52 +28 +8 +-7 +-15 +-19 +-19 +-15 +-10 +-7 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-11 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-35 +-24 +-17 +-16 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-21 +-19 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-11 +-10 +-9 +-10 +-10 +22 +75 +92 +91 +73 +52 +29 +10 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-2 +0 +1 +1 +1 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-66 +-48 +-32 +-23 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-18 +-15 +-11 +-7 +-3 +-1 +0 +0 +1 +-1 +-1 +-3 +-5 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-31 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-21 +-20 +-18 +-17 +-16 +-16 +-15 +-16 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-20 +-17 +-11 +-7 +-3 +-1 +0 +-1 +0 +-1 +-3 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-8 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +7 +-9 +-17 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-3 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-21 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +26 +8 +-7 +-16 +-20 +-19 +-17 +-11 +-8 +-3 +-1 +0 +0 +1 +-1 +-2 +-4 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +74 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +73 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +0 +-1 +-1 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-11 +-11 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-16 +-20 +-18 +-15 +-11 +-7 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +1 +1 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-5 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-14 +-14 +-15 +-13 +-13 +-14 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-17 +-19 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +77 +92 +90 +74 +52 +28 +9 +-6 +-16 +-19 +-18 +-16 +-11 +-7 +-3 +-2 +1 +1 +1 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-15 +-14 +-14 +-14 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-8 +-9 +-10 +-10 +-9 +-11 +-10 +-10 +-11 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-74 +-99 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-20 +-19 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-10 +-10 +-10 +-10 +22 +75 +92 +91 +74 +53 +29 +8 +-6 +-15 +-19 +-18 +-15 +-10 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +88 +71 +50 +26 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +74 +90 +90 +71 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-2 +-1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-33 +-22 +-16 +-14 +-14 +-15 +-17 +-20 +-19 +-20 +-20 +-19 +-17 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +19 +72 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-23 +-16 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-14 +-12 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-9 +-4 +-2 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-19 +-19 +-19 +-17 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +73 +51 +27 +7 +-9 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-13 +-13 +-12 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +8 +-8 +-17 +-21 +-20 +-16 +-12 +-8 +-3 +-1 +0 +-1 +0 +-2 +-3 +-4 +-4 +-6 +-5 +-7 +-7 +-8 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-23 +-15 +-13 +-14 +-15 +-16 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +1 +0 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-20 +-17 +-12 +-9 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-14 +-15 +-16 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +49 +27 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +1 +-1 +0 +-2 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-19 +-17 +-16 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-9 +-17 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-31 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-12 +-10 +-10 +-10 +22 +77 +92 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-19 +-16 +-11 +-8 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-7 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-13 +-13 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +76 +91 +91 +74 +52 +29 +9 +-6 +-16 +-19 +-18 +-16 +-10 +-6 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-3 +-5 +-5 +-6 +-6 +-8 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +19 +73 +88 +88 +71 +50 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-5 +-5 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-17 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-10 +-9 +-10 +-10 +22 +76 +91 +91 +74 +52 +29 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-2 +0 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-22 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +18 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-20 +-18 +-15 +-11 +-7 +-3 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +73 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +8 +-6 +-14 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-3 +-5 +-6 +-5 +-7 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-10 +-35 +-73 +-98 +-99 +-86 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-7 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-17 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-5 +-6 +-6 +-6 +-7 +-8 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-20 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +91 +73 +52 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +0 +1 +0 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-14 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-9 +-10 +-10 +22 +75 +92 +91 +73 +52 +28 +8 +-7 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-9 +-8 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-10 +-9 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-35 +-72 +-99 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-21 +-22 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +88 +71 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-6 +-6 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-13 +-11 +-12 +-11 +-12 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +21 +75 +92 +90 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-12 +-7 +-3 +-1 +2 +1 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-14 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +20 +73 +89 +88 +71 +50 +26 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-8 +-7 +-8 +-7 +-9 +-8 +-8 +-8 +-8 +-8 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-17 +-18 +-19 +-21 +-22 +-21 +-20 +-18 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-12 +19 +73 +89 +89 +71 +50 +26 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-5 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-97 +-97 +-84 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-20 +-20 +-21 +-19 +-20 +-17 +-17 +-17 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +-1 +-1 +-2 +-5 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +89 +88 +71 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 \ No newline at end of file diff --git a/traces/indala-504278295.pm3 b/traces/indala-504278295.pm3 new file mode 100644 index 000000000..9383bab35 --- /dev/null +++ b/traces/indala-504278295.pm3 @@ -0,0 +1,20000 @@ +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-2 +10 +-22 +10 +-22 +8 +-23 +9 +-23 +9 +-22 +8 +-24 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +26 +-8 +30 +-5 +8 +-23 +7 +-24 +7 +-24 +8 +-24 +7 +-25 +8 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +120 +68 +27 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +2 +-30 +3 +-29 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +11 +-23 +11 +-23 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-21 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +9 +-23 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-2 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +5 +-28 +5 +-27 +6 +-27 +7 +-26 +6 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +27 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +-49 +29 +-5 +32 +-3 +10 +-22 +9 +-22 +8 +-24 +9 +-22 +8 +-23 +8 +-23 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +9 +-22 +10 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-21 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-22 +11 +-21 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +120 +68 +27 +-9 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +5 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-21 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +26 +-8 +30 +-5 +8 +-24 +8 +-24 +7 +-24 +8 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +10 +-22 +9 +-23 +9 +-23 +10 +-22 +10 +-22 +10 +120 +68 +27 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-2 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +4 +-28 +6 +-27 +6 +-27 +7 +-26 +8 +-25 +7 +-26 +9 +-24 +8 +-25 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +-23 +10 +120 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-2 +-33 +0 +-32 +2 +-30 +3 +-29 +5 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +27 +-7 +31 +-5 +8 +-23 +8 +-24 +7 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +8 +-23 +9 +-22 +9 +119 +68 +27 +-9 +0 +-31 +-3 +-35 +-3 +-35 +-2 +-33 +0 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-26 +6 +-26 +7 +-26 +7 +-25 +8 +-25 +-51 +27 +-7 +30 +-5 +8 +-23 +6 +-25 +7 +-25 +8 +-24 +8 +-24 +9 +-23 +8 +-23 +8 +-23 +9 +-22 +8 +-23 +10 +-22 +9 +-22 +9 +-23 +9 +119 +68 +27 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-28 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +32 +-3 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +9 +-23 +10 +120 +68 +27 +-9 +0 +-31 +-3 +-35 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-28 +6 +-26 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-24 +7 +-24 +7 +-25 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +9 +-22 +9 +119 +68 +28 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +7 +-25 +9 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-21 +9 +-23 +8 +-24 +9 +-22 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-21 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +3 +-29 +5 +-28 +6 +-27 +6 +-26 +7 +-26 +7 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +9 +-23 +9 +-23 +8 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +8 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +-49 +29 +-6 +33 +-3 +10 +-21 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +8 +-23 +10 +-22 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +9 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-21 +11 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +120 +69 +28 +-8 +-1 +-32 +-3 +-34 +-2 +-34 +-1 +-33 +1 +-31 +2 +-30 +3 +-29 +5 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-25 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +119 +68 +27 +-9 +1 +-31 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-25 +8 +-26 +8 +-25 +-51 +27 +-8 +31 +-4 +8 +-23 +7 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +9 +120 +68 +28 +-9 +0 +-32 +-3 +-34 +-4 +-35 +-2 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +11 +-22 +9 +-24 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-24 +9 +-22 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-26 +6 +-27 +7 +-26 +8 +-25 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-24 +7 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +2 +-30 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-23 +7 +-25 +6 +-25 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-22 +8 +-23 +9 +-23 +10 +-22 +8 +-23 +10 +-22 +9 +119 +68 +28 +-9 +-1 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +6 +-26 +6 +-27 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-24 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-23 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +31 +-4 +33 +-2 +10 +-22 +8 +-23 +8 +-23 +8 +-24 +8 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-31 +1 +-30 +3 +-29 +3 +-29 +5 +-27 +6 +-27 +6 +-27 +7 +-25 +7 +-25 +7 +-25 +-52 +27 +-7 +31 +-5 +8 +-24 +8 +-24 +6 +-25 +8 +-24 +8 +-23 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-22 +9 +-23 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +9 +-24 +9 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +1 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-25 +7 +-26 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-24 +10 +-23 +10 +-24 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-21 +9 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +1 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-22 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +11 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +120 +69 +28 +-8 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-21 +9 +-23 +8 +-24 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +1 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-28 +6 +-26 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +-51 +28 +-7 +32 +-4 +8 +-23 +7 +-24 +6 +-26 +7 +-24 +8 +-24 +8 +-23 +9 +-23 +8 +-23 +8 +-23 +10 +-22 +9 +-22 +9 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +0 +-31 +1 +-30 +2 +-30 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +-49 +29 +-5 +34 +-2 +10 +-22 +9 +-23 +8 +-24 +8 +-24 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +1 +-31 +3 +-29 +4 +-29 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +27 +-7 +31 +-5 +9 +-23 +7 +-24 +7 +-25 +7 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +8 +-23 +8 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +120 +68 +28 +-8 +0 +-32 +-5 +-35 +-4 +-35 +-2 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-52 +27 +-7 +32 +-4 +8 +-23 +8 +-24 +6 +-25 +8 +-24 +8 +-23 +7 +-25 +8 +-23 +8 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +9 +-22 +10 +119 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-24 +9 +-24 +8 +-25 +9 +-24 +9 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-31 +-4 +-35 +-3 +-35 +-1 +-32 +0 +-32 +3 +-29 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-23 +7 +-24 +7 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +9 +-22 +10 +120 +68 +27 +-9 +0 +-31 +-4 +-35 +-4 +-35 +-2 +-33 +-1 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-27 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +31 +-4 +32 +-3 +10 +-21 +9 +-23 +8 +-23 +9 +-22 +8 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +1 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-24 +8 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +-48 +30 +-5 +33 +-3 +10 +-21 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-9 +0 +-31 +-3 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +9 +-24 +8 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-24 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +9 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +9 +-24 +8 +-25 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-2 +10 +-21 +9 +-22 +8 +-23 +8 +-23 +8 +-23 +10 +-22 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-29 +5 +-27 +5 +-28 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +28 +-7 +31 +-5 +8 +-24 +8 +-24 +7 +-25 +8 +-23 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-22 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +120 +68 +28 +-8 +-1 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +1 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-27 +7 +-26 +8 +-25 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +-49 +29 +-5 +33 +-3 +10 +-22 +10 +-22 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +26 +-8 +32 +-4 +8 +-23 +8 +-24 +8 +-24 +7 +-24 +8 +-23 +8 +-24 +8 +-24 +9 +-23 +8 +-23 +9 +-22 +9 +-23 +9 +-23 +10 +-22 +9 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-2 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +8 +-26 +9 +-24 +-51 +27 +-7 +30 +-5 +8 +-24 +7 +-24 +6 +-25 +8 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +8 +-25 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +12 +-21 +12 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +-49 +29 +-5 +32 +-3 +10 +-21 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +-51 +27 +-7 +31 +-4 +7 +-24 +7 +-24 +6 +-25 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-27 +7 +-26 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +10 +-24 +10 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +-49 +29 +-6 +33 +-3 +10 +-22 +9 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +8 +-23 +10 +-22 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +2 +-30 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +11 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +-23 +10 +119 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +1 +-31 +1 +-30 +3 +-29 +5 +-27 +4 +-28 +6 +-27 +6 +-26 +7 +-26 +7 +-25 +8 +-25 +-51 +26 +-8 +30 +-5 +8 +-23 +7 +-24 +7 +-25 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +10 +-22 +9 +119 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +6 +-26 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +8 +-25 +10 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +-49 +29 +-5 +33 +-2 +10 +-22 +9 +-22 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +120 +69 +28 +-9 +1 +-31 +-3 +-34 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +8 +-25 +9 +-24 +-51 +26 +-8 +30 +-5 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-24 +9 +-23 +8 +-23 +8 +-23 +10 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +2 +-30 +2 +-30 +3 +-30 +3 +-29 +5 +-28 +6 +-27 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +-51 +27 +-7 +31 +-4 +8 +-23 +7 +-25 +6 +-25 +7 +-25 +8 +-24 +8 +-23 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-31 +2 +-30 +2 +-30 +4 +-28 +5 +-28 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +34 +-2 +11 +-21 +9 +-23 +8 +-23 +8 +-24 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +11 +121 +69 +28 +-8 +0 +-32 +-4 +-35 +-4 +-35 +-1 +-32 +0 +-31 +1 +-31 +2 +-30 +4 +-28 +5 +-28 +6 +-27 +7 +-26 +7 +-25 +7 +-26 +8 +-26 +-52 +28 +-6 +31 +-5 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +7 +-24 +8 +-23 +9 +-23 +8 +-23 +8 +-23 +9 +-22 +9 +-23 +9 +-23 +10 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-29 +5 +-28 +6 +-27 +6 +-27 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +8 +-25 +10 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +-49 +29 +-5 +34 +-2 +9 +-23 +9 +-23 +7 +-24 +9 +-23 +10 +-22 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-21 +10 +120 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +2 +-30 +3 +-29 +4 +-29 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-24 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +11 +-21 +9 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +8 +-23 +9 +-22 +10 +-22 +10 +-22 +11 +-21 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +1 +-31 +2 +-30 +3 +-29 +4 +-28 +4 +-28 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +8 +-25 +8 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +-49 +29 +-6 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-21 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +120 +69 +28 +-8 +0 +-31 +-4 +-35 +-2 +-34 +-1 +-32 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-3 +11 +-21 +8 +-23 +8 +-24 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +-1 +-33 +-4 +-35 +-3 +-34 +-1 +-32 +1 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +5 +-28 +6 +-26 +7 +-25 +7 +-26 +9 +-24 +-51 +28 +-7 +31 +-4 +8 +-24 +7 +-24 +6 +-25 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-5 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-24 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-3 +10 +-21 +9 +-23 +7 +-24 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +7 +-25 +8 +-25 +-51 +28 +-7 +30 +-5 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-31 +2 +-30 +4 +-28 +5 +-28 +6 +-27 +6 +-27 +7 +-26 +7 +-26 +7 +-26 +-52 +27 +-8 +31 +-4 +8 +-23 +8 +-24 +6 +-25 +8 +-24 +8 +-24 +7 +-24 +8 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-5 +-36 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-29 +4 +-28 +5 +-27 +7 +-26 +7 +-26 +7 +-25 +9 +-24 +8 +-25 +9 +-24 +10 +-24 +9 +-24 +10 +-24 +10 +-24 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-22 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-31 +-4 +-35 +-3 +-35 +-1 +-32 +0 +-32 +3 +-29 +3 +-29 +4 +-29 +4 +-28 +5 +-28 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +27 +-7 +31 +-4 +8 +-24 +7 +-24 +7 +-24 +7 +-25 +7 +-24 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +119 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-30 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-25 +8 +-25 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-2 +10 +-22 +9 +-22 +9 +-23 +8 +-24 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +4 +-28 +5 +-27 +6 +-27 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +29 +-6 +32 +-3 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +9 +-22 +10 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +120 +68 +28 +-8 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +3 +-29 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +119 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +27 +-7 +31 +-4 +8 +-23 +7 +-24 +7 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-24 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +120 +69 +28 +-8 +-1 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-23 +7 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +120 +68 +28 +-9 +-1 +-32 +-4 +-35 +-3 +-33 +-2 +-33 +1 +-31 +2 +-30 +3 +-29 +5 +-28 +5 +-28 +6 +-27 +7 +-26 +7 +-25 +7 +-25 +8 +-25 +-51 +27 +-8 +31 +-5 +8 +-23 +7 +-24 +7 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +9 +119 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-25 +9 +-24 +-51 +27 +-7 +30 +-5 +8 +-24 +8 +-24 +6 +-25 +8 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +4 +-28 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +9 +-24 +10 +-23 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +119 +68 +28 +-9 +-1 +-32 +-3 +-34 +-3 +-35 +-2 +-33 +1 +-31 +1 +-30 +3 +-29 +5 +-28 +5 +-28 +6 +-27 +6 +-27 +7 +-26 +7 +-25 +8 +-25 +-51 +27 +-8 +31 +-4 +8 +-23 +7 +-24 +7 +-25 +8 +-24 +8 +-23 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-24 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +-49 +31 +-4 +33 +-2 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +120 +69 +28 +-9 +0 +-32 +-3 +-35 +-4 +-35 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +6 +-27 +6 +-26 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +11 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-2 +10 +-22 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +9 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-23 +9 +-23 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +120 +69 +28 +-8 +0 +-31 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-22 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +119 +68 +28 +-9 +0 +-32 +-5 +-35 +-2 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +8 +-25 +7 +-26 +8 +-25 +-51 +27 +-8 +31 +-4 +8 +-24 +7 +-24 +7 +-24 +8 +-24 +7 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +9 +119 +68 +28 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +-1 +-33 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-28 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-23 +8 +-23 +9 +-23 +10 +-22 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-35 +-2 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +-51 +27 +-8 +31 +-5 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-23 +9 +-23 +8 +-24 +9 +-22 +9 +-23 +9 +-22 +9 +-22 +9 +-23 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +6 +-26 +8 +-25 +8 +-25 +-51 +28 +-6 +31 +-4 +8 +-23 +7 +-25 +6 +-25 +7 +-24 +7 +-24 +8 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +9 +119 +68 +27 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-32 +-1 +-32 +2 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +12 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +12 +-22 +12 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-2 +10 +-21 +9 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +8 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +120 +69 +28 +-9 +0 +-31 +-4 +-35 +-3 +-34 +0 +-32 +0 +-32 +1 +-30 +3 +-29 +3 +-29 +5 +-27 +6 +-26 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +-52 +27 +-7 +31 +-5 +8 +-23 +7 +-24 +7 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +3 +-29 +5 +-28 +5 +-27 +6 +-26 +8 +-25 +7 +-26 +7 +-25 +8 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-4 +33 +-2 +10 +-22 +9 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +120 +68 +27 +-9 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +8 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +13 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-22 +8 +-24 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +9 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +9 +-24 +8 +-25 +9 +-24 +10 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +7 +-24 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-21 +10 +-21 +10 +-21 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +120 +69 +28 +-8 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +3 +-29 +3 +-29 +4 +-28 +6 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +11 +-23 +10 +-24 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +12 +-22 +11 +-22 +-49 +31 +-4 +33 +-3 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-23 +8 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +119 +67 +27 +-9 +-1 +-33 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +7 +-25 +8 +-25 +8 +-25 +10 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +-49 +28 +-6 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +8 +-23 +9 +-22 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +9 +-24 +-51 +28 +-7 +31 +-4 +8 +-23 +7 +-25 +6 +-25 +7 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +8 +-23 +9 +-22 +9 +-22 +9 +-23 +10 +120 +68 +27 +-9 +-1 +-32 +-5 +-35 +-3 +-34 +-2 +-33 +1 +-31 +1 +-31 +3 +-29 +3 +-29 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +7 +-25 +-51 +26 +-8 +31 +-4 +8 +-23 +8 +-23 +6 +-25 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-22 +8 +-23 +9 +-22 +10 +-22 +9 +119 +68 +27 +-9 +-1 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +9 +-23 +9 +-23 +8 +-23 +10 +-22 +9 +-23 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-28 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +27 +-8 +31 +-5 +8 +-23 +8 +-24 +7 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +120 +69 +28 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-2 +-33 +0 +-32 +2 +-30 +3 +-29 +3 +-29 +6 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +9 +-23 +8 +-23 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +1 +-31 +1 +-31 +2 +-29 +4 +-29 +5 +-27 +6 +-27 +7 +-26 +7 +-25 +8 +-26 +8 +-25 +8 +-24 +8 +-25 +10 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +10 +-23 +-49 +29 +-6 +33 +-3 +10 +-21 +10 +-22 +8 +-23 +8 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +120 +69 +28 +-8 +0 +-32 +-3 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +4 +-29 +4 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +9 +-24 +8 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +8 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-21 +10 +120 +68 +28 +-8 +0 +-32 +-3 +-35 +-2 +-34 +-1 +-32 +1 +-31 +3 +-30 +3 +-29 +4 +-28 +5 +-28 +6 +-26 +6 +-27 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +9 +-22 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +119 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +26 +-8 +31 +-4 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +7 +-24 +8 +-23 +9 +-22 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +9 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +1 +-31 +2 +-30 +3 +-30 +3 +-29 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +9 +-24 +9 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-23 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +9 +-23 +8 +-23 +9 +-22 +9 +-22 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +9 +-23 +11 +120 +68 +28 +-8 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +1 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +7 +-25 +-52 +27 +-8 +31 +-5 +8 +-23 +8 +-24 +7 +-24 +7 +-24 +8 +-23 +7 +-24 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +-1 +-32 +1 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +7 +-26 +7 +-25 +8 +-25 +8 +-25 +-51 +28 +-7 +30 +-5 +8 +-23 +7 +-25 +6 +-25 +8 +-24 +7 +-25 +8 +-24 +8 +-24 +8 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +9 +-23 +10 +120 +68 +27 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-30 +4 +-28 +4 +-28 +4 +-28 +6 +-27 +7 +-26 +6 +-26 +8 +-25 +8 +-25 +9 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 diff --git a/traces/ioProx-XSF-01-BE-03011.pm3 b/traces/ioProx-XSF-01-BE-03011.pm3 new file mode 100644 index 000000000..34fbbec13 --- /dev/null +++ b/traces/ioProx-XSF-01-BE-03011.pm3 @@ -0,0 +1,16000 @@ +-55 +-90 +-103 +3 +73 +91 +32 +-17 +-59 +-93 +-105 +3 +73 +92 +32 +-17 +-58 +-93 +-104 +4 +74 +93 +33 +-16 +-58 +-92 +-104 +4 +75 +93 +33 +-15 +-57 +-92 +-104 +6 +76 +95 +34 +-14 +-57 +-91 +-103 +7 +76 +95 +34 +-14 +-57 +-91 +-103 +7 +77 +95 +35 +-14 +-56 +-91 +-105 +-98 +33 +100 +109 +84 +25 +-22 +-63 +-97 +-110 +-93 +37 +102 +109 +84 +25 +-22 +-63 +-97 +-110 +-95 +36 +101 +109 +83 +24 +-23 +-64 +-98 +-110 +-96 +35 +100 +108 +82 +23 +-24 +-65 +-98 +-111 +-97 +34 +99 +107 +81 +22 +-25 +-66 +-99 +-112 +-97 +33 +99 +106 +81 +22 +-25 +-65 +-99 +-112 +-97 +33 +99 +105 +46 +-7 +-49 +-86 +-99 +4 +76 +91 +33 +-17 +-42 +-93 +-104 +4 +75 +92 +33 +-17 +-41 +-93 +-103 +5 +77 +93 +35 +-15 +-56 +-92 +-103 +6 +78 +94 +35 +-15 +-56 +-92 +-102 +7 +79 +94 +36 +-14 +-56 +-91 +-102 +7 +79 +95 +37 +-14 +-55 +-91 +-101 +7 +79 +95 +37 +-14 +-55 +-91 +-101 +7 +79 +95 +37 +-14 +-55 +-91 +-102 +7 +79 +95 +37 +-14 +-55 +-91 +-102 +6 +78 +94 +36 +-14 +-56 +-91 +-102 +6 +78 +94 +35 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +93 +35 +-15 +-56 +-92 +-103 +6 +78 +94 +35 +-15 +-56 +-92 +-102 +6 +78 +94 +35 +-15 +-56 +-92 +-103 +5 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +35 +-15 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +35 +-15 +-56 +-92 +-103 +6 +78 +93 +35 +-15 +-56 +-92 +-103 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +7 +79 +95 +36 +-15 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-102 +7 +79 +95 +37 +-14 +-55 +-91 +-102 +7 +79 +95 +37 +-14 +-56 +-91 +-102 +6 +79 +95 +37 +-14 +-56 +-91 +-102 +7 +79 +95 +36 +-15 +-56 +-92 +-102 +6 +79 +95 +36 +-15 +-56 +-92 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +6 +78 +95 +36 +-15 +-56 +-92 +-102 +6 +79 +95 +37 +-14 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-103 +6 +78 +95 +36 +-14 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +95 +36 +-14 +-56 +-92 +-103 +6 +79 +94 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +78 +94 +36 +-15 +-56 +-92 +-103 +6 +78 +94 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-14 +-56 +-92 +-102 +7 +79 +95 +36 +-15 +-56 +-92 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +96 +37 +-14 +-55 +-91 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +96 +37 +-14 +-55 +-91 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +96 +37 +-14 +-55 +-91 +-102 +8 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +96 +79 +20 +-27 +-67 +-100 +-128 +-95 +36 +103 +111 +86 +26 +-22 +-63 +-97 +-111 +-95 +36 +102 +109 +83 +24 +-23 +-65 +-98 +-112 +-97 +34 +100 +108 +82 +23 +-24 +-66 +-99 +-112 +-98 +33 +99 +107 +81 +22 +-25 +-66 +-99 +-128 +-98 +33 +99 +106 +81 +22 +-25 +-66 +-100 +-128 +-99 +33 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-100 +32 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-99 +32 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-99 +33 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-100 +32 +98 +106 +81 +22 +-25 +-66 +-100 +-128 +-99 +33 +99 +106 +80 +22 +-26 +-67 +-100 +-128 +-99 +32 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-100 +32 +99 +106 +46 +-7 +-50 +-87 +-100 +3 +75 +90 +32 +-18 +-59 +-95 +-106 +2 +75 +91 +33 +-17 +-43 +-94 +-105 +4 +76 +93 +34 +-16 +-58 +-93 +-105 +4 +77 +94 +35 +-16 +-57 +-93 +-104 +5 +78 +94 +36 +-15 +-56 +-93 +-103 +6 +78 +94 +35 +-15 +-57 +-93 +-103 +6 +78 +95 +36 +-15 +-56 +-92 +-103 +5 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +7 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +5 +78 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +94 +36 +-15 +-57 +-93 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-104 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +7 +79 +95 +37 +-14 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +78 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +78 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-14 +-56 +-92 +-103 +6 +79 +95 +37 +-14 +-56 +-92 +-103 +6 +79 +96 +37 +-14 +-56 +-92 +-103 +6 +79 +95 +79 +20 +-27 +-68 +-101 +-128 +-96 +36 +103 +111 +86 +26 +-22 +-64 +-98 +-111 +-95 +36 +102 +110 +85 +25 +-23 +-65 +-98 +-112 +-96 +35 +101 +109 +83 +24 +-24 +-65 +-99 +-112 +-97 +35 +101 +109 +83 +24 +-24 +-65 +-99 +-112 +-97 +34 +101 +108 +83 +24 +-24 +-66 +-99 +-128 +-98 +33 +99 +108 +82 +23 +-25 +-66 +-100 +-110 +7 +79 +97 +36 +-14 +-57 +-92 +-105 +1 +72 +91 +30 +-19 +-61 +-95 +-107 +2 +73 +92 +32 +-17 +-60 +-95 +-107 +4 +74 +94 +33 +-16 +-59 +-93 +-106 +4 +75 +94 +33 +-16 +-59 +-93 +-105 +5 +76 +95 +34 +-15 +-58 +-93 +-105 +6 +76 +95 +34 +-15 +-58 +-93 +-105 +6 +77 +95 +75 +19 +-29 +-69 +-103 +-128 +-98 +36 +100 +111 +83 +26 +-24 +-64 +-99 +-112 +-98 +35 +100 +110 +81 +24 +-25 +-65 +-100 +-112 +-99 +35 +99 +109 +80 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +80 +24 +-26 +-66 +-101 +-128 +-99 +34 +98 +108 +80 +23 +-26 +-66 +-101 +-128 +-100 +33 +97 +109 +80 +23 +-26 +-66 +-101 +-128 +-100 +33 +97 +108 +80 +23 +-26 +-66 +-101 +-128 +-100 +34 +97 +108 +80 +23 +-26 +-66 +-101 +-128 +-100 +33 +97 +108 +80 +24 +-26 +-66 +-101 +-128 +-101 +33 +98 +108 +80 +23 +-26 +-67 +-101 +-128 +-100 +33 +97 +109 +80 +23 +-27 +-67 +-101 +-128 +-100 +33 +97 +108 +80 +23 +-26 +-66 +-101 +-128 +-101 +33 +97 +108 +80 +23 +-27 +-67 +-101 +-128 +-100 +33 +97 +107 +79 +22 +-27 +-67 +-102 +-128 +-101 +32 +97 +108 +79 +23 +-27 +-67 +-101 +-128 +-100 +33 +97 +108 +80 +23 +-26 +-67 +-101 +-128 +-101 +33 +98 +109 +80 +24 +-26 +-66 +-101 +-128 +-99 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +80 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +80 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +80 +23 +-26 +-66 +-101 +-128 +-101 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-100 +33 +98 +109 +80 +23 +-26 +-67 +-101 +-128 +-100 +34 +98 +109 +80 +23 +-26 +-66 +-101 +-128 +-101 +33 +97 +109 +80 +23 +-26 +-66 +-101 +-128 +-100 +33 +97 +108 +80 +23 +-26 +-67 +-102 +-128 +-100 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +97 +109 +80 +23 +-26 +-67 +-101 +-128 +-100 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-99 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-99 +34 +99 +110 +47 +-5 +-50 +-86 +-101 +4 +75 +94 +33 +-17 +-59 +-94 +-106 +4 +75 +95 +33 +-16 +-59 +-94 +-106 +5 +76 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-14 +-58 +-93 +-105 +6 +77 +97 +35 +-14 +-58 +-93 +-105 +6 +77 +96 +35 +-14 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +5 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-14 +-58 +-93 +-105 +7 +77 +97 +36 +-14 +-57 +-93 +-105 +7 +77 +97 +36 +-14 +-57 +-92 +-104 +7 +77 +97 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-57 +-93 +-104 +7 +78 +97 +36 +-14 +-57 +-92 +-105 +7 +77 +97 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-57 +-93 +-105 +7 +77 +97 +77 +21 +-28 +-68 +-103 +-128 +-98 +37 +101 +113 +85 +27 +-23 +-64 +-99 +-112 +-98 +36 +100 +111 +82 +25 +-25 +-66 +-101 +-128 +-99 +35 +99 +110 +82 +24 +-25 +-66 +-101 +-128 +-100 +34 +99 +110 +80 +23 +-26 +-67 +-102 +-128 +-100 +34 +98 +109 +80 +24 +-26 +-67 +-102 +-128 +-100 +34 +98 +109 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +97 +109 +80 +23 +-26 +-67 +-102 +-128 +-101 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +98 +109 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +98 +109 +80 +23 +-27 +-67 +-102 +-128 +-100 +34 +98 +109 +81 +24 +-26 +-67 +-102 +-128 +-100 +34 +98 +109 +80 +23 +-26 +-67 +-102 +-128 +-100 +34 +98 +110 +81 +24 +-26 +-66 +-101 +-128 +-100 +35 +99 +110 +82 +24 +-26 +-66 +-101 +-128 +-100 +35 +99 +110 +83 +25 +-25 +-65 +-101 +-128 +-99 +35 +99 +110 +82 +24 +-25 +-66 +-101 +-128 +-99 +35 +100 +110 +82 +25 +-25 +-66 +-101 +-128 +-100 +34 +99 +110 +81 +24 +-26 +-67 +-102 +-128 +-101 +33 +98 +109 +81 +24 +-26 +-67 +-102 +-128 +-102 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-102 +33 +97 +109 +80 +23 +-27 +-67 +-102 +-128 +-100 +33 +98 +109 +80 +23 +-26 +-67 +-102 +-128 +-99 +35 +99 +110 +81 +24 +-26 +-66 +-101 +-128 +-100 +35 +100 +111 +47 +-5 +-50 +-86 +-102 +4 +74 +93 +32 +-17 +-60 +-95 +-108 +3 +74 +93 +32 +-17 +-60 +-95 +-107 +4 +75 +95 +33 +-16 +-59 +-95 +-107 +4 +75 +95 +33 +-16 +-59 +-95 +-107 +5 +75 +95 +34 +-16 +-59 +-94 +-106 +5 +76 +95 +33 +-16 +-59 +-95 +-107 +4 +75 +94 +33 +-17 +-60 +-95 +-107 +2 +73 +93 +32 +-18 +-60 +-95 +-108 +3 +74 +94 +33 +-17 +-60 +-95 +-107 +4 +76 +94 +33 +-17 +-60 +-95 +-107 +5 +76 +95 +34 +-16 +-59 +-94 +-106 +6 +77 +96 +35 +-15 +-59 +-94 +-106 +7 +77 +97 +36 +-14 +-58 +-93 +-105 +8 +79 +99 +37 +-14 +-57 +-93 +-105 +8 +79 +98 +37 +-14 +-57 +-93 +-105 +8 +79 +98 +37 +-14 +-57 +-93 +-104 +9 +80 +99 +37 +-13 +-57 +-93 +-104 +8 +79 +99 +37 +-14 +-57 +-93 +-104 +8 +79 +99 +37 +-14 +-57 +-93 +-105 +7 +77 +98 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-58 +-93 +-105 +7 +77 +97 +36 +-15 +-58 +-93 +-106 +7 +77 +96 +35 +-15 +-58 +-94 +-106 +5 +76 +96 +35 +-15 +-58 +-94 +-106 +7 +77 +97 +35 +-15 +-58 +-93 +-106 +7 +77 +97 +36 +-14 +-58 +-93 +-105 +7 +77 +97 +35 +-15 +-58 +-93 +-106 +7 +78 +98 +36 +-14 +-58 +-93 +-105 +8 +79 +98 +36 +-14 +-58 +-93 +-105 +8 +79 +99 +37 +-13 +-57 +-92 +-105 +8 +79 +98 +36 +-14 +-57 +-93 +-105 +7 +78 +98 +36 +-14 +-57 +-93 +-105 +8 +79 +98 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-58 +-93 +-105 +7 +78 +97 +36 +-14 +-58 +-93 +-106 +6 +77 +97 +35 +-15 +-58 +-94 +-106 +7 +78 +97 +35 +-15 +-58 +-93 +-106 +7 +78 +97 +36 +-14 +-58 +-93 +-105 +8 +79 +98 +36 +-14 +-57 +-93 +-108 +-99 +35 +102 +112 +89 +28 +-21 +-63 +-98 +-112 +-94 +39 +106 +113 +88 +28 +-21 +-64 +-99 +-128 +-97 +37 +103 +111 +86 +26 +-23 +-65 +-100 +-128 +-98 +35 +101 +110 +84 +24 +-24 +-66 +-100 +-128 +-99 +34 +101 +109 +83 +23 +-25 +-67 +-101 +-128 +-100 +33 +100 +108 +82 +22 +-26 +-67 +-102 +-128 +-101 +32 +99 +107 +46 +-8 +-51 +-89 +-102 +1 +73 +90 +31 +-20 +-61 +-97 +-109 +1 +74 +90 +31 +-19 +-61 +-97 +-108 +3 +75 +92 +33 +-18 +-60 +-96 +-107 +3 +77 +93 +34 +-17 +-43 +-96 +-107 +5 +78 +94 +35 +-16 +-58 +-95 +-106 +6 +78 +95 +35 +-16 +-58 +-95 +-106 +5 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +79 +20 +-28 +-69 +-103 +-128 +-97 +36 +103 +111 +86 +26 +-23 +-65 +-100 +-128 +-98 +35 +102 +109 +83 +24 +-25 +-67 +-101 +-128 +-99 +34 +101 +109 +83 +23 +-25 +-67 +-101 +-128 +-100 +33 +100 +108 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +107 +81 +22 +-27 +-68 +-102 +-128 +-101 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-101 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +108 +82 +22 +-26 +-68 +-102 +-128 +-101 +33 +100 +108 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-101 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +100 +108 +46 +-7 +-51 +-89 +-102 +2 +75 +91 +32 +-19 +-61 +-97 +-108 +2 +74 +92 +32 +-19 +-61 +-97 +-108 +3 +76 +93 +34 +-17 +-43 +-96 +-107 +4 +77 +94 +35 +-17 +-43 +-95 +-106 +5 +78 +95 +35 +-16 +-58 +-95 +-106 +5 +78 +95 +36 +-16 +-58 +-95 +-106 +5 +79 +95 +36 +-16 +-58 +-95 +-106 +5 +78 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-94 +-105 +6 +79 +96 +37 +-15 +-57 +-94 +-105 +6 +79 +96 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +8 +80 +97 +37 +-15 +-57 +-94 +-105 +8 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-104 +7 +80 +97 +37 +-14 +-57 +-94 +-104 +8 +81 +97 +38 +-14 +-57 +-93 +-105 +8 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +6 +79 +96 +37 +-15 +-57 +-94 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-105 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +96 +36 +-16 +-58 +-94 +-106 +6 +79 +96 +37 +-16 +-58 +-94 +-106 +6 +78 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +78 +95 +35 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-94 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +7 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-94 +-106 +6 +79 +96 +37 +-15 +-58 +-94 +-105 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +7 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +37 +-15 +-58 +-94 +-105 +7 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +37 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +7 +79 +95 +36 +-16 +-58 +-95 +-106 +7 +79 +96 +36 +-16 +-58 +-95 +-106 +7 +80 +96 +37 +-15 +-58 +-94 +-106 +6 +79 +96 +37 +-16 +-58 +-94 +-105 +7 +79 +96 +37 +-15 +-58 +-94 +-105 +7 +80 +96 +36 +-16 +-58 +-95 +-105 +7 +79 +96 +37 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +7 +79 +96 +37 +-16 +-58 +-94 +-105 +6 +79 +97 +37 +-15 +-58 +-94 +-105 +7 +80 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +7 +80 +97 +37 +-15 +-58 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +80 +21 +-27 +-69 +-103 +-128 +-95 +38 +105 +112 +88 +27 +-22 +-65 +-99 +-128 +-96 +37 +104 +112 +86 +26 +-23 +-65 +-100 +-128 +-98 +36 +102 +109 +84 +24 +-25 +-67 +-101 +-128 +-99 +34 +101 +109 +83 +23 +-26 +-68 +-102 +-128 +-100 +33 +100 +107 +82 +22 +-27 +-68 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +32 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +32 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +32 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +22 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +82 +22 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +100 +108 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +107 +81 +22 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +22 +-27 +-69 +-103 +-128 +-100 +33 +100 +107 +81 +22 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +106 +81 +21 +-27 +-69 +-103 +-128 +-101 +32 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +106 +80 +21 +-28 +-69 +-103 +-128 +6 +78 +97 +35 +-16 +-59 +-95 +-108 +1 +72 +91 +30 +-20 +-63 +-98 +-110 +3 +74 +94 +32 +-18 +-61 +-96 +-108 +5 +76 +95 +33 +-17 +-60 +-95 +-107 +6 +77 +96 +34 +-16 +-60 +-95 +-107 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +8 +79 +97 +35 +-15 +-59 +-94 +-106 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +7 +77 +97 +35 +-15 +-59 +-94 +-106 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +7 +78 +97 +35 +-15 +-58 +-94 +-106 +7 +78 +97 +35 +-15 +-59 +-94 +-106 +7 +78 +97 +35 +-15 +-59 +-95 +-106 +7 +77 +96 +35 +-16 +-59 +-95 +-106 +7 +77 +97 +35 +-16 +-59 +-95 +-106 +8 +78 +97 +35 +-15 +-59 +-95 +-107 +7 +77 +97 +35 +-15 +-59 +-94 +-107 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +8 +79 +97 +36 +-15 +-58 +-94 +-106 +8 +79 +98 +36 +-15 +-58 +-94 +-106 +8 +79 +99 +37 +-14 +-58 +-93 +-105 +10 +80 +99 +37 +-14 +-58 +-93 +-105 +9 +79 +99 +36 +-14 +-58 +-93 +-105 +9 +80 +99 +36 +-14 +-58 +-94 +-106 +8 +79 +98 +36 +-14 +-58 +-94 +-106 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +8 +77 +97 +35 +-16 +-59 +-95 +-106 +7 +77 +97 +35 +-15 +-59 +-95 +-107 +6 +77 +96 +34 +-16 +-59 +-95 +-107 +7 +77 +96 +34 +-16 +-59 +-95 +-107 +7 +77 +95 +34 +-17 +-60 +-95 +-107 +7 +77 +96 +34 +-16 +-59 +-95 +-110 +-100 +34 +101 +109 +86 +26 +-23 +-66 +-100 +-128 +-96 +38 +104 +111 +85 +25 +-24 +-66 +-101 +-128 +-98 +35 +102 +109 +83 +24 +-25 +-67 +-102 +-128 +-99 +34 +101 +109 +83 +23 +-26 +-68 +-102 +-128 +-99 +34 +100 +107 +81 +22 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-99 +34 +100 +107 +82 +22 +-27 +-68 +-103 +-128 +-100 +34 +100 +107 +81 +22 +-27 +-69 +-103 +-128 +-100 +34 +99 +107 +82 +22 +-27 +-69 +-103 +-128 +7 +79 +97 +35 +-16 +-59 +-95 +-108 +1 +72 +91 +29 +-20 +-63 +-98 +-110 +3 +74 +93 +31 +-18 +-62 +-97 +-109 +5 +75 +94 +33 +-17 +-61 +-96 +-108 +6 +77 +95 +33 +-17 +-60 +-95 +-107 +6 +77 +96 +34 +-16 +-60 +-95 +-107 +7 +77 +96 +34 +-16 +-60 +-95 +-107 +7 +77 +97 +77 +20 +-30 +-70 +-105 +-128 +-97 +38 +102 +113 +84 +26 +-24 +-65 +-101 +-128 +-97 +38 +101 +111 +82 +24 +-26 +-67 +-102 +-128 +-99 +36 +99 +110 +81 +23 +-27 +-67 +-103 +-128 +-100 +35 +99 +110 +80 +23 +-27 +-68 +-103 +-128 +-100 +34 +98 +109 +80 +22 +-28 +-69 +-104 +-128 +-100 +35 +98 +108 +79 +22 +-28 +-69 +-104 +-128 +-101 +34 +98 +109 +80 +23 +-28 +-68 +-103 +-128 +-100 +35 +98 +109 +80 +22 +-28 +-68 +-104 +-128 +-100 +35 +99 +109 +80 +22 +-28 +-68 +-104 +-128 +-100 +35 +99 +109 +80 +23 +-27 +-68 +-103 +-128 +-99 +35 +100 +110 +80 +23 +-27 +-68 +-103 +-128 +-99 +36 +100 +110 +81 +24 +-27 +-67 +-103 +-128 +-99 +36 +100 +110 +82 +24 +-27 +-67 +-103 +-128 +-99 +36 +100 +110 +81 +24 +-27 +-67 +-103 +-128 +-99 +36 +99 +110 +81 +23 +-27 +-68 +-103 +-128 +-100 +35 +99 +108 +80 +22 +-28 +-68 +-104 +-128 +-100 +35 +98 +108 +79 +22 +-28 +-69 +-104 +-128 +-101 +34 +97 +108 +79 +21 +-28 +-69 +-104 +-128 +-101 +34 +97 +107 +79 +21 +-28 +-69 +-104 +-128 +-101 +34 +98 +108 +79 +22 +-28 +-69 +-104 +-128 +-100 +35 +98 +108 +80 +23 +-27 +-68 +-104 +-128 +-99 +36 +99 +109 +81 +23 +-27 +-68 +-103 +-128 +-99 +35 +100 +110 +82 +24 +-26 +-67 +-103 +-128 +-99 +36 +99 +109 +80 +23 +-27 +-68 +-103 +-128 +-100 +35 +99 +109 +80 +22 +-28 +-68 +-104 +-128 +-100 +34 +97 +107 +79 +22 +-28 +-69 +-104 +-128 +-101 +33 +97 +107 +78 +21 +-29 +-69 +-104 +-128 +-102 +33 +96 +106 +77 +20 +-29 +-70 +-105 +-128 +-104 +31 +95 +105 +75 +18 +-31 +-71 +-106 +-128 +-103 +32 +95 +104 +75 +19 +-31 +-71 +-106 +-128 +-103 +32 +96 +106 +77 +19 +-30 +-71 +-106 +-128 +-101 +34 +97 +107 +43 +-9 +-53 +-90 +-105 +2 +72 +91 +30 +-20 +-63 +-98 +-110 +3 +74 +93 +31 +-19 +-62 +-97 +-108 +6 +77 +95 +33 +-17 +-60 +-96 +-107 +8 +77 +96 +34 +-16 +-59 +-95 +-107 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +9 +79 +97 +36 +-15 +-58 +-94 +-106 +9 +78 +97 +35 +-15 +-58 +-94 +-106 +9 +79 +97 +77 +20 +-29 +-70 +-105 +-128 +-96 +39 +102 +113 +84 +26 +-24 +-66 +-101 +-128 +-97 +37 +100 +111 +82 +24 +-26 +-67 +-102 +-128 +-99 +36 +99 +109 +80 +22 +-28 +-68 +-104 +-128 +-100 +35 +98 +109 +80 +22 +-28 +-68 +-104 +-128 +-99 +35 +98 +107 +79 +21 +-28 +-69 +-104 +-128 +-100 +35 +98 +109 +80 +22 +-28 +-68 +-104 +-112 +6 +81 +96 +36 +-16 +-59 +-95 +-107 +1 +74 +90 +31 +-20 +-62 +-98 +-109 +4 +76 +92 +33 +-19 +-61 +-97 +-107 +6 +78 +94 +34 +-17 +-43 +-96 +-107 +6 +78 +94 +35 +-17 +-43 +-96 +-106 +7 +79 +95 +36 +-16 +-59 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +6 +78 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-16 +-59 +-95 +-106 +8 +80 +95 +36 +-16 +-58 +-95 +-105 +7 +79 +96 +36 +-16 +-58 +-95 +-105 +9 +80 +96 +37 +-16 +-58 +-95 +-105 +9 +81 +96 +37 +-16 +-58 +-95 +-105 +8 +80 +96 +37 +-16 +-58 +-95 +-105 +8 +80 +96 +36 +-16 +-58 +-95 +-105 +8 +80 +96 +36 +-16 +-58 +-95 +-105 +8 +80 +95 +36 +-16 +-58 +-95 +-105 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +6 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +78 +94 +35 +-17 +-43 +-96 +-106 +6 +79 +94 +35 +-17 +-43 +-96 +-106 +7 +79 +94 +35 +-17 +-43 +-96 +-107 +5 +78 +94 +34 +-17 +-43 +-96 +-106 +7 +79 +94 +35 +-17 +-43 +-96 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-16 +-59 +-95 +-106 +6 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +6 +78 +94 +35 +-17 +-43 +-96 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-16 +-59 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +6 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +36 +-16 +-59 +-95 +-106 +7 +79 +95 +36 +-16 +-59 +-95 +-105 +8 +79 +95 +36 +-16 +-59 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-16 +-59 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-105 +8 +80 +95 +36 +-16 +-58 +-95 +-105 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +94 +35 +-17 +-43 +-96 +-106 +6 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-109 +-98 +36 +100 +112 +85 +27 +-24 +-65 +-101 +-128 +-93 +41 +103 +113 +84 +26 +-25 +-66 +-101 +-128 +-95 +39 +101 +111 +82 +24 +-26 +-67 +-102 +-128 +-97 +38 +100 +110 +80 +23 +-27 +-68 +-103 +-128 +-97 +37 +100 +109 +80 +23 +-27 +-68 +-103 +-128 +-97 +37 +100 +109 +80 +22 +-28 +-68 +-103 +-128 +-98 +37 +100 +110 +80 +23 +-27 +-68 +-103 +-128 +-98 +37 +100 +109 +80 +23 +-27 +-68 +-103 +-128 +-98 +36 +99 +109 +80 +23 +-27 +-68 +-103 +-128 +-99 +35 +98 +107 +79 +22 +-28 +-69 +-104 +-128 +-99 +35 +98 +108 +79 +22 +-28 +-69 +-104 +-128 +-99 +35 +97 +107 +78 +21 +-29 +-69 +-104 +-128 +-100 +35 +97 +107 +78 +21 +-29 +-69 +-104 +-128 +6 +79 +94 +34 +-17 +-43 +-96 +-108 +1 +72 +88 +29 +-22 +-63 +-99 +-109 +3 +74 +89 +31 +-20 +-62 +-98 +-108 +5 +76 +92 +33 +-19 +-61 +-97 +-107 +5 +77 +93 +33 +-18 +-60 +-96 +-107 +6 +78 +94 +34 +-17 +-43 +-96 +-106 +6 +78 +93 +34 +-17 +-43 +-96 +-106 +7 +78 +93 +34 +-17 +-43 +-96 +-106 +7 +78 +94 +34 +-17 +-43 +-96 +-106 +8 +79 +94 +34 +-17 +-43 +-96 +-106 +7 +79 +94 +34 +-17 +-43 +-96 +-106 +7 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +94 +35 +-17 +-43 +-95 +-105 +7 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +95 +35 +-17 +-43 +-95 +-105 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +95 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +94 +35 +-17 +-43 +-96 +-106 +7 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-109 +-97 +36 +100 +111 +83 +25 +-25 +-66 +-101 +-128 +-94 +40 +102 +111 +83 +25 +-25 +-66 +-101 +-128 +-95 +38 +100 +109 +80 +23 +-27 +-68 +-103 +-128 +-97 +37 +100 +109 +80 +23 +-27 +-68 +-103 +-128 +-97 +37 +99 +108 +79 +21 +-28 +-69 +-104 +-128 +-97 +37 +99 +108 +79 +22 +-28 +-68 +-104 +-128 +-98 +36 +99 +108 +44 +-8 +-52 +-89 +-103 +5 +74 +91 +30 +-20 +-62 +-97 +-109 +5 +74 +92 +31 +-19 +-62 +-97 +-108 +6 +76 +94 +33 +-17 +-60 +-96 +-107 +7 +77 +95 +33 +-17 +-60 +-95 +-106 +9 +78 +96 +34 +-16 +-59 +-95 +-106 +9 +78 +96 +35 +-16 +-59 +-94 +-105 +10 +78 +96 +34 +-16 +-59 +-95 +-109 +-96 +36 +101 +109 +85 +25 +-24 +-66 +-100 +-128 +-92 +39 +104 +110 +84 +24 +-25 +-67 +-101 +-128 +-95 +37 +101 +107 +81 +22 +-27 +-68 +-102 +-128 +-97 +35 +100 +107 +80 +21 +-27 +-69 +-103 +-128 +-97 +35 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-98 +34 +99 +105 +79 +20 +-28 +-70 +-104 +-128 +-98 +34 +99 +105 +79 +19 +-28 +-70 +-104 +-128 +-98 +35 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-98 +34 +99 +104 +78 +19 +-29 +-70 +-104 +-128 +-98 +34 +99 +104 +78 +19 +-29 +-70 +-104 +-128 +-98 +34 +99 +105 +79 +20 +-28 +-69 +-103 +-128 +-98 +35 +99 +105 +79 +20 +-28 +-70 +-104 +-128 +-97 +34 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-98 +35 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-97 +34 +99 +105 +78 +19 +-29 +-70 +-104 +-128 +-97 +35 +99 +105 +79 +19 +-29 +-70 +-104 +-128 +-98 +34 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-97 +35 +99 +105 +79 +19 +-29 +-70 +-104 +-128 +-97 +35 +99 +105 +79 +19 +-29 +-70 +-104 +-128 +-97 +35 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-97 +35 +99 +104 +78 +19 +-29 +-70 +-104 +-128 +-98 +34 +98 +105 +78 +19 +-29 +-70 +-104 +-128 +-98 +34 +98 +105 +78 +19 +-29 +-70 +-104 +-128 +-97 +35 +99 +105 +78 +19 +-29 +-70 +-104 +-128 +-97 +35 +100 +106 +79 +20 +-28 +-69 +-103 +-128 +-96 +36 +100 +106 +79 +20 +-28 +-69 +-103 +-128 +-97 +36 +100 +106 +80 +20 +-27 +-69 +-103 +-128 +-96 +36 +100 +106 +79 +20 +-28 +-69 +-103 +-128 +-97 +35 +100 +105 +78 +19 +-28 +-70 +-103 +-128 +-97 +35 +99 +106 +79 +20 +-28 +-69 +-103 +-128 +-97 +35 +99 +105 +79 +20 +-28 +-69 +-103 +-128 +-96 +36 +99 +106 +79 +20 +-28 +-69 +-103 +-112 +8 +79 +95 +33 +-17 +-60 +-95 +-108 +3 +72 +89 +28 +-21 +-63 +-98 +-109 +5 +74 +91 +30 +-19 +-62 +-97 +-108 +6 +74 +92 +31 +-18 +-61 +-96 +-107 +6 +75 +93 +32 +-18 +-61 +-96 +-107 +8 +77 +94 +33 +-17 +-60 +-95 +-106 +9 +77 +95 +33 +-17 +-60 +-95 +-106 +9 +78 +95 +34 +-16 +-59 +-95 +-106 +9 +77 +95 +34 +-16 +-59 +-94 +-105 +10 +79 +97 +35 +-15 +-58 +-94 +-104 +11 +79 +97 +35 +-15 +-58 +-93 +-104 +10 +78 +96 +34 +-16 +-59 +-94 +-105 +9 +78 +96 +35 +-15 +-59 +-94 +-105 +10 +78 +96 +34 +-15 +-59 +-94 +-105 +9 +77 +95 +34 +-16 +-59 +-95 +-105 +9 +77 +95 +33 +-16 +-59 +-95 +-106 +8 +76 +93 +33 +-17 +-60 +-95 +-106 +8 +77 +94 +33 +-17 +-60 +-95 +-106 +8 +77 +93 +32 +-17 +-60 +-95 +-106 +8 +77 +94 +33 +-17 +-60 +-95 +-106 +8 +77 +94 +33 +-17 +-60 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-106 +8 +77 +94 +32 +-17 +-60 +-95 +-106 +10 +77 +95 +33 +-17 +-59 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-106 +8 +76 +94 +33 +-17 +-60 +-95 +-106 +8 +76 +93 +32 +-17 +-60 +-95 +-106 +9 +77 +95 +33 +-17 +-59 +-94 +-106 +9 +77 +95 +34 +-16 +-59 +-95 +-105 +9 +77 +95 +33 +-17 +-59 +-95 +-109 +-96 +35 +101 +108 +83 +23 +-25 +-67 +-101 +-128 +-92 +40 +103 +109 +83 +23 +-25 +-67 +-101 +-128 +-93 +38 +101 +107 +81 +22 +-26 +-68 +-102 +-128 +-95 +37 +101 +107 +80 +21 +-27 +-69 +-102 +-128 +-96 +36 +100 +105 +79 +20 +-28 +-69 +-103 +-128 +-96 +36 +99 +105 +79 +20 +-28 +-69 +-103 +-128 +-96 +36 +99 +104 +78 +19 +-28 +-70 +-103 +-128 +-96 +35 +99 +105 +78 +19 +-29 +-70 +-103 +-128 +-96 +36 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-96 +35 +99 +104 +78 +19 +-28 +-69 +-103 +-128 +-96 +35 +99 +105 +78 +19 +-29 +-70 +-103 +-128 +-96 +36 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-96 +36 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-97 +35 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-96 +35 +99 +104 +77 +19 +-29 +-70 +-104 +-128 +-96 +35 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-97 +35 +99 +105 +78 +19 +-29 +-70 +-103 +-128 +-96 +35 +98 +104 +78 +19 +-29 +-70 +-103 +-128 +-95 +36 +99 +105 +78 +19 +-28 +-70 +-103 +-128 +-96 +36 +99 +105 +79 +20 +-28 +-69 +-103 +-128 +-95 +36 +100 +105 +79 +20 +-28 +-69 +-103 +-128 +-95 +36 +99 +106 +79 +20 +-28 +-69 +-103 +-128 +-94 +37 +101 +106 +79 +20 +-27 +-69 +-102 +-128 +-95 +37 +100 +106 +80 +21 +-27 +-68 +-102 +-128 +-95 +36 +100 +105 +79 +20 +-28 +-69 +-103 +-128 +-95 +36 +100 +105 +79 +20 +-28 +-69 +-103 +-111 +10 +79 +95 +33 +-16 +-59 +-95 +-107 +3 +71 +88 +28 +-21 +-63 +-98 +-109 +5 +72 +89 +29 +-20 +-63 +-97 +-108 +5 +74 +91 +30 +-19 +-61 +-96 +-107 +7 +75 +92 +31 +-18 +-61 +-95 +-106 +8 +76 +93 +32 +-17 +-60 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-105 +10 +77 +95 +34 +-16 +-59 +-94 +-104 +10 +77 +95 +34 +-16 +-59 +-94 +-104 +11 +78 +95 +34 +-16 +-59 +-94 +-104 +10 +77 +95 +34 +-16 +-59 +-94 +-105 +10 +77 +94 +33 +-16 +-59 +-94 +-105 +9 +77 +93 +33 +-17 +-60 +-95 +-105 +9 +76 +93 +32 +-17 +-60 +-95 +-106 +8 +76 +93 +32 +-17 +-60 +-95 +-106 +7 +75 +91 +31 +-18 +-61 +-96 +-107 +6 +74 +91 +30 +-19 +-61 +-96 +-107 +7 +74 +90 +30 +-19 +-62 +-96 +-107 +6 +74 +91 +30 +-19 +-61 +-96 +-107 +8 +75 +92 +31 +-18 +-61 +-95 +-106 +8 +76 +92 +31 +-18 +-60 +-95 +-106 +9 +77 +93 +32 +-17 +-60 +-95 +-105 +10 +77 +94 +33 +-17 +-59 +-94 +-105 +10 +77 +94 +33 +-16 +-59 +-94 +-104 +10 +79 +95 +34 +-16 +-58 +-94 +-104 +11 +79 +95 +34 +-16 +-58 +-93 +-104 +11 +79 +95 +34 +-15 +-58 +-93 +-104 +11 +79 +95 +34 +-16 +-58 +-94 +-104 +11 +78 +95 +34 +-16 +-59 +-93 +-104 +10 +77 +94 +33 +-16 +-59 +-94 +-104 +10 +77 +94 +33 +-17 +-59 +-94 +-105 +9 +77 +93 +32 +-17 +-60 +-95 +-106 +9 +77 +93 +32 +-17 +-60 +-95 +-105 +9 +77 +93 +32 +-17 +-60 +-95 +-105 +9 +77 +93 +32 +-17 +-60 +-95 +-105 +10 +77 +93 +33 +-17 +-60 +-95 +-105 +10 +77 +94 +33 +-17 +-59 +-94 +-105 +10 +77 +94 +33 +-16 +-59 +-94 +-104 +11 +78 +95 +34 +-16 +-59 +-94 +-104 +11 +78 +94 +73 +17 +-31 +-71 +-105 +-128 +-92 +41 +101 +110 +81 +24 +-25 +-66 +-100 +-128 +-92 +40 +101 +109 +79 +22 +-27 +-67 +-102 +-128 +-94 +38 +99 +107 +77 +21 +-28 +-68 +-103 +-128 +-95 +37 +98 +106 +77 +20 +-29 +-69 +-103 +-128 +-95 +37 +98 +106 +76 +19 +-29 +-69 +-104 +-128 +-95 +37 +98 +106 +76 +20 +-29 +-69 +-103 +-110 +10 +81 +94 +35 +-16 +-58 +-94 +-105 +4 +74 +88 +30 +-20 +-62 +-97 +-106 +6 +75 +90 +32 +-19 +-60 +-96 +-105 +8 +77 +91 +33 +-18 +-59 +-95 +-105 +7 +78 +91 +33 +-18 +-59 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-95 +-104 +9 +79 +92 +33 +-17 +-43 +-95 +-104 +8 +78 +92 +33 +-18 +-43 +-95 +-108 +-96 +36 +97 +107 +80 +23 +-26 +-66 +-101 +-128 +-92 +40 +100 +108 +77 +22 +-28 +-68 +-102 +-128 +-94 +38 +98 +106 +77 +20 +-29 +-69 +-103 +-128 +-95 +37 +98 +106 +76 +20 +-29 +-69 +-103 +-128 +-95 +37 +97 +106 +75 +19 +-29 +-69 +-104 +-128 +-95 +37 +97 +105 +75 +19 +-30 +-69 +-104 +-128 +-96 +37 +97 +105 +75 +19 +-30 +-69 +-103 +-128 +-95 +37 +97 +105 +75 +19 +-30 +-69 +-104 +-128 +-95 +36 +96 +105 +75 +19 +-30 +-69 +-104 +-128 +-95 +37 +97 +104 +75 +19 +-30 +-69 +-104 +-128 +-96 +37 +97 +105 +75 +19 +-30 +-69 +-104 +-128 +-95 +37 +97 +105 +75 +19 +-29 +-69 +-104 +-128 +-95 +37 +97 +105 +75 +19 +-30 +-69 +-104 +-110 +9 +79 +92 +33 +-17 +-43 +-95 +-106 +4 +73 +86 +28 +-22 +-62 +-98 +-107 +5 +75 +88 +31 +-20 +-61 +-96 +-106 +7 +77 +90 +32 +-18 +-60 +-95 +-105 +7 +77 +90 +32 +-18 +-60 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +92 +33 +-18 +-43 +-95 +-104 +8 +78 +92 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-94 +-104 +9 +78 +92 +33 +-17 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-94 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-94 +-103 +10 +79 +92 +33 +-17 +-42 +-94 +-103 +9 +79 +92 +33 +-17 +-42 +-94 +-103 +9 +79 +92 +33 +-17 +-42 +-94 +-103 +10 +79 +92 +34 +-17 +-42 +-94 +-103 +10 +79 +93 +34 +-17 +-42 +-94 +-103 +10 +78 +92 +34 +-17 +-42 +-94 +-103 +10 +79 +93 +34 +-17 +-42 +-94 +-103 +10 +79 +92 +34 +-17 +-42 +-94 +-103 +10 +79 +93 +35 +-16 +-58 +-94 +-103 +10 +79 +93 +34 +-16 +-58 +-94 +-102 +10 +79 +93 +35 +-16 +-58 +-94 +-102 +10 +79 +93 +34 +-17 +-42 +-94 +-103 +10 +78 +92 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-94 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-94 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-59 +-95 +-104 +9 +78 +90 +32 +-18 +-59 +-95 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-95 +-103 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +32 +-18 +-43 +-95 +-104 +9 +77 +90 +32 +-18 +-59 +-95 +-104 +9 +77 +91 +32 +-18 +-43 +-95 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-104 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +10 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +10 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +77 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +10 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +90 +32 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +77 +91 +33 +-18 +-43 +-94 +-107 +-94 +37 +97 +106 +77 +22 +-27 +-67 +-101 +-128 +-90 +41 +100 +108 +77 +22 +-27 +-67 +-101 +-128 +-91 +40 +99 +106 +76 +20 +-28 +-67 +-102 +-128 +-92 +39 +98 +106 +76 +20 +-28 +-68 +-102 +-128 +-93 +38 +97 +105 +75 +19 +-29 +-68 +-102 +-128 +-92 +38 +98 +105 +75 +19 +-29 +-69 +-103 +-128 +-93 +39 +98 +105 +76 +20 +-29 +-68 +-102 +-128 +-92 +39 +98 +106 +76 +20 +-28 +-68 +-102 +-128 +-92 +39 +98 +105 +75 +19 +-29 +-68 +-102 +-128 +-92 +38 +97 +104 +75 +19 +-29 +-68 +-102 +-128 +-92 +38 +97 +104 +74 +19 +-30 +-69 +-103 +-128 +-93 +38 +97 +104 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +103 +73 +17 +-31 +-70 +-103 +-128 +-94 +37 +96 +103 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +102 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +103 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +103 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +103 +73 +18 +-30 +-69 +-103 +-128 +-93 +37 +96 +103 +73 +17 +-31 +-69 +-103 +-128 +-94 +37 +97 +103 +74 +18 +-30 +-69 +-103 +-128 +-93 +37 +96 +103 +74 +18 +-30 +-69 +-103 +-128 +-93 +38 +97 +103 +73 +18 +-30 +-69 +-103 +-128 +-93 +37 +97 +103 +73 +18 +-30 +-69 +-103 +-128 +-93 +37 +96 +104 +74 +18 +-30 +-69 +-103 +-128 +-93 +37 +97 +104 +73 +18 +-30 +-69 +-103 +-128 +-93 +37 +96 +103 +41 +-9 +-52 +-88 +-101 +7 +73 +88 +29 +-20 +-61 +-95 +-106 +7 +73 +88 +28 +-20 +-61 +-95 +-105 +8 +74 +89 +30 +-19 +-60 +-95 +-105 +9 +75 +90 +30 +-18 +-60 +-94 +-104 +9 +75 +90 +31 +-18 +-60 +-94 +-104 +9 +75 +91 +31 +-18 +-59 +-94 +-104 +9 +75 +91 +31 +-18 +-60 +-94 +-104 +9 +75 +91 +31 +-17 +-59 +-94 +-104 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +92 +32 +-17 +-59 +-93 +-103 +11 +77 +92 +32 +-17 +-59 +-93 +-103 +11 +77 +93 +32 +-16 +-58 +-93 +-103 +11 +77 +92 +32 +-17 +-58 +-93 +-102 +11 +77 +92 +32 +-17 +-59 +-93 +-102 +11 +77 +92 +32 +-17 +-59 +-93 +-103 +11 +77 +92 +32 +-17 +-58 +-93 +-103 +11 +77 +92 +32 +-17 +-59 +-93 +-103 +10 +77 +92 +32 +-17 +-58 +-93 +-103 +10 +76 +92 +32 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +11 +76 +91 +31 +-17 +-59 +-93 +-103 +11 +76 +92 +32 +-17 +-58 +-93 +-102 +11 +77 +93 +33 +-16 +-58 +-92 +-102 +11 +77 +93 +33 +-16 +-58 +-92 +-102 +12 +78 +93 +33 +-16 +-58 +-92 +-101 +13 +77 +93 +33 +-15 +-57 +-92 +-102 +12 +77 +92 +71 +16 +-31 +-70 +-103 +-128 +-89 +41 +99 +107 +77 +21 +-27 +-66 +-100 +-112 +-90 +40 +98 +105 +75 +19 +-28 +-67 +-101 +-128 +-91 +39 +97 +104 +73 +18 +-30 +-68 +-102 +-128 +-92 +38 +97 +103 +72 +17 +-30 +-69 +-103 +-128 +-92 +37 +96 +103 +72 +17 +-31 +-69 +-103 +-128 +-93 +37 +96 +102 +72 +17 +-30 +-69 +-103 +-128 +-93 +37 +96 +102 +72 +17 +-30 +-69 +-103 +-128 +-92 +37 +96 +102 +72 +17 +-31 +-69 +-103 +-128 +-92 +38 +96 +103 +72 +17 +-30 +-69 +-102 +-128 +-93 +37 +95 +103 +72 +18 +-30 +-69 +-102 +-128 +-92 +37 +96 +102 +72 +17 +-31 +-69 +-103 +-128 +-92 +38 +96 +101 +72 +17 +-31 +-69 +-103 +-128 +-92 +38 +96 +102 +41 +-9 +-52 +-87 +-100 +8 +73 +87 +28 +-20 +-61 +-95 +-105 +7 +73 +88 +28 +-19 +-61 +-95 +-105 +8 +74 +89 +29 +-19 +-60 +-94 +-104 +8 +74 +89 +30 +-18 +-60 +-94 +-103 +10 +76 +90 +31 +-17 +-59 +-93 +-103 +10 +75 +91 +31 +-17 +-59 +-93 +-102 +11 +76 +91 +31 +-17 +-59 +-93 +-106 +-93 +36 +98 +103 +77 +20 +-27 +-67 +-100 +-112 +-88 +40 +101 +104 +77 +19 +-27 +-67 +-100 +-112 +-89 +39 +100 +103 +76 +19 +-28 +-68 +-101 +-128 +-91 +38 +98 +101 +75 +17 +-29 +-69 +-101 +-128 +-91 +38 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +98 +102 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +97 +101 +74 +16 +-30 +-70 +-102 +-128 +-91 +37 +98 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +98 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +97 +101 +73 +16 +-30 +-69 +-102 +-128 +-91 +37 +97 +101 +73 +16 +-30 +-70 +-102 +-128 +-91 +37 +97 +101 +74 +17 +-29 +-69 +-102 +-128 +-91 +37 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +97 +101 +73 +16 +-30 +-69 +-102 +-128 +-91 +37 +97 +101 +74 +16 +-29 +-69 +-101 +-128 +-91 +37 +98 +101 +74 +17 +-29 +-69 +-101 +-128 +-90 +38 +98 +102 +75 +17 +-29 +-68 +-101 +-128 +-90 +38 +98 +102 +75 +18 +-29 +-68 +-101 +-128 +-89 +38 +99 +103 +75 +18 +-28 +-68 +-101 +-128 +-89 +38 +99 +102 +75 +18 +-28 +-68 +-101 +-128 +-90 +39 +99 +102 +75 +18 +-28 +-68 +-101 +-128 +-90 +38 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-90 +38 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +36 +97 +100 +72 +16 +-30 +-70 +-102 +-128 +-91 +36 +97 +100 +73 +16 +-30 +-70 +-102 +-128 +-91 +37 +97 +100 +73 +16 +-30 +-69 +-101 +-128 +-91 +37 +97 +100 +74 +16 +-29 +-69 +-101 +-128 +-90 +38 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-90 +38 +99 +102 +75 +18 +-28 +-68 +-100 +-128 +-89 +38 +99 +102 +75 +17 +-28 +-68 +-101 +-128 +-89 +38 +98 +102 +74 +17 +-29 +-69 +-101 +-106 +13 +79 +93 +33 +-15 +-57 +-91 +-103 +6 +71 +85 +27 +-21 +-62 +-95 +-105 +7 +72 +87 +28 +-19 +-61 +-94 +-104 +7 +73 +87 +28 +-19 +-60 +-94 +-104 +6 +72 +87 +28 +-20 +-61 +-94 +-104 +7 +72 +86 +28 +-20 +-61 +-95 +-104 +7 +72 +86 +28 +-20 +-61 +-95 +-104 +8 +73 +87 +28 +-19 +-60 +-94 +-107 +-95 +33 +95 +100 +74 +17 +-29 +-68 +-101 +-128 +-88 +39 +100 +102 +75 +18 +-28 +-68 +-100 +-112 +-88 +40 +100 +103 +75 +18 +-28 +-68 +-100 +-112 +-88 +40 +99 +103 +75 +18 +-28 +-68 +-100 +-112 +-88 +39 +99 +102 +74 +17 +-28 +-68 +-100 +-128 +-88 +39 +99 +102 +75 +18 +-28 +-68 +-100 +-112 +-89 +38 +99 +102 +43 +-8 +-50 +-86 +-98 +9 +76 +86 +30 +-19 +-59 +-94 +-103 +8 +75 +86 +30 +-19 +-59 +-94 +-102 +8 +75 +86 +30 +-19 +-59 +-94 +-102 +8 +75 +86 +30 +-19 +-59 +-94 +-102 +9 +76 +87 +30 +-19 +-59 +-94 +-102 +9 +76 +87 +31 +-18 +-59 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +78 +89 +32 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-101 +11 +78 +89 +32 +-17 +-41 +-92 +-101 +11 +78 +89 +32 +-17 +-41 +-92 +-100 +11 +78 +89 +33 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-101 +10 +77 +88 +32 +-18 +-42 +-92 +-101 +11 +78 +89 +32 +-17 +-41 +-92 +-101 +10 +77 +88 +32 +-18 +-42 +-93 +-101 +10 +77 +88 +31 +-18 +-42 +-93 +-101 +10 +77 +89 +32 +-17 +-42 +-92 +-100 +11 +78 +88 +32 +-17 +-41 +-92 +-100 +11 +78 +90 +33 +-17 +-41 +-92 +-100 +11 +78 +90 +33 +-17 +-41 +-92 +-100 +11 +78 +90 +33 +-17 +-41 +-92 +-100 +11 +78 +89 +33 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-100 +10 +77 +88 +31 +-18 +-42 +-92 +-101 +10 +76 +88 +31 +-18 +-42 +-93 +-101 +9 +76 +87 +31 +-18 +-58 +-93 +-101 +9 +76 +87 +31 +-18 +-58 +-93 +-101 +9 +76 +87 +31 +-18 +-58 +-93 +-101 +10 +76 +87 +31 +-18 +-58 +-93 +-101 +10 +77 +87 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-42 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-42 +-92 +-101 +11 +77 +88 +31 +-18 +-42 +-92 +-101 +10 +76 +88 +31 +-18 +-58 +-93 +-101 +10 +76 +88 +31 +-18 +-42 +-92 +-101 +10 +76 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-42 +-92 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-92 +-100 +10 +77 +88 +31 +-18 +-42 +-92 +-100 +10 +76 +88 +31 +-18 +-42 +-92 +-100 +10 +77 +88 +31 +-18 +-41 +-92 +-100 +10 +77 +88 +32 +-17 +-41 +-92 +-100 +10 +77 +88 +32 +-17 +-41 +-92 +-100 +11 +77 +88 +31 +-18 +-42 +-92 +-100 +10 +77 +88 +32 +-17 +-41 +-92 +-101 +10 +77 +88 +31 +-18 +-41 +-92 +-100 +10 +77 +88 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-101 +10 +77 +88 +68 +12 +-32 +-71 +-103 +-128 +-88 +38 +98 +101 +74 +18 +-28 +-67 +-99 +-111 +-87 +39 +98 +101 +73 +17 +-29 +-68 +-100 +-112 +-88 +38 +97 +100 +72 +16 +-29 +-69 +-101 +-112 +-89 +38 +97 +100 +72 +16 +-29 +-69 +-101 +-112 +-89 +38 +97 +99 +72 +16 +-29 +-69 +-101 +-112 +-89 +38 +97 +100 +72 +16 +-29 +-68 +-100 +-112 +-89 +38 +97 +100 +73 +16 +-29 +-68 +-100 +-112 +-88 +38 +97 +100 +72 +16 +-29 +-68 +-100 +-112 +-88 +38 +98 +101 +73 +16 +-29 +-68 +-100 +-112 +-89 +38 +98 +101 +73 +17 +-29 +-68 +-100 +-112 +-88 +39 +97 +100 +73 +16 +-29 +-68 +-100 +-112 +-88 +39 +98 +100 +72 +16 +-29 +-68 +-100 +-112 +-88 +39 +98 +101 +43 +-8 +-49 +-85 +-97 +10 +76 +86 +30 +-19 +-58 +-93 +-101 +9 +75 +86 +30 +-18 +-58 +-93 +-101 +10 +77 +87 +31 +-18 +-58 +-92 +-101 +9 +76 +87 +31 +-18 +-58 +-93 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-42 +-92 +-100 +10 +76 +87 +31 +-18 +-42 +-92 +-100 +9 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-42 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +88 +31 +-18 +-41 +-92 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-41 +-92 +-100 +11 +77 +88 +31 +-18 +-41 +-92 +-100 +11 +77 +88 +31 +-17 +-41 +-92 +-100 +10 +77 +87 +31 +-18 +-41 +-92 +-100 +11 +77 +87 +31 +-18 +-41 +-92 +-100 +10 +77 +88 +31 +-18 +-41 +-92 +-99 +11 +77 +87 +31 +-18 +-41 +-92 +-100 +10 +77 +88 +31 +-18 +-41 +-92 +-100 +11 +77 +88 +31 +-17 +-41 +-92 +-100 +11 +77 +87 +31 +-18 +-41 +-92 +-100 +11 +77 +88 +31 +-18 +-41 +-92 +-100 +10 +77 +87 +67 +12 +-33 +-71 +-102 +-128 +-88 +38 +97 +100 +73 +17 +-28 +-67 +-99 +-111 +-87 +39 +98 +101 +72 +16 +-29 +-68 +-100 +-111 +-88 +38 +97 +99 +71 +15 +-30 +-69 +-100 +-112 +-88 +38 +97 +100 +72 +16 +-29 +-68 +-100 +-111 +-88 +38 +97 +99 +72 +16 +-29 +-68 +-100 +-111 +-88 +38 +97 +99 +71 +16 +-29 +-68 +-100 +-104 +15 +80 +92 +33 +-15 +-56 +-89 +-100 +8 +72 +85 +27 +-20 +-60 +-93 +-102 +9 +73 +86 +28 +-18 +-59 +-92 +-101 +10 +74 +87 +29 +-18 +-58 +-92 +-101 +11 +75 +88 +30 +-17 +-58 +-91 +-100 +11 +74 +88 +30 +-17 +-58 +-91 +-100 +11 +75 +88 +30 +-17 +-58 +-91 +-100 +12 +75 +89 +65 +12 +-33 +-71 +-103 +-128 +-88 +39 +97 +103 +72 +18 +-28 +-66 +-99 +-110 +-87 +41 +97 +101 +71 +17 +-29 +-67 +-100 +-110 +-87 +40 +97 +102 +71 +17 +-29 +-67 +-100 +-110 +-88 +40 +97 +102 +71 +17 +-29 +-67 +-100 +-110 +-87 +40 +96 +102 +72 +18 +-29 +-67 +-100 +-110 +-87 +41 +97 +101 +71 +17 +-29 +-67 +-100 +-110 +-88 +40 +97 +102 +71 +18 +-29 +-67 +-100 +-110 +-88 +40 +96 +101 +70 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +100 +70 +16 +-30 +-68 +-100 +-111 +-89 +38 +95 +99 +69 +15 +-31 +-68 +-101 +-111 +-89 +39 +95 +99 +69 +15 +-31 +-68 +-101 +-111 +-88 +39 +95 +100 +69 +15 +-31 +-68 +-101 +-111 +-89 +38 +95 +99 +69 +15 +-31 +-68 +-101 +-111 +-89 +39 +95 +100 +69 +15 +-31 +-68 +-101 +-111 +-90 +38 +95 +100 +69 +16 +-31 +-68 +-101 +-111 +-88 +39 +95 +100 +69 +15 +-31 +-68 +-101 +-111 +-89 +39 +95 +99 +68 +15 +-31 +-68 +-101 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +40 +95 +100 +70 +16 +-30 +-67 +-100 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +99 +69 +16 +-30 +-68 +-100 +-111 +-88 +40 +95 +99 +68 +15 +-31 +-68 +-101 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +40 +96 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +100 +69 +15 +-30 +-68 +-100 +-111 +-89 +39 +95 +100 +68 +15 +-31 +-68 +-101 +-111 +-89 +38 +94 +99 +69 +15 +-31 +-68 +-100 +-111 +-88 +39 +95 +100 +68 +15 +-31 +-68 +-100 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-67 +-100 +-110 +-87 +40 +96 +101 +41 +-8 +-50 +-84 +-112 +12 +75 +88 +30 +-17 +-58 +-91 +-100 +11 +74 +86 +28 +-18 +-58 +-91 +-100 +11 +75 +88 +30 +-17 +-58 +-91 +-99 +12 +75 +88 +30 +-17 +-58 +-90 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-99 +12 +76 +88 +30 +-17 +-57 +-90 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-99 +12 +75 +87 +29 +-17 +-58 +-91 +-100 +12 +75 +88 +30 +-17 +-58 +-91 +-100 +11 +75 +88 +30 +-17 +-57 +-90 +-99 +11 +75 +88 +30 +-17 +-57 +-91 +-99 +11 +75 +87 +29 +-17 +-58 +-91 +-100 +11 +75 +88 +30 +-17 +-58 +-91 +-99 +12 +75 +87 +29 +-17 +-58 +-91 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-99 +13 +76 +89 +31 +-16 +-57 +-90 +-99 +13 +76 +89 +31 +-16 +-56 +-90 +-98 +13 +77 +89 +31 +-16 +-56 +-90 +-98 +14 +77 +90 +32 +-15 +-56 +-89 +-114 +14 +77 +90 +31 +-15 +-56 +-89 +-98 +13 +77 +89 +31 +-16 +-56 +-90 +-98 +13 +76 +89 +31 +-16 +-57 +-90 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-99 +12 +75 +88 +30 +-17 +-58 +-90 +-99 +11 +74 +87 +29 +-17 +-58 +-91 +-99 +11 +74 +87 +29 +-17 +-58 +-91 +-100 +11 +74 +86 +29 +-18 +-58 +-91 +-100 +11 +74 +87 +29 +-17 +-58 +-91 +-100 +11 +74 +87 +29 +-17 +-58 +-91 +-100 +11 +74 +87 +29 +-18 +-58 +-91 +-99 +11 +74 +87 +29 +-17 +-58 +-91 +-100 +12 +75 +87 +63 +11 +-34 +-71 +-102 +-112 +-88 +39 +95 +101 +70 +16 +-30 +-67 +-99 +-110 +-87 +40 +96 +100 +70 +16 +-30 +-67 +-99 +-109 +-87 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-88 +39 +95 +100 +68 +16 +-30 +-67 +-100 +-110 +-88 +39 +94 +99 +68 +15 +-30 +-67 +-100 +-110 +-88 +40 +95 +99 +68 +15 +-31 +-68 +-100 +-110 +-88 +39 +95 +99 +69 +16 +-30 +-67 +-100 +-110 +-88 +39 +95 +100 +69 +16 +-30 +-67 +-100 +-110 +-87 +40 +95 +100 +69 +16 +-30 +-67 +-99 +-109 +-88 +40 +95 +100 +69 +16 +-30 +-67 +-99 +-109 +-87 +40 +95 +100 +69 +16 +-30 +-67 +-99 +-110 +-87 +40 +96 +100 +69 +16 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +69 +16 +-30 +-67 +-99 +-109 +-87 +40 +95 +100 +68 +15 +-30 +-67 +-100 +-110 +-88 +39 +95 +100 +69 +16 +-30 +-67 +-99 +-110 +-87 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-88 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +68 +15 +-31 +-68 +-100 +-110 +-88 +40 +95 +100 +69 +16 +-30 +-67 +-99 +-109 +-87 +39 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-109 +-88 +39 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +39 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +68 +16 +-30 +-67 +-100 +-110 +-87 +40 +95 +100 +40 +-8 +-49 +-83 +-111 +13 +76 +87 +30 +-17 +-57 +-90 +-99 +12 +74 +87 +29 +-17 +-57 +-90 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-98 +12 +75 +88 +31 +-16 +-56 +-89 +-114 +13 +76 +88 +31 +-16 +-56 +-89 +-98 +13 +76 +88 +31 +-16 +-56 +-89 +-114 +13 +76 +88 +31 +-16 +-56 +-89 +-98 +12 +75 +88 +30 +-16 +-56 +-89 +-98 +12 +75 +87 +30 +-17 +-57 +-90 +-98 +12 +75 +87 +29 +-17 +-57 +-90 +-99 +12 +74 +87 +29 +-17 +-57 +-90 +-99 +11 +74 +87 +29 +-17 +-57 +-90 +-99 +11 +74 +87 +30 +-17 +-57 +-90 +-99 +12 +75 +87 +30 +-17 +-57 +-90 +-98 +13 +75 +87 +30 +-17 +-57 +-90 +-98 +12 +75 +88 +31 +-16 +-56 +-89 +-113 +13 +76 +89 +31 +-16 +-56 +-89 +-114 +13 +76 +88 +30 +-16 +-56 +-89 +-113 +13 +76 +88 +31 +-16 +-56 +-89 +-98 +12 +75 +87 +30 +-17 +-57 +-89 +-98 +12 +75 +86 +29 +-17 +-57 +-90 +-99 +11 +74 +86 +29 +-17 +-57 +-90 +-99 +11 +73 +85 +28 +-18 +-58 +-91 +-100 +9 +72 +84 +28 +-18 +-58 +-91 +-100 +9 +72 +84 +27 +-19 +-59 +-91 +-100 +9 +72 +83 +27 +-19 +-59 +-91 +-100 +9 +72 +83 +26 +-19 +-59 +-92 +-101 +9 +72 +84 +27 +-19 +-58 +-91 +-100 +11 +74 +86 +29 +-17 +-58 +-90 +-99 +12 +74 +87 +29 +-17 +-57 +-90 +-98 +13 +75 +88 +30 +-16 +-56 +-89 +-98 +13 +76 +88 +31 +-16 +-56 +-89 +-113 +13 +76 +89 +31 +-16 +-56 +-89 +-113 +14 +77 +88 +31 +-16 +-56 +-89 +-113 +14 +76 +88 +31 +-16 +-56 +-89 +-114 +13 +76 +88 +30 +-16 +-56 +-89 +-113 +13 +76 +88 +30 +-16 +-56 +-89 +-114 +13 +76 +87 +30 +-16 +-56 +-89 +-98 +12 +75 +87 +29 +-17 +-57 +-89 +-102 +-91 +35 +93 +96 +69 +14 +-30 +-68 +-99 +-109 +-86 +39 +96 +98 +69 +15 +-29 +-67 +-99 +-109 +-86 +39 +96 +98 +70 +15 +-29 +-67 +-98 +-109 +-86 +39 +97 +98 +69 +15 +-29 +-67 +-98 +-109 +-85 +39 +96 +98 +70 +16 +-29 +-67 +-98 +-109 +-85 +40 +97 +99 +70 +16 +-29 +-67 +-98 +-109 +-85 +40 +97 +99 +42 +-8 +-48 +-83 +-109 +12 +77 +86 +31 +-17 +-40 +-90 +-98 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +75 +84 +29 +-18 +-57 +-90 +-98 +11 +75 +84 +30 +-18 +-57 +-90 +-98 +11 +76 +85 +30 +-17 +-40 +-90 +-98 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-18 +-40 +-90 +-98 +11 +76 +85 +64 +10 +-33 +-70 +-101 +-111 +-86 +39 +97 +99 +71 +16 +-28 +-66 +-97 +-108 +-84 +40 +98 +99 +71 +16 +-28 +-66 +-97 +-108 +-84 +40 +97 +100 +71 +16 +-28 +-66 +-97 +-108 +-85 +40 +98 +99 +71 +16 +-28 +-66 +-97 +-108 +-85 +40 +97 +99 +71 +16 +-28 +-66 +-97 +-108 +-85 +39 +97 +98 +70 +15 +-29 +-67 +-98 +-109 +-86 +38 +96 +98 +69 +15 +-29 +-67 +-98 +-109 +-86 +38 +95 +97 +68 +14 +-30 +-68 +-99 +-110 +-87 +38 +95 +97 +68 +14 +-30 +-68 +-99 +-109 +-87 +38 +95 +97 +68 +14 +-30 +-68 +-99 +-109 +-86 +38 +95 +97 +68 +14 +-30 +-68 +-99 +-110 +-86 +38 +96 +97 +69 +14 +-30 +-68 +-99 +-109 +-86 +38 +96 +97 +41 +-9 +-49 +-84 +-110 +12 +76 +85 +30 +-18 +-40 +-90 +-98 +10 +75 +84 +29 +-18 +-57 +-90 +-98 +10 +75 +84 +29 +-18 +-56 +-90 +-98 +10 +75 +84 +29 +-18 +-57 +-91 +-98 +11 +75 +84 +29 +-18 +-56 +-90 +-98 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +75 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +31 +-17 +-40 +-90 +-97 +12 +76 +85 +31 +-17 +-40 +-90 +-97 +12 +77 +85 +31 +-17 +-40 +-90 +-97 +11 +76 +85 +31 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-18 +-40 +-90 +-97 +12 +76 +85 +30 +-18 +-40 +-90 +-97 +12 +76 +85 +31 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +75 +84 +30 +-18 +-40 +-90 +-97 +12 +76 +84 +30 +-18 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +77 +85 +31 +-17 +-40 +-89 +-97 +12 +77 +86 +31 +-17 +-39 +-89 +-97 +13 +77 +86 +31 +-16 +-39 +-89 +-97 +12 +77 +86 +31 +-17 +-39 +-89 +-112 +13 +77 +86 +31 +-17 +-39 +-89 +-97 +13 +77 +85 +31 +-17 +-39 +-89 +-97 +13 +77 +86 +31 +-16 +-39 +-89 +-97 +12 +77 +86 +31 +-16 +-39 +-89 +-112 +13 +78 +86 +31 +-16 +-39 +-89 +-112 +13 +77 +86 +31 +-17 +-39 +-89 +-112 +13 +77 +86 +31 +-17 +-39 +-89 +-97 +12 +76 +86 +31 +-17 +-39 +-89 +-112 +12 +77 +86 +31 +-17 +-39 +-89 +-97 +12 +76 +85 +31 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-89 +-97 +10 +75 +84 +30 +-17 +-40 +-90 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +12 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +11 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-89 +-97 +10 +75 +84 +30 +-17 +-40 +-89 +-97 +11 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +84 +30 +-18 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-89 +-97 +11 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +31 +-17 +-39 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-39 +-89 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +11 +76 +84 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +31 +-17 +-39 +-89 +-97 +12 +76 +85 +31 +-17 +-39 +-89 +-97 +12 +76 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-39 +-89 +-97 +11 +76 +84 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +31 +-17 +-39 +-89 +-97 +11 +76 +85 +30 +-17 +-39 +-89 +-97 +11 +75 +84 +63 +10 +-33 +-70 +-100 +-111 +-87 +37 +95 +97 +68 +14 +-29 +-67 +-98 +-108 +-85 +39 +97 +97 +69 +15 +-29 +-66 +-97 +-108 +-86 +39 +96 +97 +69 +15 +-29 +-67 +-97 +-108 +-85 +39 +96 +97 +69 +15 +-29 +-66 +-97 +-108 +-86 +39 +96 +98 +69 +15 +-29 +-67 +-97 +-108 +-85 +39 +96 +97 +68 +14 +-29 +-67 +-98 +-108 +-85 +39 +96 +98 +69 +15 +-29 +-66 +-97 +-108 +-85 +39 +96 +97 +69 +15 +-29 +-67 +-97 +-108 +-85 +39 +96 +97 +69 +15 +-29 +-67 +-97 +-108 +-85 +39 +97 +98 +69 +15 +-29 +-67 +-97 +-108 +-85 +40 +97 +98 +69 +15 +-29 +-66 +-97 +-108 +-84 +40 +97 +99 +69 +15 +-28 +-66 +-97 +-108 +-85 +40 +97 +99 +70 +16 +-28 +-66 +-97 +-107 +-84 +40 +98 +99 +70 +16 +-28 +-66 +-97 +-107 +-84 +40 +98 +99 +70 +16 +-28 +-66 +-97 +-107 +-84 +40 +97 +98 +70 +16 +-28 +-66 +-97 +-107 +-84 +39 +97 +98 +69 +15 +-28 +-66 +-97 +-107 +-85 +39 +96 +97 +69 +15 +-29 +-66 +-97 +-108 +-85 +39 +95 +96 +67 +14 +-30 +-67 +-98 +-108 +-86 +38 +95 +97 +68 +14 +-29 +-67 +-98 +-108 +-86 +38 +96 +97 +68 +14 +-29 +-67 +-98 +-108 +-86 +38 +95 +97 +67 +14 +-30 +-67 +-98 +-108 +-86 +38 +96 +97 +69 +15 +-29 +-67 +-97 +-108 +-86 +38 +96 +97 +68 +14 +-29 +-67 +-97 +-108 +-86 +38 +96 +96 +68 +14 +-29 +-67 +-97 +-100 +17 +80 +91 +34 +-13 +-53 +-86 +-112 +10 +72 +84 +28 +-18 +-57 +-89 +-98 +10 +72 +84 +28 +-18 +-57 +-89 +-114 +11 +74 +85 +29 +-17 +-56 +-89 +-114 +11 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +11 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +75 +86 +30 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +75 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +85 +28 +-17 +-56 +-89 +-114 +11 +74 +85 +29 +-17 +-56 +-89 +-113 +12 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +75 +86 +30 +-16 +-56 +-88 +-113 +12 +75 +86 +30 +-16 +-56 +-88 +-113 +12 +75 +87 +30 +-16 +-55 +-87 +-112 +13 +75 +87 +30 +-16 +-56 +-88 +-112 +13 +75 +87 +30 +-16 +-55 +-88 +-113 +13 +75 +87 +30 +-16 +-55 +-88 +-113 +12 +75 +87 +30 +-16 +-55 +-88 +-112 +13 +75 +86 +30 +-16 +-56 +-88 +-112 +13 +75 +86 +30 +-16 +-56 +-88 +-112 +13 +75 +87 +30 +-16 +-55 +-88 +-113 +12 +75 +86 +30 +-16 +-55 +-88 +-112 +13 +75 +86 +30 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +86 +30 +-16 +-56 +-88 +-100 +-91 +34 +93 +95 +68 +14 +-29 +-67 +-97 +-108 +-85 +39 +96 +98 +69 +15 +-28 +-66 +-97 +-107 +-85 +39 +97 +98 +69 +15 +-28 +-66 +-97 +-107 +-85 +39 +97 +98 +70 +16 +-28 +-65 +-96 +-107 +-84 +40 +97 +98 +69 +16 +-28 +-66 +-96 +-107 +-84 +40 +98 +99 +70 +16 +-27 +-65 +-96 +-107 +-84 +40 +98 +100 +71 +17 +-27 +-65 +-96 +-106 +-84 +40 +97 +98 +70 +16 +-28 +-65 +-96 +-107 +-85 +40 +96 +98 +69 +15 +-28 +-66 +-97 +-107 +-85 +38 +96 +97 +68 +15 +-29 +-66 +-97 +-107 +-86 +38 +95 +97 +68 +15 +-29 +-66 +-97 +-107 +-86 +38 +95 +96 +67 +14 +-29 +-67 +-97 +-108 +-86 +38 +95 +96 +67 +14 +-29 +-67 +-97 +-100 +17 +80 +91 +33 +-13 +-53 +-85 +-112 +10 +72 +83 +27 +-18 +-57 +-89 +-98 +10 +73 +84 +28 +-17 +-56 +-89 +-114 +11 +73 +84 +28 +-17 +-57 +-89 +-113 +11 +74 +85 +29 +-17 +-56 +-88 +-113 +11 +74 +85 +29 +-17 +-56 +-88 +-113 +12 +74 +85 +29 +-17 +-56 +-88 +-113 +12 +74 +85 +61 +10 +-34 +-69 +-100 +-109 +-88 +37 +93 +97 +66 +15 +-30 +-66 +-98 +-107 +-86 +39 +95 +98 +66 +15 +-30 +-66 +-98 +-107 +-86 +40 +95 +98 +67 +15 +-29 +-65 +-97 +-107 +-86 +40 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-86 +40 +94 +99 +67 +15 +-29 +-66 +-97 +-107 +-86 +40 +95 +99 +67 +15 +-29 +-66 +-97 +-107 +-86 +40 +95 +100 +68 +16 +-28 +-65 +-97 +-106 +-85 +40 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-86 +40 +94 +99 +67 +15 +-29 +-66 +-97 +-107 +-86 +40 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-86 +40 +95 +99 +67 +15 +-29 +-65 +-97 +-107 +-86 +40 +95 +99 +67 +15 +-29 +-65 +-97 +-106 +-86 +40 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-86 +39 +94 +99 +67 +15 +-29 +-65 +-97 +-107 +-86 +39 +94 +98 +67 +15 +-29 +-66 +-97 +-106 +-86 +40 +95 +98 +67 +15 +-29 +-66 +-97 +-107 +-86 +40 +95 +99 +67 +16 +-29 +-65 +-97 +-106 +-86 +40 +94 +98 +67 +15 +-29 +-66 +-97 +-107 +-86 +39 +94 +99 +67 +16 +-29 +-66 +-97 +-106 +-87 +40 +95 +98 +67 +15 +-29 +-66 +-97 +-107 +-86 +39 +95 +99 +67 +15 +-29 +-66 +-97 +-106 +-86 +39 +95 +99 +67 +15 +-29 +-66 +-97 +-106 +-86 +40 +95 +99 +68 +16 +-28 +-65 +-97 +-106 +-85 +40 +96 +99 +68 +16 +-28 +-65 +-97 +-106 +-85 +41 +96 +100 +69 +17 +-28 +-65 +-96 +-106 +-85 +41 +96 +101 +69 +17 +-28 +-65 +-96 +-106 +-84 +41 +97 +101 +69 +17 +-28 +-65 +-96 +-106 +-84 +41 +96 +100 +69 +17 +-28 +-64 +-96 +-106 +-85 +41 +96 +100 +69 +17 +-28 +-65 +-96 +-106 +-85 +40 +95 +99 +67 +15 +-29 +-65 +-97 +-106 +-86 +39 +95 +98 +67 +15 +-29 +-66 +-97 +-106 +-86 +39 +94 +99 +40 +-7 +-48 +-81 +-108 +13 +75 +87 +30 +-16 +-55 +-87 +-112 +11 +74 +85 +29 +-17 +-56 +-88 +-113 +11 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-55 +-87 +-112 +13 +76 +87 +31 +-15 +-54 +-87 +-112 +13 +75 +87 +31 +-15 +-54 +-87 +-112 +13 +76 +87 +31 +-15 +-54 +-87 +-112 +13 +75 +87 +62 +11 +-33 +-68 +-100 +-108 +-88 +38 +94 +98 +67 +15 +-29 +-65 +-97 +-106 +-87 +39 +94 +98 +67 +15 +-29 +-66 +-97 +-107 +-88 +38 +94 +97 +66 +15 +-30 +-66 +-98 +-107 +-88 +37 +93 +97 +66 +14 +-30 +-66 +-98 +-107 +-89 +36 +92 +95 +64 +13 +-31 +-67 +-99 +-108 +-89 +36 +92 +95 +64 +13 +-31 +-67 +-99 +-100 +14 +80 +88 +33 +-14 +-53 +-87 +-112 +8 +73 +82 +28 +-19 +-56 +-90 +-97 +9 +74 +83 +29 +-18 +-40 +-89 +-97 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +13 +77 +86 +32 +-15 +-54 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +11 +77 +86 +32 +-16 +-54 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +31 +-16 +-38 +-88 +-112 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-111 +11 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +85 +31 +-16 +-38 +-87 +-111 +11 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +86 +32 +-16 +-54 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +76 +86 +31 +-16 +-38 +-87 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-111 +12 +77 +85 +31 +-16 +-38 +-88 +-111 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-111 +12 +77 +86 +32 +-16 +-54 +-87 +-111 +12 +77 +86 +32 +-16 +-54 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +85 +31 +-16 +-38 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +31 +-16 +-38 +-88 +-112 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +9 +75 +84 +30 +-17 +-39 +-88 +-112 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +84 +30 +-16 +-39 +-88 +-112 +10 +76 +84 +30 +-17 +-39 +-88 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +84 +30 +-16 +-39 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-98 +-92 +35 +92 +97 +68 +16 +-29 +-65 +-97 +-106 +-86 +40 +95 +99 +68 +17 +-28 +-65 +-96 +-106 +-86 +40 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +17 +-28 +-65 +-96 +-106 +-86 +40 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +17 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-87 +39 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +94 +99 +67 +16 +-29 +-65 +-97 +-106 +-87 +39 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-87 +39 +94 +98 +67 +15 +-29 +-65 +-97 +-106 +-87 +39 +95 +99 +68 +16 +-28 +-65 +-97 +-98 +17 +83 +91 +36 +-12 +-50 +-84 +-110 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +76 +86 +31 +-16 +-38 +-87 +-111 +11 +76 +86 +31 +-16 +-38 +-87 +-111 +11 +77 +86 +32 +-15 +-54 +-87 +-111 +11 +77 +86 +32 +-15 +-53 +-87 +-111 +11 +77 +86 +32 +-16 +-54 +-87 +-111 +11 +77 +86 +32 +-15 +-53 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +11 +76 +86 +31 +-16 +-38 +-87 +-111 +11 +76 +86 +31 +-16 +-38 +-87 +-111 +10 +75 +85 +31 +-16 +-38 +-87 +-111 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +84 +30 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-87 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +10 +76 +84 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +86 +31 +-16 +-38 +-87 +-111 +11 +77 +86 +31 +-16 +-38 +-87 +-98 +-92 +35 +91 +97 +67 +16 +-29 +-65 +-97 +-106 +-88 +38 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +100 +69 +17 +-28 +-64 +-96 +-105 +-87 +39 +95 +100 +68 +17 +-28 +-64 +-96 +-105 +-87 +39 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +17 +-28 +-65 +-96 +-105 +-87 +39 +94 +99 +41 +-6 +-47 +-81 +-108 +13 +75 +87 +31 +-15 +-54 +-86 +-112 +11 +74 +86 +30 +-15 +-55 +-87 +-112 +11 +74 +86 +30 +-15 +-55 +-87 +-113 +10 +74 +86 +30 +-15 +-55 +-87 +-112 +11 +74 +86 +30 +-16 +-55 +-87 +-112 +11 +74 +86 +30 +-15 +-55 +-87 +-112 +12 +75 +87 +30 +-15 +-55 +-87 +-99 +-92 +33 +93 +96 +69 +15 +-28 +-65 +-96 +-106 +-86 +38 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +96 +98 +69 +16 +-28 +-65 +-96 +-106 +-87 +38 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-86 +38 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-86 +38 +97 +98 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-87 +38 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +97 +99 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +97 +100 +71 +17 +-26 +-64 +-95 +-105 +-86 +38 +97 +99 +71 +17 +-27 +-64 +-95 +-105 +-85 +39 +97 +100 +72 +18 +-26 +-64 +-95 +-105 +-86 +38 +97 +100 +71 +17 +-26 +-64 +-95 +-105 +-86 +38 +97 +99 +70 +16 +-27 +-65 +-95 +-106 +-87 +38 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-87 +37 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-87 +37 +95 +97 +69 +15 +-28 +-65 +-96 +-106 +-87 +37 +95 +97 +69 +15 +-28 +-65 +-96 +-106 +-88 +37 +96 +98 +69 +16 +-28 +-65 +-96 +-106 +-88 +37 +95 +97 +69 +16 +-28 +-65 +-96 +-106 +-87 +37 +95 +98 +69 +16 +-28 +-65 +-96 +-106 +-87 +37 +95 +97 +69 +15 +-28 +-65 +-96 +-106 +-87 +37 +95 +98 +69 +15 +-28 +-65 +-96 +-106 +-87 +37 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-87 +37 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-87 +38 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-87 +37 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-87 +37 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-87 +37 +96 +98 +69 +15 +-28 +-65 +-96 +-106 +-87 +37 +96 +98 +69 +16 +-27 +-65 +-96 +-99 +16 +81 +93 +35 +-11 +-51 +-84 +-111 +10 +73 +86 +30 +-16 +-55 +-87 +-113 +10 +74 +86 +30 +-16 +-55 +-87 +-113 +10 +73 +86 +30 +-16 +-55 +-87 +-113 +9 +73 +86 +30 +-16 +-55 +-87 +-113 +10 +73 +85 +29 +-16 +-56 +-87 +-113 +11 +74 +87 +30 +-15 +-55 +-87 +-112 +11 +74 +87 +31 +-15 +-54 +-87 +-112 +11 +74 +87 +31 +-15 +-54 +-86 +-112 +12 +75 +88 +31 +-14 +-54 +-86 +-112 +12 +75 +88 +32 +-14 +-54 +-86 +-112 +12 +75 +88 +31 +-15 +-54 +-86 +-112 +11 +74 +88 +31 +-14 +-54 +-86 +-112 +12 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +87 +31 +-15 +-54 +-86 +-112 +11 +74 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +87 +31 +-15 +-54 +-87 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +87 +31 +-15 +-54 +-86 +-112 +10 +74 +87 +30 +-15 +-55 +-87 +-112 +11 +74 +87 +30 +-15 +-55 +-87 +-112 +11 +74 +87 +31 +-15 +-54 +-87 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +74 +87 +31 +-15 +-54 +-86 +-112 +12 +76 +89 +32 +-14 +-53 +-86 +-111 +12 +76 +88 +32 +-14 +-54 +-86 +-111 +12 +76 +89 +33 +-13 +-53 +-86 +-111 +12 +76 +90 +33 +-13 +-53 +-85 +-111 +12 +76 +88 +32 +-14 +-54 +-86 +-111 +12 +76 +89 +32 +-14 +-54 +-86 +-111 +12 +76 +88 +31 +-14 +-54 +-86 +-98 +-93 +33 +93 +97 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +69 +16 +-28 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-89 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-88 +37 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +97 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +97 +100 +72 +18 +-26 +-64 +-95 +-106 +-87 +37 +97 +99 +71 +17 +-27 +-65 +-95 +-106 +-87 +37 +96 +99 +71 +17 +-27 +-64 +-95 +-106 +-88 +37 +97 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-88 +36 +96 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +70 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +98 +71 +17 +-27 +-65 +-95 +-99 +16 +81 +93 +36 +-11 +-51 +-84 +-111 +10 +73 +86 +29 +-16 +-56 +-88 +-113 +10 +73 +86 +30 +-16 +-55 +-88 +-113 +10 +74 +87 +30 +-15 +-55 +-87 +-113 +10 +74 +87 +31 +-15 +-55 +-87 +-113 +10 +74 +87 +31 +-15 +-55 +-87 +-112 +11 +74 +87 +31 +-15 +-55 +-87 +-112 +10 +75 +88 +31 +-15 +-54 +-87 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +88 +31 +-15 +-54 +-86 +-112 +11 +76 +89 +32 +-14 +-54 +-86 +-112 +12 +76 +89 +32 +-14 +-54 +-86 +-112 +12 +77 +90 +33 +-13 +-53 +-85 +-111 +12 +77 +89 +33 +-13 +-53 +-86 +-111 +12 +76 +89 +33 +-14 +-53 +-86 +-111 +12 +76 +90 +33 +-13 +-53 +-86 +-112 +11 +75 +89 +32 +-14 +-54 +-86 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +10 +74 +88 +31 +-15 +-54 +-87 +-112 +10 +75 +87 +31 +-15 +-55 +-87 +-113 +10 +74 +87 +31 +-15 +-55 +-87 +-112 +10 +74 +88 +31 +-15 +-54 +-87 +-113 +10 +74 +87 +31 +-15 +-55 +-87 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +88 +32 +-14 +-54 +-86 +-112 +11 +76 +89 +33 +-13 +-53 +-86 +-112 +12 +76 +90 +33 +-13 +-53 +-86 +-112 +11 +76 +89 +32 +-14 +-54 +-86 +-112 +11 +75 +89 +32 +-14 +-54 +-86 +-112 +11 +75 +88 +31 +-15 +-54 +-87 +-112 +10 +74 +88 +31 +-15 +-54 +-87 +-113 +10 +73 +87 +30 +-15 +-55 +-87 +-113 +8 +73 +86 +29 +-16 +-55 +-88 +-114 +8 +72 +85 +29 +-17 +-56 +-88 +-98 +7 +71 +84 +28 +-17 +-57 +-89 +-98 +7 +71 +84 +28 +-17 +-56 +-88 +-98 +8 +72 +85 +29 +-17 +-56 +-88 +-114 +9 +73 +87 +30 +-16 +-55 +-87 +-113 +10 +74 +88 +31 +-15 +-54 +-87 +-112 +10 +75 +89 +64 +13 +-31 +-67 +-99 +-108 +-90 +37 +95 +101 +72 +19 +-26 +-63 +-95 +-105 +-87 +39 +96 +102 +72 +19 +-26 +-63 +-95 +-105 +-87 +39 +96 +102 +72 +19 +-26 +-63 +-95 +-105 +-88 +38 +96 +102 +71 +19 +-26 +-63 +-95 +-105 +-88 +38 +95 +101 +70 +18 +-27 +-64 +-96 +-105 +-89 +38 +95 +101 +70 +18 +-27 +-64 +-96 +-99 +14 +82 +91 +36 +-12 +-51 +-85 +-111 +8 +74 +85 +30 +-17 +-39 +-88 +-97 +7 +74 +85 +30 +-17 +-39 +-88 +-97 +8 +75 +86 +31 +-16 +-38 +-88 +-97 +8 +75 +86 +32 +-16 +-54 +-88 +-112 +9 +75 +86 +32 +-15 +-54 +-87 +-112 +10 +77 +88 +33 +-15 +-53 +-87 +-112 +10 +77 +88 +33 +-15 +-53 +-87 +-98 +-93 +35 +93 +100 +72 +19 +-26 +-63 +-95 +-105 +-87 +39 +96 +103 +72 +20 +-26 +-63 +-95 +-105 +-88 +38 +96 +102 +71 +19 +-26 +-63 +-95 +-105 +-89 +38 +95 +101 +71 +19 +-27 +-63 +-95 +-105 +-89 +38 +95 +101 +70 +18 +-27 +-64 +-96 +-105 +-89 +37 +95 +101 +70 +18 +-27 +-64 +-96 +-106 +-90 +37 +95 +101 +70 +18 +-27 +-64 +-96 +-106 +-89 +38 +96 +102 +71 +19 +-26 +-64 +-96 +-105 +-89 +38 +96 +102 +72 +20 +-26 +-63 +-95 +-105 +-88 +39 +96 +103 +72 +19 +-26 +-63 +-95 +-105 +-88 +39 +96 +102 +72 +20 +-26 +-63 +-95 +-105 +-88 +38 +96 +102 +72 +19 +-26 +-63 +-95 +-105 +-89 +38 +95 +101 +71 +19 +-27 +-64 +-96 +-99 +14 +82 +93 +37 +-11 +-50 +-85 +-111 +8 +74 +85 +31 +-17 +-39 +-88 +-97 +7 +74 +85 +31 +-16 +-39 +-88 +-97 +7 +74 +85 +31 +-16 +-39 +-88 +-97 +7 +74 +85 +31 +-16 +-39 +-88 +-97 +8 +75 +86 +31 +-16 +-38 +-88 +-97 +8 +76 +86 +32 +-15 +-54 +-88 +-97 +8 +75 +86 +32 +-16 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-87 +-112 +8 +75 +87 +32 +-15 +-54 +-88 +-97 +9 +76 +87 +32 +-15 +-54 +-87 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +75 +87 +32 +-15 +-54 +-88 +-97 +9 +76 +86 +32 +-15 +-54 +-88 +-112 +9 +76 +87 +32 +-15 +-54 +-87 +-112 +9 +76 +87 +33 +-15 +-54 +-87 +-112 +8 +75 +88 +33 +-15 +-53 +-87 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-112 +9 +76 +87 +32 +-15 +-54 +-87 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-112 +9 +77 +88 +33 +-15 +-53 +-87 +-112 +9 +76 +87 +32 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-53 +-87 +-112 +9 +77 +87 +33 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-54 +-87 +-112 +9 +76 +87 +33 +-15 +-54 +-87 +-112 +10 +77 +88 +33 +-15 +-53 +-87 +-112 +8 +75 +88 +33 +-15 +-53 +-87 +-112 +9 +76 +87 +33 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-53 +-87 +-112 +9 +76 +88 +33 +-15 +-53 +-87 +-112 +8 +76 +88 +33 +-15 +-54 +-87 +-97 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-88 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +87 +33 +-15 +-54 +-87 +-112 +9 +77 +88 +33 +-14 +-53 +-87 +-112 +9 +76 +88 +33 +-15 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +9 +77 +89 +34 +-14 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +10 +77 +88 +33 +-14 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +10 +78 +89 +34 +-14 +-53 +-87 +-112 +10 +78 +89 +34 +-14 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +9 +77 +89 +33 +-14 +-53 +-87 +-112 +9 +76 +88 +33 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-54 +-88 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +75 +88 +33 +-15 +-54 +-88 +-97 +9 +75 +87 +32 +-15 +-54 +-88 +-97 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +9 +76 +88 +33 +-15 +-54 +-88 +-97 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +9 +77 +88 +33 +-15 +-53 +-87 +-112 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +88 +33 +-15 +-53 +-87 +-97 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +9 +76 +88 +33 +-15 +-53 +-88 +-97 +8 +76 +88 +33 +-15 +-53 +-87 +-97 +9 +76 +88 +33 +-15 +-54 +-88 +-97 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +9 +76 +88 +33 +-15 +-53 +-87 +-97 +9 +77 +88 +33 +-15 +-54 +-88 +-97 +9 +77 +88 +33 +-15 +-54 +-88 +-99 +-95 +33 +93 +101 +72 +19 +-27 +-64 +-96 +-106 +-90 +38 +96 +103 +73 +20 +-26 +-63 +-95 +-105 +-90 +37 +96 +103 +73 +20 +-26 +-63 +-96 +-105 +-91 +37 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-27 +-64 +-96 +-106 +-90 +37 +95 +101 +72 +19 +-27 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +36 +95 +101 +71 +19 +-27 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-27 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +19 +-27 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-27 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-90 +37 +95 +103 +72 +19 +-26 +-64 +-96 +-106 +-91 +37 +96 +103 +72 +20 +-26 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +20 +-26 +-64 +-96 +-106 +-91 +37 +95 +102 +73 +20 +-26 +-63 +-96 +-106 +-91 +37 +96 +104 +73 +20 +-26 +-63 +-96 +-106 +-90 +37 +95 +103 +73 +20 +-26 +-63 +-96 +-106 +-90 +37 +96 +104 +74 +21 +-25 +-63 +-95 +-106 +-90 +37 +97 +104 +74 +21 +-26 +-63 +-95 +-105 +-90 +37 +96 +103 +73 +20 +-26 +-63 +-96 +-106 +-90 +37 +95 +103 +73 +20 +-26 +-63 +-96 +-106 +-91 +36 +95 +102 +43 +-5 +-47 +-81 +-109 +10 +75 +89 +32 +-14 +-54 +-87 +-98 +8 +73 +88 +31 +-15 +-55 +-88 +-98 +8 +74 +88 +31 +-15 +-55 +-88 +-98 +8 +74 +89 +31 +-15 +-55 +-88 +-98 +8 +74 +89 +31 +-15 +-55 +-88 +-98 +8 +74 +89 +32 +-15 +-55 +-88 +-98 +8 +74 +89 +32 +-15 +-55 +-88 +-98 +8 +74 +89 +32 +-15 +-55 +-87 +-114 +9 +74 +89 +32 +-14 +-55 +-87 +-114 +9 +75 +89 +32 +-14 +-54 +-87 +-114 +9 +75 +89 +32 +-15 +-55 +-88 +-114 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +90 +33 +-14 +-54 +-87 +-113 +9 +75 +90 +33 +-14 +-54 +-87 +-113 +9 +75 +90 +33 +-14 +-54 +-87 +-113 +9 +75 +90 +33 +-14 +-54 +-87 +-113 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +90 +33 +-14 +-54 +-87 +-114 +8 +75 +90 +33 +-14 +-54 +-87 +-114 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +8 +75 +90 +32 +-14 +-54 +-87 +-98 +8 +74 +89 +32 +-15 +-55 +-88 +-98 +9 +75 +90 +32 +-14 +-55 +-87 +-114 +8 +74 +90 +32 +-14 +-55 +-87 +-98 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +91 +33 +-14 +-54 +-87 +-113 +10 +76 +91 +33 +-13 +-54 +-87 +-113 +10 +77 +91 +33 +-13 +-54 +-87 +-113 +10 +76 +91 +34 +-13 +-54 +-87 +-113 +10 +76 +91 +68 +16 +-29 +-66 +-98 +-108 +-91 +37 +96 +104 +74 +21 +-25 +-63 +-96 +-106 +-90 +37 +96 +104 +74 +21 +-25 +-63 +-96 +-106 +-91 +36 +96 +103 +73 +20 +-26 +-64 +-96 +-106 +-92 +36 +96 +103 +73 +20 +-26 +-64 +-96 +-106 +-92 +36 +96 +103 +73 +20 +-26 +-64 +-96 +-106 +-91 +36 +95 +103 +73 +20 +-26 +-64 +-97 +-107 +-92 +36 +95 +103 +73 +20 +-27 +-64 +-97 +-107 +-92 +35 +95 +103 +72 +19 +-27 +-64 +-97 +-107 +-92 +36 +95 +103 +73 +20 +-26 +-64 +-97 +-107 +-92 +36 +96 +103 +74 +21 +-26 +-63 +-96 +-106 +-91 +37 +96 +104 +74 +21 +-25 +-63 +-96 +-106 +-90 +37 +96 +105 +75 +22 +-25 +-63 +-95 +-106 +-91 +37 +97 +105 +45 +-4 diff --git a/traces/ioprox-XSF-01-3B-44725.pm3 b/traces/ioprox-XSF-01-3B-44725.pm3 new file mode 100644 index 000000000..bf1cc9580 --- /dev/null +++ b/traces/ioprox-XSF-01-3B-44725.pm3 @@ -0,0 +1,40000 @@ +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +41 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +40 +10 +-16 +-36 +-55 +-69 +-80 +24 +55 +48 +41 +11 +-15 +-35 +-54 +-68 +-80 +24 +56 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +25 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +7 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +23 +56 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +23 +57 +48 +44 +12 +-13 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-58 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +14 +-10 +-33 +-50 +-59 +7 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +12 +-14 +-36 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +19 +-8 +-30 +-49 +-55 +11 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-8 +-30 +-49 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +45 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-38 +-54 +-70 +-80 +22 +55 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-66 +-78 +24 +56 +48 +43 +12 +-14 +-36 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-57 +9 +44 +48 +18 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-51 +-67 +-77 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-58 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +46 +14 +-12 +-34 +-52 +-60 +7 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +49 +44 +13 +-12 +-34 +-52 +-67 +-78 +24 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-9 +-30 +-50 +-57 +10 +45 +48 +18 +-9 +-31 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +42 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +16 +-11 +-33 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +43 +46 +15 +-12 +-32 +-51 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-51 +-67 +-78 +25 +58 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-9 +-30 +-49 +-56 +10 +45 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-32 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-66 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +25 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +38 +9 +-16 +-37 +-55 +-69 +-80 +23 +55 +48 +40 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +48 +41 +11 +-15 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +40 +8 +-16 +-37 +-54 +-70 +-80 +21 +54 +46 +42 +10 +-15 +-36 +-53 +-69 +-79 +24 +56 +48 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-14 +-35 +-53 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +9 +42 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-11 +-33 +-50 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +14 +-11 +-33 +-51 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +18 +-9 +-30 +-49 +-56 +12 +46 +50 +19 +-8 +-30 +-49 +-56 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-11 +-32 +-51 +-58 +9 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +47 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +11 +-14 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +51 +46 +14 +-12 +-34 +-51 +-67 +-77 +26 +58 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-9 +-30 +-50 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-33 +-52 +-59 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +23 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +19 +-8 +-30 +-49 +-55 +12 +47 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +23 +56 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +18 +-9 +-30 +-50 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-31 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-52 +-67 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-57 +11 +44 +48 +16 +-10 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +40 +11 +-15 +-36 +-54 +-68 +-80 +25 +56 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +25 +56 +49 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +11 +44 +50 +17 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-12 +-34 +-52 +-60 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +9 +-16 +-37 +-55 +-69 +-80 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-67 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +50 +18 +-8 +-31 +-49 +-56 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +46 +14 +-11 +-33 +-51 +-60 +7 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +14 +-11 +-33 +-50 +-59 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +7 +40 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-60 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +56 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-58 +10 +45 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-33 +-51 +-59 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +15 +-11 +-32 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-66 +-78 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-53 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +39 +10 +-16 +-37 +-55 +-69 +-80 +23 +54 +48 +40 +11 +-15 +-36 +-54 +-68 +-79 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +56 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-56 +11 +44 +49 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +10 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +55 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-53 +-67 +-79 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +6 +41 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +43 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-38 +-54 +-70 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-52 +-68 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-59 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-67 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +19 +-8 +-30 +-49 +-56 +10 +46 +49 +18 +-9 +-30 +-50 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +24 +56 +49 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +52 +18 +-8 +-30 +-48 +-56 +12 +46 +51 +18 +-8 +-30 +-49 +-57 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +39 +9 +-16 +-37 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-33 +-52 +-58 +8 +44 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +52 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +45 +48 +18 +-9 +-31 +-50 +-57 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +41 +11 +-15 +-35 +-54 +-68 +-80 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +18 +-7 +-30 +-48 +-56 +12 +46 +50 +17 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +46 +14 +-11 +-33 +-51 +-60 +7 +42 +47 +15 +-11 +-33 +-51 +-59 +7 +42 +48 +39 +10 +-16 +-37 +-55 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-58 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +11 +44 +50 +16 +-9 +-32 +-50 +-57 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +39 +10 +-16 +-37 +-55 +-69 +-80 +23 +54 +48 +42 +11 +-15 +-35 +-54 +-68 +-79 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-68 +-79 +25 +57 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-33 +-51 +-58 +7 +41 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +15 +-11 +-32 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-54 +-68 +-79 +25 +56 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +58 +50 +44 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +45 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-13 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +47 +16 +-11 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-32 +-51 +-59 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +15 +-11 +-33 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-38 +-55 +-70 +-80 +22 +56 +48 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-59 +8 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +14 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +56 +48 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +51 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +18 +-8 +-30 +-49 +-55 +12 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +45 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +46 +16 +-11 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-53 +-67 +-79 +26 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +47 +40 +11 +-15 +-36 +-54 +-68 +-80 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-56 +11 +44 +50 +17 +-9 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +39 +9 +-16 +-37 +-55 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +49 +43 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-58 +8 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-58 +8 +44 +48 +17 +-10 +-32 +-50 +-58 +7 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +9 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +7 +42 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +44 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +55 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-59 +10 +43 +48 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-66 +-77 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-12 +-34 +-51 +-67 +-78 +24 +57 +48 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +58 +49 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +48 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-58 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-66 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +60 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-59 +10 +43 +49 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +40 +46 +14 +-11 +-34 +-51 +-60 +7 +40 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-10 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +46 +14 +-11 +-33 +-51 +-60 +6 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +7 +42 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-60 +7 +41 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-67 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +43 +12 +-13 +-35 +-53 +-68 +-78 +26 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-10 +-32 +-50 +-58 +7 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +15 +-11 +-32 +-51 +-58 +6 +42 +46 +15 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +41 +45 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-32 +-51 +-59 +6 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +15 +-12 +-33 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +40 +8 +-16 +-38 +-54 +-70 +-80 +23 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +59 +49 +44 +12 +-13 +-34 +-52 +-59 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-59 +9 +43 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +14 +-11 +-33 +-51 +-60 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +58 +48 +43 +12 +-14 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +24 +59 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +18 +-8 +-30 +-50 +-55 +12 +47 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +6 +41 +46 +15 +-11 +-33 +-51 +-59 +6 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-32 +-52 +-59 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +58 +50 +44 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-9 +-31 +-50 +-58 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +42 +11 +-15 +-35 +-54 +-68 +-79 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +40 +8 +-16 +-37 +-54 +-70 +-80 +22 +56 +47 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +49 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-59 +10 +43 +48 +16 +-10 +-33 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-77 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-9 +-30 +-49 +-55 +11 +46 +49 +18 +-9 +-30 +-50 +-57 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +8 +-16 +-38 +-54 +-70 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +50 +18 +-9 +-30 +-50 +-56 +10 +45 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-37 +-54 +-70 +-80 +23 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-67 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +18 +-9 +-30 +-49 +-56 +12 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +41 +46 +40 +8 +-16 +-38 +-55 +-70 +-80 +22 +55 +47 +41 +10 +-15 +-36 +-54 +-69 +-80 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +56 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +13 +-13 +-34 +-52 +-68 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-56 +12 +46 +50 +18 +-9 +-31 +-50 +-57 +10 +45 +48 +17 +-10 +-31 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-12 +-32 +-52 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-12 +-32 +-51 +-59 +7 +41 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +39 +8 +-16 +-38 +-55 +-70 +-80 +22 +55 +46 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-51 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +18 +-9 +-30 +-49 +-56 +11 +46 +50 +19 +-8 +-30 +-49 +-56 +10 +45 +48 +18 +-9 +-31 +-50 +-57 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +6 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-30 +-48 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +10 +44 +48 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +38 +9 +-17 +-37 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-79 +25 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +55 +46 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +58 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-60 +7 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +7 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +11 +-14 +-35 +-53 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +49 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +12 +-12 +-34 +-52 +-59 +8 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-66 +-78 +24 +57 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-51 +-67 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +9 +44 +48 +16 +-10 +-32 +-51 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +23 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +56 +48 +43 +11 +-14 +-35 +-53 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +24 +58 +50 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +19 +-8 +-30 +-49 +-56 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +23 +56 +47 +43 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +48 +18 +-9 +-31 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-38 +-54 +-70 +-80 +22 +56 +47 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-56 +12 +46 +50 +18 +-9 +-30 +-49 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +47 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +17 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-56 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +39 +10 +-16 +-36 +-54 +-69 +-80 +24 +54 +48 +41 +11 +-15 +-35 +-54 +-68 +-80 +24 +56 +50 +42 +12 +-14 +-35 +-54 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-79 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-30 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +24 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +46 +50 +18 +-8 +-31 +-49 +-56 +11 +44 +49 +16 +-9 +-32 +-50 +-57 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +7 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +38 +9 +-16 +-37 +-55 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +24 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-30 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +14 +-11 +-33 +-51 +-58 +9 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +41 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +15 +-10 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +47 +14 +-11 +-33 +-51 +-60 +7 +42 +47 +14 +-11 +-33 +-51 +-60 +7 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-60 +7 +42 +48 +39 +10 +-16 +-36 +-54 +-68 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-67 +-79 +26 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +58 +50 +43 +12 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-67 +-79 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-30 +-49 +-57 +10 +44 +49 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +55 +48 +41 +11 +-14 +-35 +-54 +-68 +-80 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-67 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +14 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-38 +-55 +-70 +-80 +22 +55 +47 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-67 +-77 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +43 +12 +-14 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +18 +-9 +-30 +-50 +-56 +11 +46 +50 +18 +-9 +-30 +-50 +-57 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +52 +18 +-8 +-30 +-48 +-56 +11 +44 +50 +17 +-8 +-31 +-49 +-57 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-79 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-67 +-79 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-30 +-48 +-56 +12 +46 +50 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-67 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +18 +-8 +-30 +-48 +-55 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-57 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +15 +-12 +-33 +-52 +-59 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +24 +56 +49 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +12 +-14 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-32 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-32 +-52 +-59 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +55 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +42 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +7 +40 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-66 +-78 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +44 +48 +18 +-10 +-31 +-50 +-57 +10 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +42 +12 +-14 +-34 +-53 +-68 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +17 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +17 +-9 +-31 +-50 +-57 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-11 +-33 +-51 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-37 +-55 +-69 +-80 +23 +55 +48 +40 +11 +-16 +-36 +-54 +-68 +-80 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-30 +-48 +-57 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +14 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +40 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +48 +42 +11 +-15 +-35 +-54 +-68 +-79 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-58 +9 +44 +48 +18 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +47 +16 +-10 +-32 +-50 +-58 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-66 +-78 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +12 +-14 +-34 +-53 +-68 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-31 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-33 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +43 +13 +-13 +-34 +-52 +-67 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-52 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +23 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +44 +48 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-66 +-77 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-67 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-66 +-77 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-59 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-59 +7 +40 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +7 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-11 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-60 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +7 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-11 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +47 +15 +-10 +-33 +-51 +-59 +7 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +47 +15 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-67 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +59 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +49 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +6 +41 +45 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +6 +41 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-59 +6 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +39 +8 +-16 +-38 +-54 +-70 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-54 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +43 +11 +-14 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-53 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-66 +-78 +24 +56 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-59 +8 +42 +46 +16 +-12 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-59 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-33 +-51 +-59 +7 +43 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +43 +13 +-13 +-34 +-53 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-57 +11 +44 +50 +17 +-8 +-31 +-49 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +14 +-10 +-33 +-51 +-59 +9 +42 +48 +39 +9 +-17 +-37 +-55 +-69 +-80 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-67 +-79 +26 +57 +50 +43 +12 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-58 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +39 +8 +-16 +-38 +-54 +-70 +-80 +23 +56 +48 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +57 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-51 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +23 +57 +48 +43 +11 +-14 +-35 +-52 +-68 +-78 +23 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-37 +-54 +-70 +-80 +23 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +59 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +11 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +46 +49 +18 +-9 +-31 +-50 +-57 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +48 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-14 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +23 +56 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +18 +-9 +-30 +-50 +-55 +12 +46 +50 +19 +-9 +-30 +-49 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +46 +14 +-11 +-34 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +15 +-10 +-33 +-51 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-66 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +19 +-8 +-30 +-49 +-55 +11 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +44 +48 +17 +-10 +-31 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-33 +-51 +-59 +6 +41 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +15 +-11 +-32 +-52 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +15 +-11 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +41 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +44 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +55 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +18 +-9 +-30 +-50 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-66 +-78 +25 +56 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-58 +10 +43 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +14 +-11 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +40 +10 +-16 +-36 +-54 +-69 +-80 +22 +54 +48 +42 +12 +-14 +-35 +-54 +-68 +-79 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-59 +8 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +47 +40 +9 +-16 +-37 +-54 +-70 +-80 +23 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +57 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-53 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +48 +14 +-10 +-33 +-51 +-59 +8 +40 +46 +14 +-11 +-34 +-52 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-50 +-66 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +56 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-9 +-30 +-50 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +43 +47 +16 +-10 +-32 +-51 +-58 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +56 +47 +42 +10 +-14 +-36 +-53 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +57 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +18 +-8 +-30 +-49 +-56 +11 +46 +49 +18 +-9 +-30 +-50 +-56 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +55 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +44 +12 +-12 +-35 +-52 +-67 +-78 +25 +58 +48 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +51 +19 +-8 +-30 +-49 +-55 +12 +47 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +57 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +18 +-9 +-30 +-50 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +45 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +25 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +51 +18 +-8 +-31 +-49 +-57 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +25 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +55 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +55 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +16 +-9 +-31 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +47 +15 +-10 +-33 +-50 +-59 +7 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +41 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +38 +9 +-17 +-37 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +49 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +51 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +18 +-8 +-31 +-49 +-57 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-60 +6 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +40 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +39 +10 +-16 +-37 +-55 +-69 +-80 +24 +55 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-58 +10 +45 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +15 +-11 +-32 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 From 9ec1416ad2e267c747af956701752763f5902f14 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 31 Dec 2014 14:43:49 -0500 Subject: [PATCH 039/133] added data rtrim command enter location to trim all samples after --- client/cmddata.c | 12 +++++++++++- client/cmddata.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/client/cmddata.c b/client/cmddata.c index f10d7b536..bb9407d7b 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -952,6 +952,15 @@ int CmdLtrim(const char *Cmd) RepaintGraphWindow(); return 0; } +int CmdRtrim(const char *Cmd) +{ + int ds = atoi(Cmd); + + GraphTraceLen = ds; + + RepaintGraphWindow(); + return 0; +} /* * Manchester demodulate a bitstream. The bitstream needs to be already in @@ -1342,13 +1351,14 @@ static command_t CommandTable[] = {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, - {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] Demodulate graph window from FSK to binary (clock = 64 or 50)(invert = 1 or 0)"}, + {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to binary (clock = 50)(invert = 1 or 0)(rchigh = 10)(rclow=8)"}, {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, {"hide", CmdHide, 1, "Hide graph window"}, {"hpf", CmdHpf, 1, "Remove DC offset from trace"}, {"load", CmdLoad, 1, " -- Load trace (to graph window"}, {"ltrim", CmdLtrim, 1, " -- Trim samples from left of trace"}, + {"rtrim", CmdRtrim, 1, " -- Trim samples from right of trace"}, {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, {"manrawdecode", Cmdmandecoderaw, 1, "Manchester decode binary stream already in graph buffer"}, {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, diff --git a/client/cmddata.h b/client/cmddata.h index 6c1bd9ea6..999e6438c 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -36,6 +36,7 @@ int CmdHide(const char *Cmd); int CmdHpf(const char *Cmd); int CmdLoad(const char *Cmd); int CmdLtrim(const char *Cmd); +int CmdRtrim(const char *Cmd); int Cmdmandecoderaw(const char *Cmd); int CmdManchesterDemod(const char *Cmd); int CmdManchesterMod(const char *Cmd); From ac914e56dba0fc9d164bed802b61055b90c7506e Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 31 Dec 2014 14:55:58 -0500 Subject: [PATCH 040/133] minor adjustment to askmandemod for lf search returns false if it finds data but not an EM410x format. --- client/cmddata.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/cmddata.c b/client/cmddata.c index bb9407d7b..d8a0fcf6b 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -234,8 +234,9 @@ int Cmdaskmandemod(const char *Cmd) setGraphBuf(BitStream,BitLen); PrintAndLog("EM410x pattern found: "); printEM410x(lo); + return 1; } - if (BitLen>16) return 1; + //if (BitLen>16) return 1; return 0; } From e33b652c535be95344724728a0b9dd1f3cf87587 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 31 Dec 2014 15:16:02 -0500 Subject: [PATCH 041/133] problems creating pull request with the new traces will add these traces later --- traces/Casi-12ed825c29.pm3 | 16000 ----------- traces/EM4102-Fob.pm3 | 40000 ---------------------------- traces/indala-504278295.pm3 | 20000 -------------- traces/ioProx-XSF-01-BE-03011.pm3 | 16000 ----------- traces/ioprox-XSF-01-3B-44725.pm3 | 40000 ---------------------------- 5 files changed, 132000 deletions(-) delete mode 100644 traces/Casi-12ed825c29.pm3 delete mode 100644 traces/EM4102-Fob.pm3 delete mode 100644 traces/indala-504278295.pm3 delete mode 100644 traces/ioProx-XSF-01-BE-03011.pm3 delete mode 100644 traces/ioprox-XSF-01-3B-44725.pm3 diff --git a/traces/Casi-12ed825c29.pm3 b/traces/Casi-12ed825c29.pm3 deleted file mode 100644 index d49c13a2e..000000000 --- a/traces/Casi-12ed825c29.pm3 +++ /dev/null @@ -1,16000 +0,0 @@ -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -115 -104 -62 -24 --7 --34 --55 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -112 -111 -104 -99 -89 -83 -76 -71 -65 -61 -55 -19 --13 --38 --61 --78 --94 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -95 -94 -89 -84 -76 -71 -64 -61 -55 -52 -47 -44 -40 -37 -33 -31 -28 -27 -23 -22 -19 -18 -16 -15 -13 -13 -10 --20 --46 --66 --85 --99 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 -5 -127 -127 -127 -114 -80 -78 -74 -70 -63 -59 -53 -50 -45 -42 -38 -4 --25 --49 --70 --86 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -103 -60 -22 --8 --35 --56 --75 --90 --103 --97 --107 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -111 -110 -104 -97 -88 -83 -75 -70 -64 -60 -54 -52 -45 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 --18 --44 --65 --84 --98 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -99 -93 -85 -79 -72 -68 -62 -59 -52 -49 -45 -42 -38 -36 -32 -29 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -120 -85 -84 -79 -75 -68 -63 -57 -53 -48 -46 -41 -7 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -125 -90 -88 -84 -79 -71 -67 -60 -57 -51 -48 -43 -9 --21 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -90 -90 -85 -80 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -83 -77 -72 -65 -61 -56 -52 -47 -45 -40 -37 -34 -31 -28 --5 --33 --55 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -14 -127 -127 -127 -121 -86 -85 -80 -76 -68 -64 -58 -55 -49 -46 -42 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -91 -90 -85 -80 -72 -67 -61 -58 -52 -49 -44 -10 --21 --45 --67 --83 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -97 -88 -83 -76 -71 -65 -60 -55 -52 -46 -44 -39 -37 -33 -31 -27 --5 --33 --56 --76 --91 --106 --100 --111 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -121 -85 -84 -79 -75 -68 -63 -57 -54 -48 -46 -41 -7 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -125 -90 -89 -84 -79 -71 -67 -60 -56 -51 -48 -43 -9 --22 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -61 -23 --8 --34 --56 --74 --89 --103 --97 --107 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -112 -110 -104 -99 -89 -83 -76 -71 -65 -61 -55 -19 --13 --38 --61 --78 --94 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -95 -94 -89 -84 -75 -70 -64 -60 -55 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -56 -19 --11 --37 --58 --77 --91 --104 --98 --108 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -109 -108 -102 -96 -87 -82 -74 -70 -63 -60 -54 -51 -45 -43 -38 -37 -32 -31 -27 -26 -23 -22 -19 -18 -15 -15 -12 --18 --44 --65 --84 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -82 -74 -70 -63 -59 -53 -51 -46 -44 -39 -37 -33 -31 -28 --5 --33 --55 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -73 -69 -63 -59 -53 -50 -45 -42 -38 -35 -32 -30 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -94 -87 -81 -74 -70 -63 -60 -54 -50 -45 -43 -38 -36 -32 -30 -27 --5 --33 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -70 -63 -59 -54 -50 -45 -42 -38 -36 -32 -30 -27 --5 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -120 -85 -85 -80 -75 -68 -63 -57 -54 -48 -46 -41 -7 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -61 -23 --7 --34 --56 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -46 -127 -127 -127 -127 -112 -110 -104 -98 -89 -83 -75 -71 -64 -61 -55 -19 --13 --38 --61 --79 --94 --106 --102 --110 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -95 -93 -88 -83 -75 -70 -63 -60 -54 -51 -45 -11 --20 --44 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -62 -58 -53 -50 -45 -10 --21 --45 --66 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -21 -127 -127 -127 -127 -92 -91 -86 -81 -72 -68 -62 -58 -53 -50 -45 -42 -37 -36 -31 -30 -27 -25 -22 -22 -19 -18 -15 -15 -13 -12 -10 --20 --46 --67 --85 --99 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -79 -72 -68 -62 -58 -52 -49 -44 -42 -38 -35 -32 -30 -27 --5 --33 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -14 -127 -127 -127 -121 -86 -85 -80 -75 -68 -63 -57 -54 -49 -46 -41 -7 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -101 -59 -21 --9 --35 --56 --75 --90 --103 --97 --107 --128 --128 --128 --128 --128 --128 -42 -127 -127 -127 -127 -110 -108 -102 -97 -88 -81 -74 -70 -64 -60 -54 -51 -46 -43 -39 -37 -33 -31 -28 -27 -23 -23 -20 -19 -16 -16 -13 --17 --44 --65 --83 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -85 -80 -72 -69 -62 -58 -53 -50 -45 -42 -37 -35 -31 -29 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -59 -21 --9 --35 --57 --75 --90 --103 --98 --107 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -111 -109 -104 -97 -88 -83 -75 -70 -64 -60 -54 -18 --13 --39 --61 --79 --94 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -22 -127 -127 -127 -127 -95 -93 -88 -83 -75 -70 -64 -59 -54 -51 -46 -11 --20 --44 --65 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -22 -127 -127 -127 -127 -92 -91 -86 -82 -73 -68 -62 -59 -53 -50 -45 -42 -37 -36 -32 -30 -27 -26 -23 -21 -19 -18 -15 -15 -13 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 -3 -127 -127 -127 -115 -80 -79 -74 -70 -63 -59 -52 -50 -45 -42 -37 -3 --26 --49 --70 --87 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 -16 -127 -127 -127 -124 -88 -87 -83 -78 -70 -65 -59 -56 -51 -47 -43 -8 --22 --46 --67 --84 --99 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -126 -91 -90 -85 -80 -72 -67 -61 -58 -52 -49 -44 -10 --21 --45 --66 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -126 -91 -89 -84 -79 -72 -67 -60 -57 -51 -48 -43 -9 --22 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -91 -90 -85 -80 -71 -67 -61 -57 -52 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -21 -127 -127 -127 -127 -92 -91 -85 -81 -73 -68 -62 -59 -52 -49 -45 -10 --20 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -85 -81 -72 -68 -61 -58 -52 -49 -44 -10 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -90 -90 -84 -79 -72 -67 -61 -57 -51 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -114 -104 -61 -23 --7 --34 --56 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -112 -110 -104 -98 -89 -83 -76 -71 -65 -61 -55 -19 --13 --38 --61 --78 --94 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -95 -94 -89 -84 -75 -70 -64 -61 -55 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -12 -12 -10 --19 --46 --66 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 -7 -127 -127 -127 -115 -80 -79 -75 -70 -63 -59 -53 -51 -45 -42 -38 -5 --25 --49 --70 --86 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -111 -102 -60 -22 --8 --35 --56 --75 --90 --103 --97 --107 --128 --128 --128 --128 --128 --128 -42 -127 -127 -127 -127 -110 -109 -103 -97 -88 -82 -75 -70 -63 -60 -54 -51 -46 -43 -39 -37 -33 -30 -28 -26 -23 -22 -19 -18 -16 -15 -12 --18 --44 --65 --84 --98 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -99 -93 -85 -79 -72 -69 -62 -59 -53 -49 -44 -42 -38 -35 -31 -30 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -121 -86 -85 -79 -75 -68 -63 -57 -54 -48 -46 -41 -7 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -125 -90 -89 -84 -79 -72 -67 -60 -57 -52 -48 -44 -9 --21 --45 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -91 -89 -84 -80 -72 -67 -61 -57 -51 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -47 -44 -40 -37 -33 -31 -28 --5 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -121 -86 -85 -80 -76 -68 -63 -57 -54 -49 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -125 -90 -89 -84 -79 -72 -67 -60 -56 -52 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -98 -89 -84 -77 -72 -65 -61 -55 -52 -47 -44 -40 -37 -33 -31 -28 --5 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -121 -85 -84 -79 -75 -67 -63 -56 -54 -48 -45 -41 -6 --24 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -125 -90 -89 -84 -79 -71 -66 -60 -56 -51 -48 -43 -9 --22 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -111 -109 -104 -97 -88 -82 -75 -70 -64 -60 -54 -18 --13 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -94 -93 -88 -83 -75 -70 -63 -60 -54 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 -13 -10 --19 --45 --66 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -57 -19 --10 --37 --58 --76 --91 --104 --98 --107 --128 --128 --128 --128 --128 --128 -42 -127 -127 -127 -127 -109 -108 -102 -96 -87 -81 -74 -69 -63 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -25 -22 -21 -19 -17 -15 -14 -12 --18 --44 --65 --84 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -93 -85 -80 -72 -68 -62 -59 -53 -50 -45 -43 -38 -36 -33 -31 -27 --5 --33 --56 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -112 -102 -96 -88 -82 -75 -70 -63 -60 -54 -51 -45 -43 -38 -36 -32 -30 -27 --5 --33 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -73 -69 -63 -59 -53 -50 -45 -43 -38 -36 -32 -31 -27 --5 --33 --56 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -94 -86 -81 -74 -69 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 --5 --34 --56 --76 --92 --106 --101 --110 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -120 -85 -84 -79 -74 -67 -62 -56 -53 -48 -46 -41 -6 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -114 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -111 -110 -104 -98 -89 -83 -75 -71 -65 -61 -54 -19 --13 --38 --61 --78 --94 --106 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -95 -93 -88 -83 -75 -70 -63 -60 -54 -51 -45 -11 --20 --44 --66 --82 --98 --110 --104 --112 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -85 -81 -72 -67 -61 -58 -52 -49 -45 -10 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -90 -85 -81 -72 -67 -61 -58 -52 -50 -44 -42 -38 -35 -32 -30 -26 -25 -22 -21 -18 -17 -15 -14 -12 -12 -10 --20 --46 --67 --85 --99 --113 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -100 -93 -84 -80 -73 -69 -62 -58 -52 -49 -45 -42 -37 -35 -31 -30 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -120 -85 -84 -79 -75 -68 -63 -57 -54 -49 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -103 -61 -23 --8 --34 --56 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -109 -108 -102 -96 -86 -81 -73 -69 -62 -59 -52 -49 -44 -42 -37 -35 -31 -29 -25 -24 -22 -20 -17 -16 -14 -13 -11 --19 --45 --66 --84 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -80 -74 -69 -62 -59 -53 -51 -45 -43 -38 -36 -32 -31 -27 --5 --33 --56 --76 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -101 -59 -21 --9 --35 --57 --75 --90 --103 --97 --107 --128 --128 --128 --128 --128 --128 -42 -127 -127 -127 -127 -111 -109 -103 -97 -88 -83 -75 -71 -64 -61 -54 -18 --13 --38 --61 --79 --94 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -95 -94 -89 -84 -76 -70 -64 -60 -55 -51 -45 -11 --19 --44 --66 --83 --98 --110 --104 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -61 -57 -53 -50 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -18 -17 -15 -14 -12 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 -5 -127 -127 -127 -115 -80 -79 -75 -71 -63 -59 -53 -50 -45 -43 -38 -4 --25 --49 --70 --86 --101 --112 --107 --128 --128 --128 --128 --128 --128 --128 --128 -16 -127 -127 -127 -125 -89 -88 -83 -78 -71 -66 -59 -56 -51 -47 -42 -8 --22 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -16 -127 -127 -127 -125 -90 -89 -84 -79 -72 -67 -60 -57 -52 -48 -43 -9 --22 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -91 -85 -81 -72 -67 -61 -58 -52 -49 -44 -10 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -90 -89 -84 -79 -72 -66 -60 -57 -51 -49 -44 -9 --21 --45 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -126 -91 -90 -85 -80 -72 -67 -61 -57 -52 -49 -44 -10 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -90 -85 -81 -72 -67 -61 -58 -52 -49 -44 -10 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -126 -91 -90 -85 -80 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -114 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -111 -109 -104 -98 -88 -83 -75 -71 -64 -61 -55 -19 --13 --38 --61 --78 --94 --106 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -95 -93 -88 -83 -75 -70 -64 -60 -54 -51 -46 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 -13 -10 --19 --45 --66 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 -5 -127 -127 -127 -115 -79 -79 -74 -70 -63 -59 -53 -50 -45 -43 -38 -5 --25 --49 --70 --86 --101 --112 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -103 -61 -23 --7 --34 --55 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -111 -109 -103 -97 -88 -82 -75 -70 -64 -60 -54 -51 -45 -43 -39 -37 -32 -30 -27 -26 -23 -21 -19 -18 -15 -14 -12 --18 --44 --65 --84 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -108 -99 -93 -85 -80 -72 -68 -61 -58 -53 -50 -45 -42 -37 -35 -31 -29 -26 --5 --34 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -120 -85 -84 -79 -75 -67 -63 -56 -53 -48 -45 -40 -6 --24 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -125 -90 -89 -84 -79 -71 -67 -61 -57 -52 -48 -43 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -91 -89 -85 -80 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -83 -76 -72 -64 -61 -55 -52 -47 -44 -39 -37 -33 -31 -28 --5 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -121 -86 -85 -80 -75 -68 -63 -57 -54 -49 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -125 -90 -89 -84 -79 -72 -67 -61 -57 -52 -49 -44 -10 --21 --45 --67 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -52 -47 -44 -40 -38 -33 -32 -29 --4 --32 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -121 -86 -85 -80 -75 -68 -63 -57 -54 -48 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -125 -90 -88 -83 -79 -71 -66 -60 -56 -51 -48 -43 -9 --21 --46 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -111 -110 -103 -97 -88 -82 -75 -71 -64 -60 -54 -18 --13 --38 --61 --78 --94 --106 --102 --110 --128 --128 --128 --128 --128 --128 --128 -22 -127 -127 -127 -127 -94 -93 -88 -83 -75 -70 -63 -59 -54 -51 -45 -43 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 --20 --46 --67 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -109 -99 -57 -20 --10 --36 --57 --76 --91 --104 --98 --107 --128 --128 --128 --128 --128 --128 -42 -127 -127 -127 -127 -109 -108 -102 -96 -88 -82 -74 -70 -63 -59 -54 -51 -45 -43 -38 -36 -32 -30 -27 -26 -22 -21 -19 -17 -15 -15 -12 --18 --44 --65 --84 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -109 -99 -93 -85 -80 -72 -68 -62 -58 -53 -50 -45 -42 -37 -35 -31 -29 -26 --6 --34 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -112 -102 -96 -88 -83 -75 -71 -65 -61 -55 -52 -47 -44 -40 -37 -34 -31 -29 --4 --32 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -101 -94 -86 -81 -73 -69 -62 -59 -53 -50 -45 -42 -38 -35 -31 -30 -26 --6 --34 --56 --76 --92 --106 --101 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -38 -36 -32 -30 -26 --6 --34 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -10 -127 -127 -127 -120 -85 -84 -79 -74 -67 -62 -56 -54 -48 -45 -40 -6 --24 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -103 -61 -22 --8 --34 --55 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -112 -110 -104 -98 -89 -83 -75 -71 -65 -61 -55 -19 --13 --38 --60 --78 --94 --106 --101 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -95 -94 -89 -84 -76 -71 -64 -60 -55 -51 -46 -11 --19 --44 --65 --82 --98 --109 --104 --112 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -61 -58 -52 -49 -45 -10 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -126 -91 -90 -84 -80 -72 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -18 -17 -14 -14 -12 -11 -10 --20 --46 --67 --85 --99 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -100 -93 -85 -80 -73 -68 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 --5 --33 --56 --76 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -121 -85 -84 -80 -75 -67 -63 -57 -54 -48 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -114 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -46 -127 -127 -127 -127 -112 -110 -104 -98 -88 -83 -75 -71 -63 -60 -54 -51 -46 -43 -38 -36 -32 -30 -27 -26 -22 -21 -18 -17 -14 -14 -12 --18 --44 --65 --84 --98 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -83 -79 -72 -67 -61 -57 -52 -49 -44 -42 -37 -35 -32 -30 -27 --5 --33 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -60 -22 --8 --35 --56 --75 --90 --103 --97 --106 --128 --128 --128 --128 --128 --128 -42 -127 -127 -127 -127 -110 -109 -103 -97 -87 -82 -74 -69 -64 -60 -54 -18 --13 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -21 -127 -127 -127 -127 -95 -93 -88 -84 -76 -70 -63 -60 -55 -51 -46 -11 --19 --44 --65 --82 --98 --109 --104 --112 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -62 -58 -53 -49 -45 -42 -37 -35 -32 -30 -27 -25 -22 -21 -18 -17 -15 -14 -12 -11 -10 --20 --46 --67 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 -4 -127 -127 -127 -115 -80 -79 -74 -70 -63 -59 -52 -49 -45 -43 -38 -4 --26 --49 --70 --86 --101 --112 --107 --128 --128 --128 --128 --128 --128 --128 --128 -16 -127 -127 -127 -125 -90 -88 -84 -79 -71 -67 -60 -57 -51 -49 -44 -9 --21 --45 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -91 -90 -85 -80 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -125 -90 -89 -84 -79 -72 -67 -60 -57 -52 -49 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -127 -91 -90 -85 -80 -72 -68 -61 -57 -52 -49 -45 -10 --20 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -126 -90 -90 -84 -80 -71 -66 -61 -57 -51 -49 -43 -9 --22 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -126 -90 -89 -84 -79 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -91 -85 -81 -73 -68 -62 -58 -52 -50 -45 -10 --20 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -111 -109 -103 -97 -88 -83 -75 -71 -64 -60 -54 -18 --14 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -22 -127 -127 -127 -127 -94 -93 -88 -83 -75 -70 -63 -60 -54 -51 -45 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 --20 --46 --66 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 -3 -127 -127 -127 -115 -80 -79 -74 -70 -63 -59 -53 -51 -45 -43 -38 -4 --25 --49 --70 --86 --101 --112 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -112 -110 -104 -99 -89 -83 -75 -71 -65 -61 -55 -51 -47 -44 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 --17 --44 --65 --83 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -84 -79 -72 -68 -62 -58 -52 -50 -44 -42 -37 -35 -31 -29 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -120 -85 -84 -80 -75 -67 -63 -56 -53 -48 -46 -40 -6 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -125 -90 -89 -84 -79 -71 -67 -60 -57 -51 -48 -43 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -91 -90 -84 -80 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --66 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -71 -65 -61 -55 -51 -47 -44 -40 -37 -33 -31 -27 --5 --33 --56 --76 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -121 -86 -85 -80 -75 -68 -63 -56 -54 -49 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -126 -90 -89 -84 -79 -71 -67 -60 -57 -51 -49 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -52 -47 -44 -39 -37 -34 -32 -28 --4 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -121 -86 -85 -81 -76 -68 -63 -58 -55 -50 -47 -42 -8 --22 --46 --68 --84 --99 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -126 -90 -89 -84 -79 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -103 -61 -22 --8 --34 --56 --75 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -111 -110 -104 -98 -89 -83 -75 -71 -64 -60 -54 -19 --13 --38 --61 --78 --94 --106 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -95 -93 -88 -83 -75 -70 -63 -60 -54 -51 -46 -43 -38 -36 -32 -31 -27 -26 -23 -21 -19 -18 -15 -15 -13 -12 -10 --20 --46 --67 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -57 -19 --10 --37 --58 --76 --91 --104 --98 --107 --128 --128 --128 --128 --128 --128 -41 -127 -127 -127 -127 -110 -109 -102 -97 -88 -82 -75 -70 -63 -60 -54 -51 -45 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -15 -15 -13 --18 --44 --65 --83 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -109 -99 -93 -84 -79 -72 -68 -61 -58 -52 -49 -45 -42 -37 -35 -31 -29 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -28 --5 --33 --55 --76 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -103 -96 -88 -83 -75 -71 -64 -60 -54 -51 -45 -43 -39 -36 -32 -31 -27 --5 --33 --56 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -94 -86 -81 -74 -69 -62 -59 -53 -50 -45 -43 -38 -35 -32 -30 -27 --5 --33 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -121 -85 -85 -79 -75 -68 -63 -57 -54 -48 -45 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -103 -61 -22 --8 --34 --56 --75 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -111 -109 -103 -97 -88 -82 -75 -71 -64 -60 -54 -18 --13 --39 --61 --79 --94 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -95 -94 -88 -83 -75 -70 -63 -60 -54 -52 -46 -11 --19 --43 --65 --82 --98 --110 --104 --112 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -62 -58 -53 -50 -45 -10 --20 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -90 -85 -81 -72 -67 -62 -58 -52 -49 -45 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -14 -12 -12 -10 --20 --46 --67 --85 --99 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -109 -99 -93 -85 -80 -72 -67 -62 -58 -52 -50 -45 -42 -38 -35 -31 -30 -27 --5 --34 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -121 -86 -85 -80 -76 -68 -63 -57 -54 -49 -47 -42 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -104 -61 -23 --7 --34 --55 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -112 -110 -104 -98 -89 -84 -76 -71 -65 -61 -55 -52 -47 -45 -40 -37 -34 -32 -29 -27 -23 -23 -20 -19 -16 -15 -13 --17 --44 --65 --83 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -91 -83 -78 -71 -66 -59 -56 -51 -48 -43 -40 -35 -34 -30 -28 -25 --7 --35 --57 --77 --93 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -59 -22 --9 --35 --56 --75 --90 --103 --97 --107 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -112 -110 -104 -99 -89 -83 -76 -71 -65 -61 -55 -19 --13 --38 --61 --78 --94 --106 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -94 -93 -87 -83 -75 -69 -63 -59 -54 -51 -45 -11 --20 --44 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -91 -86 -81 -72 -68 -62 -58 -53 -50 -45 -42 -38 -36 -32 -30 -27 -25 -22 -21 -19 -18 -15 -14 -12 -12 -9 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 -3 -127 -127 -127 -115 -80 -79 -74 -70 -62 -59 -53 -50 -45 -42 -38 -4 --26 --49 --70 --86 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 -15 -127 -127 -127 -125 -89 -88 -83 -78 -71 -66 -60 -57 -51 -48 -43 -9 --22 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -91 -85 -81 -73 -68 -61 -58 -53 -50 -45 -10 --20 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -86 -80 -72 -68 -61 -58 -52 -49 -44 -10 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -126 -90 -89 -84 -79 -71 -67 -60 -56 -52 -49 -44 -9 --21 --45 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -127 -92 -90 -85 -80 -72 -68 -61 -58 -52 -49 -45 -10 --21 --45 --66 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -91 -90 -85 -80 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -126 -90 -89 -84 -79 -72 -67 -61 -57 -52 -49 -44 -10 --21 --45 --66 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -61 -23 --7 --34 --55 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -112 -110 -104 -99 -88 -83 -75 -71 -65 -61 -54 -18 --13 --39 --61 --78 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -95 -93 -88 -83 -75 -70 -63 -60 -54 -51 -45 -43 -39 -36 -32 -31 -27 -25 -23 -22 -19 -18 -15 -15 -12 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 -5 -127 -127 -127 -115 -79 -79 -74 -70 -62 -59 -53 -50 -45 -43 -38 -4 --25 --49 --70 --86 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -103 -61 -22 --8 --34 --56 --75 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -112 -110 -104 -99 -89 -83 -75 -72 -65 -61 -55 -52 -47 -44 -40 -37 -33 -32 -28 -27 -24 -23 -20 -19 -16 -15 -13 --17 --44 --65 --84 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -99 -93 -85 -79 -72 -68 -62 -58 -53 -50 -45 -42 -38 -35 -31 -29 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -120 -85 -84 -79 -75 -67 -62 -57 -54 -48 -45 -40 -6 --24 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -125 -90 -89 -84 -79 -72 -67 -60 -56 -52 -49 -43 -9 --22 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -127 -91 -89 -85 -80 -72 -67 -61 -57 -52 -49 -43 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -55 -52 -47 -44 -40 -37 -33 -31 -28 --4 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -121 -86 -85 -80 -75 -68 -63 -56 -54 -48 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -126 -90 -89 -84 -79 -71 -67 -60 -56 -51 -48 -43 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -83 -77 -72 -65 -61 -56 -52 -47 -45 -40 -37 -33 -32 -28 --4 --32 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -121 -86 -85 -80 -75 -68 -63 -58 -54 -49 -46 -42 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -126 -91 -90 -85 -79 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --67 --83 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -111 -109 -103 -97 -89 -83 -75 -70 -64 -60 -54 -18 --13 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -94 -93 -88 -83 -75 -70 -63 -59 -54 -51 -45 -43 -38 -36 -32 -31 -27 -26 -23 -22 -18 -17 -15 -15 -12 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -57 -19 --11 --37 --58 --76 --91 --104 --98 --108 --128 --128 --128 --128 --128 --128 -42 -127 -127 -127 -127 -109 -108 -102 -96 -87 -81 -74 -70 -63 -60 -54 -51 -46 -43 -38 -37 -33 -30 -28 -26 -23 -22 -19 -18 -15 -15 -13 --18 --44 --65 --84 --98 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -100 -93 -85 -80 -73 -68 -62 -59 -53 -50 -45 -42 -38 -35 -32 -29 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -70 -63 -60 -54 -51 -45 -43 -38 -36 -32 -31 -27 --5 --33 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -103 -96 -88 -83 -76 -71 -65 -61 -55 -52 -47 -44 -40 -38 -34 -32 -29 --4 --32 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -69 -63 -59 -53 -50 -44 -42 -38 -35 -31 -30 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -120 -85 -84 -79 -74 -67 -62 -56 -53 -48 -46 -40 -6 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -103 -61 -23 --8 --34 --56 --74 --89 --103 --97 --107 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -111 -109 -103 -97 -88 -82 -75 -70 -64 -60 -54 -18 --13 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -94 -93 -88 -83 -75 -70 -63 -60 -53 -51 -45 -11 --20 --44 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -61 -58 -53 -50 -45 -10 --21 --45 --66 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -21 -127 -127 -127 -127 -92 -90 -86 -81 -73 -68 -61 -58 -53 -50 -45 -42 -38 -35 -31 -30 -26 -25 -22 -20 -18 -18 -15 -14 -12 -11 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -85 -79 -72 -68 -62 -58 -52 -50 -45 -42 -38 -35 -31 -30 -27 --6 --34 --56 --76 --92 --106 --101 --110 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -121 -86 -84 -80 -75 -68 -63 -57 -54 -48 -46 -41 -7 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -62 -23 --7 --34 --55 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -112 -110 -104 -98 -89 -83 -75 -71 -64 -61 -54 -51 -46 -44 -39 -37 -33 -31 -27 -25 -23 -22 -19 -18 -16 -15 -13 --17 --44 --65 --84 --98 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -100 -93 -85 -80 -73 -68 -61 -58 -52 -49 -44 -42 -38 -35 -31 -29 -26 --6 --34 --57 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -99 -57 -19 --10 --37 --58 --76 --91 --104 --98 --107 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -111 -110 -104 -98 -88 -83 -75 -71 -65 -61 -55 -19 --13 --38 --61 --79 --94 --106 --102 --110 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -96 -94 -90 -85 -77 -71 -64 -61 -55 -52 -47 -12 --19 --43 --65 --82 --98 --109 --104 --112 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -85 -81 -73 -68 -61 -57 -52 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -20 -18 -17 -15 -14 -12 -11 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 -5 -127 -127 -127 -115 -80 -79 -75 -70 -63 -59 -53 -50 -46 -43 -38 -4 --25 --49 --70 --86 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 -16 -127 -127 -127 -125 -89 -89 -84 -79 -70 -65 -60 -56 -51 -48 -43 -8 --22 --46 --67 --84 --99 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -91 -90 -85 -80 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -85 -81 -72 -68 -61 -59 -53 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -62 -58 -53 -50 -45 -10 --20 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -90 -89 -84 -79 -71 -66 -60 -57 -52 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -21 -127 -127 -127 -127 -91 -90 -85 -80 -72 -68 -61 -58 -52 -49 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -126 -91 -90 -85 -80 -72 -67 -61 -57 -52 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -61 -23 --7 --34 --55 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -112 -110 -104 -98 -89 -83 -76 -71 -64 -60 -55 -19 --13 --38 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -95 -93 -88 -84 -75 -70 -64 -60 -54 -51 -46 -43 -39 -37 -33 -31 -27 -26 -22 -21 -19 -18 -15 -15 -13 -12 -10 --20 --46 --67 --85 --99 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 -4 -127 -127 -127 -115 -79 -78 -74 -69 -62 -58 -52 -49 -45 -42 -38 -4 --26 --49 --70 --86 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -103 -61 -22 --8 --35 --56 --75 --90 --103 --97 --107 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -112 -110 -104 -98 -89 -83 -76 -72 -65 -61 -55 -52 -47 -44 -40 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 --18 --44 --65 --84 --98 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -100 -93 -86 -81 -73 -69 -62 -59 -53 -50 -45 -42 -37 -35 -32 -30 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -121 -85 -84 -79 -75 -67 -62 -56 -53 -48 -45 -40 -6 --24 --47 --69 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -125 -89 -88 -83 -79 -71 -66 -60 -56 -51 -48 -43 -8 --22 --46 --67 --84 --99 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -91 -90 -85 -80 -72 -67 -61 -58 -52 -49 -44 -9 --21 --45 --67 --83 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -114 -104 -97 -89 -83 -76 -72 -65 -61 -55 -52 -46 -43 -39 -37 -33 -31 -28 --5 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -121 -86 -86 -80 -75 -68 -63 -57 -53 -49 -46 -41 -7 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -125 -90 -89 -84 -79 -72 -67 -60 -57 -52 -49 -43 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -72 -65 -61 -55 -52 -47 -44 -40 -37 -33 -31 -28 --4 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -14 -127 -127 -127 -121 -86 -85 -80 -76 -68 -63 -57 -54 -49 -46 -41 -7 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -90 -89 -85 -79 -72 -67 -61 -57 -52 -48 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -62 -24 --7 --33 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -47 -127 -127 -127 -127 -112 -110 -104 -97 -88 -82 -75 -70 -64 -60 -54 -18 --14 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -95 -93 -88 -83 -75 -70 -63 -59 -54 -51 -46 -43 -38 -36 -32 -31 -27 -26 -23 -21 -19 -18 -15 -14 -12 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -57 -19 --11 --37 --58 --77 --91 --104 --98 --108 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -109 -108 -102 -96 -87 -81 -74 -69 -63 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -25 -22 -21 -18 -18 -15 -14 -12 --18 --44 --65 --84 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -93 -85 -80 -73 -69 -63 -59 -53 -50 -45 -42 -37 -35 -32 -30 -27 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -81 -74 -69 -63 -59 -54 -50 -45 -43 -38 -36 -32 -30 -27 --5 --33 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -69 -63 -59 -53 -50 -45 -43 -38 -36 -32 -31 -28 --5 --33 --55 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -72 -65 -61 -55 -52 -47 -44 -39 -37 -33 -31 -28 --5 --33 --55 --76 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -120 -84 -84 -78 -73 -65 -61 -56 -53 -47 -45 -40 -6 --24 --48 --69 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -103 -61 -22 --8 --34 --56 --75 --89 --103 --97 --107 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -111 -109 -104 -97 -88 -82 -75 -71 -64 -60 -54 -18 --13 --39 --61 --79 --95 --107 --102 --111 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -94 -93 -88 -83 -74 -69 -63 -59 -54 -50 -45 -10 --20 --44 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -91 -90 -86 -81 -72 -67 -61 -58 -52 -49 -44 -9 --21 --45 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -90 -85 -81 -73 -68 -61 -58 -52 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -22 -18 -17 -15 -14 -12 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -100 -93 -85 -79 -72 -68 -62 -58 -53 -50 -45 -42 -38 -35 -32 -30 -26 --6 --34 --57 --77 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -15 -127 -127 -127 -120 -85 -84 -79 -75 -67 -62 -56 -54 -48 -46 -40 -6 --24 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -61 -23 --7 --34 --55 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -46 -127 -127 -127 -127 -112 -111 -105 -99 -90 -84 -76 -72 -65 -61 -55 -52 -47 -45 -40 -38 -34 -32 -28 -27 -24 -23 -19 -18 -16 -15 -13 --17 --44 --65 --83 --98 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -100 -93 -85 -80 -73 -68 -63 -59 -53 -50 -45 -43 -38 -36 -32 -31 -27 --5 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -58 -20 --10 --36 --57 --76 --91 --104 --98 --107 --128 --128 --128 --128 --128 --128 -41 -127 -127 -127 -127 -108 -106 -100 -95 -86 -80 -73 -68 -61 -58 -52 -16 --15 --40 --62 --80 --95 --108 --103 --111 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -95 -93 -88 -84 -76 -71 -64 -61 -55 -52 -47 -12 --19 --43 --65 --82 --98 --110 --104 --128 --128 --128 --128 --128 --128 --128 --128 -22 -127 -127 -127 -127 -93 -92 -87 -82 -74 -69 -63 -59 -54 -51 -45 -42 -38 -36 -32 -31 -27 -25 -22 -21 -18 -17 -15 -14 -12 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 -4 -127 -127 -127 -114 -79 -78 -73 -69 -61 -57 -52 -49 -44 -42 -37 -4 --26 --49 --70 --87 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -125 -89 -88 -83 -79 -71 -65 -59 -56 -51 -48 -43 -9 --22 --46 --67 --84 --99 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -91 -90 -85 -80 -72 -67 -60 -58 -52 -49 -44 -9 --21 --45 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -91 -90 -85 -80 -72 -67 -61 -58 -52 -49 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -62 -58 -53 -50 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -22 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -62 -58 -53 -49 -44 -10 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -126 -90 -89 -85 -80 -72 -67 -60 -57 -51 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -91 -90 -85 -81 -72 -67 -61 -58 -52 -49 -45 -10 --21 --45 --66 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -61 -23 --8 --34 --56 --75 --89 --103 --97 --107 --128 --128 --128 --128 --128 --128 -46 -127 -127 -127 -127 -111 -110 -104 -97 -88 -83 -75 -71 -64 -61 -55 -19 --13 --38 --61 --78 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -95 -93 -89 -84 -75 -70 -63 -60 -54 -51 -46 -44 -39 -37 -32 -30 -28 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 -6 -127 -127 -127 -115 -79 -79 -74 -69 -62 -58 -52 -50 -44 -42 -38 -4 --26 --49 --70 --87 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -103 -61 -22 --8 --35 --56 --75 --90 --103 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -111 -110 -103 -97 -88 -83 -75 -71 -64 -61 -54 -51 -46 -44 -39 -37 -33 -31 -28 -26 -24 -22 -19 -18 -15 -15 -13 --17 --44 --65 --84 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -110 -100 -94 -86 -81 -73 -69 -62 -59 -53 -50 -45 -42 -38 -36 -32 -30 -27 --5 --33 --56 --76 --92 --106 --100 --111 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -121 -86 -85 -80 -75 -68 -63 -57 -54 -49 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -125 -90 -89 -84 -79 -70 -65 -60 -56 -51 -48 -43 -9 --21 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -90 -89 -84 -79 -72 -67 -60 -56 -51 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -71 -65 -61 -55 -52 -47 -44 -40 -37 -33 -31 -28 --5 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -121 -85 -84 -79 -75 -68 -63 -57 -54 -48 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -125 -90 -89 -84 -79 -71 -66 -61 -57 -51 -49 -44 -9 --21 --45 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -88 -84 -76 -72 -65 -61 -55 -52 -47 -44 -40 -37 -33 -31 -28 --5 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -121 -85 -85 -80 -75 -68 -63 -57 -54 -49 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -16 -127 -127 -127 -126 -90 -89 -84 -80 -72 -67 -61 -57 -52 -49 -44 -10 --21 --45 --66 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -61 -23 --7 --34 --55 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -112 -111 -105 -99 -89 -84 -76 -71 -65 -61 -56 -19 --13 --38 --60 --78 --94 --106 --102 --110 --128 --128 --128 --128 --128 --128 --128 -24 -127 -127 -127 -127 -95 -94 -88 -83 -75 -70 -63 -59 -54 -51 -45 -43 -39 -37 -33 -30 -27 -26 -22 -22 -18 -17 -15 -14 -12 -12 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -57 -19 --11 --37 --58 --76 --91 --104 --98 --108 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -109 -107 -102 -96 -87 -82 -74 -69 -63 -59 -54 -51 -45 -43 -38 -36 -32 -31 -27 -26 -22 -21 -18 -17 -15 -14 -12 --18 --44 --65 --84 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -93 -85 -80 -72 -69 -62 -58 -52 -49 -45 -42 -38 -36 -32 -30 -27 --5 --33 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -81 -74 -70 -63 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 --5 --33 --56 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -82 -74 -70 -63 -60 -54 -51 -45 -42 -38 -36 -33 -31 -27 --5 --33 --55 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -102 -96 -87 -82 -75 -71 -64 -61 -55 -52 -47 -44 -39 -38 -34 -32 -29 --4 --32 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -14 -127 -127 -127 -123 -86 -86 -81 -77 -69 -64 -58 -55 -49 -47 -42 -7 --23 --46 --68 --85 --99 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -112 -102 -60 -22 --8 --35 --56 --75 --90 --103 --97 --107 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -111 -109 -104 -97 -88 -83 -75 -71 -64 -60 -54 -18 --13 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -94 -93 -88 -83 -75 -70 -63 -60 -54 -51 -46 -11 --19 --44 --65 --83 --98 --110 --104 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -126 -91 -90 -85 -80 -72 -67 -61 -57 -51 -48 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -126 -91 -90 -85 -80 -72 -67 -61 -57 -51 -49 -44 -41 -37 -35 -31 -29 -25 -24 -22 -21 -18 -17 -14 -14 -12 -11 -10 --20 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -99 -93 -85 -80 -72 -69 -62 -59 -53 -50 -45 -42 -37 -35 -32 -29 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -120 -86 -84 -79 -75 -67 -63 -57 -53 -48 -46 -41 -7 --23 --47 --68 --85 --100 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -61 -23 --7 --34 --56 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -45 -127 -127 -127 -127 -112 -110 -104 -99 -90 -84 -75 -71 -64 -61 -55 -52 -47 -45 -40 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 --17 --44 --65 --83 --98 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -100 -93 -85 -80 -72 -69 -62 -58 -52 -49 -44 -42 -38 -35 -32 -30 -26 --6 --34 --56 --76 --92 --106 --101 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -60 -21 --9 --35 --56 --75 --90 --103 --97 --107 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -109 -108 -102 -96 -87 -82 -74 -69 -62 -58 -53 -17 --14 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -86 -81 -72 -67 -60 -57 -52 -49 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -61 -58 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -23 -21 -18 -18 -16 -15 -13 -13 -10 --19 --46 --66 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 -5 -127 -127 -127 -115 -80 -79 -75 -70 -63 -59 -53 -50 -45 -43 -38 -4 --25 --49 --70 --86 --101 --112 --107 --128 --128 --128 --128 --128 --128 --128 --128 -16 -127 -127 -127 -124 -88 -87 -82 -78 -70 -65 -59 -56 -51 -47 -43 -8 --22 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -126 -90 -89 -84 -80 -72 -67 -61 -57 -52 -49 -44 -10 --21 --45 --66 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -17 -127 -127 -127 -127 -92 -90 -85 -80 -72 -68 -62 -58 -52 -49 -45 -10 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -91 -90 -85 -80 -72 -67 -61 -58 -52 -49 -45 -10 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -20 -127 -127 -127 -127 -92 -91 -86 -81 -72 -68 -62 -57 -52 -50 -45 -10 --20 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -62 -58 -52 -49 -44 -10 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -90 -89 -84 -79 -71 -67 -60 -57 -51 -49 -43 -9 --22 --46 --67 --84 --99 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -111 -110 -104 -97 -89 -83 -75 -71 -64 -60 -54 -18 --14 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -22 -127 -127 -127 -127 -94 -93 -88 -83 -75 -70 -63 -60 -54 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 --19 --45 --66 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 -5 -127 -127 -127 -115 -79 -79 -74 -69 -62 -58 -53 -50 -45 -43 -38 -4 --25 --49 --70 --86 --101 --97 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -112 -103 -60 -22 --8 --35 --56 --75 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -111 -109 -103 -97 -88 -83 -75 -70 -63 -60 -54 -51 -46 -43 -39 -37 -33 -31 -28 -26 -22 -21 -19 -18 -15 -15 -13 --17 --44 --65 --83 --98 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -93 -86 -81 -73 -68 -62 -59 -53 -50 -45 -43 -38 -35 -31 -30 -27 --5 --33 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -14 -127 -127 -127 -120 -85 -85 -80 -75 -68 -63 -57 -54 -48 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -126 -90 -89 -84 -79 -72 -67 -61 -57 -52 -49 -43 -9 --21 --45 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -90 -90 -85 -80 -71 -66 -60 -57 -52 -49 -44 -9 --21 --45 --67 --83 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -97 -88 -83 -76 -71 -65 -61 -55 -52 -47 -43 -40 -37 -33 -31 -28 --4 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -13 -127 -127 -127 -120 -85 -85 -80 -75 -67 -63 -57 -54 -48 -46 -40 -6 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -125 -90 -89 -83 -79 -71 -67 -60 -57 -51 -48 -44 -9 --21 --45 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -83 -76 -72 -65 -61 -54 -52 -47 -44 -40 -37 -33 -31 -28 --5 --33 --55 --75 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -121 -85 -85 -80 -75 -67 -63 -57 -53 -48 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -125 -90 -89 -84 -79 -71 -67 -60 -56 -51 -48 -44 -9 --21 --45 --67 --84 --99 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -112 -110 -104 -98 -89 -83 -76 -71 -65 -61 -55 -19 --13 --38 --61 --78 --94 --106 --102 --110 --128 --128 --128 --128 --128 --128 --128 -27 -127 -127 -127 -127 -95 -94 -89 -84 -76 -71 -64 -61 -54 -52 -47 -44 -40 -37 -33 -31 -27 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 --20 --46 --67 --85 --99 --112 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -56 -19 --11 --37 --58 --77 --91 --104 --98 --107 --128 --128 --128 --128 --128 --128 -41 -127 -127 -127 -127 -109 -108 -102 -96 -87 -81 -74 -69 -63 -59 -53 -50 -45 -43 -38 -37 -32 -30 -27 -25 -22 -21 -19 -18 -15 -14 -12 --18 --44 --65 --84 --98 --112 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -108 -98 -93 -85 -80 -72 -68 -61 -58 -52 -49 -44 -41 -37 -35 -31 -29 -26 --6 --34 --56 --76 --92 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -82 -74 -69 -63 -60 -54 -50 -46 -43 -39 -36 -32 -31 -28 --5 --33 --55 --76 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -69 -63 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 --5 --33 --56 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -69 -63 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 --5 --33 --56 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -12 -127 -127 -127 -121 -86 -86 -81 -77 -69 -65 -58 -56 -50 -47 -42 -8 --22 --46 --68 --84 --99 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -61 -23 --7 --34 --55 --74 --89 --102 --97 --106 --128 --128 --128 --128 --128 --128 -44 -127 -127 -127 -127 -110 -109 -102 -97 -87 -81 -74 -70 -64 -60 -54 -18 --13 --39 --61 --79 --95 --107 --102 --110 --128 --128 --128 --128 --128 --128 --128 -23 -127 -127 -127 -127 -94 -93 -88 -83 -75 -70 -63 -60 -54 -51 -45 -11 --20 --44 --66 --83 --98 --110 --104 --112 --128 --128 --128 --128 --128 --128 --128 -18 -127 -127 -127 -127 -92 -91 -86 -81 -73 -68 -61 -58 -52 -49 -44 -10 --21 --45 --66 --83 --98 --110 --105 --128 --128 --128 --128 --128 --128 --128 --128 -19 -127 -127 -127 -126 -90 -89 -85 -79 -71 -67 -60 -57 -51 -49 -43 -41 -36 -35 -31 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -11 -9 --21 --46 --67 --85 --100 --113 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -116 -109 -99 -93 -85 -80 -72 -68 -62 -59 -53 -50 -45 -42 -38 -35 -32 -30 -27 --5 --33 --56 --76 --91 --106 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 -11 -127 -127 -127 -120 -85 -85 -80 -75 -68 -63 -57 -54 -49 -46 -41 -7 --23 --47 --68 --85 --100 --111 --106 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -103 -61 -23 --7 --34 --56 --74 --89 --103 --97 --106 --128 --128 --128 --128 --128 --128 -43 -127 -127 -127 -127 -111 -110 -104 -98 -89 -83 -75 -71 -64 -61 -55 -51 -46 -44 -39 -37 -33 -31 -27 -26 -23 -22 -19 -18 -16 -15 -13 --18 --44 --65 --83 --98 --111 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -63 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 --5 --33 --56 --76 --91 --105 --100 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 diff --git a/traces/EM4102-Fob.pm3 b/traces/EM4102-Fob.pm3 deleted file mode 100644 index 1fb16070d..000000000 --- a/traces/EM4102-Fob.pm3 +++ /dev/null @@ -1,40000 +0,0 @@ --14 --13 --13 --13 --13 --13 -19 -73 -89 -89 -71 -50 -27 -7 --8 --16 --21 --20 --16 --11 --8 --3 --1 --1 -0 -0 --1 --2 --3 --4 --5 --6 --7 --7 --7 --6 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --19 --20 --20 --20 --18 --17 --16 --16 --15 --16 --14 --14 --13 --13 --12 --14 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --16 --20 --19 --17 --12 --8 --3 --1 -0 -0 --1 --2 --2 --4 --5 --5 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --33 --22 --15 --13 --13 --14 --17 --19 --19 --20 --20 --20 --18 --18 --16 --15 --15 --15 --14 --15 --14 --13 --12 --13 --12 -20 -73 -89 -89 -71 -50 -27 -7 --8 --17 --20 --19 --16 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --6 --5 --7 --7 --7 --7 --7 --7 --32 --71 --96 --80 --83 --64 --47 --32 --23 --16 --14 --14 --16 --17 --19 --20 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -89 -71 -50 -27 -8 --8 --17 --20 --19 --17 --12 --8 --3 --2 -0 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --7 --32 --71 --96 --80 --84 --65 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --19 --19 --19 --17 --18 --16 --16 --15 --15 --13 --14 --13 --13 --13 --14 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --17 --21 --20 --16 --11 --8 --3 --2 --1 --1 -0 --2 --2 --3 --4 --5 --5 --6 --6 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --16 --19 --19 --20 --20 --21 --18 --18 --16 --16 --15 --16 --15 --14 --13 --14 --13 --13 --13 -20 -73 -89 -89 -72 -51 -27 -8 --8 --16 --20 --19 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --7 --32 --71 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --15 --16 --19 --19 --20 --20 --20 --19 --18 --17 --16 --15 --15 --13 --14 --14 --14 --13 --13 --12 -20 -73 -89 -89 -71 -50 -27 -7 --8 --16 --20 --19 --16 --12 --9 --4 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --6 --7 --7 --6 --7 --7 --32 --70 --97 --80 --83 --65 --47 --32 --23 --16 --14 --13 --15 --16 --18 --20 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -74 -90 -88 -71 -50 -27 -7 --8 --16 --21 --19 --16 --11 --8 --3 --1 -0 -0 -0 --1 --2 --3 --5 --6 --6 --7 --7 --7 --6 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --16 --14 --14 --13 --13 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --20 --20 --17 --12 --8 --4 --2 -0 --1 -0 --1 --2 --3 --4 --6 --6 --7 --7 --7 --6 --7 --7 --32 --70 --96 --80 --83 --66 --48 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --19 --20 --19 --18 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -7 --8 --16 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --3 --4 --5 --6 --6 --7 --7 --7 --8 --7 --32 --71 --96 --79 --83 --65 --47 --32 --22 --15 --13 --13 --15 --16 --19 --19 --20 --20 --19 --18 --17 --17 --16 --14 --15 --14 --14 --14 --14 --13 --13 --12 -20 -73 -89 -89 -72 -51 -27 -9 --8 --16 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --3 --4 --5 --6 --6 --6 --6 --7 --6 --7 --7 --33 --70 --96 --80 --83 --65 --47 --32 --22 --16 --14 --13 --15 --16 --18 --19 --20 --20 --20 --18 --18 --16 --16 --15 --14 --14 --14 --13 --14 --13 --13 --12 -19 -73 -89 -89 -71 -50 -27 -8 --8 --16 --20 --19 --16 --11 --8 --3 --1 --1 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --7 --8 --7 --8 --8 --9 --8 --8 --8 --9 --8 --9 --8 --9 --9 --9 --9 --9 --9 --9 --9 --10 --10 --10 --10 --10 --9 --11 --9 --10 --10 --11 --10 --10 --11 --35 --73 --98 --98 --85 --67 --49 --34 --23 --17 --15 --14 --17 --17 --20 --21 --21 --20 --21 --19 --19 --17 --17 --15 --16 --15 --15 --14 --14 --13 --14 --13 -18 -72 -89 -88 -71 -51 -26 -7 --8 --17 --21 --19 --17 --13 --8 --3 --2 -0 -0 -0 --2 --2 --4 --5 --6 --5 --6 --6 --7 --7 --8 --7 --32 --71 --96 --80 --83 --65 --47 --32 --23 --15 --13 --13 --15 --16 --19 --20 --20 --20 --20 --18 --18 --16 --16 --14 --15 --14 --13 --14 --14 --13 --13 --13 -20 -74 -89 -89 -72 -51 -27 -8 --8 --16 --20 --19 --17 --12 --7 --4 --1 -1 -0 -0 --1 --3 --4 --4 --6 --6 --6 --6 --7 --7 --7 --7 --33 --71 --97 --97 --83 --64 --47 --31 --22 --16 --14 --13 --16 --16 --18 --19 --20 --19 --20 --18 --18 --16 --16 --15 --14 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --12 --11 --13 --12 --12 --12 --12 --11 --11 --11 --11 --11 --11 --11 --11 --10 --10 --10 --11 --10 --11 --11 --10 --10 --10 --10 --11 --10 -22 -75 -91 -90 -74 -52 -29 -9 --6 --15 --19 --19 --16 --11 --7 --3 --1 -1 -0 -0 --1 --2 --3 --3 --5 --5 --6 --6 --7 --6 --7 --7 --32 --70 --96 --80 --82 --65 --47 --32 --22 --15 --13 --13 --15 --16 --18 --20 --20 --20 --20 --18 --17 --16 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 -20 -74 -89 -88 -71 -50 -27 -8 --7 --17 --20 --19 --18 --12 --8 --4 --1 -1 -1 -0 --1 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --7 --8 --7 --7 --7 --8 --7 --9 --8 --9 --9 --9 --8 --9 --9 --9 --9 --10 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --11 --10 --10 --10 --10 --35 --72 --99 --98 --86 --67 --49 --33 --24 --17 --14 --14 --16 --18 --20 --21 --21 --20 --20 --19 --18 --17 --17 --15 --16 --15 --14 --13 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --11 --11 --10 -21 -76 -92 -90 -74 -53 -28 -9 --7 --15 --19 --18 --16 --11 --7 --3 --1 -0 -0 -0 --1 --1 --3 --4 --5 --5 --6 --5 --6 --6 --6 --6 --32 --70 --96 --97 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -74 -89 -89 -72 -50 -27 -7 --9 --17 --20 --19 --17 --12 --8 --4 --2 -0 --1 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --19 --20 --19 --19 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -26 -8 --7 --17 --20 --19 --16 --12 --7 --3 --2 -0 -0 --1 --1 --2 --4 --4 --5 --5 --7 --7 --7 --7 --7 --6 --7 --7 --7 --8 --9 --8 --9 --9 --9 --8 --9 --9 --9 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 --35 --72 --99 --98 --85 --67 --49 --34 --24 --17 --15 --14 --17 --18 --19 --21 --21 --20 --20 --19 --18 --17 --17 --15 --15 --15 --14 --13 --14 --13 --14 --13 -19 -73 -89 -88 -72 -51 -26 -7 --8 --17 --21 --19 --17 --12 --8 --4 --2 -0 -0 --1 --1 --1 --4 --4 --5 --6 --7 --7 --7 --7 --7 --6 --32 --70 --96 --97 --84 --65 --48 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 --13 --13 --13 --12 --12 --11 --11 --11 --11 --11 --12 --11 --11 --11 --11 --10 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 -22 -76 -92 -91 -74 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -0 -0 --1 --1 --3 --3 --5 --6 --7 --6 --7 --7 --7 --7 --7 --7 --8 --8 --8 --8 --9 --8 --9 --9 --9 --9 --9 --10 --10 --9 --10 --9 --9 --10 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --36 --74 --98 --98 --85 --67 --49 --34 --23 --17 --16 --15 --16 --18 --20 --20 --22 --21 --20 --19 --19 --17 --16 --15 --15 --14 --15 --14 --14 --13 --14 --13 -19 -73 -89 -88 -71 -50 -27 -7 --7 --16 --20 --19 --17 --12 --8 --5 --2 -0 -0 -0 --1 --2 --4 --4 --6 --7 --7 --7 --7 --7 --7 --7 --33 --71 --97 --97 --83 --64 --47 --31 --22 --16 --14 --13 --15 --17 --19 --19 --20 --19 --19 --18 --18 --16 --17 --15 --14 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --12 --11 --12 --11 --12 --11 --12 --10 --11 --11 --11 --11 --11 --10 --11 --10 --11 --10 --10 --10 --11 --10 --11 --10 --10 --10 --10 --10 -21 -75 -92 -91 -74 -53 -29 -9 --6 --15 --20 --19 --16 --11 --7 --3 --1 -1 -1 -1 --1 --2 --3 --4 --5 --5 --7 --6 --7 --7 --7 --7 --32 --71 --96 --80 --83 --64 --47 --32 --22 --15 --13 --13 --16 --17 --18 --19 --20 --19 --19 --19 --18 --16 --17 --15 --15 --14 --14 --13 --14 --13 --13 --12 -19 -74 -90 -88 -72 -50 -26 -7 --7 --16 --20 --20 --17 --13 --8 --3 --2 -1 -0 --1 --2 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --13 --14 --14 --14 --13 --14 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --17 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --6 --6 --7 --7 --7 --6 --7 --7 --7 --7 --8 --8 --8 --8 --9 --8 --9 --9 --9 --9 --10 --9 --10 --9 --10 --9 --9 --9 --9 --9 --11 --10 --10 --10 --11 --10 --10 --10 --10 --10 --36 --73 --99 --99 --85 --66 --49 --34 --23 --17 --16 --15 --17 --18 --20 --20 --22 --20 --20 --19 --19 --17 --17 --16 --15 --14 --15 --14 --14 --13 --14 --13 --13 --12 --12 --12 --12 --12 --12 --12 --12 --11 --12 --11 --11 --11 --12 --11 --12 --11 --11 --10 --11 --10 --11 --11 --11 --11 --11 --10 --10 --9 --10 --10 -22 -75 -91 -91 -73 -53 -29 -9 --6 --15 --19 --19 --16 --11 --7 --3 --1 -1 -1 -1 --2 --2 --3 --4 --6 --5 --6 --7 --7 --7 --7 --7 --8 --7 --8 --7 --8 --8 --9 --8 --9 --9 --9 --8 --9 --8 --9 --8 --10 --10 --10 --10 --10 --10 --10 --10 --10 --10 --10 --10 --10 --11 --11 --10 --36 --73 --99 --99 --86 --67 --49 --33 --23 --16 --15 --14 --16 --18 --20 --20 --22 --20 --20 --18 --18 --17 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 -19 -72 -89 -88 -71 -51 -27 -7 --8 --17 --21 --20 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --6 --5 --6 --6 --7 --7 --8 --7 --32 --71 --96 --80 --83 --65 --47 --33 --23 --15 --13 --14 --15 --16 --19 --19 --21 --20 --19 --18 --18 --16 --15 --15 --15 --14 --14 --13 --14 --13 --13 --12 -19 -73 -89 -87 -71 -51 -27 -8 --7 --16 --21 --19 --17 --12 --8 --3 --2 -1 -0 --1 --2 --2 --4 --5 --6 --6 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --16 --19 --20 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -20 -73 -89 -89 -71 -51 -27 -7 --8 --16 --21 --20 --17 --12 --9 --4 --1 -0 -0 -0 --2 --3 --4 --5 --6 --5 --6 --6 --6 --6 --8 --7 --32 --71 --96 --80 --83 --65 --47 --32 --23 --16 --14 --14 --15 --16 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --14 --13 --14 --14 --14 --13 --14 --12 -19 -73 -90 -89 -72 -51 -27 -7 --7 --16 --20 --19 --16 --12 --8 --3 --2 -0 -0 -0 --2 --2 --3 --5 --5 --5 --7 --6 --6 --7 --7 --7 --33 --71 --97 --80 --84 --65 --47 --33 --22 --15 --14 --14 --15 --16 --18 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -20 -73 -90 -89 -71 -51 -27 -7 --8 --17 --20 --19 --17 --11 --8 --4 --2 --1 --1 --1 --1 --3 --4 --4 --7 --6 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --16 --17 --19 --19 --20 --19 --20 --18 --18 --16 --16 --15 --15 --13 --14 --13 --13 --14 --14 --13 --13 --13 --13 --11 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --11 --11 --10 --10 --10 --10 --10 --11 --10 --11 --10 --11 --10 -22 -75 -92 -91 -73 -52 -28 -9 --6 --14 --19 --18 --16 --11 --8 --3 --1 -0 -1 -1 --1 --1 --3 --4 --6 --5 --6 --6 --6 --5 --7 --7 --7 --8 --8 --8 --8 --8 --8 --8 --9 --8 --9 --9 --10 --9 --10 --9 --9 --9 --10 --9 --10 --11 --11 --10 --11 --10 --10 --10 --10 --10 --10 --10 --35 --73 --99 --98 --84 --66 --49 --33 --24 --17 --15 --15 --17 --17 --19 --21 --21 --21 --20 --19 --18 --17 --16 --15 --15 --14 --15 --14 --14 --14 --13 --12 --13 --12 --13 --12 --13 --12 --12 --11 --11 --11 --12 --12 --12 --11 --12 --10 --11 --11 --11 --10 --11 --10 --11 --11 --11 --10 --10 --10 --10 --9 --11 --10 -22 -75 -92 -91 -74 -53 -29 -9 --7 --15 --20 --19 --16 --10 --7 --2 --1 -0 -0 -1 --1 --2 --3 --3 --6 --5 --6 --7 --7 --7 --7 --7 --7 --7 --8 --7 --8 --9 --9 --8 --9 --8 --9 --9 --9 --9 --10 --10 --10 --9 --10 --9 --9 --10 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 --35 --73 --99 --98 --85 --67 --49 --33 --23 --17 --15 --15 --17 --18 --20 --20 --21 --20 --20 --19 --18 --17 --17 --16 --15 --14 --15 --14 --14 --13 --14 --13 -19 -72 -89 -89 -71 -51 -27 -7 --8 --16 --20 --19 --16 --11 --8 --4 --2 --1 --1 -0 --1 --2 --3 --4 --6 --6 --7 --7 --7 --6 --7 --6 --32 --70 --97 --80 --83 --65 --47 --32 --22 --15 --13 --14 --16 --17 --19 --19 --20 --19 --20 --18 --17 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --13 --12 --12 --12 --12 --11 --12 --11 --12 --11 --12 --10 --10 --10 --11 --10 --11 --11 --11 --11 --11 --10 --10 --11 --11 --10 --11 --10 --10 --10 -22 -76 -91 -90 -74 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -1 -1 --1 --2 --4 --5 --6 --5 --6 --5 --6 --6 --8 --7 --32 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --15 --16 --18 --19 --19 --20 --20 --19 --18 --17 --16 --15 --15 --14 --13 --13 --13 --13 --14 --13 -19 -73 -89 -89 -73 -50 -27 -8 --8 --17 --21 --20 --16 --11 --7 --3 --1 -0 -0 -0 --1 --2 --3 --3 --6 --6 --6 --6 --7 --7 --7 --7 --7 --7 --8 --8 --9 --9 --9 --8 --9 --9 --9 --8 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --10 --10 --10 --9 --11 --10 --10 --11 --36 --73 --98 --98 --85 --66 --49 --34 --23 --17 --15 --14 --16 --17 --19 --20 --21 --21 --21 --19 --19 --17 --16 --15 --16 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -88 -71 -50 -27 -7 --9 --17 --20 --20 --16 --12 --9 --4 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --6 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --23 --16 --14 --13 --16 --17 --18 --20 --20 --19 --20 --18 --18 --17 --16 --15 --15 --13 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -7 --8 --17 --21 --19 --17 --11 --7 --4 --2 -0 -0 --1 --1 --2 --4 --4 --5 --6 --7 --7 --8 --7 --7 --6 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --20 --20 --20 --20 --20 --18 --18 --17 --16 --15 --16 --14 --14 --14 --13 --13 --14 --13 -19 -74 -90 -89 -73 -51 -27 -8 --8 --17 --20 --20 --17 --12 --7 --4 --1 -0 --1 -0 --1 --3 --4 --4 --6 --6 --7 --6 --7 --7 --7 --8 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --16 --18 --20 --20 --19 --20 --19 --17 --16 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -71 -51 -27 -8 --7 --17 --20 --19 --17 --12 --8 --3 --1 -1 -0 --1 --2 --2 --4 --4 --5 --6 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --16 --19 --19 --20 --19 --20 --18 --17 --17 --16 --14 --15 --14 --14 --14 --14 --13 --13 --13 -20 -74 -89 -88 -72 -50 -27 -8 --8 --16 --20 --19 --17 --12 --8 --4 --1 -1 -0 -0 --1 --3 --4 --5 --6 --6 --6 --5 --7 --6 --7 --7 --33 --71 --97 --97 --83 --65 --47 --32 --22 --16 --14 --13 --16 --17 --19 --20 --21 --20 --20 --19 --18 --16 --16 --14 --14 --14 --14 --14 --15 --13 --13 --13 -19 -74 -89 -88 -71 -51 -26 -7 --8 --17 --20 --19 --16 --11 --7 --3 --2 -1 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --6 --32 --70 --96 --80 --83 --64 --47 --31 --22 --15 --14 --14 --15 --17 --18 --19 --20 --19 --20 --18 --18 --17 --16 --15 --15 --14 --13 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -50 -26 -7 --8 --17 --20 --19 --17 --11 --7 --4 --2 -0 --1 --1 --1 --2 --4 --4 --5 --6 --7 --6 --7 --6 --7 --7 --32 --70 --96 --80 --84 --65 --48 --32 --21 --15 --13 --13 --16 --17 --19 --19 --21 --19 --19 --19 --18 --16 --17 --15 --15 --14 --14 --13 --13 --13 --13 --13 -18 -73 -89 -88 -72 -51 -26 -8 --8 --16 --20 --19 --16 --12 --7 --3 --2 -0 -0 --1 --2 --2 --4 --4 --5 --5 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --19 --20 --18 --17 --17 --16 --15 --15 --15 --14 --13 --14 --12 --13 --13 --13 --12 --13 --12 --12 --11 --12 --11 --11 --11 --11 --11 --12 --11 --11 --10 --10 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --11 --10 -21 -76 -92 -90 -74 -52 -28 -8 --7 --15 --20 --18 --15 --11 --6 --3 --2 -0 -0 -1 --1 --1 --3 --4 --5 --5 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --13 --14 --13 --13 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --17 --20 --19 --17 --11 --7 --3 --1 -1 --1 --1 --1 --2 --3 --4 --5 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --19 --21 --19 --19 --19 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -18 -73 -90 -88 -72 -51 -27 -8 --8 --17 --21 --19 --16 --12 --8 --3 --1 -1 -0 --1 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --79 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -89 -89 -72 -51 -27 -8 --7 --17 --21 --19 --17 --12 --8 --4 --1 -0 -0 -0 --1 --2 --4 --4 --5 --6 --6 --6 --8 --7 --7 --7 --33 --71 --96 --80 --83 --65 --48 --32 --22 --16 --14 --13 --15 --16 --18 --19 --21 --19 --19 --19 --18 --16 --17 --15 --15 --14 --15 --13 --13 --13 --13 --12 -20 -74 -90 -88 -71 -50 -26 -7 --7 --16 --21 --19 --17 --12 --8 --3 --2 -0 -0 -0 --2 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --7 --32 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --15 --16 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -74 -90 -89 -72 -51 -26 -7 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --7 --7 --6 --7 --6 --7 --6 --8 --7 --7 --8 --8 --7 --9 --9 --9 --9 --9 --9 --9 --9 --9 --8 --9 --9 --9 --10 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --36 --73 --98 --98 --86 --67 --49 --34 --24 --17 --15 --14 --16 --18 --20 --21 --21 --21 --20 --19 --19 --17 --16 --15 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --13 --12 --12 --12 --12 --11 --12 --11 --12 --11 --12 --10 --11 --11 --11 --10 --11 --10 --11 --10 --10 --11 --11 --10 --11 --10 --10 --10 -21 -76 -92 -91 -74 -53 -28 -9 --7 --16 --20 --19 --15 --11 --7 --3 --1 -1 -0 -0 --1 --1 --3 --4 --5 --5 --6 --6 --6 --7 --7 --6 --32 --70 --96 --97 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --18 --16 --16 --15 --15 --14 --15 --13 --13 --14 --13 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --17 --21 --20 --17 --11 --7 --3 --1 -0 -0 -0 --1 --2 --3 --4 --6 --5 --7 --6 --7 --6 --8 --7 --7 --7 --7 --7 --9 --8 --9 --8 --9 --9 --9 --9 --9 --9 --10 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --10 --10 --10 --10 --10 --10 --35 --73 --99 --99 --85 --66 --49 --33 --23 --17 --15 --15 --17 --19 --20 --20 --21 --20 --20 --20 --19 --17 --17 --16 --15 --14 --15 --14 --14 --13 --14 --13 --14 --13 --13 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 --11 --10 -22 -76 -92 -91 -73 -52 -28 -8 --7 --15 --19 --18 --15 --10 --7 --3 --1 -1 -0 -1 --1 --1 --3 --4 --5 --5 --6 --7 --7 --6 --7 --7 --32 --70 --96 --80 --83 --64 --46 --32 --23 --16 --14 --13 --15 --17 --18 --19 --20 --20 --20 --19 --18 --16 --17 --15 --15 --14 --14 --13 --14 --14 --13 --12 -19 -74 -90 -88 -72 -51 -27 -7 --8 --17 --21 --19 --16 --12 --8 --3 --3 --1 --1 -0 --1 --1 --3 --4 --5 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --17 --18 --16 --16 --15 --15 --14 --14 --13 --13 --12 --13 --12 -20 -73 -90 -89 -71 -51 -27 -8 --8 --17 --21 --20 --17 --11 --7 --3 --1 --1 --1 -0 --1 --2 --4 --4 --6 --5 --6 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --16 --19 --20 --21 --20 --19 --19 --18 --16 --16 --15 --15 --14 --15 --13 --14 --13 --13 --12 -19 -73 -89 -89 -72 -51 -27 -7 --7 --16 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --2 --3 --4 --5 --5 --5 --7 --7 --7 --7 --7 --7 --32 --71 --96 --80 --83 --64 --47 --33 --23 --16 --14 --13 --15 --16 --19 --19 --20 --20 --20 --18 --18 --16 --15 --14 --14 --14 --14 --14 --14 --13 --13 --12 -20 -73 -89 -88 -71 -50 -27 -8 --9 --16 --20 --19 --17 --11 --9 --4 --2 -0 -0 -0 --1 --3 --4 --4 --6 --5 --6 --7 --7 --6 --7 --7 --32 --71 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --15 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --14 --14 --12 -20 -74 -90 -89 -71 -51 -27 -7 --8 --16 --21 --19 --16 --11 --8 --4 --2 --1 -0 -0 --1 --1 --3 --5 --6 --5 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --16 --14 --14 --16 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --14 --15 --13 --14 --14 --14 --13 --14 --13 -19 -73 -90 -89 -72 -50 -27 -7 --9 --17 --20 --20 --17 --11 --8 --4 --2 -0 --1 -0 --1 --2 --3 --4 --6 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --15 --15 --14 --15 --14 --14 --13 --14 --13 -19 -73 -89 -89 -71 -51 -27 -7 --8 --17 --21 --20 --16 --11 --8 --3 --1 -0 -0 -0 --2 --2 --3 --4 --5 --5 --6 --7 --7 --7 --7 --6 --32 --70 --96 --80 --83 --65 --48 --32 --23 --15 --13 --14 --15 --17 --20 --20 --21 --20 --20 --18 --17 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 -19 -73 -89 -88 -72 -51 -27 -8 --9 --17 --20 --20 --17 --12 --8 --4 --1 -0 --1 -0 --1 --3 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --64 --48 --33 --22 --15 --14 --13 --15 --16 --19 --19 --20 --21 --20 --18 --18 --16 --15 --15 --15 --14 --14 --14 --13 --13 --13 --12 -20 -73 -90 -89 -71 -51 -27 -8 --7 --16 --20 --19 --16 --12 --8 --4 --1 -0 -0 --1 --1 --2 --4 --5 --7 --6 --6 --6 --7 --6 --8 --7 --33 --70 --96 --80 --83 --65 --47 --32 --22 --16 --14 --14 --15 --17 --18 --19 --20 --19 --20 --19 --17 --17 --16 --14 --15 --14 --14 --14 --14 --13 --13 --13 -20 -74 -90 -89 -72 -50 -26 -7 --7 --17 --20 --19 --17 --12 --8 --4 --1 -0 --1 -0 --1 --2 --3 --4 --5 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --13 --15 --17 --20 --19 --20 --20 --19 --18 --19 --17 --16 --15 --15 --13 --13 --13 --14 --13 --14 --13 -20 -73 -89 -89 -72 -51 -27 -7 --8 --16 --21 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --7 --8 --6 --7 --6 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --20 --20 --19 --20 --17 --17 --17 --16 --15 --15 --14 --14 --13 --14 --13 --14 --13 -19 -73 -89 -88 -72 -51 -27 -8 --8 --17 --20 --19 --17 --11 --7 --4 --2 -0 -0 -0 --2 --2 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --7 --8 --8 --7 --9 --8 --9 --9 --9 --9 --9 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --9 --9 --11 --10 --11 --10 --10 --10 --11 --10 --35 --73 --99 --98 --85 --67 --49 --34 --24 --17 --15 --15 --17 --17 --20 --21 --21 --20 --21 --19 --18 --17 --17 --16 --16 --15 --14 --13 --14 --13 --14 --14 -19 -73 -89 -89 -72 -50 -27 -7 --8 --17 --20 --19 --17 --11 --8 --4 --2 --1 --1 -0 --1 --2 --4 --4 --5 --7 --7 --7 --7 --6 --7 --7 --32 --70 --96 --80 --84 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --19 --20 --19 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --14 --13 -19 -72 -89 -89 -72 -51 -27 -8 --8 --17 --21 --20 --17 --12 --8 --3 --1 -0 -0 -0 --1 --3 --4 --4 --6 --6 --7 --7 --8 --7 --7 --7 --32 --70 --97 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --16 --19 --20 --20 --19 --19 --18 --17 --17 --16 --15 --16 --15 --14 --13 --14 --13 --13 --13 --13 --13 --13 --12 --12 --11 --11 --11 --11 --12 --11 --11 --12 --10 --11 --11 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 --10 --9 --11 --10 --11 --10 -22 -76 -92 -91 -74 -53 -28 -9 --6 --16 --19 --18 --15 --11 --7 --3 --1 -0 -1 -1 --1 --1 --3 --4 --6 --5 --7 --7 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --14 --16 --17 --19 --19 --20 --19 --20 --18 --17 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --17 --20 --19 --17 --11 --7 --3 --1 -0 --1 --1 --1 --2 --3 --4 --5 --6 --7 --7 --8 --7 --7 --8 --8 --7 --8 --8 --8 --8 --9 --8 --9 --9 --9 --8 --10 --9 --9 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --11 --11 --10 --10 --10 --10 --10 --36 --73 --99 --99 --86 --67 --50 --34 --23 --17 --16 --15 --17 --18 --20 --20 --21 --20 --20 --19 --19 --17 --17 --16 --16 --15 --14 --14 --14 --13 --13 --13 --13 --12 --13 --12 --12 --12 --12 --11 --13 --12 --12 --11 --12 --11 --11 --11 --11 --11 --11 --11 --10 --11 --11 --10 --10 --10 --11 --10 --11 --10 --10 --10 -22 -77 -92 -91 -74 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -1 -1 -0 --1 --3 --4 --5 --6 --6 --5 --7 --6 --7 --6 --32 --70 --96 --97 --84 --65 --47 --31 --21 --16 --14 --13 --15 --17 --19 --19 --21 --19 --19 --18 --18 --16 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -90 -88 -72 -51 -27 -8 --7 --16 --21 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --7 --6 --7 --6 --7 --6 --6 --7 --32 --70 --96 --97 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --19 --20 --18 --18 --17 --17 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -90 -89 -73 -51 -26 -7 --8 --17 --21 --19 --17 --12 --8 --3 --1 -0 -0 --1 --1 --2 --4 --4 --5 --6 --7 --7 --7 --7 --7 --7 --8 --7 --8 --8 --8 --8 --9 --8 --8 --8 --9 --8 --9 --10 --10 --9 --10 --10 --10 --10 --10 --10 --10 --10 --10 --10 --11 --10 --10 --10 --10 --10 --35 --73 --99 --99 --86 --67 --49 --33 --23 --17 --15 --15 --17 --18 --20 --20 --21 --20 --21 --19 --19 --18 --17 --15 --15 --14 --14 --13 --15 --14 --14 --13 -19 -73 -89 -89 -72 -51 -26 -7 --8 --17 --20 --19 --17 --11 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --8 --6 --7 --7 --32 --70 --96 --97 --84 --65 --47 --31 --21 --16 --14 --13 --16 --17 --19 --19 --21 --19 --19 --18 --17 --16 --17 --15 --15 --14 --14 --13 --13 --13 --13 --13 --13 --12 --13 --12 --12 --11 --12 --11 --11 --11 --12 --11 --11 --11 --10 --10 --12 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --11 --10 --11 --10 -22 -76 -92 -91 -73 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --4 --1 -1 -0 -1 --1 --1 --3 --4 --5 --6 --6 --6 --7 --6 --7 --7 --8 --7 --8 --8 --8 --7 --9 --8 --8 --9 --9 --9 --10 --9 --9 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 --10 --10 --35 --73 --98 --98 --86 --67 --50 --34 --23 --17 --15 --14 --16 --17 --19 --20 --22 --21 --21 --19 --19 --17 --17 --15 --15 --14 --15 --14 --14 --13 --13 --13 -19 -73 -89 -88 -71 -50 -27 -7 --8 --16 --21 --19 --17 --13 --8 --4 --2 -0 -0 -0 --2 --2 --4 --5 --6 --5 --7 --6 --7 --6 --7 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --16 --14 --13 --16 --16 --18 --20 --20 --19 --20 --19 --18 --17 --16 --15 --14 --14 --13 --13 --14 --13 --13 --12 --13 --12 --12 --12 --12 --11 --12 --11 --11 --12 --11 --11 --11 --11 --11 --11 --12 --11 --11 --10 --10 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --9 -22 -76 -92 -90 -74 -53 -29 -9 --6 --15 --20 --19 --16 --11 --7 --3 --1 -1 -1 -1 --1 --2 --4 --4 --5 --4 --6 --5 --6 --7 --8 --7 --32 --70 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --16 --18 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --13 --14 --13 --14 --12 -20 -74 -90 -89 -71 -51 -27 -8 --7 --17 --20 --20 --18 --12 --7 --3 --1 -1 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --19 --18 --17 --16 --15 --14 --13 --14 --13 --14 --13 --13 --12 -19 -73 -90 -89 -71 -51 -27 -7 --8 --16 --20 --19 --16 --12 --8 --4 --2 -0 -0 -0 --1 --2 --3 --5 --6 --5 --7 --6 --7 --7 --7 --6 --7 --8 --8 --7 --8 --7 --8 --9 --9 --9 --9 --9 --10 --10 --10 --9 --9 --9 --10 --8 --10 --10 --10 --10 --10 --10 --9 --10 --10 --10 --11 --10 --35 --73 --98 --98 --85 --66 --49 --34 --23 --17 --15 --15 --16 --17 --19 --20 --22 --21 --20 --19 --18 --16 --17 --15 --15 --14 --15 --14 --14 --14 --13 --13 --13 --13 --13 --13 --13 --12 --12 --11 --11 --11 --12 --11 --12 --11 --11 --10 --12 --11 --11 --10 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 -21 -75 -92 -91 -74 -53 -29 -9 --6 --15 --20 --19 --16 --11 --7 --2 --1 -0 -0 -1 --1 --1 --3 --4 --5 --5 --7 --6 --7 --6 --7 --7 --7 --7 --7 --7 --8 --8 --9 --8 --8 --8 --9 --9 --9 --9 --10 --9 --10 --9 --9 --9 --10 --9 --10 --9 --10 --10 --10 --9 --10 --10 --10 --10 --35 --73 --99 --99 --86 --66 --49 --34 --23 --17 --15 --15 --17 --18 --20 --20 --21 --20 --20 --19 --19 --17 --17 --15 --15 --14 --15 --14 --14 --14 --14 --13 -18 -73 -89 -88 -72 -51 -27 -7 --8 --17 --21 --19 --16 --12 --8 --3 --2 -0 -0 --1 --2 --2 --4 --5 --5 --5 --7 --7 --7 --7 --8 --7 --33 --71 --96 --80 --84 --65 --47 --33 --22 --15 --13 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --14 --13 --13 --13 --12 -19 -73 -89 -89 -72 -51 -27 -8 --8 --16 --21 --20 --17 --11 --8 --3 --1 -0 -0 -0 --1 --3 --4 --4 --5 --5 --6 --7 --7 --7 --8 --7 --33 --71 --96 --80 --83 --65 --48 --33 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --12 -19 -73 -89 -89 -71 -51 -27 -7 --8 --17 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --1 --2 --4 --5 --6 --5 --6 --6 --7 --7 --8 --7 --32 --71 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --16 --19 --19 --20 --21 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -20 -73 -90 -89 -72 -50 -27 -8 --8 --16 --20 --20 --17 --12 --8 --4 --1 -1 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --6 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --18 --18 --16 --16 --15 --15 --14 --15 --13 --13 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --16 --11 --8 --4 --2 -0 -0 -0 --2 --2 --3 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --71 --97 --80 --83 --65 --47 --32 --22 --16 --14 --14 --15 --16 --19 --19 --20 --19 --19 --18 --17 --17 --16 --15 --15 --13 --13 --14 --14 --13 --13 --13 --13 --12 --13 --11 --12 --12 --12 --11 --12 --11 --12 --11 --11 --10 --11 --11 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --10 --11 --10 --10 -22 -76 -92 -91 -73 -53 -29 -9 --6 --15 --19 --19 --16 --11 --8 --3 --1 -1 -0 -1 --1 --2 --3 --4 --5 --6 --6 --6 --6 --6 --7 --7 --7 --7 --8 --7 --9 --8 --8 --8 --9 --9 --9 --9 --9 --9 --10 --9 --9 --10 --10 --10 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --11 --10 --35 --73 --99 --98 --85 --67 --49 --34 --24 --17 --15 --15 --17 --17 --20 --21 --21 --21 --21 --19 --18 --17 --16 --14 --15 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --12 --11 --12 --11 --12 --11 --12 --11 --11 --10 --11 --10 --11 --10 --11 --11 --11 --11 --10 --10 --11 --10 --10 --11 --11 --10 -22 -76 -93 -92 -74 -53 -29 -9 --7 --15 --20 --19 --15 --11 --7 --3 --1 -0 -0 -1 --2 --2 --3 --3 --5 --5 --6 --7 --7 --6 --7 --6 --7 --7 --8 --8 --9 --8 --9 --8 --9 --8 --8 --9 --9 --8 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 --35 --73 --99 --98 --85 --67 --49 --33 --24 --17 --15 --15 --17 --17 --19 --20 --20 --20 --20 --19 --18 --18 --17 --15 --16 --15 --14 --13 --14 --13 --13 --13 -19 -73 -88 -88 -71 -51 -26 -7 --8 --17 --21 --20 --17 --12 --8 --3 --1 -0 --1 --1 --2 --2 --3 --5 --6 --5 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --14 --15 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --15 --15 --13 --14 --13 --13 --13 --14 --13 --13 --12 --12 --12 --12 --11 --11 --11 --12 --11 --12 --12 --12 --11 --11 --11 --11 --10 --11 --10 --10 --11 --10 --10 --11 --10 --10 --10 --11 --10 --10 --10 -21 -76 -91 -91 -74 -52 -28 -9 --7 --15 --19 --18 --16 --10 --7 --3 --1 -1 -0 -1 --1 --2 --3 --3 --5 --5 --6 --6 --7 --6 --7 --7 --32 --70 --96 --80 --83 --64 --47 --32 --21 --15 --13 --13 --15 --17 --19 --19 --20 --20 --19 --17 --18 --17 --16 --15 --15 --14 --14 --13 --13 --12 --13 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --16 --20 --20 --17 --11 --8 --3 --1 -0 -0 -0 --1 --3 --4 --4 --6 --5 --6 --7 --7 --7 --7 --7 --7 --7 --8 --7 --8 --8 --9 --8 --10 --9 --9 --9 --9 --9 --9 --10 --10 --9 --10 --9 --10 --10 --10 --9 --11 --10 --10 --10 --10 --10 --10 --10 --35 --73 --99 --98 --85 --67 --49 --33 --24 --17 --15 --15 --17 --18 --19 --21 --21 --20 --20 --19 --18 --17 --17 --15 --15 --15 --14 --13 --14 --13 --14 --14 -18 -73 -89 -88 -72 -51 -27 -7 --8 --17 --21 --19 --17 --11 --8 --3 --1 -0 --1 --1 --2 --2 --3 --4 --6 --5 --6 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --14 --15 --17 --19 --19 --20 --19 --20 --18 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --17 --20 --19 --17 --12 --7 --4 --1 -0 --1 -0 --1 --3 --4 --4 --5 --5 --6 --6 --7 --6 --7 --7 --32 --70 --96 --79 --83 --65 --48 --32 --22 --16 --13 --13 --16 --16 --19 --20 --21 --20 --19 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --12 -19 -73 -89 -88 -72 -51 -27 -7 --7 --17 --21 --20 --17 --11 --8 --3 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --6 --7 --7 --7 --8 --7 --33 --70 --96 --80 --82 --64 --47 --32 --22 --16 --13 --13 --15 --17 --18 --19 --20 --19 --21 --19 --18 --17 --16 --14 --15 --14 --14 --13 --14 --13 --13 --13 -20 -74 -89 -89 -72 -50 -26 -7 --8 --17 --20 --19 --17 --11 --7 --4 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --6 --7 --8 --33 --70 --96 --80 --83 --64 --47 --32 --22 --16 --14 --14 --16 --17 --19 --19 --20 --19 --19 --19 --17 --16 --16 --15 --15 --14 --14 --14 --14 --13 --14 --12 -20 -74 -90 -89 -72 -51 -27 -7 --9 --17 --20 --20 --16 --11 --8 --3 --2 -0 --1 -0 --1 --2 --3 --4 --6 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --21 --15 --13 --13 --16 --17 --18 --19 --20 --19 --20 --18 --18 --17 --17 --15 --14 --14 --14 --13 --14 --13 --13 --14 -19 -73 -90 -89 -72 -51 -26 -7 --8 --17 --21 --19 --16 --11 --7 --3 --2 -0 -0 --1 --2 --2 --5 --4 --6 --6 --7 --6 --7 --7 --8 --6 --33 --70 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --17 --18 --16 --16 --15 --15 --14 --15 --13 --13 --12 --13 --13 -19 -73 -89 -89 -72 -51 -27 -7 --9 --17 --21 --19 --17 --11 --7 --4 --1 -0 --1 --1 --2 --3 --4 --4 --5 --6 --7 --6 --8 --7 --7 --7 --32 --70 --96 --80 --84 --65 --48 --32 --22 --15 --13 --13 --15 --16 --19 --20 --21 --20 --19 --18 --17 --16 --17 --15 --15 --14 --14 --13 --14 --13 --13 --12 -19 -73 -89 -87 -71 -50 -26 -7 --7 --16 --21 --19 --16 --12 --8 --3 --2 -0 -0 --1 --2 --2 --4 --5 --5 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --14 --13 --14 --13 --14 --13 --13 --12 --12 --12 --13 --12 --12 --11 --12 --11 --11 --11 --11 --11 --12 --11 --11 --11 --11 --10 --10 --11 --11 --10 --11 --10 --11 --11 --10 --9 --10 --10 --11 --10 -21 -75 -92 -90 -74 -53 -28 -9 --7 --15 --20 --18 --15 --11 --6 --2 --1 -1 -1 -1 --1 --2 --3 --4 --5 --5 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --33 --23 --15 --13 --13 --15 --16 --19 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 -19 -72 -89 -89 -71 -51 -27 -8 --8 --16 --20 --20 --17 --12 --8 --3 --1 -1 -0 -0 --1 --3 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --16 --13 --13 --16 --17 --18 --20 --20 --20 --20 --18 --18 --16 --16 --14 --14 --14 --14 --13 --14 --13 --13 --13 -19 -73 -90 -88 -72 -51 -26 -8 --8 --17 --20 --19 --17 --12 --8 --3 --1 -1 -0 --1 --1 --2 --5 --5 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --18 --19 --21 --20 --20 --19 --18 --16 --16 --15 --15 --14 --14 --14 --14 --14 --13 --13 -19 -73 -89 -89 -71 -50 -26 -7 --8 --16 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --3 --4 --6 --6 --7 --6 --7 --6 --7 --7 --32 --70 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --16 --17 --19 --20 --20 --19 --20 --19 --18 --17 --17 --15 --14 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -26 -7 --8 --17 --21 --19 --16 --12 --8 --3 --2 -0 -0 --1 --2 --2 --4 --5 --5 --5 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --20 --21 --20 --19 --18 --18 --16 --15 --15 --15 --14 --15 --14 --13 --13 --13 --12 -19 -73 -89 -89 -71 -51 -27 -7 --7 --16 --21 --20 --17 --11 --8 --3 --1 -1 -0 -0 --2 --2 --4 --4 --5 --6 --6 --6 --7 --7 --7 --7 --8 --7 --8 --8 --8 --8 --10 --9 --9 --9 --9 --8 --10 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --11 --10 --10 --10 --10 --9 --35 --73 --98 --98 --86 --67 --49 --34 --23 --17 --16 --15 --17 --18 --20 --20 --22 --21 --20 --19 --18 --17 --16 --16 --15 --14 --15 --13 --13 --13 --13 --13 --14 --13 --13 --12 --13 --12 --12 --12 --12 --11 --12 --11 --12 --11 --11 --10 --11 --11 --11 --11 --12 --10 --10 --10 --10 --10 --11 --11 --11 --10 --11 --10 -22 -76 -92 -91 -73 -52 -28 -8 --7 --15 --19 --18 --16 --11 --7 --3 --1 -0 -0 -1 --1 --1 --3 --4 --5 --6 --7 --6 --7 --7 --7 --6 --32 --71 --96 --80 --83 --64 --47 --32 --21 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --19 --18 --17 --17 --15 --14 --13 --14 --13 --14 --14 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --12 --8 --3 --2 --1 -0 -0 --1 --1 --3 --5 --5 --6 --7 --7 --7 --7 --7 --7 --8 --7 --8 --8 --9 --8 --8 --9 --9 --8 --9 --9 --9 --9 --10 --9 --10 --10 --9 --9 --10 --9 --10 --10 --10 --9 --10 --10 --10 --9 --10 --10 --35 --73 --99 --98 --86 --67 --49 --33 --24 --17 --15 --15 --17 --18 --19 --20 --21 --21 --21 --19 --19 --17 --17 --15 --15 --14 --15 --14 --14 --13 --13 --12 --13 --12 --12 --13 --12 --12 --13 --12 --11 --11 --11 --10 --11 --11 --11 --11 --12 --11 --11 --11 --11 --11 --11 --11 --11 --10 --11 --10 --10 --10 --10 --9 -22 -76 -92 -91 -73 -52 -29 -9 --6 --15 --19 --19 --16 --12 --7 --2 --1 -1 -1 -1 --1 --2 --3 --5 --5 --5 --7 --6 --7 --6 --7 --7 --32 --70 --96 --79 --83 --65 --47 --33 --23 --16 --14 --13 --15 --16 --19 --19 --20 --20 --19 --18 --18 --16 --15 --15 --15 --14 --14 --14 --13 --13 --13 --13 -19 -73 -89 -88 -71 -51 -27 -8 --7 --16 --20 --19 --17 --12 --8 --4 --2 -1 -1 -0 --1 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --6 --32 --70 --96 --80 --83 --64 --47 --32 --22 --15 --14 --14 --15 --17 --19 --19 --21 --20 --20 --18 --18 --17 --16 --15 --15 --13 --14 --13 --14 --14 --14 --12 -20 -73 -90 -89 -71 -51 -27 -7 --8 --16 --21 --20 --17 --12 --8 --3 --1 -0 -0 -1 --1 --2 --3 --5 --6 --5 --7 --7 --7 --6 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --14 --15 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --16 --13 --14 --13 --13 --13 --14 --13 -19 -73 -89 -89 -72 -51 -27 -7 --8 --17 --21 --19 --16 --12 --7 --2 --2 -0 -0 --1 --1 --2 --3 --4 --5 --6 --7 --7 --7 --7 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --14 --15 --13 --13 --13 --13 --13 -19 -73 -89 -89 -72 -51 -27 -7 --8 --16 --20 --19 --17 --12 --8 --4 --1 -0 -0 -0 --2 --2 --4 --4 --6 --5 --6 --7 --7 --6 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --23 --15 --13 --13 --15 --17 --19 --20 --21 --20 --20 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --12 --12 --12 -19 -73 -90 -88 -72 -50 -27 -8 --7 --16 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --6 --5 --7 --6 --7 --7 --8 --7 --32 --70 --96 --79 --83 --65 --47 --33 --22 --15 --14 --13 --15 --16 --18 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --13 --13 --14 --13 -20 -73 -89 -89 -71 -51 -27 -8 --8 --16 --20 --20 --16 --11 --8 --3 --1 -0 -0 -0 --1 --2 --4 --4 --6 --5 --6 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --23 --16 --14 --14 --16 --17 --19 --19 --20 --20 --21 --19 --18 --17 --15 --14 --15 --14 --14 --14 --14 --13 --13 --12 -20 -74 -90 -89 -71 -50 -27 -7 --7 --16 --20 --19 --16 --12 --8 --3 --1 -0 -0 -0 --1 --2 --3 --4 --5 --5 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --33 --22 --15 --14 --13 --15 --16 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --13 --14 --14 --14 --13 --13 --13 -20 -73 -90 -89 -72 -50 -27 -8 --8 --16 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --79 --83 --65 --47 --32 --23 --16 --14 --14 --16 --17 --18 --19 --20 --19 --20 --19 --18 --17 --17 --15 --14 --14 --13 --13 --13 --13 --13 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --16 --21 --19 --16 --11 --8 --3 --2 -0 -0 -0 --1 --1 --3 --4 --6 --6 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --14 --15 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --16 --14 --14 --13 --13 --13 --14 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --17 --21 --20 --17 --11 --7 --3 --1 -1 --1 -0 --1 --2 --4 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --19 --20 --18 --17 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --12 -20 -73 -90 -89 -71 -51 -27 -7 --8 --16 --21 --20 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --4 --6 --5 --6 --6 --7 --6 --8 --7 --32 --71 --96 --80 --83 --65 --47 --32 --22 --16 --14 --14 --15 --16 --19 --19 --20 --19 --20 --18 --17 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -20 -74 -89 -89 -72 -50 -26 -7 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --6 --6 --8 --7 --7 --7 --8 --7 --8 --8 --8 --8 --9 --8 --9 --9 --9 --9 --10 --9 --9 --10 --9 --9 --10 --10 --10 --10 --10 --10 --10 --9 --10 --9 --10 --10 --11 --10 --35 --73 --98 --98 --86 --67 --49 --34 --24 --17 --15 --15 --17 --17 --20 --21 --21 --21 --21 --19 --18 --17 --16 --15 --16 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -88 -71 -50 -27 -8 --8 --17 --20 --20 --17 --12 --8 --4 --1 -0 -0 -0 --1 --3 --4 --4 --6 --6 --6 --6 --7 --6 --7 --7 --33 --71 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --16 --17 --18 --19 --20 --19 --20 --19 --18 --16 --16 --15 --15 --14 --14 --13 --14 --13 --14 --14 -19 -73 -90 -88 -72 -51 -26 -7 --8 --17 --21 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --3 --5 --6 --6 --7 --7 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --13 --14 --13 --13 --12 --13 --12 --12 --11 --12 --11 --13 --12 --12 --11 --12 --11 --10 --11 --11 --10 --11 --10 --11 --11 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 -22 -76 -92 -91 -74 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -1 -1 --1 --1 --4 --5 --6 --6 --6 --6 --8 --7 --7 --7 --33 --71 --96 --97 --83 --64 --47 --32 --22 --16 --14 --13 --15 --16 --18 --19 --20 --19 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --14 --13 -19 -74 -89 -89 -72 -51 -27 -8 --8 --16 --20 --20 --17 --11 --7 --3 --2 -0 --1 -0 --1 --2 --3 --3 --6 --6 --7 --7 --7 --6 --7 --7 --7 --7 --8 --8 --9 --9 --9 --8 --9 --9 --9 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --9 --10 --10 --10 --9 --10 --10 --10 --11 --35 --73 --98 --98 --85 --67 --49 --34 --23 --17 --15 --14 --17 --17 --19 --20 --22 --21 --20 --20 --18 --17 --17 --15 --15 --15 --15 --14 --14 --14 --14 --13 --13 --12 --13 --12 --12 --12 --13 --12 --12 --11 --12 --11 --11 --11 --12 --11 --11 --10 --11 --10 --10 --11 --11 --10 --11 --10 --10 --11 --11 --10 --10 --10 -22 -76 -91 -91 -74 -52 -29 -10 --6 --15 --19 --18 --16 --11 --7 --3 -0 -1 -1 -1 --1 --2 --3 --3 --5 --5 --6 --6 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --16 --14 --13 --15 --16 --18 --20 --21 --20 --20 --18 --17 --16 --16 --15 --14 --14 --14 --13 --14 --13 --13 --12 -19 -73 -90 -88 -72 -51 -27 -8 --7 --17 --21 --20 --17 --12 --8 --3 --2 -0 -0 -0 --1 --2 --5 --4 --5 --5 --6 --6 --7 --7 --7 --7 --33 --71 --96 --97 --83 --65 --48 --33 --22 --15 --13 --13 --15 --17 --19 --19 --21 --20 --20 --18 --17 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -20 -74 -90 -89 -72 -49 -26 -7 --8 --16 --20 --19 --17 --12 --8 --4 --1 -0 --1 -0 --1 --2 --3 --4 --5 --7 --7 --6 --7 --6 --7 --7 --8 --7 --8 --8 --7 --7 --9 --8 --8 --9 --9 --9 --10 --9 --10 --9 --10 --9 --10 --10 --11 --10 --11 --10 --10 --10 --10 --10 --10 --10 --11 --10 --35 --73 --98 --98 --85 --67 --50 --34 --24 --17 --15 --14 --15 --18 --20 --20 --22 --21 --20 --19 --19 --17 --16 --15 --15 --14 --15 --14 --14 --14 --13 --13 -18 -73 -89 -88 -71 -50 -26 -8 --8 --16 --20 --19 --17 --12 --8 --5 --2 -0 -0 -0 --1 --3 --4 --4 --6 --6 --6 --6 --8 --6 --7 --7 --33 --71 --97 --97 --83 --65 --47 --32 --22 --16 --14 --13 --15 --16 --19 --20 --21 --20 --20 --19 --18 --16 --16 --15 --15 --14 --14 --14 --15 --13 --13 --12 --13 --12 --12 --12 --12 --11 --12 --11 --11 --12 --12 --11 --11 --11 --12 --11 --12 --11 --11 --10 --10 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 -22 -76 -92 -89 -74 -53 -29 -10 --6 --15 --20 --19 --16 --11 --6 --3 --1 -1 -1 -1 --1 --2 --3 --4 --5 --5 --6 --6 --7 --7 --7 --7 --7 --7 --7 --7 --8 --8 --9 --9 --9 --8 --9 --8 --9 --8 --9 --10 --9 --9 --10 --9 --10 --9 --10 --9 --10 --10 --10 --10 --10 --9 --10 --10 --35 --73 --98 --99 --86 --66 --49 --33 --23 --17 --15 --14 --17 --18 --20 --20 --21 --20 --20 --19 --18 --17 --17 --15 --15 --15 --14 --13 --13 --13 --13 --13 -18 -73 -89 -88 -71 -51 -26 -7 --8 --17 --21 --19 --16 --12 --8 --3 --2 -0 --1 --1 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --7 --33 --71 --97 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --18 --19 --20 --21 --20 --19 --17 --18 --16 --16 --15 --15 --13 --14 --13 --14 --13 --13 --12 --13 --12 --13 --12 --12 --11 --11 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --9 --11 --10 --11 --10 -21 -76 -92 -91 -74 -53 -28 -9 --6 --16 --20 --18 --16 --11 --7 --3 --1 -1 -1 -0 --1 --1 --4 --4 --6 --5 --7 --6 --6 --7 --7 --6 --32 --70 --96 --97 --83 --65 --47 --31 --21 --15 --14 --13 --15 --17 --19 --19 --21 --19 --19 --18 --18 --17 --16 --15 --15 --13 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -27 -8 --8 --16 --21 --20 --17 --12 --8 --3 --1 --1 --1 -0 --2 --2 --3 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --97 --84 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --19 --21 --19 --19 --19 --18 --16 --17 --15 --15 --15 --14 --13 --13 --13 --13 --13 -18 -73 -89 -89 -72 -51 -26 -8 --8 --17 --21 --20 --17 --12 --8 --3 --2 -0 -0 --1 --1 --2 --3 --4 --5 --5 --7 --7 --7 --7 --7 --7 --8 --7 --7 --7 --9 --8 --9 --9 --9 --8 --9 --8 --9 --10 --10 --10 --10 --10 --10 --9 --11 --10 --10 --10 --10 --9 --11 --10 --10 --9 --10 --10 --35 --73 --98 --98 --85 --66 --49 --34 --24 --17 --15 --15 --17 --18 --20 --20 --21 --21 --20 --19 --19 --17 --17 --15 --15 --14 --14 --13 --14 --13 --14 --13 --13 --12 --12 --12 --12 --11 --12 --11 --12 --12 --12 --11 --11 --11 --11 --10 --12 --11 --11 --10 --10 --10 --11 --11 --11 --11 --11 --10 --10 --10 --10 --9 -22 -76 -92 -90 -74 -52 -28 -9 --6 --15 --20 --19 --16 --11 --7 --2 --1 -1 -1 -0 --1 --2 --3 --5 --5 --5 --6 --6 --6 --7 --7 --7 --7 --7 --7 --7 --9 --7 --9 --9 --9 --9 --10 --9 --9 --9 --9 --8 --9 --10 --10 --10 --11 --10 --10 --10 --10 --10 --10 --10 --10 --10 --11 --10 --35 --73 --98 --98 --86 --67 --49 --34 --23 --17 --15 --15 --16 --17 --20 --21 --22 --21 --20 --19 --18 --17 --17 --16 --15 --15 --15 --13 --14 --13 --13 --13 -18 -73 -89 -88 -72 -51 -26 -7 --8 --17 --21 --19 --17 --12 --7 --3 --2 -0 --1 --1 --2 --2 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --18 --19 --20 --20 --19 --18 --18 --16 --15 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -71 -51 -27 -7 --7 --16 --20 --19 --16 --12 --9 --3 --1 -0 -0 -1 --2 --2 --4 --5 --6 --6 --6 --7 --7 --7 --8 --7 --33 --71 --97 --80 --83 --64 --47 --32 --23 --16 --14 --14 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --14 --13 --12 -20 -74 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --12 --8 --3 --2 --1 -0 -0 --1 --2 --4 --5 --6 --5 --7 --6 --6 --7 --7 --7 --32 --71 --96 --80 --84 --65 --47 --32 --21 --15 --15 --14 --15 --17 --19 --19 --21 --20 --20 --18 --18 --16 --16 --15 --15 --13 --14 --14 --14 --13 --14 --12 -20 -73 -90 -89 -71 -51 -27 -8 --8 --16 --20 --20 --16 --11 --7 --4 --1 --1 --1 -0 --2 --2 --3 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --97 --80 --84 --66 --47 --32 --22 --15 --13 --13 --15 --16 --19 --19 --20 --19 --19 --18 --17 --17 --16 --15 --15 --14 --15 --13 --13 --13 --13 --12 -18 -73 -89 -89 -72 -51 -27 -7 --7 --17 --21 --19 --16 --12 --8 --3 --2 -0 -0 --1 --2 --2 --3 --4 --5 --5 --7 --7 --7 --7 --8 --7 --32 --71 --96 --79 --83 --65 --47 --33 --23 --16 --14 --13 --15 --17 --19 --20 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --13 --13 --13 --12 --12 --13 --13 --12 --12 --11 --12 --11 --12 --11 --11 --11 --12 --11 --12 --11 --11 --10 --11 --10 --11 --11 --11 --10 --11 --10 --10 --11 --11 --11 --11 --10 -22 -76 -92 -91 -74 -52 -28 -9 --7 --15 --19 --18 --16 --11 --7 --3 --1 -0 -0 -0 --1 --1 --3 --4 --5 --5 --6 --6 --6 --7 --7 --6 --7 --7 --7 --7 --8 --8 --9 --8 --9 --8 --9 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 --35 --73 --99 --98 --86 --67 --49 --33 --23 --17 --15 --15 --16 --17 --20 --20 --20 --21 --21 --19 --18 --17 --16 --15 --16 --14 --14 --14 --14 --13 --14 --13 --13 --12 --13 --12 --12 --13 --12 --12 --12 --11 --11 --11 --12 --11 --11 --11 --11 --11 --11 --10 --10 --10 --10 --10 --11 --11 --11 --10 --11 --10 --10 --10 -22 -76 -91 -90 -74 -51 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -1 -1 --1 --2 --3 --4 --5 --5 --7 --6 --7 --7 --7 --7 --7 --7 --8 --7 --8 --7 --8 --9 --9 --9 --9 --9 --9 --8 --10 --9 --10 --10 --10 --9 --10 --9 --10 --9 --10 --9 --10 --11 --10 --10 --11 --10 --34 --73 --99 --99 --85 --67 --49 --33 --24 --17 --15 --15 --17 --18 --21 --21 --21 --20 --20 --19 --18 --17 --17 --15 --16 --15 --15 --14 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -8 --8 --17 --21 --20 --17 --12 --8 --4 --2 -0 -0 -0 --2 --3 --4 --4 --5 --5 --6 --6 --8 --7 --8 --8 --33 --71 --97 --97 --83 --65 --48 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --17 --17 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 --13 --13 --13 --13 --13 --12 --12 --11 --12 --11 --11 --11 --11 --11 --12 --10 --11 --11 --11 --10 --11 --10 --11 --10 --11 --9 --10 --9 --10 --9 --11 --10 -22 -76 -92 -91 -74 -52 -29 -9 --7 --15 --20 --19 --16 --10 --7 --3 --1 -1 -0 -0 --1 --2 --3 --4 --5 --5 --6 --6 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --47 --31 --21 --15 --13 --13 --16 --17 --19 --20 --20 --19 --19 --18 --18 --16 --16 --15 --15 --15 --14 --13 --13 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -8 --8 --16 --21 --20 --16 --11 --8 --3 --1 -0 -0 -0 --2 --2 --4 --4 --6 --6 --6 --6 --7 --7 --8 --7 --7 --8 --8 --7 --8 --8 --9 --9 --9 --9 --9 --8 --9 --9 --10 --9 --10 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 --35 --73 --99 --98 --85 --67 --49 --33 --24 --17 --15 --15 --17 --18 --20 --21 --21 --20 --20 --19 --18 --18 --17 --15 --15 --15 --15 --13 --14 --13 --14 --13 -19 -73 -89 -89 -72 -51 -27 -7 --8 --17 --21 --19 --17 --11 --7 --5 --2 -0 -0 -0 --1 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --15 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --14 --13 -19 -73 -89 -88 -72 -51 -27 -8 --8 --17 --21 --20 --17 --11 --8 --4 --1 -1 --1 --1 --2 --2 --4 --4 --6 --6 --7 --7 --7 --7 --7 --8 --32 --70 --96 --80 --83 --65 --47 --32 --21 --15 --13 --13 --15 --17 --19 --20 --20 --19 --20 --18 --17 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -27 -8 --7 --17 --21 --19 --17 --12 --8 --3 --1 -1 -0 --1 --1 --2 --5 --4 --5 --6 --7 --6 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --16 --19 --19 --20 --20 --20 --18 --17 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -88 -72 -50 -27 -8 --8 --16 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --6 --7 --7 --33 --70 --97 --80 --83 --65 --47 --32 --22 --16 --13 --13 --15 --17 --18 --20 --20 --19 --19 --18 --18 --17 --17 --15 --14 --14 --14 --13 --14 --13 --14 --13 -19 -73 -90 -88 -72 -51 -27 -8 --8 --17 --21 --19 --17 --12 --8 --3 --2 -0 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --6 --6 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --14 --15 --17 --19 --20 --20 --19 --20 --18 --18 --17 --16 --15 --15 --14 --13 --13 --13 --13 --13 --13 -19 -73 -89 -88 -71 -50 -26 -7 --8 --17 --20 --19 --17 --11 --7 --3 --1 -0 --1 --1 --1 --2 --4 --4 --5 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --19 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --12 -18 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --17 --12 --8 --4 --1 -0 -0 -0 --2 --2 --4 --5 --6 --6 --7 --6 --7 --7 --8 --7 --33 --70 --96 --79 --82 --64 --47 --32 --23 --15 --13 --13 --15 --16 --18 --20 --21 --19 --20 --18 --17 --17 --16 --15 --15 --14 --15 --14 --14 --13 --13 --12 -19 -73 -89 -88 -71 -50 -27 -8 --8 --17 --20 --19 --16 --11 --8 --4 --1 -1 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --6 --7 --7 --32 --70 --96 --97 --83 --64 --48 --32 --22 --16 --14 --13 --16 --17 --18 --19 --21 --19 --19 --19 --18 --16 --17 --15 --14 --14 --14 --13 --13 --14 --13 --12 --13 --12 --12 --12 --12 --11 --12 --11 --11 --11 --12 --11 --11 --11 --11 --11 --12 --11 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 --10 --10 --10 --10 -22 -76 -91 -91 -74 -52 -29 -10 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -0 -0 --1 --2 --4 --4 --5 --5 --6 --6 --7 --6 --7 --8 --32 --70 --96 --80 --82 --65 --47 --32 --22 --16 --14 --13 --16 --17 --18 --19 --20 --19 --20 --19 --18 --16 --16 --15 --14 --14 --14 --13 --14 --13 --13 --12 -19 -73 -90 -88 -71 -51 -26 -7 --7 --16 --20 --19 --16 --12 --8 --3 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -73 -51 -26 -8 --8 --17 --21 --19 --17 --11 --8 --5 --2 -0 --1 --1 --1 --2 --4 --4 --6 --6 --7 --6 --8 --7 --7 --7 --33 --71 --96 --97 --83 --65 --47 --32 --22 --16 --14 --14 --16 --17 --19 --19 --21 --19 --19 --19 --18 --17 --17 --15 --15 --14 --14 --13 --13 --13 --13 --12 -19 -73 -90 -88 -72 -51 -27 -7 --8 --17 --21 --19 --16 --11 --7 --3 --2 -0 -0 --1 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --14 --14 --13 --15 --17 --19 --19 --20 --19 --19 --18 --18 --17 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -73 -51 -27 -8 --8 --17 --20 --19 --17 --12 --8 --3 --1 -0 -0 --1 --1 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --33 --70 --96 --80 --83 --65 --48 --33 --22 --16 --14 --13 --15 --16 --18 --19 --21 --20 --20 --19 --18 --16 --16 --15 --15 --14 --15 --13 --14 --13 --13 --12 -19 -73 -90 -88 -71 -51 -27 -7 --7 --16 --21 --19 --16 --13 --8 --4 --1 -0 -0 -0 --2 --2 --4 --5 --6 --5 --7 --6 --7 --7 --8 --7 --8 --7 --7 --7 --8 --7 --8 --9 --10 --9 --9 --9 --9 --9 --9 --9 --10 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --11 --10 --35 --73 --98 --98 --85 --67 --50 --34 --23 --17 --14 --14 --17 --18 --20 --21 --22 --20 --20 --19 --18 --17 --17 --16 --16 --15 --15 --13 --14 --14 --13 --13 --14 --12 --12 --13 --12 --11 --12 --11 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --11 --11 --10 --10 --10 --10 --10 --10 --10 --10 --11 --11 --10 -22 -76 -92 -91 -74 -52 -28 -8 --7 --15 --20 --18 --15 --11 --7 --3 --1 -0 -1 -1 --1 --1 --3 --5 --6 --5 --7 --7 --7 --6 --7 --6 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --19 --20 --19 --19 --19 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --14 --12 -19 -73 -90 -89 -72 -51 -26 -7 --8 --17 --21 --19 --16 --11 --8 --3 --2 -0 -0 --1 --2 --2 --4 --4 --6 --6 --8 --7 --7 --7 --7 --7 --8 --7 --7 --8 --9 --8 --9 --9 --9 --8 --9 --8 --9 --10 --10 --9 --10 --9 --9 --9 --10 --9 --10 --11 --10 --10 --11 --9 --10 --10 --10 --9 --35 --73 --99 --98 --86 --66 --49 --34 --24 --17 --16 --15 --16 --17 --20 --20 --21 --21 --21 --19 --19 --17 --16 --16 --15 --15 --14 --14 --14 --13 --14 --13 --13 --13 --13 --12 --13 --12 --12 --12 --12 --11 --11 --11 --12 --11 --11 --11 --12 --11 --11 --11 --10 --9 --11 --10 --10 --11 --11 --10 --10 --10 --10 --10 -22 -76 -92 -90 -73 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --2 -1 -1 -0 --1 --2 --3 --4 --5 --5 --6 --6 --7 --7 --8 --7 --33 --71 --96 --79 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --15 --13 --14 --13 --13 --12 -20 -73 -90 -89 -71 -50 -26 -7 --8 --16 --20 --19 --16 --12 --8 --4 --1 -0 -0 -1 --1 --2 --4 --5 --7 --6 --6 --7 --7 --6 --7 --6 --32 --71 --97 --80 --84 --65 --47 --32 --22 --16 --14 --14 --15 --17 --18 --19 --20 --19 --19 --19 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -90 -88 -71 -51 -27 -7 --8 --16 --20 --19 --16 --12 --8 --4 --2 -0 -0 -1 --1 --1 --3 --5 --6 --6 --7 --7 --7 --7 --7 --6 --32 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --15 --15 --13 --14 --14 --14 --13 --14 --12 -20 -73 -90 -89 -72 -51 -27 -7 --8 --17 --20 --19 --16 --11 --8 --3 --2 -0 --1 -0 --1 --2 --3 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --21 --20 --20 --19 --18 --17 --17 --15 --15 --14 --14 --13 --13 --13 --13 --13 -18 -73 -89 -89 -72 -51 -27 -7 --8 --17 --22 --19 --16 --12 --8 --3 --1 -0 -0 -0 --2 --2 --3 --4 --5 --5 --7 --7 --8 --7 --8 --7 --32 --70 --96 --79 --84 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --20 --21 --20 --20 --18 --18 --17 --16 --15 --15 --13 --13 --13 --13 --12 --14 --13 -19 -73 -89 -89 -72 -51 -28 -8 --8 --16 --20 --20 --17 --11 --8 --3 --1 -1 -0 -0 --1 --3 --4 --4 --6 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --14 --17 --19 --19 --21 --20 --20 --18 --18 --16 --16 --15 --15 --14 --15 --13 --14 --13 --13 --12 -20 -73 -89 -88 -71 -51 -27 -7 --8 --16 --21 --20 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --6 --5 --6 --6 --6 --6 --8 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --16 --14 --14 --15 --16 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -20 -74 -90 -89 -72 -50 -27 -7 --8 --16 --20 --20 --16 --11 --7 --3 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --15 --17 --19 --19 --20 --20 --20 --19 --19 --17 --16 --15 --15 --13 --14 --13 --13 --13 --14 --13 -19 -73 -89 -89 -71 -51 -27 -7 --9 --17 --21 --20 --16 --11 --8 --3 --1 -0 -0 -0 --2 --2 --3 --4 --5 --5 --6 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --19 --19 --18 --17 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --17 --21 --19 --17 --11 --8 --4 --1 -0 --1 --1 --1 --3 --4 --4 --5 --6 --7 --7 --8 --7 --7 --7 --32 --70 --95 --79 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --20 --21 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --13 --13 --14 --13 -19 -73 -89 -89 -71 -51 -27 -8 --8 --16 --20 --20 --17 --11 --8 --3 --1 -0 -0 -0 --2 --3 --4 --4 --6 --5 --6 --7 --7 --7 --8 --7 --32 --71 --96 --80 --83 --65 --48 --32 --23 --16 --14 --14 --16 --17 --19 --20 --20 --20 --20 --19 --17 --17 --16 --14 --15 --14 --14 --13 --14 --13 --13 --13 -20 -74 -89 -89 -72 -50 -27 -8 --7 --16 --20 --19 --17 --12 --7 --4 --2 -0 --1 -0 --1 --2 --4 --4 --6 --6 --6 --6 --7 --7 --8 --7 --32 --70 --96 --79 --83 --65 --47 --33 --22 --16 --14 --13 --15 --16 --19 --19 --20 --20 --20 --18 --18 --17 --16 --14 --15 --13 --14 --14 --14 --13 --14 --13 -20 -73 -90 -89 -72 -51 -27 -7 --8 --16 --20 --20 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --7 --7 --6 --7 --7 --7 --7 --9 --8 --8 --8 --9 --8 --9 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --9 --10 --10 --10 --9 --11 --10 --10 --10 --35 --73 --98 --98 --85 --66 --50 --34 --24 --17 --15 --14 --16 --17 --19 --21 --22 --21 --20 --19 --18 --17 --17 --15 --15 --14 --14 --15 --14 --13 --14 --13 -19 -73 -89 -88 -71 -50 -26 -7 --8 --16 --20 --20 --17 --11 --8 --4 --2 --1 -0 -0 --1 --2 --4 --4 --6 --5 --7 --7 --7 --6 --8 --7 --32 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --15 --16 --18 --19 --20 --19 --20 --19 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -74 -89 -89 -72 -50 -26 -8 --7 --17 --20 --19 --17 --12 --8 --4 --1 -0 --1 -0 --1 --2 --4 --4 --5 --6 --7 --6 --8 --7 --7 --7 --32 --70 --96 --97 --84 --65 --48 --32 --22 --15 --14 --13 --16 --17 --18 --19 --20 --19 --19 --18 --17 --17 --16 --15 --15 --14 --14 --13 --13 --13 --14 --13 --13 --12 --13 --12 --12 --12 --12 --11 --12 --11 --11 --11 --11 --11 --12 --10 --11 --11 --11 --10 --10 --11 --10 --10 --11 --10 --11 --11 --11 --10 --10 --10 -22 -76 -92 -91 -73 -51 -29 -9 --7 --15 --19 --18 --16 --11 --7 --3 --1 -1 -0 -0 --1 --1 --3 --4 --5 --6 --6 --5 --7 --6 --6 --7 --33 --71 --97 --80 --83 --64 --48 --32 --22 --16 --14 --13 --16 --17 --18 --20 --20 --19 --19 --19 --18 --16 --16 --14 --14 --14 --14 --13 --14 --13 --13 --12 -19 -73 -90 -88 -72 -51 -26 -7 --8 --17 --21 --19 --16 --12 --8 --4 --2 -0 -0 -0 --1 --2 --3 --4 --6 --6 --6 --7 --7 --6 --7 --7 --7 --7 --8 --8 --8 --8 --8 --7 --9 --8 --9 --9 --10 --10 --10 --9 --9 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --10 --10 --11 --35 --73 --99 --98 --85 --67 --49 --34 --24 --17 --15 --14 --16 --17 --19 --21 --21 --21 --21 --19 --18 --17 --17 --15 --15 --15 --15 --14 --14 --13 --13 --13 --13 --12 --13 --13 --12 --12 --13 --12 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --10 --11 --11 --10 --10 --10 --10 --10 -21 -76 -92 -90 -74 -53 -28 -9 --6 --15 --19 --19 --16 --11 --7 --2 --1 -1 -0 -1 --1 --2 --3 --3 --5 --5 --6 --7 --7 --6 --7 --7 --31 --69 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --16 --18 --20 --20 --19 --20 --18 --17 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -74 -89 -88 -72 -51 -27 -8 --7 --17 --20 --19 --17 --12 --7 --4 --2 -0 -0 -0 --2 --2 --4 --4 --5 --6 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --64 --48 --32 --22 --16 --14 --13 --15 --17 --18 --19 --21 --20 --19 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --12 -19 -73 -90 -88 -72 -51 -27 -8 --7 --17 --21 --20 --17 --12 --8 --4 --1 -1 -0 -0 --1 --3 --4 --4 --6 --6 --6 --6 --7 --7 --7 --8 --8 --7 --8 --7 --8 --8 --9 --8 --9 --9 --9 --9 --10 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --11 --35 --73 --99 --99 --85 --67 --50 --34 --23 --17 --15 --14 --17 --18 --20 --20 --22 --21 --20 --19 --18 --17 --17 --15 --15 --15 --15 --13 --14 --13 --13 --13 -18 -73 -89 -88 -72 -51 -26 -7 --8 --16 --21 --19 --16 --12 --8 --3 --1 -0 -0 --1 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --48 --33 --23 --15 --13 --13 --16 --17 --18 --20 --21 --20 --20 --18 --17 --17 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 --13 --12 --13 --13 --12 --12 --12 --11 --11 --11 --11 --11 --12 --11 --11 --11 --11 --11 --11 --10 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --11 --10 -22 -76 -92 -91 -74 -53 -28 -9 --7 --16 --20 --18 --15 --11 --6 --2 --1 -1 -1 -0 --1 --1 --4 --4 --5 --5 --6 --6 --7 --7 --7 --6 --7 --7 --7 --8 --8 --8 --9 --8 --9 --8 --9 --8 --9 --10 --10 --9 --11 --10 --10 --9 --10 --9 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --35 --73 --99 --98 --85 --66 --49 --34 --23 --17 --15 --14 --17 --17 --19 --21 --21 --21 --21 --19 --19 --17 --17 --15 --15 --15 --14 --14 --15 --14 --13 --13 -19 -73 -90 -89 -72 -51 -26 -7 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 -0 --1 --1 --1 --4 --4 --5 --6 --7 --7 --7 --7 --7 --6 --32 --70 --96 --97 --83 --65 --48 --32 --22 --15 --14 --13 --16 --17 --19 --19 --20 --19 --19 --19 --18 --17 --16 --15 --14 --14 --14 --13 --14 --13 --13 --13 --14 --12 --12 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --10 --11 --10 --10 --11 --10 --10 --11 --10 --10 --10 --10 --10 -22 -76 -92 -91 -74 -53 -28 -9 --6 --15 --19 --18 --16 --11 --7 --4 --1 -1 -1 -0 --1 --2 --4 --4 --5 --6 --6 --6 --7 --6 --6 --6 --32 --70 --96 --97 --83 --65 --48 --32 --22 --16 --14 --13 --15 --17 --19 --19 --21 --20 --19 --19 --18 --17 --17 --15 --14 --13 --14 --13 --13 --14 --13 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --12 --8 --4 --2 -0 -0 -0 --2 --1 --3 --4 --5 --6 --7 --7 --7 --8 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -88 -72 -51 -27 -8 --7 --17 --20 --19 --17 --12 --8 --3 --2 -0 -0 --1 --2 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --6 --8 --7 --7 --8 --8 --8 --9 --9 --9 --9 --9 --8 --9 --10 --10 --9 --10 --9 --10 --9 --10 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --36 --74 --99 --98 --85 --66 --49 --34 --24 --17 --15 --15 --16 --18 --20 --20 --21 --21 --20 --19 --19 --17 --16 --15 --15 --14 --15 --14 --14 --13 --14 --13 --13 --13 --12 --12 --12 --12 --12 --12 --12 --11 --11 --11 --11 --11 --12 --11 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 --10 --10 -22 -76 -92 -90 -74 -53 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --2 -1 -1 -0 --1 --2 --4 --4 --5 --6 --7 --6 --6 --6 --6 --7 --8 --7 --8 --8 --8 --7 --8 --8 --9 --8 --9 --9 --9 --9 --9 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --10 --11 --10 --9 --35 --73 --98 --98 --86 --67 --49 --34 --24 --17 --15 --15 --17 --17 --20 --21 --21 --21 --20 --19 --18 --17 --16 --16 --16 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -88 -71 -50 -27 -8 --8 --16 --21 --20 --17 --12 --8 --3 --1 -0 -0 -0 --2 --3 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --48 --33 --22 --15 --13 --13 --15 --17 --19 --19 --21 --20 --20 --19 --18 --16 --16 --15 --15 --14 --15 --13 --13 --13 --13 --12 -19 -73 -89 -88 -71 -51 -27 -7 --8 --16 --21 --19 --17 --13 --8 --4 --2 -0 -1 -0 --2 --2 --4 --5 --6 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --33 --23 --16 --14 --13 --15 --16 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --12 -19 -73 -89 -89 -72 -50 -27 -7 --8 --16 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --1 --3 --4 --5 --6 --7 --7 --6 --7 --7 --7 --32 --70 --96 --97 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --18 --17 --16 --16 --16 --14 --14 --13 --14 --14 --14 --13 -19 -73 -90 -89 -72 -51 -27 -8 --8 --17 --22 --20 --17 --12 --8 --4 --1 --1 -0 -0 --1 --2 --3 --4 --5 --5 --6 --7 --7 --6 --8 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --14 --15 --16 --19 --20 --20 --20 --19 --17 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --14 --13 -19 -73 -89 -88 -72 -51 -27 -8 --8 --17 --21 --20 --17 --12 --7 --3 --1 -0 --1 -0 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --20 --20 --19 --19 --18 --18 --17 --16 --15 --15 --14 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --13 --12 --11 --12 --12 --11 --11 --11 --12 --11 --12 --11 --11 --10 --11 --10 --11 --11 --11 --10 --10 --10 --10 --10 --10 --10 --11 --11 -22 -75 -91 -91 -75 -53 -29 -9 --7 --15 --19 --19 --16 --10 --7 --3 --1 -0 -0 -1 --1 --2 --3 --3 --5 --5 --6 --7 --7 --6 --6 --6 --7 --7 --8 --7 --8 --8 --9 --8 --9 --8 --9 --9 --9 --9 --10 --9 --10 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --11 --10 --35 --73 --99 --98 --86 --67 --49 --34 --23 --17 --16 --15 --16 --18 --21 --20 --21 --21 --20 --19 --19 --17 --16 --16 --15 --14 --15 --14 --14 --13 --15 --13 --13 --12 --12 --12 --12 --12 --12 --12 --12 --11 --11 --11 --11 --10 --11 --11 --11 --11 --12 --11 --11 --10 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 -22 -75 -91 -91 -74 -52 -29 -9 --6 --15 --19 --19 --16 --11 --7 --3 -0 -1 -0 -1 --1 --2 --4 --4 --6 --5 --6 --6 --6 --6 --7 --7 --8 --7 --8 --7 --8 --8 --9 --8 --9 --9 --9 --9 --9 --9 --9 --9 --10 --10 --10 --9 --10 --9 --9 --9 --10 --9 --11 --10 --10 --10 --10 --10 --35 --73 --98 --98 --86 --67 --49 --35 --24 --17 --15 --14 --17 --18 --20 --21 --21 --21 --20 --19 --19 --17 --17 --16 --16 --15 --14 --14 --13 --13 --14 --13 -18 -72 -89 -88 -72 -51 -27 -8 --8 --17 --21 --20 --17 --11 --8 --3 --1 -1 --1 -0 --2 --3 --4 --4 --6 --5 --6 --7 --7 --7 --7 --7 --33 --70 --96 --80 --83 --65 --47 --32 --23 --16 --14 --13 --15 --16 --19 --20 --20 --20 --20 --18 --17 --17 --16 --15 --15 --14 --15 --13 --14 --13 --13 --12 --13 --12 --13 --12 --12 --11 --11 --11 --11 --11 --12 --11 --12 --11 --12 --10 --11 --11 --11 --10 --11 --10 --11 --11 --11 --10 --10 --10 --10 --10 --11 --10 -22 -75 -92 -91 -74 -53 -29 -9 --6 --15 --19 --19 --16 --11 --7 --2 -0 -0 -0 -1 --1 --1 --3 --3 --5 --5 --6 --6 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --14 --16 --17 --19 --19 --20 --19 --19 --18 --17 --17 --16 --15 --16 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --17 --21 --19 --17 --11 --7 --3 --1 -0 --1 --1 --1 --2 --4 --4 --5 --6 --6 --6 --7 --7 --7 --8 --7 --7 --7 --7 --8 --8 --9 --9 --10 --9 --9 --9 --9 --9 --10 --9 --10 --10 --10 --9 --11 --9 --10 --9 --10 --10 --10 --11 --10 --9 --10 --9 --35 --73 --99 --98 --85 --66 --49 --33 --24 --17 --15 --15 --17 --18 --20 --21 --21 --20 --21 --19 --19 --18 --17 --15 --15 --14 --14 --15 --15 --14 --14 --13 -19 -73 -89 -89 -72 -51 -26 -8 --9 --17 --21 --19 --17 --11 --7 --4 --1 -0 -0 -0 --1 --3 --4 --4 --5 --6 --7 --7 --8 --7 --7 --7 --32 --70 --96 --80 --84 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --20 --21 --20 --19 --18 --17 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -51 -27 -7 --8 --17 --21 --20 --16 --11 --7 --3 --1 --1 --1 --1 --2 --3 --3 --4 --6 --5 --6 --7 --7 --7 --8 --7 --33 --70 --96 --79 --83 --65 --48 --33 --23 --15 --13 --13 --15 --16 --18 --19 --20 --20 --20 --19 --18 --17 --16 --15 --15 --14 --15 --13 --14 --13 --13 --13 -19 -74 -89 -89 -72 -50 -26 -8 --7 --16 --20 --19 --17 --12 --7 --3 --1 -0 --1 -0 --1 --2 --4 --4 --6 --6 --6 --6 --7 --7 --7 --8 --33 --71 --96 --80 --83 --64 --48 --32 --22 --15 --13 --13 --15 --16 --18 --19 --20 --20 --20 --19 --18 --16 --16 --15 --14 --14 --14 --14 --14 --13 --13 --13 -20 -73 -90 -89 -71 -50 -26 -7 --8 --16 --20 --19 --16 --12 --8 --4 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --6 --6 --7 --7 --32 --70 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --16 --16 --18 --19 --20 --19 --20 --18 --18 --17 --16 --15 --14 --14 --14 --13 --14 --13 --13 --13 -19 -74 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --16 --12 --8 --3 --2 -0 -0 -0 --1 --1 --4 --4 --5 --5 --7 --7 --7 --7 --7 --6 --32 --70 --96 --97 --84 --65 --48 --32 --21 --15 --14 --13 --15 --17 --19 --20 --21 --20 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --16 --20 --20 --16 --11 --7 --3 --2 -0 --1 -0 --1 --2 --3 --4 --6 --5 --6 --7 --7 --7 --7 --7 --32 --70 --96 --80 --84 --66 --48 --32 --22 --15 --13 --13 --15 --17 --19 --19 --20 --19 --20 --18 --17 --16 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -26 -8 --8 --17 --21 --19 --17 --12 --7 --3 --1 -0 -0 --1 --1 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --97 --83 --65 --48 --32 --21 --15 --13 --13 --15 --17 --19 --19 --21 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --12 -19 -73 -89 -88 -71 -50 -27 -7 --9 --17 --20 --19 --17 --11 --8 --4 --1 -1 -0 -0 --2 --3 --4 --4 --6 --6 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --64 --47 --32 --22 --16 --14 --13 --16 --17 --18 --20 --21 --20 --20 --18 --18 --16 --16 --15 --15 --15 --14 --13 --14 --13 --13 --12 --12 --12 --12 --12 --12 --11 --12 --11 --11 --12 --12 --11 --11 --11 --11 --10 --11 --11 --10 --10 --10 --10 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 -21 -76 -92 -90 -73 -52 -29 -9 --6 --15 --20 --18 --16 --11 --7 --2 --1 -1 -1 -1 --1 --2 --3 --4 --5 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --79 --83 --65 --48 --32 --22 --16 --14 --13 --16 --17 --19 --20 --21 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --13 --13 --12 --12 --13 -19 -73 -89 -88 -71 -51 -26 -8 --7 --16 --20 --19 --17 --12 --8 --4 --1 -0 -0 -0 --1 --1 --4 --4 --5 --6 --6 --6 --7 --7 --7 --7 --33 --70 --96 --80 --83 --64 --48 --33 --23 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --19 --18 --17 --16 --15 --15 --14 --15 --13 --14 --13 --13 --12 -19 -74 -90 -89 -71 -51 -27 -7 --8 --16 --21 --19 --16 --13 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --6 --6 --7 --6 --7 --7 --32 --70 --96 --80 --83 --64 --47 --32 --22 --16 --14 --13 --15 --17 --18 --19 --20 --19 --19 --18 --18 --17 --17 --15 --14 --14 --14 --13 --14 --14 --14 --13 -19 -74 -90 -88 -72 -51 -26 -7 --8 --17 --20 --19 --16 --11 --7 --4 --2 -0 -1 -0 --1 --1 --4 --4 --6 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --97 --83 --65 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --21 --20 --19 --18 --18 --16 --16 --15 --14 --13 --14 --13 --13 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --22 --20 --17 --11 --7 --3 --1 -0 -0 --1 --2 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --19 --20 --19 --19 --19 --18 --17 --17 --15 --15 --15 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -26 -7 --8 --17 --21 --19 --16 --12 --7 --3 --1 -0 -0 --1 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --6 --8 --7 --8 --7 --8 --8 --9 --9 --9 --8 --10 --9 --9 --10 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --9 --10 --10 --35 --73 --99 --98 --86 --67 --49 --35 --24 --17 --15 --15 --17 --17 --20 --21 --21 --21 --21 --19 --19 --17 --17 --15 --15 --14 --14 --14 --15 --14 --14 --13 --13 --12 --12 --13 --12 --12 --12 --12 --12 --12 --12 --10 --11 --10 --11 --11 --11 --10 --11 --11 --10 --10 --11 --10 --10 --10 --11 --10 --10 --10 --10 --10 -22 -76 -92 -90 -73 -53 -29 -9 --6 --15 --20 --18 --16 --11 --7 --2 --1 -1 -1 -0 --1 --1 --3 --4 --5 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --79 --83 --65 --47 --32 --22 --15 --14 --13 --14 --16 --19 --19 --21 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --12 -20 -73 -90 -89 -71 -50 -26 -7 --7 --16 --20 --20 --16 --12 --8 --4 --1 -1 -0 -0 --1 --2 --4 --4 --6 --6 --6 --6 --7 --7 --7 --7 --8 --7 --8 --8 --8 --8 --9 --9 --9 --8 --9 --9 --9 --9 --9 --9 --10 --10 --10 --10 --10 --9 --10 --9 --10 --9 --11 --10 --11 --10 --11 --10 --36 --73 --98 --98 --85 --67 --49 --34 --23 --17 --15 --14 --16 --19 --20 --20 --21 --21 --20 --19 --18 --17 --17 --16 --15 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --11 --12 --11 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 -22 -75 -92 -91 -74 -52 -28 -9 --7 --15 --19 --18 --15 --11 --7 --3 --2 -1 -1 -0 --1 --1 --4 --4 --5 --5 --6 --6 --7 --7 --7 --6 --32 --70 --96 --97 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --19 --19 --19 --18 --17 --16 --15 --15 --13 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --20 --16 --11 --8 --4 --2 --1 -0 -0 --1 --1 --3 --5 --6 --6 --7 --7 --7 --6 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --13 --15 --17 --20 --20 --20 --20 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --12 --13 --12 -19 -73 -89 -88 -72 -51 -27 -8 --7 --16 --21 --19 --16 --12 --8 --3 --2 -0 -0 --1 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --33 --22 --16 --14 --13 --15 --17 --19 --20 --21 --20 --20 --18 --18 --16 --16 --15 --15 --14 --15 --14 --14 --13 --13 --12 -20 -73 -89 -89 -71 -50 -27 -7 --8 --16 --20 --19 --16 --11 --8 --4 --1 -0 -0 -0 --2 --2 --4 --4 --6 --5 --7 --7 --7 --6 --8 --7 --32 --71 --96 --80 --83 --65 --47 --32 --23 --16 --14 --14 --15 --16 --19 --20 --20 --20 --20 --19 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 -20 -73 -89 -89 -72 -51 -27 -7 --8 --16 --20 --19 --16 --12 --8 --3 --2 -0 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --84 --64 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --16 --15 --13 --14 --13 --13 --13 --14 --13 -19 -73 -90 -89 -71 -51 -26 -7 --8 --17 --20 --19 --16 --11 --7 --3 --1 -0 -0 -0 --1 --1 --3 --4 --6 --6 --7 --7 --7 --6 --8 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --20 --19 --20 --18 --17 --17 --16 --15 --16 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --16 --12 --8 --3 --1 -0 -0 -0 --2 --2 --3 --4 --6 --5 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --20 --20 --20 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --12 --13 --12 -19 -73 -89 -88 -72 -50 -27 -8 --8 --16 --20 --19 --17 --11 --8 --3 --1 -1 -0 -0 --1 --3 --4 --4 --6 --5 --6 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --48 --32 --23 --16 --13 --13 --15 --17 --18 --20 --20 --19 --20 --17 --17 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 -19 -73 -90 -88 -71 -51 -27 -7 --7 --16 --21 --19 --16 --12 --8 --4 --1 -0 -0 -0 --2 --2 --4 --5 --6 --5 --7 --6 --6 --6 --8 --7 --32 --71 --96 --80 --84 --65 --47 --33 --22 --16 --14 --14 --15 --16 --19 --19 --20 --21 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -74 -90 -89 -72 -50 -26 -8 --8 --16 --20 --20 --17 --11 --8 --4 --1 -1 -0 -0 --1 --2 --4 --4 --6 --6 --6 --6 --7 --6 --7 --7 --33 --71 --97 --80 --83 --65 --48 --32 --22 --16 --14 --13 --15 --17 --18 --19 --20 --19 --20 --19 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --17 --12 --8 --4 --2 --1 -0 -0 --2 --2 --3 --4 --6 --6 --7 --7 --7 --6 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --16 --14 --14 --16 --17 --20 --19 --20 --19 --20 --18 --18 --17 --16 --15 --14 --13 --13 --13 --13 --13 --13 --13 -19 -74 -90 -89 -72 -51 -27 -8 --9 --17 --21 --20 --16 --11 --7 --4 --2 -0 --1 -0 --1 --2 --3 --4 --6 --6 --6 --6 --8 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --12 -19 -73 -90 -89 -71 -51 -27 -8 --8 --17 --21 --20 --17 --11 --8 --3 --1 -0 --1 -0 --2 --3 --3 --4 --6 --5 --6 --7 --7 --7 --8 --7 --8 --7 --7 --7 --8 --8 --9 --8 --9 --9 --9 --9 --9 --9 --10 --10 --10 --9 --11 --10 --10 --10 --10 --9 --11 --10 --10 --10 --10 --10 --10 --10 --35 --73 --99 --98 --86 --67 --49 --34 --24 --17 --15 --14 --17 --18 --19 --21 --21 --20 --20 --19 --18 --17 --17 --15 --16 --15 --14 --13 --14 --13 --13 --13 -18 -72 -89 -88 -71 -51 -26 -7 --7 --17 --21 --19 --17 --12 --7 --3 --2 -0 --1 -0 --1 --3 --3 --4 --6 --5 --7 --7 --7 --7 --8 --6 --32 --70 --96 --80 --84 --65 --48 --32 --22 --15 --13 --14 --15 --17 --19 --20 --20 --20 --20 --17 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -51 -28 -8 --8 --17 --21 --20 --17 --12 --7 --4 --1 -1 --1 -0 --1 --3 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --14 --13 --15 --16 --18 --20 --21 --20 --20 --19 --18 --16 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --13 --12 --12 --11 --11 --12 --12 --11 --12 --11 --11 --10 --11 --10 --10 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 -22 -75 -92 -91 -74 -52 -29 -9 --7 --15 --19 --19 --16 --10 --7 --3 --1 -1 -0 -0 --1 --2 --3 --4 --5 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --79 --83 --65 --48 --32 --22 --15 --13 --13 --15 --16 --19 --20 --21 --20 --20 --18 --17 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -8 --7 --17 --20 --19 --17 --12 --7 --4 --1 -0 -0 --1 --1 --2 --5 --5 --5 --6 --7 --6 --7 --7 --7 --7 --8 --7 --7 --7 --8 --7 --9 --8 --9 --9 --9 --9 --9 --8 --9 --9 --10 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --10 --10 --10 --10 --35 --73 --99 --98 --86 --67 --49 --33 --24 --17 --15 --15 --17 --18 --20 --21 --21 --20 --20 --19 --18 --18 --17 --15 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --12 --11 --12 --12 --12 --11 --11 --11 --11 --11 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --11 --10 --10 --10 -21 -76 -92 -90 -74 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --2 -1 -1 -0 --1 --1 --3 --4 --5 --5 --6 --6 --7 --7 --7 --6 --33 --70 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --20 --18 --17 --17 --16 --14 --15 --14 --13 --14 --14 --13 --13 --13 -20 -74 -89 -89 -72 -50 -27 -7 --8 --17 --20 --19 --17 --11 --7 --4 --2 -0 --1 -0 --1 --2 --4 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --21 --15 --13 --13 --16 --17 --19 --19 --20 --19 --19 --18 --18 --17 --17 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -90 -89 -73 -51 -27 -8 --8 --17 --21 --19 --16 --12 --8 --3 --2 -0 -0 --1 --1 --2 --4 --4 --5 --5 --7 --7 --7 --7 --7 --7 --8 --7 --8 --7 --9 --8 --9 --9 --9 --8 --9 --8 --9 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 --35 --73 --99 --99 --86 --67 --49 --33 --23 --17 --15 --15 --17 --18 --20 --21 --21 --20 --21 --19 --18 --17 --17 --15 --15 --15 --14 --13 --14 --13 --14 --14 -18 -73 -89 -88 -72 -51 -26 -7 --8 --17 --20 --19 --17 --12 --7 --3 --2 -0 -0 --1 --1 --2 --4 --4 --5 --6 --7 --7 --7 --7 --7 --7 --33 --71 --96 --97 --84 --65 --48 --32 --22 --15 --13 --13 --15 --17 --19 --19 --21 --20 --19 --19 --18 --16 --16 --15 --15 --14 --15 --13 --13 --13 --13 --13 --13 --13 --13 --12 --12 --11 --11 --11 --12 --11 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --11 --10 --10 --10 --10 --11 --10 --11 --10 --10 --10 -22 -76 -91 -91 -74 -52 -27 -8 --6 --16 --19 --18 --16 --11 --7 --3 --1 -1 -1 -0 --1 --1 --3 --3 --5 --6 --6 --6 --7 --6 --6 --6 --7 --7 --8 --8 --8 --8 --9 --8 --8 --8 --9 --8 --9 --9 --9 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --9 --10 --9 --10 --10 --10 --10 --36 --74 --99 --99 --86 --67 --49 --34 --23 --17 --15 --14 --16 --18 --20 --20 --22 --21 --20 --19 --18 --17 --16 --16 --15 --14 --15 --14 --14 --13 --14 --13 -19 -73 -89 -89 -72 -50 -26 -8 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 --1 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --6 --7 --7 --33 --71 --97 --97 --83 --65 --48 --32 --22 --16 --14 --13 --16 --17 --18 --19 --20 --19 --20 --19 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 --13 --12 --12 --12 --12 --12 --12 --12 --12 --11 --12 --10 --11 --11 --11 --10 --12 --11 --11 --11 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 -22 -76 -92 -91 -73 -52 -29 -9 --6 --15 --19 --19 --16 --11 --7 --3 --1 -1 -1 -1 --1 --2 --3 --5 --5 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --64 --47 --32 --22 --16 --14 --13 --15 --16 --18 --20 --20 --20 --20 --18 --17 --16 --16 --15 --15 --15 --14 --13 --14 --13 --13 --12 -20 -73 -90 -89 -72 -51 -26 -8 --7 --16 --21 --19 --16 --12 --8 --4 --2 -0 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --97 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --18 --19 --17 --16 --16 --15 --14 --14 --14 --14 --14 --14 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --16 --21 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --3 --4 --6 --6 --7 --7 --8 --7 --7 --7 --7 --7 --8 --8 --8 --8 --9 --8 --9 --9 --9 --9 --10 --9 --9 --9 --9 --8 --9 --10 --10 --9 --11 --10 --10 --10 --10 --9 --10 --10 --10 --10 --35 --73 --98 --99 --85 --66 --49 --34 --24 --17 --16 --14 --16 --18 --20 --20 --22 --21 --20 --19 --18 --17 --16 --15 --15 --14 --15 --14 --14 --13 --14 --12 --13 --12 --13 --12 --13 --11 --12 --12 --12 --11 --11 --11 --11 --12 --12 --11 --11 --10 --10 --10 --11 --10 --11 --11 --11 --10 --11 --10 --10 --9 --11 --10 -22 -75 -91 -91 -74 -52 -29 -9 --6 --15 --19 --19 --16 --11 --7 --3 -0 -1 -1 -1 --1 --2 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --7 --7 --7 --8 --8 --8 --9 --8 --9 --9 --9 --8 --9 --9 --9 --9 --10 --9 --9 --10 --10 --9 --10 --10 --10 --10 --11 --9 --10 --10 --10 --9 --35 --73 --99 --99 --86 --67 --49 --34 --23 --17 --16 --15 --17 --18 --20 --20 --22 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --14 --14 --13 -19 -73 -89 -89 -71 -51 -27 -7 --8 --17 --22 --20 --17 --12 --8 --4 --2 --1 --1 --1 --2 --2 --4 --4 --5 --5 --7 --7 --7 --6 --8 --7 --32 --70 --96 --80 --84 --65 --48 --32 --22 --15 --13 --13 --15 --17 --19 --19 --20 --19 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -18 -72 -89 -88 -72 -51 -27 -8 --7 --16 --21 --19 --16 --12 --8 --3 --2 -0 --1 --1 --2 --3 --4 --5 --5 --5 --7 --7 --7 --7 --8 --7 --33 --71 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --20 --21 --20 --19 --18 --18 --16 --16 --15 --15 --14 --15 --13 --13 --13 --13 --13 -19 -73 -89 -89 -72 -51 -27 -7 --8 --17 --21 --20 --17 --12 --8 --3 --1 -0 -0 -0 --2 --3 --3 --4 --5 --5 --6 --7 --7 --7 --8 --7 --32 --71 --96 --80 --83 --65 --48 --33 --23 --16 --14 --13 --15 --16 --18 --19 --20 --19 --19 --18 --17 --16 --16 --15 --15 --14 --15 --13 --13 --13 --13 --13 -19 -73 -90 -88 -71 -51 -27 -7 --7 --16 --21 --20 --17 --12 --8 --3 --2 -0 -0 -0 --2 --2 --3 --5 --6 --5 --7 --6 --7 --7 --7 --7 --32 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --16 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --14 --13 --14 --13 --13 --13 --14 --12 -20 -73 -90 -89 -71 -51 -27 -8 --8 --16 --20 --20 --16 --11 --8 --4 --1 -0 -0 -0 --1 --2 --3 --4 --6 --6 --6 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --16 --17 --19 --19 --20 --19 --19 --18 --17 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 --14 --13 --12 --11 --12 --11 --12 --11 --12 --11 --12 --11 --11 --11 --11 --10 --10 --10 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --11 --10 --11 --10 -22 -76 -92 -91 -74 -53 -29 -9 --6 --15 --19 --19 --16 --11 --8 --3 --1 -0 -1 -1 --1 --2 --4 --4 --6 --6 --6 --6 --6 --6 --7 --7 --7 --8 --8 --7 --8 --8 --8 --8 --9 --9 --9 --9 --10 --9 --10 --9 --9 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --10 --10 --10 --35 --73 --98 --98 --85 --67 --49 --34 --24 --17 --15 --15 --16 --17 --19 --20 --21 --21 --20 --19 --19 --17 --16 --16 --15 --14 --15 --14 --14 --14 --13 --13 --13 --13 --13 --12 --13 --12 --12 --12 --11 --11 --12 --11 --12 --11 --11 --10 --11 --11 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 -22 -75 -92 -91 -74 -53 -28 -9 --7 --15 --19 --19 --15 --10 --7 --2 --1 -0 -0 -0 --1 --2 --3 --3 --5 --5 --6 --7 --7 --7 --8 --7 --7 --7 --8 --7 --8 --8 --9 --8 --9 --8 --9 --9 --9 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --10 --10 --10 --35 --73 --99 --98 --85 --66 --49 --34 --23 --17 --15 --15 --17 --18 --20 --20 --21 --20 --20 --19 --19 --17 --16 --15 --15 --14 --15 --14 --14 --13 --14 --13 -19 -72 -89 -89 -71 -51 -27 -7 --8 --17 --21 --19 --16 --11 --8 --3 --1 --1 --1 -0 --2 --2 --4 --4 --6 --6 --7 --7 --8 --6 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --20 --20 --20 --19 --19 --18 --17 --17 --16 --15 --16 --14 --14 --14 --14 --13 --13 --13 --13 --12 --13 --11 --11 --11 --12 --11 --12 --12 --12 --11 --11 --10 --10 --10 --11 --10 --11 --11 --11 --11 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 -22 -76 -92 -91 -74 -53 -28 -9 --7 --15 --19 --18 --15 --11 --7 --3 --1 -0 -0 -1 --1 --2 --3 --4 --5 --5 --6 --6 --6 --6 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --14 --16 --16 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --13 --13 --14 --14 --13 --14 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --17 --20 --20 --16 --11 --7 --4 --1 -0 --1 -0 --1 --2 --3 --4 --6 --6 --7 --7 --8 --7 --7 --7 --7 --7 --8 --8 --9 --9 --9 --8 --9 --8 --9 --8 --9 --9 --9 --10 --9 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --10 --11 --10 --11 --10 --35 --73 --99 --98 --85 --66 --49 --34 --24 --17 --15 --15 --16 --17 --20 --20 --21 --21 --20 --19 --19 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -89 -72 -50 -26 -7 --9 --17 --20 --20 --17 --12 --8 --4 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --7 --7 --6 --7 --7 --32 --70 --97 --80 --83 --65 --47 --32 --23 --16 --14 --13 --16 --17 --19 --20 --20 --19 --20 --18 --18 --17 --16 --15 --14 --13 --14 --13 --14 --13 --14 --13 -20 -73 -89 -89 -72 -51 -26 -7 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --1 --4 --4 --5 --6 --7 --7 --7 --7 --7 --6 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --20 --20 --21 --20 --20 --18 --17 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -73 -89 -89 -72 -51 -27 -8 --9 --17 --21 --20 --17 --11 --7 --4 --1 -0 -0 -0 --1 --3 --4 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --19 --20 --19 --19 --19 --17 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --12 -18 -73 -90 -88 -72 -51 -26 -7 --7 --16 --20 --19 --16 --12 --8 --3 --2 -0 -0 --1 --1 --2 --4 --4 --5 --5 --6 --7 --7 --7 --8 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --20 --20 --21 --20 --20 --18 --17 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -20 -73 -89 -89 -72 -50 -27 -7 --8 --16 --21 --20 --17 --12 --8 --4 --1 -1 -0 --1 --1 --3 --5 --5 --6 --5 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --16 --13 --13 --16 --17 --19 --20 --21 --20 --20 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --12 -19 -73 -89 -88 -72 -51 -27 -8 --7 --16 --20 --19 --16 --12 --7 --3 --2 -1 -1 -0 --1 --2 --3 --4 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --97 --80 --83 --65 --47 --31 --22 --15 --13 --14 --16 --17 --18 --19 --20 --20 --20 --18 --18 --17 --16 --14 --15 --14 --14 --14 --14 --13 --13 --13 -20 -74 -90 -89 -72 -50 -26 -7 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 --1 -0 --1 --2 --4 --4 --5 --7 --7 --6 --7 --6 --7 --7 --33 --71 --96 --97 --83 --65 --48 --32 --22 --16 --14 --14 --17 --17 --19 --19 --20 --19 --19 --18 --18 --17 --17 --15 --15 --15 --14 --13 --13 --13 --13 --13 -19 -73 -89 -88 -72 -51 -26 -7 --8 --16 --21 --19 --16 --11 --7 --3 --1 -0 -0 -0 --2 --2 --4 --4 --5 --5 --7 --7 --7 --7 --7 --7 --32 --71 --97 --97 --83 --65 --47 --32 --22 --15 --14 --13 --16 --17 --18 --20 --20 --19 --20 --18 --17 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --13 --13 --12 --12 --11 --12 --11 --12 --12 --12 --11 --12 --10 --11 --11 --11 --10 --11 --11 --11 --11 --11 --11 --10 --10 --10 --9 --11 --11 --11 --10 -22 -76 -92 -90 -74 -53 -28 -9 --6 --16 --19 --18 --15 --11 --7 --3 --2 -1 -1 -0 --1 --1 --4 --4 --5 --5 --6 --6 --6 --6 --7 --6 --32 --70 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --18 --18 --16 --16 --15 --15 --13 --13 --13 --13 --13 --13 --13 -19 -74 -90 -89 -72 -50 -27 -8 --8 --17 --21 --19 --17 --11 --7 --4 --1 -0 --1 --1 --1 --2 --4 --3 --5 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --84 --65 --48 --32 --22 --16 --14 --13 --16 --17 --19 --19 --20 --19 --19 --19 --18 --17 --17 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -26 -7 --8 --17 --21 --19 --16 --12 --7 --3 --1 -0 -0 --1 --2 --2 --4 --5 --5 --5 --7 --7 --7 --7 --7 --7 --32 --71 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --20 --21 --20 --20 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -8 --7 --17 --21 --19 --16 --11 --7 --3 --1 -0 -0 --1 --1 --2 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --33 --70 --96 --80 --83 --65 --48 --32 --22 --16 --13 --13 --15 --16 --19 --19 --21 --20 --20 --18 --17 --16 --16 --15 --14 --14 --14 --14 --14 --13 --13 --12 -20 -73 -90 -88 -71 -51 -27 -8 --7 --16 --21 --19 --17 --12 --8 --3 --2 -0 -1 -0 --2 --2 --4 --5 --6 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --84 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --20 --19 --18 --16 --16 --14 --14 --15 --14 --13 --14 --13 --13 --13 -19 -73 -90 -88 -72 -51 -26 -7 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --1 --4 --4 --6 --7 --7 --7 --7 --7 --7 --7 --8 --8 --8 --8 --8 --8 --9 --8 --9 --9 --9 --9 --9 --10 --10 --9 --10 --9 --9 --10 --10 --10 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --36 --73 --98 --98 --85 --66 --49 --34 --24 --17 --16 --15 --16 --18 --20 --20 --21 --21 --21 --19 --19 --17 --16 --15 --15 --14 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --13 --12 --12 --11 --12 --11 --12 --11 --12 --11 --12 --11 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 --10 --9 --10 --10 --10 --10 -21 -76 -92 -90 -74 -53 -29 -9 --6 --16 --20 --18 --16 --11 --7 --2 --1 -1 -1 -0 --1 --1 --4 --4 --5 --5 --6 --5 --6 --7 --7 --7 --33 --71 --96 --97 --83 --65 --47 --32 --22 --15 --14 --13 --15 --16 --18 --19 --21 --20 --20 --18 --18 --16 --15 --15 --14 --13 --15 --14 --14 --13 --13 --12 -19 -73 -90 -88 -71 -51 -27 -7 --7 --16 --21 --19 --16 --11 --8 --3 --1 -0 -0 -0 --1 --2 --4 --5 --6 --5 --6 --6 --7 --7 --7 --7 --7 --8 --8 --7 --8 --7 --8 --8 --9 --9 --10 --9 --10 --9 --9 --9 --9 --9 --10 --10 --10 --9 --11 --10 --9 --10 --10 --10 --11 --10 --10 --10 --35 --73 --98 --98 --85 --67 --50 --34 --24 --17 --15 --14 --16 --18 --20 --20 --22 --21 --20 --19 --18 --17 --16 --15 --15 --14 --15 --14 --14 --13 --13 --12 --14 --13 --13 --12 --12 --11 --12 --12 --12 --11 --12 --11 --12 --11 --11 --10 --11 --10 --11 --10 --12 --11 --11 --10 --10 --9 --11 --10 --11 --10 --11 --10 -22 -75 -92 -92 -74 -53 -29 -8 --7 --15 --19 --19 --15 --10 --7 --3 --1 -1 -1 -1 --2 --1 --3 --3 --5 --5 --6 --7 --7 --7 --7 --6 --32 --70 --96 --80 --83 --65 --48 --32 --22 --16 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --17 --17 --15 --15 --13 --14 --13 --13 --13 --13 --13 -19 -73 -90 -88 -72 -51 -27 -7 --8 --17 --22 --19 --17 --12 --7 --3 --2 -0 -0 -0 --1 --2 --3 --5 --5 --5 --6 --6 --7 --7 --8 --7 --33 --71 --96 --80 --84 --65 --47 --33 --23 --16 --14 --13 --15 --17 --18 --19 --20 --21 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 -20 -73 -89 -89 -71 -51 -27 -8 --7 --16 --20 --20 --17 --12 --8 --3 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --48 --33 --22 --15 --14 --13 --15 --17 --18 --19 --20 --20 --20 --19 --18 --17 --16 --15 --15 --14 --15 --14 --14 --14 --13 --12 -19 -73 -89 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --12 --8 --4 --1 -1 -0 -1 --1 --2 --3 --5 --6 --6 --7 --7 --7 --6 --7 --7 --32 --71 --96 --79 --83 --64 --47 --33 --22 --16 --14 --14 --15 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --14 --14 --14 --14 --14 --14 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -8 --8 --15 --20 --19 --16 --11 --9 --4 --1 -0 -0 -0 --1 --2 --3 --4 --5 --6 --6 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --15 --17 --19 --19 --21 --19 --19 --18 --18 --17 --16 --16 --15 --14 --14 --13 --14 --14 --14 --13 -19 -73 -90 -89 -71 -51 -27 -8 --8 --16 --21 --19 --16 --11 --8 --3 --1 --1 -0 -0 --2 --2 --4 --4 --5 --5 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --84 --65 --48 --32 --22 --15 --13 --13 --15 --16 --19 --19 --20 --21 --20 --18 --18 --17 --16 --15 --16 --14 --14 --13 --13 --12 --14 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --17 --21 --20 --17 --12 --8 --3 --1 -0 --1 -0 --1 --3 --4 --4 --5 --5 --7 --7 --7 --7 --7 --7 --33 --71 --95 --79 --83 --65 --47 --33 --22 --15 --13 --13 --15 --17 --19 --19 --21 --20 --20 --18 --18 --16 --16 --15 --14 --14 --15 --14 --13 --13 --13 --12 -20 -73 -89 -89 -71 -51 -27 -7 --8 --16 --20 --19 --16 --12 --8 --4 --1 -0 -0 -0 --2 --2 --4 --4 --6 --5 --6 --6 --7 --7 --8 --7 --32 --71 --96 --80 --82 --64 --47 --32 --23 --15 --13 --13 --15 --16 --19 --19 --20 --20 --20 --19 --18 --17 --16 --15 --14 --13 --14 --14 --14 --13 --14 --13 -19 -74 -89 -89 -72 -50 -26 -7 --9 --17 --21 --19 --16 --11 --7 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --15 --14 --16 --17 --19 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --14 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --17 --20 --19 --16 --11 --8 --3 --1 --1 --1 -0 --1 --2 --4 --4 --6 --5 --7 --6 --7 --6 --8 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --14 --16 --17 --19 --20 --20 --19 --20 --18 --17 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -74 -89 -89 -73 -51 -27 -8 --8 --17 --21 --19 --17 --12 --7 --3 --1 -0 -0 -0 --1 --2 --3 --4 --6 --6 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --33 --23 --16 --13 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 -20 -72 -89 -89 -72 -50 -27 -8 --8 --17 --20 --19 --16 --11 --8 --4 --1 -1 -0 -0 --1 --3 --3 --4 --6 --6 --6 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --23 --16 --14 --14 --15 --16 --18 --19 --20 --20 --20 --18 --17 --17 --16 --14 --14 --14 --14 --13 --14 --13 --13 --12 -20 -74 -89 -89 -72 -51 -26 -8 --7 --17 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --4 --5 --6 --6 --6 --6 --7 --6 --7 --7 --7 --7 --8 --7 --9 --8 --9 --8 --9 --9 --9 --9 --9 --9 --10 --9 --9 --10 --10 --10 --10 --10 --10 --9 --10 --10 --10 --11 --11 --10 --11 --10 --35 --73 --98 --98 --86 --67 --49 --34 --24 --17 --14 --15 --16 --18 --20 --21 --21 --20 --20 --19 --18 --17 --16 --15 --16 --15 --15 --14 --14 --13 --13 --13 -19 -73 -89 -88 -71 -49 -26 -8 --7 --16 --20 --19 --17 --12 --8 --4 --1 -0 --1 --1 --2 --3 --4 --4 --5 --6 --6 --6 --7 --7 --8 --8 --33 --71 --96 --80 --83 --65 --48 --33 --22 --16 --14 --13 --15 --17 --19 --19 --21 --20 --20 --18 --18 --16 --15 --14 --15 --14 --14 --14 --14 --13 --13 --12 -19 -73 -89 -88 -71 -51 -27 -8 --8 --16 --20 --19 --17 --12 --9 --4 --2 -0 -0 -1 --1 --2 --4 --4 --6 --6 --6 --7 --7 --6 --7 --7 --33 --71 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --15 --16 --18 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 --12 --12 --13 --12 --12 --12 --12 --11 --11 --11 --11 --10 --11 --11 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --11 --11 --10 --10 --11 --10 --10 --10 -22 -76 -92 -90 -74 -53 -29 -9 --6 --15 --19 --19 --16 --11 --7 --3 --1 -0 -0 -1 --1 --2 --3 --4 --5 --5 --6 --6 --6 --6 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --23 --16 --14 --14 --15 --16 --18 --19 --20 --19 --20 --18 --17 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -74 -90 -89 -72 -50 -26 -8 --7 --16 --20 --19 --17 --11 --8 --4 --2 -0 --1 -0 --1 --2 --4 --4 --6 --7 --7 --6 --7 --6 --7 --7 --8 --7 --8 --7 --8 --8 --9 --8 --9 --9 --9 --9 --10 --9 --10 --9 --10 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --9 --10 --10 --10 --9 --35 --73 --98 --98 --85 --67 --49 --34 --24 --17 --15 --14 --16 --18 --21 --21 --21 --20 --20 --19 --18 --17 --16 --15 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 --13 --12 --13 --12 --12 --11 --12 --11 --11 --11 --12 --11 --11 --11 --11 --10 --10 --10 --10 --11 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 -22 -76 -91 -90 -74 -52 -28 -9 --6 --15 --20 --18 --15 --10 --7 --3 --1 -1 -0 -0 --1 --1 --3 --3 --4 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --16 --13 --13 --15 --17 --18 --20 --21 --19 --19 --19 --18 --16 --17 --15 --15 --14 --14 --13 --13 --13 --13 --12 -19 -73 -89 -89 -72 -51 -27 -8 --7 --16 --20 --20 --17 --12 --8 --3 --1 -0 -0 -0 --1 --3 --4 --4 --6 --6 --7 --7 --7 --7 --7 --8 --32 --70 --96 --80 --83 --65 --48 --32 --22 --16 --13 --13 --15 --16 --18 --19 --20 --19 --20 --18 --17 --16 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -90 -89 -72 -51 -26 -7 --7 --17 --20 --19 --17 --12 --8 --3 --1 -0 -0 -0 --1 --2 --4 --4 --5 --7 --7 --7 --7 --7 --7 --7 --8 --7 --8 --8 --8 --7 --9 --9 --9 --9 --10 --9 --9 --9 --9 --9 --10 --9 --9 --10 --10 --9 --10 --9 --10 --9 --10 --10 --11 --11 --10 --10 --35 --73 --98 --98 --85 --67 --49 --34 --24 --17 --15 --14 --16 --17 --20 --21 --21 --21 --21 --19 --18 --18 --17 --16 --16 --15 --15 --14 --14 --13 --13 --13 -19 -73 -88 -88 -71 -50 -27 -7 --7 --16 --20 --20 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --5 --6 --6 --6 --7 --7 --8 --8 --33 --71 --96 --80 --83 --65 --48 --32 --22 --16 --13 --13 --15 --17 --18 --19 --21 --20 --20 --19 --17 --16 --16 --15 --15 --14 --14 --13 --14 --14 --13 --13 --13 --12 --12 --13 --13 --12 --12 --12 --12 --11 --12 --11 --11 --11 --11 --11 --12 --11 --11 --10 --10 --10 --10 --11 --11 --10 --11 --10 --10 --10 --10 --10 -21 -75 -91 -90 -74 -52 -29 -9 --6 --15 --19 --18 --16 --10 --6 --3 --1 -1 -0 -0 --1 --2 --3 --3 --5 --6 --6 --6 --7 --6 --7 --7 --7 --6 --7 --7 --8 --7 --9 --8 --9 --8 --9 --8 --10 --9 --9 --9 --9 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --35 --73 --98 --99 --86 --67 --50 --34 --23 --17 --15 --14 --17 --19 --20 --20 --22 --20 --20 --19 --19 --17 --17 --16 --15 --14 --15 --13 --14 --13 --14 --13 -18 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --16 --12 --7 --3 --2 -0 -0 -0 --1 --2 --3 --4 --6 --6 --7 --7 --7 --7 --8 --7 --32 --70 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --15 --17 --19 --20 --21 --19 --19 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --12 --11 --12 --11 --11 --11 --12 --11 --12 --11 --11 --10 --11 --10 --11 --11 --11 --10 --11 --10 --11 --10 --11 --10 --10 --11 --11 --10 -21 -76 -92 -90 -74 -52 -28 -9 --6 --15 --20 --19 --15 --11 --8 --3 --1 -1 -0 -0 --1 --1 --3 --4 --5 --5 --6 --6 --6 --7 --7 --6 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -27 -8 --7 --17 --21 --20 --17 --12 --8 --4 --2 -0 -0 --1 --2 --2 --4 --4 --5 --6 --7 --7 --7 --7 --7 --7 --33 --71 --96 --97 --84 --65 --48 --32 --22 --15 --13 --13 --15 --17 --19 --20 --21 --20 --19 --18 --17 --16 --16 --15 --15 --15 --15 --13 --13 --13 --13 --13 -19 -73 -89 -88 -71 -51 -28 -8 --7 --16 --21 --20 --17 --12 --8 --3 --2 -0 -0 -0 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --7 --7 --7 --8 --7 --9 --8 --9 --9 --9 --9 --9 --9 --9 --8 --9 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --10 --10 --11 --10 --10 --10 --35 --73 --98 --99 --85 --66 --49 --33 --23 --17 --16 --15 --17 --19 --20 --20 --21 --20 --20 --19 --18 --17 --18 --16 --16 --15 --15 --13 --14 --14 --14 --13 --13 --12 --12 --12 --12 --11 --12 --11 --12 --11 --12 --11 --11 --11 --11 --10 --12 --11 --11 --11 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 -22 -76 -92 -91 -73 -52 -29 -9 --6 --15 --20 --19 --16 --11 --7 --3 --1 -1 -1 -1 --1 --2 --3 --5 --6 --5 --6 --5 --6 --6 --7 --6 --7 --8 --8 --7 --9 --8 --8 --8 --9 --9 --9 --9 --9 --8 --9 --9 --9 --9 --10 --10 --11 --10 --10 --9 --9 --10 --10 --10 --11 --10 --11 --10 --35 --73 --99 --99 --86 --67 --50 --34 --24 --17 --15 --14 --16 --18 --20 --21 --22 --21 --20 --19 --18 --17 --17 --15 --16 --15 --15 --14 --14 --14 --13 --13 -18 -72 -89 -88 -71 -51 -27 -8 --8 --16 --21 --19 --16 --13 --8 --3 --1 -0 -0 -0 --2 --3 --4 --5 --5 --5 --7 --6 --7 --7 --8 --7 --32 --71 --96 --79 --83 --65 --47 --33 --22 --15 --14 --13 --15 --16 --19 --19 --20 --21 --20 --18 --18 --16 --16 --15 --15 --13 --14 --14 --14 --13 --13 --12 -20 -73 -89 -89 -71 -50 -27 -8 --8 --16 --20 --20 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --5 --5 --6 --6 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --32 --22 --16 --14 --14 --15 --17 --19 --19 --21 --20 --20 --19 --18 --16 --16 --15 --14 --13 --15 --13 --14 --14 --14 --13 -19 -73 -90 -89 -71 -51 -27 -7 --7 --16 --20 --19 --16 --12 --8 --4 --1 -0 -0 -0 --1 --2 --3 --5 --5 --5 --7 --7 --7 --6 --8 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --16 --19 --19 --20 --20 --19 --18 --18 --17 --16 --15 --15 --13 --14 --13 --13 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --9 --17 --21 --19 --17 --12 --8 --4 --2 -0 -0 --1 --2 --2 --4 --4 --5 --5 --7 --7 --7 --7 --7 --6 --32 --70 --96 --80 --84 --65 --47 --33 --22 --15 --14 --13 --15 --17 --20 --20 --21 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -72 -89 -89 -71 -51 -27 -8 --7 --16 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --6 --5 --7 --7 --7 --6 --8 --7 --32 --71 --96 --79 --83 --65 --47 --32 --23 --15 --13 --13 --15 --16 --19 --19 --20 --20 --20 --18 --17 --17 --16 --14 --15 --14 --14 --14 --14 --13 --13 --12 --13 --12 --13 --12 --12 --12 --12 --11 --11 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --10 --10 --11 --10 -22 -75 -92 -91 -74 -53 -29 -9 --6 --15 --20 --19 --16 --11 --7 --3 --1 -0 -1 -1 --1 --1 --3 --4 --5 --5 --7 --7 --7 --7 --7 --7 --7 --7 --7 --7 --8 --8 --8 --9 --9 --8 --9 --9 --9 --9 --10 --10 --10 --10 --9 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 --35 --73 --99 --98 --85 --67 --49 --33 --24 --17 --15 --15 --17 --17 --20 --21 --21 --20 --21 --19 --19 --18 --17 --15 --15 --15 --14 --14 --14 --13 --13 --13 --13 --12 --13 --11 --12 --11 --12 --11 --12 --11 --11 --11 --11 --11 --12 --11 --11 --11 --11 --10 --11 --10 --11 --11 --11 --10 --12 --11 --10 --10 --10 --9 -22 -75 -91 -90 -74 -53 -29 -9 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -1 -1 --1 --2 --4 --4 --5 --5 --5 --6 --7 --6 --7 --7 --7 --7 --8 --7 --8 --8 --8 --8 --10 --9 --9 --9 --9 --8 --9 --9 --9 --9 --11 --10 --10 --10 --9 --9 --10 --10 --10 --10 --11 --10 --10 --10 --35 --72 --99 --98 --86 --67 --50 --34 --23 --17 --15 --14 --17 --18 --19 --21 --21 --20 --21 --19 --18 --17 --17 --15 --15 --15 --14 --13 --14 --13 --13 --13 -18 -73 -89 -89 -72 -51 -27 -8 --8 --17 --21 --20 --17 --12 --8 --3 --1 --1 --1 -0 --2 --2 --3 --4 --6 --6 --6 --7 --7 --7 --8 --7 --32 --70 --96 --79 --84 --65 --48 --32 --22 --15 --13 --13 --15 --16 --19 --19 --20 --21 --20 --19 --17 --16 --15 --14 --15 --14 --14 --14 --14 --13 --14 --13 --13 --12 --13 --12 --12 --12 --12 --11 --11 --11 --11 --11 --12 --11 --11 --11 --11 --10 --11 --10 --10 --11 --11 --11 --11 --10 --10 --10 --11 --10 --10 --10 -21 -76 -92 -91 -74 -53 -28 -9 --7 --15 --19 --18 --16 --11 --7 --3 --1 -1 -1 -1 --1 --1 --3 --4 --5 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --33 --22 --15 --13 --13 --15 --16 --19 --19 --20 --20 --19 --18 --18 --17 --16 --15 --15 --14 --14 --14 --13 --12 --13 --12 -20 -73 -89 -89 -72 -51 -27 -8 --8 --16 --21 --20 --16 --12 --9 --3 --1 -0 -0 -0 --1 --3 --4 --4 --6 --5 --7 --7 --8 --7 --7 --7 --7 --7 --8 --7 --8 --9 --9 --8 --9 --9 --9 --9 --10 --9 --9 --10 --10 --9 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --11 --10 --10 --10 --35 --73 --98 --99 --86 --67 --50 --33 --23 --17 --15 --14 --17 --17 --20 --20 --21 --20 --20 --19 --18 --17 --17 --15 --16 --15 --15 --13 --14 --13 --14 --13 -18 -73 -89 -88 -71 -51 -27 -7 --8 --16 --20 --20 --16 --11 --8 --3 --1 --1 --1 --1 --1 --2 --4 --4 --6 --6 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --14 --15 --17 --19 --20 --20 --19 --20 --18 --18 --17 --16 --15 --16 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -71 -51 -27 -8 --7 --17 --20 --19 --17 --11 --7 --3 --1 -1 -0 -0 --1 --2 --4 --4 --5 --6 --6 --6 --8 --7 --7 --7 --33 --71 --96 --97 --83 --65 --48 --33 --22 --16 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --17 --16 --16 --15 --14 --14 --14 --13 --13 --13 --13 --12 -20 -73 -89 -89 -72 -50 -27 -8 --7 --17 --20 --19 --17 --11 --7 --4 --1 -1 -0 -0 --1 --2 --4 --4 --6 --6 --6 --6 --7 --6 --7 --8 --33 --71 --97 --80 --83 --65 --48 --32 --22 --16 --14 --13 --16 --16 --18 --19 --21 --20 --20 --18 --17 --16 --16 --15 --15 --14 --15 --13 --13 --13 --13 --12 -19 -73 -89 -88 -71 -51 -27 -7 --8 --16 --21 --19 --16 --12 --7 --3 --2 -0 -0 -0 --2 --2 --4 --5 --6 --5 --7 --6 --6 --7 --7 --7 --32 --70 --96 --80 --83 --64 --47 --33 --22 --16 --15 --14 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --14 --14 --14 --13 --14 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -8 --8 --16 --20 --20 --17 --11 --8 --4 --2 -0 -0 -1 --1 --2 --3 --4 --6 --6 --7 --7 --7 --7 --7 --7 --33 --71 --97 --80 --83 --65 --47 --32 --22 --15 --13 --13 --16 --17 --18 --19 --20 --19 --20 --18 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -8 --8 --17 --20 --19 --17 --11 --7 --4 --1 -0 -0 --1 --1 --2 --4 --4 --5 --6 --7 --7 --8 --7 --7 --6 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --17 --19 --19 --21 --19 --19 --18 --17 --16 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -89 -73 -51 -27 -8 --8 --17 --21 --20 --17 --12 --7 --3 --1 -0 --1 -0 --1 --3 --4 --4 --6 --6 --7 --6 --7 --7 --7 --8 --32 --70 --96 --80 --83 --65 --47 --32 --22 --16 --13 --13 --15 --16 --18 --20 --20 --20 --20 --18 --18 --16 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -8 --7 --17 --20 --19 --17 --12 --7 --3 --1 -0 -0 --1 --1 --2 --5 --4 --6 --6 --6 --6 --7 --7 --7 --7 --33 --70 --96 --80 --83 --65 --48 --32 --22 --16 --14 --13 --15 --17 --19 --19 --20 --20 --20 --19 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 --13 --12 --13 --12 --12 --12 --12 --11 --12 --11 --11 --11 --12 --11 --11 --11 --11 --10 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --10 --11 -21 -76 -91 -91 -74 -52 -28 -9 --6 --15 --19 --18 --15 --10 --6 --3 --1 -1 -0 -0 --1 --1 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --32 --70 --95 --80 --83 --65 --48 --33 --22 --16 --13 --13 --15 --17 --19 --19 --21 --20 --20 --19 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --12 -19 -73 -89 -88 -71 -51 -27 -8 --7 --16 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --2 --3 --4 --4 --6 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --16 --14 --13 --16 --16 --18 --19 --20 --19 --21 --19 --18 --17 --16 --14 --14 --14 --14 --13 --14 --13 --13 --13 -19 -74 -90 -88 -72 -51 -26 -7 --8 --17 --20 --19 --16 --11 --7 --3 --2 -1 -0 -0 --1 --1 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --18 --19 --20 --20 --20 --19 --18 --16 --16 --15 --15 --13 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --20 --19 --16 --11 --8 --3 --2 -0 --1 -0 --1 --3 --4 --4 --5 --6 --7 --7 --8 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --16 --13 --13 --16 --17 --19 --20 --21 --19 --19 --19 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -90 -88 -72 -51 -26 -8 --7 --17 --21 --19 --16 --11 --7 --3 --2 -0 -0 --1 --2 --2 --5 --4 --5 --5 --7 --6 --7 --7 --7 --7 --32 --70 --96 --97 --83 --65 --48 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --20 --18 --18 --16 --16 --15 --15 --14 --15 --14 --14 --13 --14 --12 -20 -73 -90 -89 -71 -51 -27 -8 --7 --17 --21 --19 --17 --12 --8 --4 --1 -1 --1 --1 --2 --2 --4 --4 --5 --6 --6 --6 --7 --7 --8 --8 --8 --7 --8 --7 --8 --7 --9 --9 --9 --10 --9 --9 --10 --9 --10 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --11 --11 --10 --10 --10 --10 --9 --35 --73 --98 --99 --86 --67 --50 --34 --24 --17 --15 --14 --16 --18 --20 --20 --21 --20 --20 --19 --19 --17 --17 --15 --15 --14 --15 --13 --13 --13 --14 --13 --14 --13 --13 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --11 --11 --10 --10 --11 --9 -22 -76 -92 -91 -74 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --4 --1 -1 -1 -0 --1 --1 --3 --4 --5 --6 --6 --6 --7 --6 --7 --6 --32 --71 --96 --80 --83 --64 --47 --32 --22 --16 --14 --13 --15 --17 --18 --19 --20 --19 --19 --19 --18 --16 --17 --15 --15 --13 --14 --13 --14 --14 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --12 --8 --4 --2 -0 -0 -0 --1 --1 --3 --4 --6 --6 --7 --7 --7 --7 --7 --7 --7 --7 --8 --8 --9 --8 --9 --9 --9 --8 --9 --9 --9 --9 --10 --9 --10 --9 --10 --9 --10 --9 --10 --10 --11 --10 --10 --10 --10 --10 --11 --10 --35 --73 --98 --98 --85 --66 --49 --34 --24 --18 --16 --15 --17 --18 --19 --20 --21 --21 --20 --20 --19 --17 --17 --15 --15 --14 --15 --14 --14 --13 --13 --13 --14 --12 --13 --13 --13 --12 --13 --11 --12 --11 --11 --11 --12 --11 --12 --11 --11 --10 --10 --11 --11 --10 --11 --10 --10 --10 --11 --10 --10 --10 --10 --9 -21 -75 -92 -91 -74 -53 -29 -9 --6 --15 --20 --18 --15 --11 --7 --2 -0 -2 -1 -1 --2 --2 --4 --4 --5 --5 --7 --7 --7 --6 --7 --7 --32 --70 --96 --79 --83 --65 --47 --33 --22 --15 --14 --13 --15 --16 --19 --20 --20 --21 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --13 --12 --12 --12 -20 -73 -89 -89 -71 -51 -26 -8 --7 --17 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --1 --2 --4 --5 --5 --5 --6 --5 --6 --7 --7 --7 --33 --71 --96 --97 --83 --65 --47 --33 --22 --16 --14 --13 --15 --17 --19 --19 --21 --19 --19 --19 --18 --17 --16 --15 --15 --13 --14 --14 --14 --14 --14 --13 -20 -73 -90 -89 -71 -51 -27 -7 --7 --16 --21 --20 --16 --12 --8 --3 --1 -0 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --7 --6 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -90 -88 -72 -51 -26 -7 --8 --17 --21 --19 --17 --12 --8 --3 --2 -1 -0 --1 --1 --2 --3 --4 --5 --6 --7 --7 --7 --7 --7 --6 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --15 --15 --13 --14 --14 --14 --13 --14 --13 -19 -72 -89 -89 -71 -51 -27 -7 --8 --16 --21 --19 --16 --11 --8 --3 --1 -0 --1 -0 --2 --2 --3 --4 --5 --5 --6 --7 --7 --6 --8 --7 --32 --70 --96 --80 --83 --65 --48 --32 --23 --16 --13 --14 --16 --17 --20 --20 --21 --20 --20 --18 --17 --17 --16 --15 --14 --13 --14 --13 --13 --13 --13 --13 -19 -73 -90 -88 -72 -51 -27 -7 --8 --17 --22 --19 --17 --12 --7 --3 --2 -0 -0 -0 --2 --2 --4 --5 --5 --5 --7 --7 --7 --8 --8 --7 --32 --70 --96 --79 --83 --65 --47 --33 --22 --15 --14 --13 --15 --16 --19 --19 --20 --20 --20 --18 --18 --16 --16 --16 --16 --15 --14 --14 --14 --13 --13 --12 -20 -73 -89 -88 -71 -51 -27 -8 --8 --16 --20 --20 --17 --12 --8 --4 --1 -0 -0 -0 --1 --2 --4 --4 --6 --5 --6 --6 --7 --7 --8 --7 --33 --71 --96 --79 --83 --65 --47 --32 --23 --16 --14 --14 --16 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --14 --14 --14 --14 --14 --13 --13 --12 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --16 --13 --8 --4 --2 -0 -0 -0 --1 --2 --3 --4 --6 --6 --7 --6 --6 --6 --7 --7 --32 --71 --97 --80 --83 --64 --47 --32 --22 --15 --14 --14 --15 --17 --19 --19 --20 --20 --19 --17 --18 --17 --16 --15 --15 --13 --13 --14 --13 --13 --14 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --17 --20 --19 --16 --11 --8 --3 --1 -0 --1 --1 --1 --2 --3 --4 --6 --6 --7 --7 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --23 --16 --14 --13 --16 --17 --19 --20 --20 --19 --20 --18 --18 --17 --16 --15 --15 --14 --15 --13 --13 --14 --14 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --17 --22 --20 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --5 --5 --6 --6 --7 --7 --8 --7 --32 --70 --96 --80 --84 --65 --48 --33 --22 --15 --13 --13 --15 --17 --19 --19 --20 --20 --20 --18 --17 --16 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --16 --20 --20 --17 --11 --7 --3 --1 -0 --1 -0 --1 --2 --4 --4 --6 --6 --6 --6 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --16 --14 --13 --16 --16 --18 --19 --20 --20 --20 --19 --18 --16 --16 --15 --15 --14 --15 --13 --14 --13 --13 --12 -20 -73 -90 -89 -71 -51 -26 -7 --8 --16 --20 --19 --16 --11 --8 --4 --1 -0 -0 -0 --2 --2 --3 --4 --6 --6 --7 --7 --7 --6 --7 --7 --32 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --20 --19 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -74 -89 -89 -73 -51 -27 -8 --9 --17 --21 --19 --16 --11 --7 --4 --1 -0 --1 -0 --1 --3 --4 --4 --6 --6 --6 --6 --8 --7 --7 --7 --7 --7 --8 --8 --8 --8 --9 --8 --9 --9 --9 --9 --10 --9 --10 --9 --9 --9 --10 --9 --10 --9 --10 --10 --10 --9 --9 --9 --10 --10 --11 --11 --35 --73 --99 --98 --86 --66 --49 --34 --24 --17 --15 --15 --16 --17 --20 --20 --21 --21 --21 --19 --19 --17 --16 --15 --16 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -88 -71 -49 -26 -8 --8 --16 --20 --19 --16 --11 --8 --4 --2 -0 --1 -0 --1 --2 --3 --4 --7 --6 --7 --6 --7 --7 --7 --7 --33 --71 --97 --80 --84 --65 --47 --32 --22 --15 --13 --13 --16 --17 --18 --19 --20 --19 --20 --19 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --14 --13 -19 -74 -90 -89 -73 -51 -26 -7 --8 --17 --21 --19 --16 --11 --7 --4 --2 --1 -0 -0 --2 --2 --3 --4 --6 --5 --6 --6 --7 --6 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --16 --14 --14 --15 --17 --20 --20 --20 --19 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 --13 --12 --13 --11 --12 --12 --12 --11 --13 --12 --11 --11 --11 --11 --11 --11 --11 --11 --11 --10 --10 --11 --10 --10 --10 --10 --11 --10 --11 --10 --10 --10 -22 -77 -92 -91 -74 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -1 -1 --1 --1 --4 --4 --5 --6 --6 --6 --7 --7 --7 --7 --32 --71 --96 --80 --83 --64 --46 --31 --21 --15 --13 --13 --15 --16 --19 --19 --20 --20 --19 --17 --17 --17 --16 --15 --15 --14 --14 --13 --13 --13 --14 --13 -19 -73 -89 -89 -72 -51 -27 -8 --9 --17 --21 --20 --17 --11 --7 --4 --1 -0 --1 --1 --2 --2 --4 --3 --6 --6 --7 --7 --7 --7 --7 --7 --7 --7 --8 --8 --8 --9 --9 --8 --9 --9 --9 --8 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --10 --10 --10 --9 --11 --9 --10 --11 --36 --73 --98 --98 --85 --66 --49 --34 --23 --17 --15 --15 --17 --18 --19 --20 --21 --20 --20 --19 --19 --17 --17 --15 --15 --15 --15 --14 --14 --13 --13 --13 --14 --12 --12 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --10 --12 --11 --11 --11 --11 --10 --11 --11 --10 --10 --11 --10 --10 --11 --10 --10 --10 --10 -22 -76 -91 -90 -74 -52 -29 -10 --7 --15 --20 --19 --16 --11 --7 --3 --1 -1 -0 -0 --1 --3 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --33 --70 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --16 --16 --18 --20 --20 --20 --20 --18 --17 --16 --16 --15 --14 --14 --14 --13 --15 --13 --13 --12 -20 -74 -90 -89 -72 -50 -26 -7 --8 --17 --20 --19 --16 --12 --8 --3 --2 -0 -1 -1 --1 --2 --4 --4 --6 --5 --6 --6 --6 --7 --7 --6 --32 --70 --96 --80 --83 --64 --47 --32 --23 --15 --13 --14 --15 --16 --18 --19 --20 --19 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --13 --14 --13 -19 -74 -90 -89 -73 -50 -26 -7 --7 --16 --21 --19 --16 --11 --7 --4 --2 -0 --1 --1 --1 --2 --4 --4 --5 --7 --7 --6 --7 --7 --7 --7 --8 --7 --8 --8 --9 --8 --9 --8 --8 --8 --9 --8 --10 --10 --10 --9 --10 --9 --10 --10 --10 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --36 --73 --98 --98 --85 --66 --50 --34 --24 --17 --15 --14 --16 --18 --19 --19 --21 --21 --20 --19 --19 --16 --16 --15 --14 --14 --15 --14 --14 --14 --14 --13 -19 -73 -90 -88 -71 -49 -26 -7 --9 --17 --21 --19 --16 --11 --8 --4 --2 -0 --1 -0 --1 --3 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --15 --16 --19 --20 --21 --19 --20 --18 --18 --17 --16 --15 --14 --14 --14 --13 --15 --13 --13 --13 --13 --12 --12 --13 --12 --12 --12 --11 --11 --11 --11 --10 --11 --11 --11 --11 --12 --11 --11 --10 --11 --10 --11 --11 --10 --10 --11 --10 --10 --11 --10 --9 -22 -76 -92 -90 -73 -53 -29 -9 --6 --15 --20 --19 --16 --11 --7 --2 --1 -1 -1 -1 --1 --2 --3 --4 --5 --5 --6 --6 --7 --7 --7 --7 --7 --7 --8 --7 --8 --8 --9 --8 --9 --8 --8 --8 --9 --9 --9 --10 --10 --9 --10 --10 --9 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --10 --35 --73 --99 --99 --86 --67 --50 --34 --23 --17 --15 --15 --17 --18 --20 --20 --21 --20 --20 --19 --18 --17 --17 --16 --16 --15 --15 --14 --14 --13 --13 --13 -18 -73 -89 -89 -72 -51 -26 -7 --8 --17 --21 --20 --17 --12 --7 --3 --1 -0 -0 --1 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --6 --33 --71 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --17 --18 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --13 --12 --12 --12 --12 --11 --11 --11 --12 --11 --12 --11 --11 --11 --11 --10 --10 --10 --11 --10 --12 --10 --10 --10 --10 --9 --11 --10 --11 --10 -22 -76 -93 -91 -74 -53 -28 -9 --6 --16 --20 --19 --16 --11 --7 --2 --1 -1 -0 -0 --1 --1 --4 --4 --5 --5 --7 --6 --7 --7 --7 --6 --32 --70 --96 --97 --83 --65 --47 --31 --21 --15 --14 --13 --15 --17 --18 --19 --21 --20 --19 --18 --18 --17 --16 --15 --15 --13 --14 --13 --13 --13 --13 --12 -19 -73 -90 -88 -71 -51 -27 -7 --8 --16 --21 --20 --16 --11 --7 --3 --1 -0 -0 -0 --1 --2 --3 --4 --5 --5 --6 --6 --8 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --33 --22 --15 --13 --13 --16 --17 --19 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --15 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -26 -7 --8 --16 --21 --20 --17 --12 --8 --3 --2 -1 -0 --1 --2 --3 --4 --5 --5 --6 --7 --7 --7 --7 --8 --7 --8 --7 --7 --7 --8 --8 --9 --9 --9 --8 --9 --9 --9 --9 --9 --9 --9 --9 --10 --9 --10 --9 --10 --10 --10 --10 --11 --10 --10 --9 --10 --9 --34 --73 --98 --98 --86 --67 --49 --34 --24 --17 --15 --15 --17 --18 --20 --20 --21 --20 --20 --19 --19 --17 --17 --15 --16 --15 --14 --13 --15 --13 --14 --13 --14 --13 --13 --12 --12 --12 --13 --12 --12 --12 --12 --11 --11 --11 --11 --11 --11 --11 --11 --11 --11 --10 --11 --10 --11 --10 --10 --10 --11 --11 --11 --10 -22 -77 -93 -91 -74 -52 -29 -9 --6 --15 --19 --18 --16 --11 --7 --2 --1 -1 -1 -1 -0 --1 --3 --4 --5 --5 --7 --6 --6 --7 --7 --6 --7 --7 --8 --7 --9 --8 --9 --8 --8 --8 --9 --9 --9 --9 --10 --9 --9 --10 --10 --9 --10 --9 --10 --11 --10 --9 --9 --9 --10 --10 --11 --10 --35 --73 --99 --98 --86 --67 --49 --33 --24 --17 --15 --15 --17 --17 --19 --21 --21 --20 --20 --19 --18 --17 --17 --15 --15 --15 --15 --14 --14 --14 --13 --13 -19 -73 -89 -88 -72 -51 -26 -8 --8 --17 --21 --19 --17 --13 --8 --4 --2 -0 -0 --1 --1 --2 --4 --4 --6 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --19 --19 --16 --16 --15 --14 --13 --14 --14 --14 --13 --14 --13 -20 -73 -89 -89 -71 -51 -27 -7 --8 --16 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --19 --18 --17 --17 --15 --15 --14 --14 --13 --13 --13 --14 --13 -19 -73 -90 -88 -72 -51 -27 -8 --7 --17 --21 --19 --16 --12 --7 --3 --3 -0 -0 -0 --1 --1 --3 --5 --6 --6 --7 --7 --8 --8 --8 --6 --32 --70 --96 --80 --84 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --18 --16 --16 --16 --15 --13 --14 --13 --13 --13 --14 --13 -19 -73 -90 -89 -72 -52 -28 -8 --7 --16 --21 --20 --17 --12 --7 --3 --1 -0 -0 -0 --1 --2 --4 --4 --6 --5 --6 --7 --7 --7 --9 --8 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --20 --21 --20 --19 --19 --17 --16 --16 --15 --15 --14 --15 --13 --13 --13 --13 --12 -19 -73 -89 -88 -72 -51 -27 -7 --8 --16 --21 --20 --17 --13 --8 --4 --1 -0 -0 -0 --2 --2 --4 --5 --5 --5 --7 --7 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --33 --23 --16 --14 --13 --15 --16 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 --12 --13 --13 --12 --12 --12 --11 --11 --12 --10 --11 --11 --11 --11 --12 --11 --11 --10 --10 --10 --11 --11 --11 --11 --11 --10 --10 --10 --10 --10 --11 --10 -22 -76 -91 -91 -74 -53 -29 -9 --6 --15 --19 --19 --16 --11 --7 --2 --1 -1 -1 -0 --1 --1 --3 --4 --5 --5 --6 --6 --7 --7 --7 --7 --8 --7 --7 --7 --8 --8 --9 --9 --9 --8 --9 --9 --9 --9 --9 --9 --10 --10 --10 --9 --10 --9 --9 --10 --10 --9 --10 --10 --10 --9 --10 --9 --35 --73 --98 --98 --87 --67 --49 --33 --23 --17 --16 --15 --17 --18 --20 --20 --21 --21 --20 --19 --19 --17 --17 --15 --16 --14 --14 --14 --14 --13 --14 --14 --14 --12 --12 --12 --12 --12 --12 --11 --12 --12 --12 --12 --12 --10 --11 --11 --11 --10 --12 --11 --11 --11 --10 --10 --11 --11 --11 --11 --11 --10 --11 --10 -22 -77 -92 -91 -73 -52 -28 -9 --6 --15 --20 --18 --15 --11 --7 --3 --1 -1 -0 -1 --1 --2 --4 --5 --6 --5 --7 --6 --6 --6 --7 --6 --7 --7 --8 --7 --8 --7 --8 --9 --9 --9 --9 --9 --9 --9 --10 --9 --10 --10 --10 --10 --10 --10 --10 --9 --10 --9 --10 --10 --11 --10 --11 --10 --34 --73 --98 --98 --85 --67 --49 --33 --24 --17 --15 --15 --16 --17 --21 --21 --21 --21 --21 --19 --18 --17 --16 --15 --16 --14 --15 --15 --14 --13 --14 --13 -19 -73 -89 -88 -71 -50 -27 -7 --8 --16 --21 --20 --17 --12 --8 --4 --1 -0 -0 -0 --1 --2 --4 --5 --6 --6 --6 --6 --7 --7 --7 --7 --33 --71 --97 --80 --83 --65 --48 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 --12 --12 --12 --11 --13 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --12 --11 --11 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 --10 --10 -22 -76 -92 -91 -74 -52 -29 -10 --6 --15 --19 --19 --16 --11 --7 --3 --1 -1 -0 -0 --1 --2 --3 --4 --6 --5 --6 --6 --7 --6 --7 --7 --32 --70 --96 --79 --83 --65 --48 --32 --22 --15 --13 --13 --15 --16 --18 --20 --20 --20 --20 --18 --17 --16 --16 --14 --14 --14 --15 --13 --14 --13 --13 --13 -19 -73 -89 -88 -71 -51 -27 -7 --8 --16 --20 --19 --16 --11 --9 --4 --1 -0 -1 -1 --2 --2 --4 --4 --6 --5 --6 --7 --7 --6 --8 --7 --8 --8 --8 --7 --8 --8 --9 --8 --10 --9 --10 --10 --10 --9 --10 --9 --10 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --11 --11 --10 --11 --10 --35 --73 --99 --98 --85 --67 --49 --34 --23 --17 --15 --14 --16 --17 --20 --21 --22 --21 --21 --19 --18 --17 --17 --15 --16 --15 --15 --14 --15 --13 --13 --13 -19 -74 -89 -88 -72 -51 -27 -8 --7 --17 --20 --19 --17 --12 --7 --3 --2 -0 -0 --1 --2 --2 --5 --4 --5 --5 --7 --6 --7 --7 --8 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --15 --16 --19 --20 --20 --21 --20 --18 --18 --16 --16 --14 --15 --13 --14 --14 --14 --13 --14 --13 -19 -73 -89 -88 -71 -50 -27 -8 --8 --16 --20 --19 --17 --11 --8 --4 --1 -1 -0 -0 --1 --2 --4 --4 --6 --5 --6 --6 --7 --7 --8 --7 --33 --71 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --15 --17 --19 --20 --21 --20 --21 --19 --18 --17 --16 --14 --14 --14 --14 --14 --14 --13 --13 --13 -19 -74 -90 -89 -72 -50 -26 -7 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --1 --3 --4 --6 --6 --7 --6 --7 --6 --7 --7 --32 --71 --96 --80 --83 --65 --47 --32 --22 --16 --14 --14 --15 --16 --19 --19 --20 --20 --20 --18 --17 --17 --16 --15 --15 --13 --13 --14 --14 --13 --14 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --16 --20 --19 --16 --11 --7 --4 --1 -0 --1 -0 --1 --3 --4 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --19 --19 --18 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -90 -89 -72 -51 -27 -8 --8 --17 --21 --19 --17 --11 --7 --3 --2 -0 -0 -0 --1 --2 --3 --3 --5 --5 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --84 --65 --48 --32 --22 --15 --13 --14 --16 --17 --19 --20 --20 --20 --20 --18 --17 --16 --16 --15 --16 --14 --14 --14 --14 --13 --13 --13 -19 -73 -89 -88 -71 -50 -27 -8 --8 --16 --20 --19 --17 --12 --7 --4 --1 -1 -0 -0 --1 --2 --4 --4 --5 --6 --6 --6 --7 --7 --7 --8 --33 --71 --96 --80 --83 --64 --47 --32 --22 --16 --13 --13 --15 --17 --19 --20 --21 --20 --20 --19 --17 --16 --16 --15 --15 --15 --15 --14 --15 --13 --13 --12 -19 -73 -90 -88 -72 -51 -26 -7 --7 --17 --21 --19 --17 --12 --8 --3 --1 -1 -0 -0 --1 --2 --4 --4 --6 --5 --6 --7 --7 --7 --7 --7 --32 --71 --97 --80 --83 --65 --47 --32 --23 --16 --14 --14 --16 --17 --18 --19 --20 --19 --20 --18 --18 --17 --16 --14 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -71 -50 -27 -8 --7 --16 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --7 --6 --7 --7 --33 --70 --96 --97 --83 --65 --48 --32 --22 --16 --14 --14 --16 --17 --19 --19 --20 --19 --19 --19 --18 --16 --17 --15 --15 --14 --14 --13 --13 --13 --14 --12 --13 --12 --12 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --11 --11 --11 --12 --11 --11 --10 --11 --10 --11 --10 --11 --11 --10 --10 --10 --10 -22 -76 -91 -91 -74 -51 -28 -9 --7 --15 --19 --18 --16 --11 --7 --3 --1 -1 -0 -0 --1 --2 --3 --4 --5 --6 --6 --5 --7 --6 --7 --7 --33 --70 --96 --80 --83 --64 --47 --32 --22 --16 --14 --14 --16 --17 --18 --19 --20 --19 --20 --19 --17 --16 --16 --15 --14 --15 --14 --13 --14 --13 --13 --12 -19 -73 -90 -89 -72 -51 -26 -7 --7 --17 --20 --19 --16 --12 --8 --3 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --6 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --14 --16 --17 --19 --19 --20 --19 --20 --19 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --17 --21 --19 --17 --12 --7 --4 --1 -0 --1 -0 --1 --2 --4 --4 --5 --7 --7 --7 --8 --7 --7 --7 --32 --70 --96 --97 --83 --64 --47 --32 --21 --15 --13 --13 --16 --17 --19 --19 --20 --19 --19 --18 --18 --17 --17 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -88 -72 -51 -27 -8 --8 --17 --20 --19 --16 --12 --7 --3 --1 -0 -0 --1 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --8 --7 --33 --71 --96 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --20 --18 --17 --16 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -74 -89 -89 -72 -51 -27 -8 --7 --17 --21 --20 --18 --12 --8 --4 --1 -1 -0 -0 --1 --2 --4 --4 --5 --6 --6 --6 --7 --7 --7 --7 --33 --70 --96 --80 --83 --64 --48 --32 --22 --16 --14 --13 --15 --17 --19 --19 --21 --20 --20 --19 --18 --16 --16 --15 --15 --14 --15 --14 --14 --14 --13 --12 -19 -73 -90 -88 -71 -51 -27 -7 --7 --16 --21 --19 --16 --12 --8 --4 --2 -0 -1 -1 --1 --2 --3 --5 --5 --6 --7 --6 --7 --7 --8 --7 --7 --7 --8 --7 --8 --7 --8 --8 --9 --9 --9 --9 --10 --9 --9 --9 --9 --9 --10 --9 --10 --10 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 --35 --73 --98 --98 --85 --67 --50 --34 --24 --17 --15 --15 --17 --18 --20 --21 --22 --21 --20 --19 --18 --16 --17 --15 --16 --15 --15 --13 --13 --13 --13 --13 --14 --13 --13 --13 --13 --12 --12 --11 --11 --11 --12 --11 --12 --11 --11 --11 --12 --10 --11 --11 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 --10 --10 -21 -75 -92 -91 -74 -53 -29 -9 --6 --15 --20 --19 --16 --11 --7 --2 -0 -1 -1 -1 --1 --1 --3 --4 --5 --5 --7 --6 --7 --7 --7 --7 --32 --70 --95 --79 --83 --65 --48 --32 --22 --15 --13 --13 --15 --16 --18 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --15 --15 --14 --14 --13 --13 --12 -19 -73 -90 -88 -72 -51 -26 -8 --7 --16 --20 --19 --17 --12 --8 --3 --1 -0 -0 -0 --1 --2 --4 --4 --5 --5 --6 --6 --6 --7 --7 --7 --8 --7 --7 --8 --8 --8 --9 --8 --9 --9 --10 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --9 --11 --10 --10 --10 --10 --9 --35 --73 --98 --99 --86 --67 --49 --34 --23 --17 --15 --15 --17 --18 --20 --20 --21 --21 --20 --19 --19 --17 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --12 --13 --12 --12 --11 --12 --12 --12 --12 --12 --11 --12 --11 --11 --10 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --10 --10 --11 --10 -22 -76 -92 -91 -74 -52 -28 -9 --6 --15 --19 --18 --15 --11 --7 --3 --1 -1 -1 -0 --1 --1 --3 --4 --6 --5 --7 --6 --6 --6 --7 --6 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --17 --18 --16 --16 --15 --15 --13 --14 --13 --14 --13 --14 --12 -20 -73 -89 -89 -71 -50 -27 -7 --8 --16 --20 --19 --16 --11 --8 --4 --2 --1 --1 -0 --2 --2 --3 --4 --6 --6 --7 --6 --7 --6 --7 --7 --32 --71 --96 --97 --84 --65 --48 --32 --22 --16 --14 --13 --15 --17 --19 --19 --21 --20 --19 --19 --18 --16 --17 --15 --15 --14 --14 --13 --13 --13 --13 --12 -19 -73 -90 -88 -71 -51 -27 -8 --7 --16 --21 --19 --16 --12 --8 --3 --2 -0 -0 -0 --2 --2 --3 --4 --5 --5 --7 --7 --7 --7 --7 --6 --32 --70 --95 --79 --84 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --16 --16 --16 --15 --14 --14 --13 --13 --13 --13 --12 -19 -73 -89 -89 -71 -51 -27 -8 --7 --16 --20 --20 --16 --11 --8 --3 --1 -0 -0 -0 --1 --2 --3 --4 --5 --6 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --33 --22 --15 --14 --13 --15 --17 --18 --19 --21 --20 --19 --19 --18 --16 --16 --15 --14 --13 --15 --13 --13 --13 --13 --12 -19 -73 -89 -88 -71 -50 -27 -7 --7 --16 --21 --19 --16 --12 --8 --3 --1 -0 -0 -0 --1 --2 --3 --5 --6 --5 --7 --6 --7 --6 --7 --7 --32 --71 --96 --79 --83 --65 --47 --32 --22 --15 --14 --14 --15 --16 --19 --19 --20 --20 --20 --19 --18 --17 --16 --15 --15 --13 --14 --14 --14 --13 --14 --12 -20 -73 -90 -89 -72 -51 -27 -8 --8 --16 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --7 --7 --6 --33 --71 --97 --97 --83 --65 --47 --32 --22 --15 --14 --13 --16 --17 --19 --19 --21 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --13 --14 --14 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --20 --17 --12 --7 --3 --1 -0 -0 -0 --2 --1 --3 --4 --6 --6 --7 --7 --8 --7 --8 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --14 --15 --17 --19 --19 --20 --21 --20 --18 --17 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --12 -19 -73 -89 -88 -72 -50 -27 -8 --8 --16 --20 --19 --17 --12 --8 --3 --1 -1 -0 -0 --1 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --7 --33 --70 --96 --79 --83 --64 --47 --33 --22 --16 --14 --13 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --15 --14 --13 --13 --13 --12 -20 -73 -89 -89 -71 -50 -26 -7 --8 --16 --20 --19 --17 --12 --8 --4 --1 -0 -1 -1 --1 --2 --4 --5 --7 --6 --7 --7 --7 --6 --8 --7 --32 --71 --96 --80 --83 --65 --47 --32 --23 --16 --14 --14 --15 --16 --19 --19 --20 --20 --21 --19 --18 --17 --16 --14 --15 --14 --14 --14 --14 --13 --13 --13 -20 -74 -89 -89 -72 -50 -27 -7 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --7 --32 --71 --96 --80 --84 --65 --47 --33 --22 --15 --14 --14 --15 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --13 --14 --13 --13 --13 --14 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --17 --21 --19 --16 --11 --8 --4 --2 --1 -0 -0 --1 --2 --3 --4 --6 --6 --7 --7 --7 --6 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --16 --17 --19 --19 --20 --19 --20 --18 --18 --17 --17 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --17 --20 --19 --16 --11 --7 --3 --1 -0 -0 -0 --2 --2 --3 --4 --5 --5 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --33 --22 --15 --13 --13 --15 --17 --19 --20 --21 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -73 -89 -88 -72 -50 -27 -8 --8 --16 --20 --19 --16 --12 --8 --4 --1 -1 -0 -0 --1 --3 --4 --4 --6 --5 --6 --6 --7 --7 --7 --7 --7 --7 --8 --7 --8 --8 --9 --8 --9 --9 --9 --8 --9 --9 --9 --10 --10 --10 --11 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --34 --72 --99 --98 --86 --66 --49 --33 --23 --17 --15 --14 --16 --17 --20 --21 --21 --21 --20 --18 --18 --17 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 -19 -72 -89 -88 -71 -51 -27 -8 --8 --16 --21 --20 --17 --11 --8 --3 --1 -0 --1 --1 --2 --3 --4 --4 --6 --6 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --48 --32 --23 --16 --13 --14 --16 --17 --19 --20 --21 --19 --20 --18 --17 --17 --16 --15 --16 --15 --14 --13 --14 --13 --13 --13 -20 -73 -89 -89 -72 -50 -27 -8 --7 --17 --20 --19 --17 --12 --8 --4 --1 -1 -0 --1 --2 --2 --4 --5 --6 --6 --7 --6 --7 --7 --7 --8 --33 --71 --96 --80 --83 --65 --47 --32 --22 --16 --13 --13 --15 --16 --19 --19 --20 --20 --20 --18 --18 --16 --16 --14 --15 --14 --14 --14 --14 --13 --13 --12 --13 --12 --13 --12 --12 --12 --12 --11 --12 --11 --11 --12 --12 --11 --12 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 --10 --10 --10 --10 -22 -76 -92 -91 -74 -53 -29 -9 --7 --15 --20 --18 --16 --11 --6 --3 --1 -1 -0 -0 --1 --2 --4 --4 --5 --5 --6 --6 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --17 --18 --20 --20 --19 --19 --18 --18 --16 --17 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --16 --21 --20 --16 --11 --8 --3 --1 -0 -0 -0 --1 --3 --4 --4 --6 --5 --6 --6 --7 --7 --8 --7 --8 --7 --8 --7 --8 --8 --9 --8 --10 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --9 --10 --10 --9 --11 --10 --10 --10 --10 --10 --10 --10 --35 --72 --99 --98 --85 --67 --49 --33 --24 --17 --15 --15 --17 --18 --20 --21 --21 --20 --21 --19 --19 --17 --17 --15 --15 --15 --14 --13 --14 --13 --13 --13 --14 --13 --13 --12 --12 --11 --12 --12 --12 --12 --12 --11 --12 --11 --11 --11 --11 --11 --11 --11 --11 --10 --10 --10 --10 --11 --11 --10 --11 --10 --10 --9 -22 -76 -91 -91 -74 -52 -29 -9 --6 --15 --19 --18 --16 --11 --8 --3 --1 -1 -1 -1 -0 --2 --4 --4 --6 --5 --6 --7 --7 --6 --7 --7 --33 --71 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --15 --16 --18 --19 --20 --19 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -20 -74 -89 -89 -72 -51 -27 -8 --8 --17 --21 --19 --17 --12 --7 --4 --2 -0 -0 -0 --1 --1 --4 --4 --5 --6 --6 --6 --8 --7 --7 --6 --32 --71 --96 --97 --83 --65 --48 --32 --22 --16 --14 --14 --15 --17 --19 --19 --21 --19 --19 --19 --18 --16 --16 --15 --15 --14 --14 --13 --14 --13 --14 --13 -19 -73 -90 -89 -72 -50 -26 -7 --9 --17 --20 --20 --17 --11 --7 --3 --2 -0 --1 -0 --1 --3 --4 --4 --6 --6 --7 --7 --7 --7 --7 --8 --7 --7 --8 --8 --9 --9 --9 --8 --9 --9 --9 --8 --10 --9 --10 --10 --10 --9 --10 --10 --10 --10 --10 --10 --10 --10 --10 --9 --10 --9 --10 --10 --35 --73 --99 --99 --85 --66 --49 --33 --23 --17 --15 --15 --17 --18 --20 --21 --21 --21 --20 --20 --18 --17 --17 --15 --15 --15 --15 --14 --14 --14 --13 --13 -19 -73 -90 -88 -72 -51 -26 -7 --8 --17 --21 --19 --16 --12 --8 --3 --2 -0 -0 --1 --1 --2 --3 --4 --5 --6 --7 --7 --7 --7 --7 --7 --33 --71 --97 --97 --84 --65 --47 --32 --22 --15 --13 --13 --16 --17 --19 --19 --20 --19 --20 --18 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --13 --13 --13 --12 --12 --11 --12 --11 --11 --10 --11 --11 --11 --11 --11 --10 --11 --10 --10 --10 --11 --9 --10 --10 --11 --10 --11 --10 --10 --10 -22 -76 -92 -90 -74 -53 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -1 -0 --1 --2 --4 --5 --5 --6 --7 --6 --6 --6 --6 --6 --8 --7 --8 --8 --8 --7 --8 --8 --9 --9 --10 --9 --9 --9 --9 --9 --10 --10 --10 --10 --11 --9 --10 --9 --10 --10 --10 --10 --10 --10 --10 --10 --35 --73 --98 --98 --85 --67 --50 --34 --23 --17 --14 --14 --16 --17 --20 --21 --22 --21 --21 --19 --18 --17 --16 --15 --15 --15 --15 --14 --15 --13 --13 --13 -19 -73 -90 -89 -72 -51 -26 -7 --8 --17 --21 --19 --17 --12 --8 --3 --1 -1 -0 -0 --2 --2 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --48 --32 --22 --16 --14 --13 --15 --17 --18 --19 --21 --20 --20 --19 --18 --16 --16 --15 --15 --14 --15 --14 --14 --13 --13 --12 --13 --13 --12 --12 --12 --11 --12 --11 --12 --11 --12 --11 --11 --12 --12 --11 --11 --11 --11 --10 --10 --10 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 -22 -76 -91 -90 -74 -53 -29 -9 --6 --15 --19 --19 --16 --11 --7 --3 --1 -1 -1 -1 --1 --1 --4 --4 --5 --6 --6 --6 --7 --7 --8 --7 --33 --71 --96 --80 --83 --64 --48 --32 --22 --15 --13 --13 --14 --17 --19 --19 --21 --20 --19 --18 --17 --15 --16 --15 --15 --14 --14 --13 --14 --13 --13 --12 -19 -73 -89 -87 -71 -51 -27 -8 --7 --15 --21 --19 --17 --13 --8 --4 --2 -0 -1 -1 --1 --2 --4 --5 --6 --5 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --20 --19 --18 --16 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -74 -90 -89 -72 -51 -26 -7 --8 --17 --20 --19 --17 --12 --8 --4 --1 -1 -0 -0 --1 --2 --4 --4 --5 --7 --7 --7 --7 --7 --7 --7 --8 --7 --8 --8 --8 --8 --9 --8 --9 --8 --9 --9 --10 --10 --9 --9 --10 --9 --10 --10 --10 --10 --10 --10 --10 --9 --10 --10 --11 --10 --11 --10 --36 --73 --98 --98 --86 --67 --49 --34 --24 --17 --15 --14 --16 --18 --20 --20 --21 --21 --20 --19 --19 --17 --16 --15 --15 --14 --15 --14 --14 --13 --14 --12 --13 --13 --13 --12 --13 --12 --12 --12 --12 --11 --11 --11 --11 --11 --11 --11 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 --10 --9 --11 --10 --10 --10 -22 -76 -92 -91 -74 -53 -28 -10 --6 --16 --20 --19 --16 --11 --7 --3 --1 -1 -1 -0 --1 --1 --4 --4 --5 --5 --6 --6 --7 --7 --7 --6 --7 --7 --7 --7 --8 --8 --9 --8 --9 --9 --10 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --9 --10 --10 --10 --11 --10 --10 --10 --10 --10 --35 --73 --98 --98 --86 --67 --49 --34 --23 --16 --15 --15 --17 --18 --20 --20 --21 --21 --21 --19 --19 --17 --17 --16 --16 --14 --14 --14 --14 --13 --14 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --17 --20 --19 --17 --12 --7 --4 --2 --1 --1 --1 --2 --2 --4 --4 --5 --6 --7 --7 --8 --7 --7 --7 --33 --71 --96 --80 --83 --65 --48 --33 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --19 --17 --16 --16 --15 --15 --14 --15 --13 --14 --13 --13 --12 -18 -72 -89 -88 -71 -51 -28 -7 --7 --16 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --3 --4 --5 --5 --7 --6 --7 --6 --7 --7 --32 --70 --96 --79 --83 --65 --47 --33 --22 --15 --13 --13 --15 --16 --19 --20 --20 --20 --19 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 -20 -73 -89 -88 -71 -51 -27 -8 --7 --16 --20 --19 --17 --12 --8 --3 --1 -1 -1 --1 --1 --2 --5 --5 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --97 --83 --65 --47 --33 --22 --15 --14 --13 --15 --16 --19 --19 --21 --20 --20 --18 --17 --16 --16 --15 --15 --14 --15 --14 --14 --13 --14 --12 -19 -73 -90 -89 -71 -51 -27 -7 --7 --16 --21 --20 --17 --12 --8 --4 --1 -0 -0 -1 --1 --2 --3 --5 --6 --6 --6 --6 --6 --6 --7 --7 --32 --71 --96 --80 --84 --65 --47 --32 --22 --15 --13 --14 --15 --16 --18 --19 --20 --20 --20 --18 --17 --16 --16 --14 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -8 --7 --16 --20 --19 --17 --12 --8 --3 --2 -0 -0 --1 --1 --2 --3 --4 --5 --6 --7 --7 --7 --6 --7 --6 --33 --71 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --18 --18 --17 --16 --15 --15 --13 --14 --13 --14 --13 --14 --13 --13 --12 --12 --11 --12 --11 --12 --12 --12 --11 --11 --11 --11 --10 --12 --11 --11 --11 --11 --10 --12 --11 --11 --10 --11 --10 --10 --11 --11 --10 --10 --9 -22 -75 -92 -91 -74 -52 -29 -10 --6 --15 --19 --19 --16 --11 --8 --3 --1 -1 -1 -1 --1 --2 --3 --4 --6 --5 --6 --7 --7 --7 --7 --7 --8 --7 --8 --7 --8 --7 --8 --8 --9 --8 --9 --8 --9 --9 --9 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --9 --11 --10 --10 --11 --11 --9 --34 --72 --98 --98 --86 --67 --49 --34 --23 --16 --15 --15 --16 --17 --20 --20 --21 --21 --20 --19 --18 --17 --16 --16 --16 --15 --14 --14 --14 --13 --14 --12 --13 --13 --13 --12 --13 --12 --12 --11 --11 --11 --12 --12 --11 --11 --11 --10 --10 --11 --11 --11 --11 --10 --10 --10 --11 --10 --10 --10 --10 --10 --11 --10 -22 -76 -92 -91 -74 -52 -28 -9 --7 --15 --19 --19 --15 --11 --7 --3 --1 -1 -0 -0 --1 --2 --3 --4 --6 --5 --6 --6 --7 --6 --7 --6 --7 --7 --8 --8 --8 --8 --8 --8 --8 --8 --9 --9 --9 --10 --10 --9 --10 --9 --9 --9 --10 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --35 --73 --99 --98 --86 --66 --49 --34 --24 --17 --15 --15 --16 --17 --20 --20 --21 --21 --21 --19 --19 --17 --17 --15 --15 --14 --14 --15 --15 --13 --14 --13 -19 -73 -89 -88 -71 -50 -26 -7 --9 --17 --20 --19 --17 --12 --9 --4 --1 -0 -0 -0 --1 --3 --4 --4 --7 --6 --7 --7 --7 --6 --7 --7 --32 --70 --97 --80 --83 --65 --47 --32 --23 --16 --13 --14 --16 --17 --19 --20 --20 --19 --20 --18 --18 --17 --16 --14 --14 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --13 --11 --12 --12 --12 --11 --12 --11 --11 --11 --12 --11 --11 --11 --11 --10 --11 --10 --10 --11 --11 --10 --10 --11 --10 --10 --11 --10 -22 -75 -92 -91 -73 -52 -28 -9 --7 --15 --19 --19 --16 --11 --7 --3 -0 -1 -1 -1 --1 --2 --3 --4 --6 --5 --6 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --16 --18 --19 --21 --20 --20 --19 --17 --16 --15 --14 --14 --14 --14 --13 --14 --13 --13 --13 -19 -74 -90 -89 -72 -51 -26 -7 --8 --17 --20 --19 --17 --12 --7 --3 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --8 --8 --8 --8 --9 --8 --8 --9 --9 --8 --9 --10 --9 --9 --10 --9 --9 --9 --10 --9 --11 --10 --10 --9 --10 --9 --10 --10 --11 --10 --11 --10 --35 --73 --98 --98 --85 --67 --49 --34 --24 --17 --14 --14 --16 --17 --21 --21 --21 --21 --21 --19 --18 --17 --16 --15 --15 --15 --15 --15 --15 --13 --14 --13 -19 -73 -89 -88 -72 -50 -27 -8 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --3 --4 --5 --6 --6 --6 --6 --7 --7 --7 --7 --33 --71 --97 --80 --83 --65 --47 --32 --22 --16 --13 --13 --15 --17 --19 --20 --21 --20 --20 --19 --18 --16 --16 --15 --14 --14 --14 --13 --14 --13 --13 --12 -20 -73 -89 -89 -71 -50 -26 -7 --8 --16 --20 --19 --16 --11 --8 --3 --1 --1 -0 -0 --1 --2 --3 --4 --6 --6 --7 --6 --7 --6 --8 --7 --33 --71 --97 --97 --83 --65 --47 --32 --22 --16 --13 --14 --15 --17 --18 --19 --20 --19 --20 --18 --18 --17 --16 --14 --16 --14 --14 --13 --14 --13 --13 --13 -19 -74 -90 -89 -73 -50 -27 -7 --8 --17 --20 --19 --17 --11 --7 --3 --1 -1 --1 -0 --2 --2 --4 --4 --6 --6 --7 --6 --7 --6 --6 --7 --32 --71 --96 --80 --84 --65 --48 --32 --21 --15 --14 --13 --16 --17 --19 --19 --21 --19 --19 --18 --18 --17 --16 --15 --15 --13 --14 --13 --13 --13 --13 --13 -19 -72 -89 -88 -72 -51 -27 -8 --8 --17 --20 --19 --16 --11 --8 --3 --2 -0 --1 -0 --2 --3 --4 --4 --6 --6 --6 --7 --8 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --23 --15 --13 --13 --15 --17 --19 --20 --20 --20 --20 --18 --17 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -73 -89 -88 -71 -51 -27 -8 --7 --17 --21 --19 --17 --12 --7 --4 --1 -0 -0 -0 --1 --2 --4 --4 --5 --6 --6 --6 --7 --7 --8 --7 --33 --71 --96 --80 --83 --65 --47 --33 --22 --16 --14 --13 --15 --16 --19 --19 --21 --20 --20 --18 --17 --16 --16 --15 --15 --14 --14 --13 --13 --12 --13 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --16 --20 --20 --17 --12 --8 --4 --1 -1 --1 -0 --1 --2 --4 --4 --6 --6 --6 --6 --7 --6 --7 --7 --32 --70 --96 --80 --82 --65 --47 --32 --22 --16 --14 --13 --16 --17 --18 --19 --20 --19 --20 --19 --18 --16 --16 --14 --14 --14 --14 --13 --14 --13 --13 --13 -19 -74 -90 -89 -72 -51 -26 -7 --8 --16 --20 --19 --17 --12 --8 --4 --2 -1 -0 -0 --1 --2 --4 --4 --6 --7 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --48 --33 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --20 --19 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -7 --9 --16 --20 --19 --16 --11 --7 --4 --1 -0 --1 -0 --1 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --32 --71 --97 --97 --83 --65 --48 --32 --22 --16 --14 --14 --17 --17 --19 --20 --20 --19 --19 --18 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --13 --13 --12 --12 --11 --12 --11 --12 --12 --12 --11 --11 --11 --11 --10 --11 --11 --10 --11 --11 --10 --11 --10 --10 --10 --11 --10 --11 --11 --11 --10 -22 -76 -92 -90 -74 -53 -28 -9 --6 --15 --19 --18 --15 --11 --7 --3 --1 -1 -0 -1 -0 --2 --3 --4 --6 --5 --6 --6 --7 --6 --7 --7 --32 --70 --96 --79 --83 --65 --47 --32 --22 --16 --14 --14 --16 --17 --19 --19 --20 --20 --20 --19 --18 --16 --16 --15 --15 --14 --14 --13 --14 --14 --14 --13 -19 -73 -90 -89 -72 -51 -26 -7 --8 --17 --20 --19 --17 --12 --7 --3 --2 -0 -0 -0 --1 --1 --3 --4 --5 --6 --6 --6 --7 --6 --7 --6 --32 --71 --96 --80 --83 --65 --48 --33 --22 --15 --14 --14 --15 --17 --19 --19 --20 --19 --19 --19 --18 --16 --16 --15 --14 --13 --14 --13 --14 --13 --13 --12 -18 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --16 --11 --7 --4 --2 -0 -0 -0 --1 --2 --4 --4 --5 --5 --7 --6 --8 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --17 --19 --20 --21 --20 --20 --18 --17 --16 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -90 -88 -72 -51 -27 -8 --7 --17 --21 --20 --17 --11 --7 --3 --2 -0 -0 --1 --1 --2 --5 --4 --5 --5 --7 --6 --7 --7 --7 --7 --32 --70 --96 --97 --83 --65 --48 --33 --22 --16 --14 --13 --15 --17 --19 --19 --22 --20 --20 --18 --18 --16 --16 --15 --15 --14 --15 --13 --13 --13 --13 --12 -19 -73 -90 -89 -71 -51 -27 -7 --8 --16 --21 --19 --17 --11 --7 --3 --1 -1 -0 -0 --2 --2 --4 --4 --6 --6 --6 --6 --7 --7 --8 --8 --33 --71 --97 --80 --83 --65 --48 --32 --22 --15 --13 --12 --15 --17 --18 --20 --21 --20 --20 --19 --17 --16 --16 --15 --14 --15 --15 --13 --14 --13 --13 --12 -19 -74 -90 -89 -72 -51 -26 -7 --8 --16 --21 --19 --16 --12 --8 --4 --2 -0 -1 -0 --1 --2 --4 --5 --6 --5 --7 --6 --6 --7 --7 --6 --8 --7 --8 --8 --9 --8 --8 --9 --9 --9 --10 --9 --10 --10 --9 --9 --10 --9 --10 --9 --11 --10 --10 --10 --10 --9 --11 --10 --11 --10 --10 --10 --35 --73 --99 --99 --86 --67 --49 --34 --23 --17 --15 --14 --16 --18 --20 --21 --22 --21 --20 --19 --18 --17 --17 --15 --16 --15 --15 --14 --15 --13 --14 --13 --13 --12 --13 --13 --13 --12 --12 --11 --11 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --10 --12 --11 --11 --10 --10 --10 --11 --10 --11 --10 -21 -76 -92 -91 -74 -53 -28 -9 --7 --15 --20 --18 --15 --11 --7 --2 --1 -0 -1 -1 --1 --1 --3 --4 --5 --5 --7 --6 --6 --7 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --16 --15 --14 --14 --13 --13 --12 --13 --13 -19 -73 -89 -89 -72 -51 -26 -8 --7 --17 --20 --19 --17 --11 --7 --3 --1 -1 -0 --1 --1 --2 --4 --4 --5 --6 --7 --7 --8 --7 --7 --7 --8 --7 --7 --8 --8 --8 --9 --9 --9 --9 --9 --8 --9 --9 --10 --9 --10 --9 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 --35 --73 --99 --99 --86 --67 --49 --34 --23 --17 --15 --15 --17 --18 --20 --20 --21 --21 --20 --19 --19 --17 --17 --16 --15 --14 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --12 --12 --12 --11 --12 --11 --11 --11 --11 --11 --11 --11 --11 --11 --11 --10 --10 --10 --10 --10 --10 --10 --11 --10 --10 --10 -22 -76 -92 -90 -74 -52 -28 -9 --6 --15 --19 --18 --16 --11 --7 --3 --1 -1 -1 -1 -0 --1 --4 --4 --5 --6 --7 --6 --7 --7 --7 --6 --33 --71 --96 --97 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --19 --18 --17 --16 --15 --15 --13 --14 --13 --14 --14 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --11 --7 --3 --1 -0 -0 -0 --2 --2 --3 --5 --6 --6 --7 --7 --7 --7 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --14 --16 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -27 -8 --8 --17 --21 --19 --16 --12 --7 --3 --2 -0 -0 --1 --2 --2 --4 --4 --5 --5 --7 --7 --7 --7 --7 --6 --33 --71 --96 --97 --84 --65 --48 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --18 --16 --16 --15 --15 --14 --15 --13 --14 --13 --13 --13 -19 -73 -89 -89 -71 -51 -27 -7 --8 --17 --21 --19 --17 --12 --8 --3 --1 -0 -0 -0 --2 --3 --4 --5 --6 --5 --6 --7 --7 --7 --8 --7 --32 --71 --96 --79 --83 --65 --48 --32 --23 --16 --13 --13 --15 --17 --19 --20 --21 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --12 -20 -74 -90 -88 -72 -51 -27 -8 --7 --16 --20 --19 --16 --12 --8 --3 --2 -0 -0 -0 --1 --2 --3 --5 --6 --5 --6 --6 --7 --7 --7 --7 --33 --71 --97 --80 --83 --65 --47 --32 --22 --16 --14 --14 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -20 -73 -90 -89 -71 -51 -26 -7 --8 --16 --20 --19 --16 --11 --8 --3 --1 --1 -0 -0 --2 --2 --4 --4 --6 --6 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --19 --19 --18 --18 --17 --16 --15 --15 --14 --15 --13 --13 --13 --13 --12 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --12 --7 --3 --1 -0 -0 -0 --2 --2 --3 --4 --5 --5 --7 --6 --7 --7 --7 --7 --32 --70 --96 --79 --84 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --14 --12 -19 -73 -89 -88 -71 -51 -27 -8 --8 --16 --20 --19 --16 --11 --8 --3 --1 -0 -0 -0 --1 --2 --4 --4 --6 --5 --6 --7 --7 --7 --8 --7 --33 --71 --96 --80 --83 --65 --47 --32 --23 --16 --13 --13 --15 --16 --19 --20 --21 --20 --20 --19 --18 --17 --16 --15 --15 --14 --15 --13 --13 --13 --13 --12 -19 -73 -89 -89 -71 -51 -26 -7 --7 --16 --21 --19 --16 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --6 --6 --7 --6 --6 --6 --7 --7 --32 --71 --96 --80 --84 --65 --47 --32 --23 --16 --14 --14 --15 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --13 --14 --14 --14 --13 --14 --13 -19 -73 -90 -89 -72 -50 -27 -8 --8 --16 --20 --19 --16 --11 --8 --3 --1 -0 -0 -0 --1 --2 --3 --4 --6 --6 --6 --7 --7 --7 --7 --7 --33 --71 --97 --80 --83 --65 --47 --31 --22 --15 --13 --13 --15 --17 --19 --19 --20 --19 --19 --18 --19 --17 --16 --15 --15 --13 --14 --13 --14 --13 --13 --12 -19 -74 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --11 --7 --3 --1 -0 -0 -0 --2 --2 --3 --4 --6 --6 --7 --7 --7 --6 --7 --7 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --14 --15 --17 --20 --20 --21 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --12 --13 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --17 --20 --20 --17 --11 --7 --3 --1 -1 -0 -0 --1 --3 --4 --4 --6 --6 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --17 --19 --19 --21 --20 --20 --17 --18 --15 --16 --15 --15 --14 --15 --14 --14 --13 --13 --13 -19 -73 -89 -89 -71 -51 -27 -7 --8 --16 --20 --20 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --4 --4 --6 --5 --6 --6 --7 --6 --8 --7 --7 --8 --8 --7 --8 --8 --9 --8 --9 --9 --9 --9 --9 --9 --10 --9 --10 --9 --10 --9 --9 --9 --10 --9 --11 --10 --10 --10 --10 --9 --10 --10 --35 --73 --99 --98 --85 --67 --49 --33 --23 --17 --15 --15 --17 --18 --20 --21 --21 --20 --21 --19 --19 --17 --17 --16 --15 --15 --14 --13 --14 --13 --14 --13 -18 -73 -89 -88 -72 -51 -26 -7 --8 --17 --21 --19 --16 --11 --8 --3 --1 -0 -0 -0 --2 --2 --4 --5 --6 --6 --7 --7 --7 --6 --8 --7 --32 --70 --96 --79 --84 --65 --47 --32 --22 --15 --13 --14 --15 --17 --20 --20 --21 --20 --20 --18 --17 --17 --16 --15 --16 --14 --14 --14 --14 --13 --13 --13 -19 -73 -89 -89 -73 -51 -27 -8 --8 --17 --21 --20 --17 --12 --7 --3 --1 -1 --1 -0 --1 --3 --4 --4 --6 --6 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --16 --13 --13 --15 --17 --18 --20 --20 --19 --20 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --13 --12 --12 --11 --12 --11 --11 --11 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 --10 --10 --10 --10 -22 -75 -92 -91 -75 -53 -29 -9 --6 --15 --19 --19 --16 --11 --7 --3 --1 -1 -0 -0 --1 --2 --3 --3 --5 --5 --6 --7 --7 --7 --7 --6 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --20 --21 --19 --20 --18 --17 --17 --16 --15 --15 --15 --14 --13 --14 --12 --13 --13 -19 -73 -89 -88 -72 -51 -27 -8 --7 --17 --20 --19 --17 --12 --7 --4 --1 -1 -0 -0 --1 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --8 --7 --8 --7 --8 --8 --9 --9 --10 --9 --9 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --9 --10 --9 --10 --10 --10 --10 --11 --10 --35 --73 --99 --99 --86 --67 --49 --33 --24 --17 --15 --15 --17 --18 --20 --21 --21 --20 --20 --19 --18 --17 --17 --16 --16 --15 --14 --13 --14 --13 --13 --13 --13 --13 --13 --12 --12 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --12 --11 --11 --10 --11 --10 --10 --10 --11 --10 --11 --10 --10 --10 -22 -76 -92 -91 -74 -53 -28 -9 --6 --16 --19 --18 --16 --11 --7 --3 --1 -1 -1 -0 --1 --1 --4 --4 --5 --6 --6 --6 --6 --6 --7 --6 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --14 --16 --16 --19 --19 --20 --19 --20 --19 --18 --17 --17 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -7 --9 --17 --20 --19 --17 --11 --7 --4 --1 -0 --1 -0 --1 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --16 --13 --13 --15 --17 --19 --20 --20 --19 --19 --18 --18 --16 --16 --15 --15 --14 --14 --13 --14 --13 --14 --13 -19 -73 -90 -88 -72 -51 -27 -8 --7 --17 --21 --20 --17 --12 --7 --3 --2 -0 -0 --1 --1 --2 --4 --5 --5 --5 --6 --6 --7 --7 --7 --7 --8 --7 --8 --7 --8 --8 --8 --8 --9 --9 --9 --9 --9 --9 --9 --10 --10 --9 --10 --10 --10 --9 --10 --9 --11 --10 --10 --10 --11 --10 --10 --10 --35 --73 --99 --99 --85 --67 --50 --34 --23 --17 --15 --14 --17 --18 --20 --21 --21 --20 --21 --19 --18 --17 --17 --16 --16 --15 --14 --13 --14 --13 --13 --13 -18 -72 -89 -88 -72 -51 -27 -8 --8 --17 --21 --20 --17 --12 --7 --3 --2 -0 -0 --1 --1 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --48 --33 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --13 --13 --13 --13 --12 --12 --13 --12 --12 --11 --12 --11 --12 --11 --12 --11 --12 --11 --11 --11 --11 --10 --11 --11 --11 --11 --11 --10 --10 --10 --10 --9 --11 --10 --11 --11 -22 -76 -92 -91 -74 -53 -29 -9 --6 --15 --19 --17 --16 --11 --6 --3 --1 -1 -0 -0 --1 --1 --3 --3 --5 --6 --7 --6 --8 --7 --7 --6 --7 --7 --7 --8 --8 --8 --9 --8 --9 --9 --9 --9 --9 --9 --9 --9 --10 --9 --9 --10 --10 --10 --11 --10 --10 --10 --10 --10 --10 --10 --11 --10 --35 --73 --98 --98 --85 --66 --49 --34 --24 --17 --15 --14 --16 --17 --19 --20 --22 --21 --21 --19 --18 --17 --17 --15 --15 --15 --15 --14 --15 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -7 --8 --17 --20 --19 --17 --12 --8 --4 --2 -0 --1 --1 --1 --2 --3 --4 --5 --6 --7 --6 --7 --7 --7 --7 --33 --71 --97 --97 --83 --65 --47 --32 --22 --16 --14 --13 --16 --17 --19 --19 --20 --19 --19 --19 --18 --17 --16 --15 --14 --14 --14 --13 --14 --13 --13 --12 --13 --12 --12 --12 --12 --12 --13 --12 --12 --11 --12 --10 --11 --11 --11 --11 --12 --11 --11 --11 --11 --10 --10 --10 --11 --10 --11 --11 --10 --10 --10 --9 -22 -76 -93 -91 -74 -53 -29 -9 --6 --15 --19 --18 --16 --12 --8 --3 --1 -1 -1 -1 --1 --2 --4 --4 --5 --6 --6 --6 --7 --6 --7 --7 --32 --71 --96 --80 --83 --65 --48 --32 --22 --16 --14 --13 --16 --16 --18 --20 --21 --20 --20 --19 --18 --16 --16 --14 --14 --14 --14 --14 --14 --13 --13 --13 -20 -74 -90 -88 -72 -51 -27 -8 --7 --17 --21 --19 --16 --12 --8 --3 --3 -0 -0 -0 --1 --1 --4 --5 --6 --6 --7 --7 --7 --7 --7 --6 --33 --71 --96 --97 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --16 --16 --15 --15 --13 --14 --13 --14 --13 --14 --13 -20 -73 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --11 --8 --3 --1 -0 -0 -0 --1 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --8 --7 --7 --8 --9 --8 --9 --8 --8 --9 --9 --8 --10 --10 --10 --9 --10 --9 --9 --10 --10 --10 --11 --10 --10 --11 --11 --10 --10 --10 --10 --10 --36 --74 --99 --99 --85 --66 --49 --34 --24 --17 --15 --15 --16 --18 --20 --20 --21 --21 --20 --19 --19 --17 --16 --15 --15 --14 --15 --14 --14 --14 --13 --12 --13 --13 --13 --12 --13 --12 --12 --12 --12 --10 --12 --11 --11 --11 --11 --11 --11 --11 --10 --10 --11 --10 --10 --11 --11 --10 --11 --10 --10 --10 --10 --10 -22 -75 -91 -90 -73 -53 -29 -9 --6 --15 --19 --18 --16 --11 --7 --2 -0 -2 -1 -0 --1 --2 --4 --3 --5 --6 --6 --6 --7 --7 --8 --7 --8 --7 --7 --7 --8 --8 --9 --8 --9 --9 --9 --9 --9 --9 --10 --9 --11 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --10 --9 --35 --73 --99 --99 --86 --67 --49 --33 --23 --17 --15 --15 --16 --18 --20 --20 --22 --21 --20 --19 --19 --17 --17 --16 --16 --14 --15 --13 --14 --14 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --22 --20 --16 --11 --8 --3 --2 --1 --1 --1 --2 --2 --3 --5 --6 --6 --7 --7 --7 --7 --8 --6 --32 --70 --96 --80 --84 --65 --48 --32 --22 --15 --13 --13 --15 --17 --19 --19 --21 --19 --19 --18 --17 --16 --16 --15 --15 --15 --14 --13 --13 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -8 --7 --16 --21 --19 --17 --12 --7 --3 --1 -0 -0 --1 --2 --2 --3 --4 --5 --5 --6 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --33 --22 --15 --14 --13 --15 --17 --19 --20 --21 --20 --19 --18 --18 --16 --16 --15 --15 --14 --15 --14 --14 --13 --13 --12 -20 -73 -90 -89 -71 -51 -27 -7 --8 --16 --20 --20 --17 --12 --8 --4 --2 -0 -1 -1 --1 --2 --4 --4 --6 --6 --6 --7 --7 --6 --7 --7 --32 --71 --97 --80 --83 --65 --48 --33 --23 --16 --14 --13 --15 --17 --19 --19 --21 --20 --20 --19 --18 --16 --16 --15 --14 --14 --14 --14 --14 --14 --14 --12 -19 -73 -90 -89 -72 -51 -27 -8 --7 --16 --20 --19 --16 --12 --8 --4 --3 -0 -0 -0 --1 --1 --3 --5 --6 --6 --7 --6 --7 --7 --7 --6 --32 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --15 --15 --14 --14 --13 --13 --13 --14 --13 -19 -73 -90 -89 -71 -51 -27 -7 --8 --16 --20 --20 --16 --12 --8 --4 --2 --1 -0 -0 --1 --2 --3 --4 --6 --6 --6 --7 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --19 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 --14 --13 --13 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --10 --11 --10 --11 --10 --12 --10 --10 --10 --10 --10 --11 --10 --11 --10 --11 --10 -22 -76 -92 -92 -74 -52 -28 -8 --7 --15 --19 --19 --15 --10 --7 --3 --1 -0 -0 -1 --1 --2 --3 --4 --6 --6 --7 --7 --7 --6 --7 --6 --7 --7 --8 --7 --8 --8 --9 --8 --9 --8 --9 --9 --10 --9 --10 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --11 --10 --10 --10 --10 --35 --73 --98 --98 --85 --67 --49 --35 --24 --17 --16 --14 --16 --18 --20 --20 --22 --21 --21 --19 --19 --17 --16 --16 --15 --14 --15 --14 --14 --14 --14 --13 --13 --12 --12 --12 --13 --12 --12 --12 --12 --11 --12 --11 --11 --10 --11 --11 --11 --11 --11 --10 --11 --10 --10 --11 --11 --10 --11 --11 --10 --9 --10 --10 -22 -75 -92 -91 -73 -52 -29 -10 --6 --15 --19 --19 --16 --11 --7 --2 -0 -1 -1 -1 --1 --2 --4 --4 --6 --5 --6 --7 --7 --6 --8 --7 --7 --7 --8 --7 --8 --8 --8 --8 --9 --9 --9 --9 --9 --8 --9 --9 --9 --9 --11 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --10 --10 --10 --35 --73 --98 --98 --86 --67 --49 --34 --23 --17 --16 --15 --17 --18 --20 --20 --21 --20 --20 --19 --19 --17 --17 --16 --16 --14 --15 --14 --14 --13 --14 --13 -19 -72 -89 -89 -71 -51 -27 -7 --8 --17 --21 --19 --16 --11 --8 --3 --1 --1 --1 -0 --2 --2 --4 --4 --6 --5 --6 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --66 --48 --32 --23 --15 --13 --13 --15 --17 --19 --20 --20 --19 --20 --18 --17 --17 --16 --15 --15 --14 --14 --13 --14 --12 --13 --13 --13 --12 --13 --12 --12 --12 --12 --11 --11 --11 --12 --11 --12 --11 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --10 --10 --10 --10 --10 --10 --10 --10 -22 -76 -92 -91 -74 -53 -29 -9 --6 --15 --20 --18 --15 --11 --7 --3 --1 -0 -0 -1 --1 --1 --3 --5 --5 --5 --6 --6 --7 --6 --7 --6 --31 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --19 --20 --21 --20 --18 --17 --16 --16 --15 --16 --14 --14 --13 --14 --13 --14 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --17 --20 --20 --17 --11 --7 --3 --1 -0 --1 -0 --1 --3 --3 --4 --6 --6 --7 --7 --7 --6 --7 --7 --7 --7 --8 --7 --8 --9 --9 --9 --9 --9 --9 --8 --10 --9 --9 --9 --10 --9 --11 --9 --10 --9 --10 --9 --10 --10 --10 --10 --10 --10 --10 --9 --35 --73 --98 --98 --86 --67 --49 --34 --24 --17 --15 --15 --17 --18 --20 --21 --21 --21 --20 --19 --19 --17 --17 --16 --16 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -89 -72 -50 -27 -7 --9 --17 --21 --20 --17 --11 --8 --3 --1 -1 -0 -0 --1 --3 --3 --4 --6 --6 --7 --7 --8 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --20 --21 --19 --20 --18 --18 --17 --17 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -72 -51 -27 -8 --8 --17 --21 --19 --17 --11 --7 --4 --1 -0 -0 -0 --2 --2 --4 --4 --5 --5 --6 --7 --7 --7 --8 --7 --32 --70 --96 --80 --84 --65 --48 --32 --22 --15 --13 --13 --15 --16 --19 --20 --21 --21 --20 --18 --17 --16 --16 --15 --15 --14 --13 --13 --13 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --16 --20 --20 --17 --12 --8 --4 --1 -0 --1 -0 --1 --3 --4 --4 --6 --5 --6 --6 --7 --6 --7 --8 --33 --71 --96 --80 --83 --65 --47 --32 --22 --16 --13 --13 --16 --17 --19 --20 --20 --20 --20 --18 --17 --16 --16 --14 --15 --14 --15 --14 --14 --13 --13 --13 -19 -73 -89 -88 -71 -51 -26 -8 --7 --16 --20 --19 --17 --11 --8 --3 --1 -0 -0 -1 --1 --2 --4 --5 --7 --6 --7 --7 --7 --6 --7 --7 --32 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --14 --15 --16 --19 --19 --20 --19 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 -20 -74 -89 -89 -72 -50 -27 -7 --8 --17 --20 --19 --16 --12 --8 --4 --2 -0 -0 -0 --1 --3 --4 --4 --6 --6 --6 --6 --7 --6 --7 --7 --32 --70 --97 --80 --83 --65 --47 --32 --22 --16 --14 --13 --16 --17 --18 --20 --20 --19 --19 --18 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --14 --13 -19 -73 -89 -88 -72 -51 -27 -7 --8 --17 --21 --19 --16 --11 --7 --3 --2 -0 -0 -0 --1 --2 --3 --4 --6 --6 --7 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --14 --16 --17 --19 --19 --20 --19 --20 --18 --17 --17 --16 --15 --16 --14 --14 --13 --13 --13 --13 --13 -19 -73 -89 -89 -73 -51 -27 -8 --8 --17 --20 --19 --17 --11 --7 --4 --1 -0 --1 --1 --1 --1 --4 --4 --5 --6 --6 --6 --7 --7 --7 --7 --33 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --15 --17 --19 --19 --20 --20 --20 --19 --17 --16 --16 --15 --15 --15 --14 --13 --13 --13 --13 --12 -19 -73 -89 -88 -72 -51 -26 -7 --8 --17 --20 --19 --16 --11 --7 --3 --1 -1 -0 -0 --1 --3 --4 --4 --6 --5 --6 --7 --7 --7 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --23 --16 --14 --13 --15 --17 --19 --20 --20 --19 --20 --18 --17 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 --12 --12 --13 --12 --12 --11 --12 --11 --11 --11 --12 --11 --12 --11 --11 --11 --11 --10 --11 --10 --11 --10 --11 --10 --10 --10 --10 --9 --11 --11 --11 --10 -22 -76 -92 -90 -74 -53 -28 -9 --6 --16 --20 --18 --15 --11 --7 --3 --1 -0 -1 -1 --1 --1 --3 --4 --5 --5 --6 --6 --7 --7 --7 --6 --32 --70 --96 --97 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --20 --21 --20 --20 --18 --17 --17 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -8 --8 --17 --20 --19 --17 --12 --7 --3 --1 -0 --1 -0 --1 --2 --4 --4 --5 --6 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --19 --20 --19 --19 --19 --17 --16 --16 --15 --15 --15 --15 --14 --14 --13 --13 --12 -19 -73 -90 -88 -72 -51 -26 -7 --8 --17 --21 --19 --17 --12 --7 --3 --1 -1 -1 -0 --2 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --16 --19 --20 --20 --19 --20 --18 --17 --17 --16 --15 --14 --14 --14 --13 --14 --13 --13 --13 -20 -74 -89 -89 -72 -51 -27 -8 --8 --17 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --5 --5 --6 --6 --6 --6 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --16 --14 --13 --15 --17 --19 --19 --21 --20 --20 --19 --18 --17 --17 --15 --14 --14 --15 --13 --13 --14 --14 --12 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --16 --12 --7 --3 --2 -0 -0 -0 --1 --1 --3 --4 --5 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --16 --17 --19 --20 --20 --19 --20 --18 --18 --17 --16 --15 --15 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -51 -26 -7 --8 --17 --21 --19 --17 --11 --7 --3 --1 -1 -0 -0 --1 --2 --4 --4 --5 --6 --7 --6 --7 --7 --7 --7 --8 --7 --7 --7 --8 --8 --9 --9 --9 --9 --9 --8 --9 --9 --9 --9 --10 --10 --10 --10 --10 --9 --10 --9 --10 --10 --11 --10 --11 --10 --10 --10 --35 --73 --98 --98 --86 --67 --49 --34 --23 --17 --15 --14 --17 --19 --20 --20 --21 --20 --20 --19 --19 --17 --17 --16 --15 --14 --15 --14 --14 --13 --13 --13 --13 --12 --12 --12 --12 --12 --12 --12 --12 --12 --12 --11 --12 --10 --11 --11 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --10 --10 -22 -77 -92 -90 -74 -52 -28 -9 --6 --16 --19 --18 --16 --11 --7 --3 --2 -1 -1 -1 --1 --1 --4 --4 --5 --5 --6 --6 --6 --7 --7 --7 --33 --70 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --17 --18 --19 --21 --20 --20 --19 --18 --16 --16 --15 --14 --14 --15 --14 --14 --14 --14 --12 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --11 --8 --3 --1 -0 -0 -1 --1 --2 --3 --5 --6 --6 --7 --7 --7 --7 --7 --7 --7 --7 --8 --8 --9 --8 --9 --8 --9 --9 --9 --9 --10 --9 --10 --9 --10 --8 --9 --10 --10 --9 --11 --10 --10 --11 --10 --9 --10 --10 --10 --10 --36 --74 --99 --98 --85 --67 --50 --34 --24 --17 --16 --15 --17 --18 --20 --20 --21 --20 --20 --20 --19 --17 --16 --15 --15 --14 --14 --13 --14 --13 --14 --13 --14 --13 --13 --12 --12 --12 --12 --12 --12 --11 --12 --11 --11 --11 --12 --10 --11 --11 --11 --10 --11 --10 --11 --11 --11 --10 --12 --11 --10 --10 --10 --10 -22 -75 -92 -91 -74 -53 -29 -8 --6 --15 --19 --18 --15 --10 --7 --3 --1 -1 -0 -0 --1 --2 --3 --4 --5 --5 --6 --6 --7 --7 --7 --7 --33 --70 --96 --80 --83 --64 --48 --32 --22 --16 --14 --13 --15 --17 --18 --19 --21 --20 --20 --19 --18 --16 --16 --15 --14 --13 --14 --13 --14 --13 --13 --12 -20 -73 -90 -88 -71 -50 -26 -7 --8 --16 --21 --19 --16 --12 --8 --3 --2 -0 -0 -0 --1 --2 --4 --5 --6 --5 --7 --6 --7 --7 --8 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --14 --13 --15 --16 --19 --19 --20 --21 --20 --19 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -74 -90 -90 -71 -51 -27 -8 --8 --17 --20 --19 --16 --11 --8 --3 --2 --1 --1 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --7 --7 --6 --33 --71 --96 --80 --83 --64 --48 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --19 --18 --17 --16 --15 --15 --13 --14 --13 --14 --13 --14 --12 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --21 --19 --16 --12 --8 --4 --2 --1 --1 --1 --2 --2 --3 --5 --5 --5 --7 --7 --7 --7 --7 --6 --32 --70 --96 --80 --84 --65 --48 --33 --22 --16 --14 --14 --15 --17 --20 --19 --20 --20 --19 --17 --18 --17 --17 --15 --15 --14 --14 --14 --13 --13 --14 --13 -19 -72 -89 -89 -72 -51 -27 -8 --8 --16 --20 --20 --16 --11 --8 --3 --1 -0 -0 --1 --2 --2 --4 --4 --5 --6 --7 --7 --7 --7 --7 --7 --32 --70 --96 --80 --83 --65 --48 --32 --22 --15 --14 --13 --16 --17 --19 --19 --21 --20 --20 --18 --18 --16 --15 --15 --14 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -88 -71 -51 -27 -8 --7 --16 --21 --19 --17 --12 --7 --3 --1 -0 -0 -0 --1 --2 --4 --5 --6 --5 --6 --6 --7 --6 --7 --7 --32 --70 --96 --79 --83 --65 --47 --32 --23 --16 --13 --14 --15 --17 --19 --19 --20 --20 --20 --18 --18 --16 --16 --14 --15 --14 --14 --13 --14 --13 --14 --13 -20 -73 -90 -89 -72 -50 -27 -8 --8 --16 --20 --20 --17 --12 --8 --4 --1 -0 -0 -0 --1 --2 --4 --5 --6 --6 --7 --6 --6 --7 --7 --7 --33 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --16 --17 --19 --19 --20 --20 --20 --19 --18 --17 --16 --15 --14 --14 --14 --13 --13 --13 --14 --12 -19 -73 -90 -89 -71 -51 -27 -7 --8 --16 --20 --19 --17 --12 --9 --4 --2 -0 -0 -0 --2 --2 --3 --4 --6 --5 --6 --6 --7 --6 --7 --7 --33 --71 --97 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --19 --19 --19 --17 --17 --17 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -74 -89 -89 -73 -51 -27 -7 --9 --17 --21 --19 --16 --11 --8 --3 --2 -0 -0 -0 --1 --2 --3 --4 --6 --5 --7 --6 --7 --7 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --20 --19 --18 --18 --17 --16 --16 --15 --14 --14 --13 --13 --12 --14 --13 -19 -73 -89 -89 -71 -51 -27 -8 --8 --17 --21 --20 --16 --12 --8 --3 --1 -0 --1 -0 --2 --3 --4 --4 --6 --5 --7 --7 --8 --7 --8 --7 --32 --70 --96 --79 --83 --65 --48 --32 --23 --15 --13 --14 --15 --16 --19 --20 --20 --19 --20 --18 --17 --16 --16 --15 --16 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -88 -71 -50 -27 -8 --7 --16 --20 --19 --17 --12 --8 --3 --1 -1 -1 -0 --2 --2 --4 --5 --5 --5 --7 --7 --7 --7 --7 --7 --33 --71 --96 --80 --84 --65 --47 --33 --22 --16 --14 --13 --15 --16 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --12 -20 -73 -89 -88 -72 -51 -27 -8 --8 --17 --20 --20 --17 --12 --9 --4 --1 -0 -0 -0 --1 --3 --4 --4 --6 --6 --6 --7 --7 --6 --7 --7 --32 --70 --96 --80 --83 --65 --47 --32 --23 --16 --14 --14 --15 --17 --19 --20 --20 --19 --20 --18 --17 --17 --16 --14 --15 --14 --14 --13 --14 --13 --13 --13 -20 -74 -89 -89 -72 -51 -27 -7 --8 --16 --20 --19 --16 --11 --8 --3 --1 -0 -0 -1 --1 --2 --3 --5 --6 --6 --7 --7 --7 --7 --8 --7 --8 --8 --8 --7 --9 --8 --8 --8 --9 --9 --9 --10 --10 --9 --10 --9 --9 --9 --10 --9 --10 --10 --10 --9 --11 --10 --9 --10 --10 --10 --11 --10 --35 --73 --99 --98 --85 --67 --50 --34 --24 --17 --14 --15 --16 --17 --20 --21 --21 --21 --21 --19 --18 --17 --17 --15 --16 --15 --15 --14 --14 --13 --13 --13 -19 -73 -89 -88 -71 -49 -27 -7 --8 --17 --20 --19 --17 --12 --8 --4 --1 -1 --1 -0 --2 --3 --4 --4 --6 --6 --6 --6 --7 --6 --7 --7 --33 --71 --96 --80 --83 --65 --47 --32 --22 --15 --13 --13 --15 --16 --19 --19 --20 --20 --20 --18 --19 --17 --16 --14 --14 --13 --14 --14 --14 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --9 --17 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --2 --3 --4 --6 --6 --7 --7 --7 --7 --7 --7 --32 --71 --97 --80 --83 --65 --47 --31 --22 --16 --14 --13 --16 --17 --19 --19 --20 --19 --20 --19 --18 --17 --17 --15 --14 --14 --14 --13 --14 --13 --13 --13 --13 --12 --13 --12 --12 --11 --12 --11 --12 --12 --12 --11 --12 --11 --10 --11 --11 --11 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --12 --10 --10 --10 -22 -77 -92 -91 -74 -52 -28 -9 --7 --15 --19 --19 --16 --11 --8 --3 --1 -0 -1 -1 --1 --1 --3 --4 --6 --5 --6 --6 --7 --6 --8 --7 --32 --70 --96 --80 --83 --65 --47 --32 --22 --15 --13 --14 --15 --16 --18 --19 --20 --20 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -19 -74 -90 -89 -72 -51 -27 -8 --8 --16 --20 --19 --16 --11 --7 --4 --2 -0 --1 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --8 --7 --8 --8 --9 --8 --9 --8 --9 --9 --9 --9 --10 --10 --10 --10 --10 --9 --9 --10 --10 --9 --10 --9 --10 --10 --10 --9 --10 --10 --10 --10 --35 --73 --99 --98 --85 --67 --49 --34 --24 --17 --15 --15 --16 --17 --20 --20 --21 --20 --21 --19 --18 --17 --17 --15 --16 --15 --15 --15 --14 --13 --14 --13 --13 --12 --13 --12 --12 --13 --13 --11 --12 --11 --11 --11 --12 --11 --12 --11 --11 --10 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --10 --10 -22 -76 -91 -91 -74 -52 -29 -9 --6 --16 --19 --18 --16 --10 --6 --3 --1 -1 -0 -0 --1 --2 --4 --3 --5 --5 --6 --6 --8 --7 --7 --7 --33 --70 --96 --80 --83 --65 --48 --32 --22 --16 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --12 -19 -73 -89 -89 -72 -50 -27 -8 --8 --16 --20 --20 --17 --11 --8 --3 --1 -0 -0 -0 --1 --3 --4 --4 --6 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --79 --83 --65 --47 --32 --22 --16 --13 --13 --15 --16 --18 --19 --20 --19 --20 --18 --17 --16 --16 --14 --14 --14 --14 --13 --14 --13 --13 --13 -19 -74 -90 -89 -72 -51 -26 -7 --8 --16 --20 --19 --17 --12 --8 --4 --2 -0 -0 -0 --1 --2 --4 --4 --5 --6 --7 --6 --7 --6 --7 --7 --8 --7 --8 --8 --8 --7 --9 --8 --9 --9 --9 --9 --9 --9 --10 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --10 --10 --10 --10 --35 --73 --99 --98 --85 --67 --49 --34 --24 --17 --15 --14 --16 --17 --19 --21 --21 --21 --21 --19 --18 --17 --17 --15 --16 --15 --15 --14 --15 --13 --13 --13 -19 -73 -88 -88 -71 -50 -27 -8 --8 --17 --21 --19 --17 --12 --8 --4 --1 -0 -0 -0 --1 --2 --5 --5 --5 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --97 --83 --64 --47 --32 --22 --16 --14 --13 --15 --16 --18 --19 --20 --19 --20 --19 --18 --16 --17 --15 --14 --14 --14 --14 --14 --13 --13 --12 --13 --12 --12 --12 --12 --11 --12 --12 --12 --11 --11 --11 --11 --11 --11 --11 --11 --11 --11 --10 --10 --10 --10 --10 --11 --11 --11 --10 --10 --9 --10 --10 -22 -76 -91 -91 -74 -52 -29 -9 --7 --15 --19 --18 --16 --11 --7 --2 -0 -1 -0 -0 --1 --2 --3 --4 --5 --5 --6 --6 --7 --6 --7 --7 --7 --7 --7 --7 --8 --8 --9 --8 --9 --9 --9 --9 --9 --9 --9 --9 --10 --9 --10 --10 --10 --9 --10 --9 --10 --10 --10 --10 --10 --10 --10 --9 --35 --73 --98 --99 --86 --67 --49 --34 --23 --17 --15 --15 --17 --18 --20 --20 --22 --20 --20 --19 --18 --17 --17 --16 --15 --14 --15 --14 --14 --14 --14 --13 -18 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --20 --16 --12 --7 --3 --1 -0 -0 --1 --2 --2 --4 --4 --6 --6 --6 --6 --8 --7 --7 --7 --32 --70 --97 --80 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --20 --21 --20 --20 --18 --17 --16 --16 --15 --15 --14 --14 --13 --14 --13 --13 --13 --13 --13 --13 --12 --12 --11 --12 --11 --12 --12 --12 --11 --12 --11 --11 --10 --11 --10 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --11 --10 -22 -76 -92 -90 -74 -52 -28 -9 --6 --15 --20 --18 --15 --11 --7 --3 --2 -0 -0 -0 --1 --1 --3 --4 --5 --5 --7 --6 --6 --7 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --18 --18 --17 --17 --15 --15 --14 --14 --13 --14 --13 --13 --13 -19 -73 -90 -89 -73 -51 -27 -8 --7 --17 --20 --19 --17 --11 --7 --3 --1 -0 -0 -0 --1 --2 --4 --4 --6 --7 --7 --6 --7 --7 --7 --7 --32 --70 --96 --97 --83 --65 --48 --32 --22 --15 --13 --13 --16 --17 --19 --19 --21 --19 --19 --19 --18 --16 --16 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -88 -72 -51 -27 -8 --7 --16 --21 --20 --17 --12 --8 --3 --1 -0 -0 -0 --2 --2 --3 --4 --5 --5 --7 --7 --7 --7 --8 --7 --7 --7 --8 --7 --9 --8 --9 --9 --9 --8 --9 --8 --9 --9 --9 --9 --10 --10 --10 --9 --9 --9 --10 --9 --10 --10 --10 --9 --11 --10 --10 --10 --35 --73 --99 --99 --86 --67 --49 --33 --23 --17 --15 --15 --17 --18 --20 --20 --21 --20 --20 --19 --18 --17 --17 --16 --15 --15 --15 --14 --14 --13 --14 --13 --13 --12 --12 --12 --12 --12 --12 --11 --12 --11 --12 --11 --11 --11 --11 --11 --12 --11 --11 --11 --11 --10 --10 --10 --11 --10 --11 --10 --10 --10 --10 --10 -22 -76 -92 -91 -74 -53 -28 -8 --6 --14 --19 --18 --15 --11 --7 --3 --1 -1 -1 -1 --1 --1 --3 --5 --6 --5 --7 --6 --6 --6 --7 --6 --7 --7 --7 --7 --9 --8 --8 --8 --9 --9 --9 --9 --9 --9 --9 --9 --9 --9 --9 --10 --10 --10 --10 --9 --10 --10 --10 --10 --11 --11 --10 --10 --35 --73 --98 --99 --86 --67 --50 --34 --24 --17 --15 --14 --16 --18 --20 --20 --22 --21 --20 --19 --18 --17 --17 --16 --15 --15 --15 --14 --14 --13 --13 --12 -19 -73 -89 -88 -71 -51 -27 -7 --7 --16 --21 --19 --17 --13 --8 --4 --2 -0 -0 -0 --2 --2 --4 --5 --6 --5 --7 --6 --7 --7 --8 --7 --32 --71 --96 --80 --83 --64 --47 --32 --22 --15 --14 --13 --15 --16 --19 --19 --20 --21 --20 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -89 -88 -71 -51 -27 -8 --7 --16 --20 --19 --17 --12 --7 --4 --2 -0 -0 -0 --1 --2 --4 --4 --6 --6 --7 --6 --7 --7 --7 --7 --33 --71 --96 --97 --84 --65 --48 --32 --22 --15 --14 --13 --15 --17 --19 --19 --20 --19 --19 --19 --18 --17 --17 --15 --15 --14 --14 --13 --13 --13 --13 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --17 --21 --19 --17 --12 --8 --3 --2 -0 -0 -0 --2 --2 --3 --5 --6 --6 --7 --7 --7 --6 --7 --6 --32 --70 --96 --80 --84 --65 --47 --32 --22 --15 --13 --13 --15 --17 --19 --19 --20 --20 --20 --18 --18 --17 --16 --15 --16 --14 --14 --14 --13 --12 --13 --13 -19 -73 -89 -89 -72 -51 -27 -8 --8 --17 --21 --19 --17 --12 --7 --3 --2 -0 -0 --1 --1 --2 --4 --4 --5 --5 --7 --6 --7 --7 --7 --6 --33 --71 --96 --97 --83 --65 --47 --32 --22 --15 --14 --13 --15 --17 --19 --19 --21 --20 --19 --18 --18 --17 --16 --15 --15 --14 --15 --14 --13 --13 --13 --12 -19 -73 -89 -89 -71 -51 -27 -7 --7 --16 --21 --19 --17 --11 --8 --4 --2 -0 -0 -0 --1 --2 --3 --5 --6 --5 --6 --6 --6 --7 --8 --7 --33 --71 --97 --80 --84 --65 --47 --32 --22 --15 --14 --14 --15 --17 --19 --20 --20 --21 --20 --19 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 --13 --12 --13 --12 --12 --11 --12 --11 --11 --11 --12 --11 --11 --11 --11 --11 --12 --11 --11 --10 --10 --10 --10 --11 --11 --10 --11 --10 --10 --10 --10 --9 -22 -76 -92 -91 -73 -52 -29 -9 --6 --15 --20 --19 --16 --11 --7 --2 -0 -1 -0 -1 --1 --2 --3 --4 --5 --5 --6 --6 --6 --6 --8 --7 --7 --7 --7 --7 --8 --8 --9 --9 --9 --8 --9 --9 --9 --8 --10 --9 --10 --10 --10 --9 --9 --9 --10 --9 --11 --10 --10 --11 --10 --10 --10 --10 --35 --73 --99 --99 --86 --67 --49 --33 --24 --17 --15 --14 --17 --18 --20 --21 --21 --20 --21 --19 --18 --18 --17 --16 --16 --15 --14 --13 --13 --13 --13 --13 --13 --13 --12 --12 --12 --11 --12 --12 --12 --11 --12 --11 --11 --11 --11 --11 --11 --11 --11 --10 --11 --10 --10 --10 --10 --10 --11 --10 --10 --9 --10 --10 -22 -75 -92 -91 -73 -52 -28 -8 --7 --15 --19 --18 --15 --11 --7 --3 --1 -1 -1 -1 --1 --2 --3 --4 --5 --5 --6 --7 --7 --6 --7 --6 --7 --7 --8 --7 --8 --9 --8 --8 --9 --8 --9 --9 --10 --9 --10 --10 --9 --9 --10 --9 --10 --10 --11 --10 --11 --10 --10 --9 --11 --10 --10 --10 --35 --72 --99 --98 --85 --67 --50 --34 --24 --17 --15 --14 --16 --17 --19 --21 --22 --21 --21 --19 --18 --17 --17 --15 --15 --14 --15 --14 --14 --13 --14 --13 -19 -72 -89 -88 -71 -50 -27 -8 --8 --16 --20 --19 --16 --11 --8 --4 --2 -0 -0 -0 --1 --3 --4 --4 --6 --6 --6 --6 --6 --6 --7 --7 --32 --71 --97 --80 --83 --65 --47 --32 --23 --16 --14 --14 --15 --16 --18 --19 --20 --19 --20 --19 --18 --16 --16 --14 --15 --14 --14 --13 --14 --13 --13 --13 --13 --12 --12 --12 --12 --12 --13 --11 --12 --11 --12 --10 --12 --11 --11 --11 --11 --10 --11 --10 --10 --10 --11 --10 --10 --11 --11 --10 --10 --10 --10 --10 -21 -75 -92 -90 -74 -53 -29 -9 --6 --15 --20 --19 --16 --12 --7 --3 --1 -2 -1 -0 --1 --2 --4 --4 --5 --5 --6 --6 --7 --7 --7 --7 --32 --70 --96 --79 --83 --65 --47 --33 --22 --15 --14 --13 --14 --16 --19 --19 --20 --20 --20 --18 --18 --16 --16 --15 --15 --14 --14 --14 --13 --13 --13 --12 -20 -73 -89 -88 -71 -50 -26 -8 --8 --16 --20 --19 --16 --11 --8 --3 --1 -0 -0 -0 --1 --2 --4 --4 --6 --6 --6 --7 --7 --6 --8 --7 --8 --7 --9 --8 --8 --8 --8 --8 --9 --9 --10 --10 --10 --9 --10 --9 --9 --9 --10 --10 --10 --10 --10 --10 --10 --10 --10 --10 --11 --10 --11 --10 --35 --73 --98 --98 --85 --67 --50 --34 --24 --17 --15 --14 --17 --18 --19 --21 --22 --21 --20 --18 --18 --17 --17 --16 --16 --15 --15 --14 --14 --13 --14 --12 -19 -73 -89 -89 -71 -50 -26 -7 --8 --16 --21 --20 --17 --12 --8 --4 --1 -0 -0 -0 --2 --3 --4 --5 --6 --6 --7 --7 --7 --6 --8 --7 --33 --71 --97 --80 --83 --65 --47 --32 --23 --15 --13 --13 --15 --17 --19 --19 --20 --20 --20 --19 --18 --17 --16 --14 --15 --14 --14 --14 --14 --13 --13 --13 -20 -74 -89 -89 -72 -50 -26 -7 --8 --17 --20 --19 --17 --12 --8 --5 --2 -0 --1 -0 --1 --2 --3 --4 --5 --6 --6 --6 --7 --6 --7 --7 --32 --71 --97 --97 --84 --65 --48 --32 --22 --16 --13 --13 --16 --17 --18 --19 --20 --19 --19 --18 --18 --17 --16 --15 --15 --14 --14 --14 --14 --13 --14 --13 -19 -73 -90 -89 -72 -51 -27 -7 --8 --16 --20 --19 --16 --11 --8 --3 --1 --1 --1 -0 --1 --2 --3 --4 --6 --6 --7 --7 --7 --6 --7 --7 --32 --70 --96 --97 --84 --65 --47 --32 --22 --15 --13 --14 --16 --17 --20 --20 --21 --19 --20 --17 --17 --17 --16 --15 --16 --15 --14 --13 --14 --13 --13 --13 -19 -73 -89 -89 -72 -50 -27 -8 --7 --17 --20 --19 --17 --11 --7 --3 --1 -1 -0 --1 --1 --2 --5 --4 --5 --6 --6 --6 --7 --7 --7 --8 --33 --71 --96 --80 --83 --65 --48 --33 --22 --15 --13 --13 --15 --17 --19 --19 --20 --20 --19 --17 --18 --16 --16 --15 --15 --14 --14 --14 --14 --13 --13 --13 -20 -73 -89 -88 -71 -50 -27 -8 --8 --16 --20 --20 --17 --11 --8 --3 --1 -1 -0 -0 --1 --3 --4 --4 --6 --6 \ No newline at end of file diff --git a/traces/indala-504278295.pm3 b/traces/indala-504278295.pm3 deleted file mode 100644 index 9383bab35..000000000 --- a/traces/indala-504278295.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --22 -11 --22 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -12 --21 -10 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 --49 -29 --6 -33 --2 -10 --22 -10 --22 -8 --23 -9 --23 -9 --22 -8 --24 -9 --22 -9 --22 -9 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 -120 -68 -28 --9 -1 --31 --4 --35 --3 --34 --1 --33 -0 --31 -2 --30 -3 --29 -4 --28 -5 --28 -5 --27 -7 --26 -7 --26 -8 --25 -8 --25 --51 -26 --8 -30 --5 -8 --23 -7 --24 -7 --24 -8 --24 -7 --25 -8 --24 -8 --24 -8 --23 -9 --23 -9 --23 -10 --22 -9 --22 -10 --22 -10 -120 -68 -27 --9 -0 --32 --4 --35 --4 --35 --1 --33 -0 --32 -2 --30 -2 --30 -3 --29 -5 --28 -5 --27 -7 --26 -7 --26 -7 --26 -8 --25 -8 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --23 -10 --24 -11 --23 -11 --23 -11 --23 -11 --23 -10 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --3 -10 --21 -9 --23 -8 --23 -9 --23 -8 --23 -9 --23 -9 --23 -9 --23 -10 --22 -9 --22 -10 --22 -10 --22 -9 --23 -10 -119 -68 -27 --9 -0 --32 --4 --35 --2 --34 --1 --33 -0 --31 -2 --30 -3 --29 -5 --28 -5 --27 -6 --27 -7 --26 -6 --26 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -11 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -11 --23 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 --49 -29 --5 -33 --2 -10 --22 -9 --22 -8 --24 -9 --22 -9 --23 -9 --23 -9 --22 -9 --23 -10 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 -120 -68 -27 --9 --1 --32 --4 --35 --3 --34 --1 --33 -0 --31 -1 --30 -3 --29 -4 --28 -5 --27 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --24 -11 --23 -11 --23 -10 --23 -10 --23 -10 --23 -11 --23 -11 --23 -11 --22 -11 --22 --49 -29 --5 -32 --3 -10 --22 -9 --22 -8 --24 -9 --22 -8 --23 -8 --23 -9 --23 -10 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 --21 -10 --22 -10 --22 -10 --21 -10 --22 -10 --22 -10 --22 -10 --21 -11 --21 -10 --22 -10 --22 -11 --21 -10 --22 -10 --21 -10 --22 -10 --21 -11 --21 -9 --22 -10 --21 -10 --22 -11 --21 -11 --21 -10 --21 -10 --21 -10 --22 -10 --22 -11 --21 -10 --22 -11 --21 -10 --22 -11 --21 -11 --21 -10 --22 -10 --22 -10 --22 -11 --22 -11 --21 -11 --21 -10 --21 -10 --22 -10 --21 -10 --21 -10 --22 -10 --21 -10 --22 -10 --21 -10 --21 -10 --22 -10 -120 -68 -27 --9 -1 --31 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -5 --28 -5 --28 -5 --27 -6 --26 -7 --26 -8 --24 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -11 --23 -11 --23 -11 --22 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -12 --22 -11 --22 -11 --22 -11 --23 --49 -30 --5 -33 --2 -10 --22 -9 --23 -9 --23 -8 --23 -9 --23 -9 --23 -9 --22 -9 --23 -10 --22 -9 --23 -10 --22 -9 --23 -10 --21 -10 -120 -69 -28 --8 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -4 --28 -5 --27 -5 --27 -7 --26 -7 --26 -8 --25 -8 --25 --51 -26 --8 -30 --5 -8 --24 -8 --24 -7 --24 -8 --24 -8 --24 -8 --24 -8 --23 -8 --23 -10 --22 -9 --23 -9 --23 -10 --22 -10 --22 -10 -120 -68 -27 --9 -0 --32 --4 --35 --4 --35 --2 --33 -0 --31 -2 --30 -3 --29 -4 --28 -4 --28 -6 --27 -6 --27 -7 --26 -8 --25 -7 --26 -9 --24 -8 --25 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -11 --22 -11 --23 -11 --23 --49 -30 --5 -33 --2 -10 --22 -9 --22 -8 --24 -8 --23 -8 --23 -9 --23 -9 --23 -9 --23 -10 --22 -10 --22 -9 --22 -10 --22 -9 --23 -10 -120 -68 -27 --9 -0 --32 --4 --35 --3 --35 --2 --33 -0 --32 -2 --30 -3 --29 -5 --28 -5 --27 -5 --27 -7 --26 -7 --26 -8 --25 -8 --25 --51 -27 --7 -31 --5 -8 --23 -8 --24 -7 --24 -7 --24 -8 --24 -8 --23 -8 --23 -8 --23 -9 --23 -9 --23 -9 --22 -8 --23 -9 --22 -9 -119 -68 -27 --9 -0 --31 --3 --35 --3 --35 --2 --33 -0 --31 -1 --31 -3 --29 -4 --28 -5 --27 -6 --26 -6 --26 -7 --26 -7 --25 -8 --25 --51 -27 --7 -30 --5 -8 --23 -6 --25 -7 --25 -8 --24 -8 --24 -9 --23 -8 --23 -8 --23 -9 --22 -8 --23 -10 --22 -9 --22 -9 --23 -9 -119 -68 -27 --9 --1 --32 --4 --35 --3 --34 --1 --33 -0 --32 -1 --31 -3 --29 -4 --28 -5 --28 -6 --27 -6 --26 -7 --26 -8 --25 -8 --25 -9 --24 -8 --25 -9 --24 -9 --24 -9 --24 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -11 --23 -10 --23 -10 --23 -11 --22 -10 --23 -11 --22 -11 --23 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -12 --22 -11 --22 -12 --22 -11 --23 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -10 --23 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -12 --21 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 --49 -30 --5 -32 --3 -9 --22 -9 --23 -9 --23 -9 --22 -9 --23 -9 --23 -10 --22 -9 --23 -10 --22 -10 --22 -10 --22 -11 --21 -9 --23 -10 -120 -68 -27 --9 -0 --31 --3 --35 --4 --35 --1 --33 -0 --32 -2 --30 -3 --30 -4 --28 -5 --28 -6 --26 -6 --27 -7 --26 -7 --26 -8 --25 --51 -28 --7 -31 --4 -8 --24 -7 --24 -7 --25 -8 --24 -8 --23 -8 --23 -8 --23 -8 --23 -9 --23 -9 --22 -9 --23 -9 --22 -9 --22 -9 -119 -68 -28 --9 --1 --32 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -3 --29 -5 --27 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 -7 --25 -9 --24 -10 --24 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -10 --23 -11 --23 -10 --23 -11 --23 -11 --22 -11 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 --49 -30 --5 -33 --2 -10 --21 -9 --23 -8 --24 -9 --22 -8 --23 -9 --23 -9 --23 -9 --23 -9 --22 -9 --23 -10 --22 -10 --21 -10 --22 -10 -120 -68 -28 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -3 --29 -5 --28 -6 --27 -6 --26 -7 --26 -7 --25 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -9 --24 -10 --23 -10 --23 -11 --23 -11 --23 -10 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --23 -8 --24 -9 --23 -9 --23 -8 --23 -9 --22 -10 --22 -9 --22 -10 --21 -10 --22 -10 --22 -10 --21 -9 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --32 -0 --32 -2 --30 -3 --29 -4 --28 -5 --28 -5 --27 -6 --26 -7 --26 -8 --25 -8 --25 -8 --25 -8 --24 -9 --24 -10 --24 -10 --23 -10 --24 -10 --23 -10 --23 -11 --23 -11 --22 -10 --23 -10 --23 -11 --22 -10 --23 -11 --22 -11 --23 --49 -29 --6 -33 --3 -10 --21 -8 --23 -8 --23 -9 --23 -9 --23 -10 --22 -8 --23 -10 --22 -10 --22 -9 --23 -10 --22 -10 --22 -10 --22 -9 --22 -9 --22 -10 --22 -10 --22 -11 --21 -10 --21 -10 --22 -10 --21 -10 --22 -10 --22 -11 --21 -10 --22 -11 --21 -10 --22 -9 --22 -10 --21 -10 --22 -11 --21 -10 --21 -11 --21 -11 --21 -10 --22 -10 --22 -10 --22 -10 --21 -11 --21 -10 --22 -11 --21 -10 --21 -10 --22 -10 --21 -10 --22 -10 --21 -10 --21 -10 --22 -11 --21 -10 --22 -10 --22 -10 --21 -10 --22 -10 --22 -10 --22 -10 --22 -11 --21 -10 --21 -10 --22 -10 --21 -10 --21 -10 -120 -69 -28 --8 --1 --32 --3 --34 --2 --34 --1 --33 -1 --31 -2 --30 -3 --29 -5 --28 -5 --27 -6 --27 -6 --26 -7 --25 -7 --26 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --22 -8 --23 -9 --23 -9 --23 -9 --23 -9 --23 -9 --23 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 -119 -68 -27 --9 -1 --31 --4 --35 --3 --34 --2 --33 -0 --32 -2 --30 -3 --29 -4 --28 -5 --27 -6 --27 -6 --26 -7 --25 -8 --26 -8 --25 --51 -27 --8 -31 --4 -8 --23 -7 --25 -7 --24 -8 --24 -8 --24 -8 --23 -8 --24 -9 --23 -9 --23 -9 --23 -10 --22 -9 --22 -10 --22 -9 -120 -68 -28 --9 -0 --32 --3 --34 --4 --35 --2 --33 -0 --32 -1 --31 -3 --29 -4 --28 -5 --27 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -10 --24 -10 --23 -10 --23 -11 --22 -9 --24 -10 --23 -11 --23 -10 --23 -11 --23 -11 --23 -11 --23 -11 --22 --49 -29 --5 -33 --3 -10 --22 -9 --23 -8 --24 -9 --22 -8 --23 -9 --23 -9 --23 -9 --23 -9 --22 -10 --22 -10 --21 -10 --22 -10 --22 -10 -120 -68 -28 --9 -0 --32 --3 --34 --3 --34 --1 --33 -0 --32 -1 --30 -3 --29 -4 --28 -5 --27 -6 --26 -6 --27 -7 --26 -8 --25 -8 --25 --51 -28 --7 -31 --4 -8 --24 -7 --24 -6 --25 -7 --24 -8 --24 -8 --24 -8 --23 -8 --24 -8 --23 -9 --23 -9 --22 -10 --22 -9 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -2 --30 -4 --28 -5 --28 -5 --27 -7 --26 -7 --26 -7 --26 -8 --25 --51 -28 --7 -31 --4 -8 --23 -7 --25 -6 --25 -7 --24 -8 --24 -8 --23 -8 --23 -9 --22 -8 --23 -9 --23 -10 --22 -8 --23 -10 --22 -9 -119 -68 -28 --9 --1 --32 --4 --35 --4 --35 --1 --33 -0 --32 -2 --30 -3 --29 -4 --28 -5 --28 -6 --26 -6 --27 -7 --25 -8 --25 -8 --25 -9 --24 -8 --25 -9 --24 -9 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --24 -11 --23 -11 --23 -10 --23 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --23 -12 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --21 -11 --23 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -10 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 --49 -31 --4 -33 --2 -10 --22 -8 --23 -8 --23 -8 --24 -8 --23 -9 --22 -9 --22 -9 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 -120 -69 -28 --9 -0 --31 --4 --35 --3 --34 --1 --32 -0 --31 -1 --30 -3 --29 -3 --29 -5 --27 -6 --27 -6 --27 -7 --25 -7 --25 -7 --25 --52 -27 --7 -31 --5 -8 --24 -8 --24 -6 --25 -8 --24 -8 --23 -8 --24 -8 --23 -8 --23 -8 --23 -9 --23 -8 --23 -9 --22 -9 --23 -10 -120 -68 -28 --9 -0 --32 --4 --35 --3 --34 --2 --33 -0 --32 -2 --30 -3 --29 -4 --28 -5 --28 -6 --27 -6 --26 -7 --26 -8 --25 -8 --25 -8 --24 -9 --24 -9 --24 -10 --24 -9 --24 -10 --23 -10 --23 -10 --24 -10 --23 -10 --23 -10 --23 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -10 --23 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --23 -8 --23 -9 --23 -9 --23 -9 --22 -9 --23 -9 --22 -10 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 -120 -69 -28 --8 -0 --32 --4 --35 --3 --34 --1 --32 -0 --32 -1 --30 -3 --29 -3 --29 -5 --27 -5 --27 -6 --26 -7 --25 -7 --26 -8 --24 -8 --25 -9 --24 -9 --24 -9 --24 -10 --23 -10 --24 -10 --24 -10 --23 -10 --24 -11 --22 -11 --23 -10 --23 -11 --22 -10 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --2 -10 --21 -9 --23 -8 --24 -8 --23 -9 --23 -9 --23 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -9 --22 -10 --22 -10 -120 -68 -28 --9 -0 --32 --4 --35 --3 --34 --1 --33 -1 --31 -2 --30 -3 --29 -4 --28 -5 --28 -5 --27 -7 --26 -7 --26 -8 --25 -8 --25 -8 --24 -8 --25 -9 --24 -10 --23 -10 --23 -10 --23 -9 --24 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -10 --23 -11 --22 -10 --23 -10 --23 --49 -29 --5 -33 --3 -10 --22 -9 --22 -8 --23 -8 --23 -9 --23 -9 --23 -9 --23 -9 --22 -9 --23 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -11 --21 -10 --22 -10 --22 -11 --21 -10 --22 -10 --22 -10 --21 -10 --22 -10 --22 -10 --22 -10 --22 -10 --21 -10 --22 -11 --21 -10 --22 -10 --22 -10 --21 -10 --22 -10 --21 -10 --22 -10 --21 -10 --21 -10 --22 -11 --21 -10 --22 -10 --22 -11 --21 -10 --22 -10 --21 -10 --22 -10 --21 -11 --21 -11 --21 -10 --21 -11 --21 -10 --22 -10 --21 -10 --22 -11 --21 -10 --22 -10 --21 -10 --22 -10 --22 -11 --21 -10 --22 -11 --21 -11 --21 -10 -120 -69 -28 --8 -1 --31 --4 --35 --3 --34 --1 --32 -0 --31 -1 --30 -3 --29 -4 --28 -5 --27 -5 --27 -7 --26 -7 --26 -7 --26 -8 --24 -8 --25 -9 --24 -9 --24 -10 --23 -10 --23 -9 --24 -10 --23 -10 --23 -11 --23 -11 --23 -11 --22 -11 --22 -10 --23 -10 --23 -10 --23 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --2 -10 --21 -9 --23 -8 --24 -9 --23 -9 --22 -10 --22 -9 --23 -9 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 -120 -68 -28 --9 --1 --32 --4 --35 --3 --34 --1 --33 -1 --31 -1 --31 -3 --29 -4 --28 -5 --28 -6 --26 -6 --27 -7 --26 -7 --26 -8 --25 --51 -28 --7 -32 --4 -8 --23 -7 --24 -6 --26 -7 --24 -8 --24 -8 --23 -9 --23 -8 --23 -8 --23 -10 --22 -9 --22 -9 --22 -9 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --35 --1 --33 -0 --31 -1 --30 -2 --30 -4 --28 -5 --27 -6 --27 -7 --26 -7 --26 -7 --25 -8 --25 -8 --24 -8 --25 -9 --24 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -11 --23 -10 --23 -10 --23 -11 --23 -11 --23 -10 --23 -11 --22 -11 --23 --49 -29 --5 -34 --2 -10 --22 -9 --23 -8 --24 -8 --24 -9 --23 -9 --22 -9 --23 -10 --22 -9 --23 -10 --22 -9 --22 -10 --22 -10 --22 -10 -120 -69 -28 --8 -0 --32 --3 --34 --3 --34 --1 --33 -0 --31 -1 --31 -3 --29 -4 --29 -5 --28 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 --51 -27 --7 -31 --5 -9 --23 -7 --24 -7 --25 -7 --24 -8 --24 -8 --23 -9 --23 -9 --23 -8 --23 -8 --23 -9 --22 -9 --23 -10 --22 -10 -120 -68 -28 --8 -0 --32 --5 --35 --4 --35 --2 --33 -0 --31 -2 --30 -3 --29 -4 --28 -5 --28 -5 --27 -7 --26 -7 --26 -8 --25 -8 --25 --52 -27 --7 -32 --4 -8 --23 -8 --24 -6 --25 -8 --24 -8 --23 -7 --25 -8 --23 -8 --23 -9 --23 -10 --22 -9 --22 -10 --22 -9 --22 -10 -119 -68 -28 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -4 --28 -5 --27 -5 --27 -7 --26 -7 --26 -7 --26 -8 --24 -9 --24 -8 --25 -9 --24 -9 --24 -10 --24 -9 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -10 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -12 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -10 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --21 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -12 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --22 -8 --24 -8 --23 -9 --23 -9 --22 -9 --23 -9 --22 -10 --22 -10 --22 -9 --22 -9 --22 -10 --22 -10 -120 -68 -28 --9 -0 --31 --4 --35 --3 --35 --1 --32 -0 --32 -3 --29 -3 --29 -4 --28 -5 --28 -5 --27 -6 --26 -7 --26 -8 --25 -8 --25 --51 -28 --7 -31 --4 -8 --23 -7 --24 -7 --24 -7 --24 -8 --24 -8 --23 -8 --24 -9 --23 -9 --23 -9 --23 -10 --22 -9 --23 -9 --22 -10 -120 -68 -27 --9 -0 --31 --4 --35 --4 --35 --2 --33 --1 --32 -1 --31 -3 --29 -4 --28 -5 --28 -5 --27 -6 --27 -7 --26 -8 --25 -8 --25 -8 --24 -8 --25 -9 --24 -9 --24 -9 --24 -10 --23 -10 --23 -11 --23 -11 --23 -10 --23 -11 --23 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 --49 -31 --4 -32 --3 -10 --21 -9 --23 -8 --23 -9 --22 -8 --23 -9 --23 -10 --22 -9 --23 -10 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --2 --33 -1 --31 -2 --30 -3 --29 -4 --28 -5 --28 -5 --27 -7 --26 -7 --26 -8 --25 -8 --24 -8 --24 -9 --24 -9 --24 -10 --23 -9 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -11 --22 -10 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 --48 -30 --5 -33 --3 -10 --21 -9 --23 -8 --23 -9 --23 -8 --23 -9 --23 -9 --23 -9 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 -120 -69 -28 --9 -0 --31 --3 --35 --3 --34 --1 --33 -0 --32 -1 --31 -3 --29 -4 --28 -5 --28 -5 --27 -6 --26 -7 --26 -7 --26 -9 --24 -8 --24 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -10 --23 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --3 -10 --22 -9 --23 -8 --24 -9 --23 -8 --23 -9 --23 -9 --22 -9 --23 -10 --22 -10 --22 -9 --22 -10 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --21 -10 --22 -10 --22 -10 --22 -11 --21 -10 --21 -11 --21 -10 --22 -10 --22 -10 --22 -11 --21 -10 --21 -11 --21 -10 --22 -10 --22 -11 --21 -10 --21 -10 --22 -10 --22 -11 --21 -11 --21 -9 --22 -11 --21 -10 --22 -11 --21 -10 --21 -10 --21 -11 --21 -10 --22 -10 --22 -10 --22 -10 --21 -10 --22 -11 --21 -10 --22 -10 --22 -11 --21 -10 --22 -11 --21 -10 --22 -10 --22 -11 --21 -10 --22 -11 --21 -10 --22 -10 -120 -69 -28 --8 -0 --32 --3 --34 --3 --34 --1 --33 -0 --31 -1 --30 -3 --29 -4 --28 -5 --28 -5 --27 -7 --26 -7 --26 -8 --25 -8 --25 -8 --25 -9 --24 -8 --25 -10 --23 -10 --24 -10 --23 -10 --23 -9 --24 -10 --23 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 --49 -29 --5 -33 --2 -10 --21 -9 --22 -8 --23 -8 --23 -8 --23 -10 --22 -9 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 -120 -68 -28 --9 -0 --31 --4 --35 --3 --34 --1 --33 -0 --31 -1 --30 -3 --29 -4 --29 -5 --27 -5 --28 -7 --26 -7 --26 -8 --25 -8 --25 --51 -28 --7 -31 --5 -8 --24 -8 --24 -7 --25 -8 --23 -7 --24 -8 --24 -8 --23 -8 --23 -9 --22 -8 --23 -9 --23 -9 --22 -9 --23 -10 -120 -68 -28 --8 --1 --32 --4 --35 --4 --35 --1 --33 -1 --31 -2 --30 -3 --29 -4 --28 -5 --28 -5 --27 -6 --27 -7 --26 -8 --25 -7 --26 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -10 --23 -11 --22 -11 --23 -11 --22 -11 --23 -11 --23 -11 --22 --49 -29 --5 -33 --3 -10 --22 -10 --22 -8 --24 -8 --23 -9 --23 -9 --23 -9 --22 -9 --23 -9 --22 -10 --22 -10 --22 -10 --22 -9 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --31 -2 --30 -3 --29 -4 --28 -5 --28 -5 --27 -7 --26 -7 --26 -8 --25 -8 --25 --51 -26 --8 -32 --4 -8 --23 -8 --24 -8 --24 -7 --24 -8 --23 -8 --24 -8 --24 -9 --23 -8 --23 -9 --22 -9 --23 -9 --23 -10 --22 -9 -120 -68 -28 --9 -0 --32 --4 --35 --4 --35 --2 --33 -0 --32 -1 --30 -3 --29 -4 --28 -5 --27 -5 --27 -6 --26 -6 --26 -8 --26 -9 --24 --51 -27 --7 -30 --5 -8 --24 -7 --24 -6 --25 -8 --24 -7 --24 -8 --24 -8 --23 -8 --23 -9 --23 -9 --22 -9 --22 -9 --22 -9 --22 -9 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --30 -4 --28 -5 --27 -5 --27 -6 --26 -7 --26 -8 --25 -7 --26 -8 --25 -9 --24 -9 --24 -9 --24 -10 --24 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -12 --22 -11 --22 -11 --22 -10 --23 -11 --22 -12 --22 -12 --21 -12 --22 -11 --23 -11 --23 -11 --22 -10 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -10 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --23 -12 --22 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 --49 -29 --5 -32 --3 -10 --21 -9 --23 -8 --23 -9 --23 -9 --23 -9 --23 -9 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --22 -9 --22 -10 -120 -68 -28 --9 -0 --32 --3 --34 --3 --34 --1 --33 -0 --31 -1 --31 -3 --29 -4 --28 -5 --27 -6 --27 -6 --27 -7 --26 -7 --26 -8 --25 --51 -27 --7 -31 --4 -7 --24 -7 --24 -6 --25 -8 --24 -8 --23 -8 --23 -8 --23 -9 --23 -8 --23 -9 --23 -9 --23 -10 --22 -9 --22 -9 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -3 --29 -5 --27 -5 --27 -6 --27 -7 --26 -7 --25 -8 --25 -8 --25 -9 --24 -10 --24 -10 --24 -10 --23 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --23 -12 --21 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 --49 -29 --6 -33 --3 -10 --22 -9 --23 -8 --23 -8 --23 -9 --23 -9 --23 -9 --23 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 -120 -69 -28 --9 -0 --32 --4 --35 --3 --35 --1 --33 -0 --32 -2 --30 -3 --29 -4 --29 -5 --27 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 --49 -29 --5 -33 --2 -10 --22 -9 --23 -8 --24 -8 --23 -10 --22 -9 --23 -9 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 -120 -68 -28 --9 -0 --31 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -2 --30 -4 --28 -5 --27 -6 --27 -6 --26 -7 --26 -8 --25 -8 --25 -8 --25 -8 --25 -9 --24 -9 --24 -10 --23 -9 --24 -10 --23 -11 --23 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -10 --23 -11 --23 -11 --22 --49 -30 --5 -33 --3 -10 --22 -9 --23 -8 --23 -8 --23 -9 --23 -8 --23 -9 --23 -10 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -11 --21 -10 --22 -10 --21 -10 --22 -10 --22 -10 --22 -10 --22 -11 --21 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -11 --21 -11 --21 -10 --22 -10 --21 -11 --21 -10 --22 -10 --22 -10 --22 -10 --21 -11 --21 -10 --22 -10 --21 -10 --22 -11 --21 -10 --22 -10 --21 -10 --22 -10 --22 -11 --21 -10 --21 -11 --21 -10 --21 -11 --21 -10 --22 -10 --22 -11 --21 -11 --21 -10 --22 -10 --21 -10 --21 -10 --22 -10 -120 -69 -28 --8 -0 --32 --3 --34 --3 --34 --1 --33 -0 --31 -2 --30 -3 --29 -4 --28 -5 --27 -6 --27 -7 --26 -7 --26 -7 --26 -8 --25 -9 --25 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --24 -11 --22 -10 --23 -10 --23 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --22 -8 --24 -8 --23 -9 --23 -9 --23 -10 --22 -9 --23 -10 --22 -10 --22 -9 --22 -10 --22 -9 --23 -10 -119 -68 -28 --9 -0 --32 --4 --35 --3 --34 --2 --33 -1 --31 -1 --30 -3 --29 -5 --27 -4 --28 -6 --27 -6 --26 -7 --26 -7 --25 -8 --25 --51 -26 --8 -30 --5 -8 --23 -7 --24 -7 --25 -8 --24 -8 --23 -8 --23 -8 --23 -9 --23 -9 --23 -9 --22 -10 --22 -9 --23 -10 --22 -9 -119 -68 -27 --9 -0 --31 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --30 -4 --28 -5 --27 -6 --27 -6 --26 -6 --26 -7 --25 -8 --25 -8 --25 -9 --24 -8 --25 -10 --24 -9 --24 -9 --24 -10 --23 -10 --23 -11 --23 -11 --23 -10 --23 -11 --23 -11 --23 -11 --22 -11 --22 -10 --23 --49 -29 --5 -33 --2 -10 --22 -9 --22 -9 --23 -8 --23 -9 --23 -9 --23 -9 --23 -10 --22 -9 --23 -10 --22 -9 --22 -9 --22 -10 --22 -10 -120 -69 -28 --9 -1 --31 --3 --34 --4 --35 --1 --33 -0 --32 -2 --30 -3 --29 -4 --28 -5 --27 -5 --27 -6 --26 -6 --26 -8 --25 -9 --24 --51 -26 --8 -30 --5 -8 --23 -7 --24 -6 --25 -7 --24 -8 --24 -8 --24 -9 --23 -8 --23 -8 --23 -10 --22 -9 --23 -10 --22 -9 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --33 -2 --30 -2 --30 -3 --30 -3 --29 -5 --28 -6 --27 -6 --27 -6 --26 -7 --26 -8 --25 --51 -27 --7 -31 --4 -8 --23 -7 --25 -6 --25 -7 --25 -8 --24 -8 --23 -8 --24 -9 --23 -9 --23 -9 --23 -10 --22 -9 --23 -10 --22 -10 -120 -68 -28 --9 -0 --32 --4 --35 --3 --34 --2 --33 -0 --31 -2 --30 -2 --30 -4 --28 -5 --28 -6 --27 -7 --26 -7 --26 -7 --25 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --23 -12 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -10 --23 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -12 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --22 -12 --21 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -10 --23 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -12 --21 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 --49 -29 --5 -34 --2 -11 --21 -9 --23 -8 --23 -8 --24 -9 --23 -9 --22 -9 --23 -10 --22 -9 --22 -9 --23 -10 --22 -10 --22 -10 --22 -11 -121 -69 -28 --8 -0 --32 --4 --35 --4 --35 --1 --32 -0 --31 -1 --31 -2 --30 -4 --28 -5 --28 -6 --27 -7 --26 -7 --25 -7 --26 -8 --26 --52 -28 --6 -31 --5 -8 --23 -7 --24 -6 --25 -7 --24 -7 --24 -8 --23 -9 --23 -8 --23 -8 --23 -9 --22 -9 --23 -9 --23 -10 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --35 --1 --33 -0 --32 -1 --30 -3 --29 -4 --29 -5 --28 -6 --27 -6 --27 -7 --26 -8 --25 -8 --25 -8 --24 -8 --25 -10 --24 -10 --24 -9 --24 -10 --23 -10 --23 -10 --24 -10 --23 -11 --22 -10 --23 -11 --22 -11 --22 -10 --23 -10 --23 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -10 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -12 --22 -10 --23 -11 --22 -11 --23 -11 --22 --49 -29 --5 -34 --2 -9 --23 -9 --23 -7 --24 -9 --23 -10 --22 -9 --23 -9 --22 -9 --23 -9 --22 -10 --22 -9 --22 -10 --22 -10 --21 -10 -120 -68 -27 --9 -0 --31 --4 --35 --3 --34 --1 --32 -0 --32 -2 --30 -3 --29 -4 --29 -5 --27 -5 --27 -7 --26 -7 --26 -7 --26 -8 --25 -8 --25 -9 --24 -9 --24 -10 --24 -10 --23 -9 --24 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -10 --24 -10 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --3 -11 --21 -9 --23 -8 --24 -8 --23 -9 --23 -9 --23 -9 --22 -8 --23 -9 --22 -10 --22 -10 --22 -11 --21 -9 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --33 -1 --31 -2 --30 -3 --29 -4 --28 -4 --28 -6 --27 -7 --26 -7 --26 -7 --25 -8 --25 -8 --24 -9 --24 -10 --24 -10 --23 -10 --24 -10 --23 -10 --24 -10 --24 -10 --23 -10 --23 -10 --23 -11 --22 -11 --23 -11 --22 -11 --23 -11 --23 --49 -29 --6 -33 --2 -10 --22 -9 --23 -8 --24 -9 --23 -9 --22 -9 --23 -9 --23 -9 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -11 --21 -10 --22 -10 --22 -11 --21 -10 --22 -10 --22 -11 --21 -10 --21 -10 --22 -10 --22 -10 --22 -11 --21 -11 --21 -10 --21 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -11 --21 -11 --21 -10 --22 -10 --21 -10 --22 -10 --22 -10 --21 -10 --22 -11 --21 -10 --21 -10 --21 -10 --22 -11 --21 -10 --22 -11 --21 -10 --22 -10 --22 -10 --22 -10 --22 -11 --21 -10 --22 -10 --21 -10 --22 -10 -120 -69 -28 --8 -0 --31 --4 --35 --2 --34 --1 --32 -0 --31 -2 --30 -3 --29 -4 --28 -5 --27 -6 --27 -7 --26 -7 --26 -7 --25 -8 --25 -8 --25 -9 --24 -9 --24 -10 --23 -10 --24 -9 --24 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -10 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 --49 -29 --6 -33 --3 -11 --21 -8 --23 -8 --24 -9 --23 -9 --22 -9 --22 -9 --22 -9 --23 -10 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 -120 -69 -28 --8 --1 --33 --4 --35 --3 --34 --1 --32 -1 --31 -1 --31 -3 --29 -4 --28 -5 --27 -5 --28 -6 --26 -7 --25 -7 --26 -9 --24 --51 -28 --7 -31 --4 -8 --24 -7 --24 -6 --25 -8 --24 -8 --24 -8 --23 -8 --23 -8 --23 -9 --23 -9 --23 -9 --23 -9 --22 -9 --22 -10 -119 -68 -27 --9 -0 --32 --5 --35 --3 --34 --1 --33 -0 --31 -2 --30 -3 --29 -4 --28 -5 --27 -6 --27 -7 --26 -6 --26 -7 --26 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -10 --23 -9 --24 -10 --23 -10 --24 -11 --23 -11 --23 -10 --23 -11 --22 -10 --23 -10 --23 -11 --22 -11 --22 --49 -29 --6 -33 --3 -10 --21 -9 --23 -7 --24 -9 --23 -9 --23 -9 --23 -9 --23 -9 --23 -9 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --32 -0 --32 -2 --30 -3 --30 -4 --28 -5 --27 -5 --27 -6 --26 -6 --26 -7 --25 -8 --25 --51 -28 --7 -30 --5 -8 --23 -7 --24 -6 --25 -7 --24 -8 --24 -8 --24 -8 --23 -9 --23 -9 --23 -9 --23 -9 --23 -9 --23 -10 --22 -10 -120 -68 -28 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --31 -1 --31 -2 --30 -4 --28 -5 --28 -6 --27 -6 --27 -7 --26 -7 --26 -7 --26 --52 -27 --8 -31 --4 -8 --23 -8 --24 -6 --25 -8 --24 -8 --24 -7 --24 -8 --23 -9 --23 -9 --22 -9 --22 -9 --23 -9 --22 -10 --22 -9 -119 -68 -27 --9 -0 --32 --5 --36 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -4 --29 -4 --28 -5 --27 -7 --26 -7 --26 -7 --25 -9 --24 -8 --25 -9 --24 -10 --24 -9 --24 -10 --24 -10 --24 -10 --23 -11 --23 -11 --23 -10 --23 -10 --23 -10 --23 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -12 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -10 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -10 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --3 -10 --22 -9 --22 -8 --23 -8 --23 -9 --23 -9 --23 -10 --22 -10 --22 -10 --22 -9 --22 -9 --22 -10 --22 -10 --22 -10 -120 -69 -28 --8 -0 --31 --4 --35 --3 --35 --1 --32 -0 --32 -3 --29 -3 --29 -4 --29 -4 --28 -5 --28 -7 --26 -7 --26 -8 --25 -8 --25 --51 -27 --7 -31 --4 -8 --24 -7 --24 -7 --24 -7 --25 -7 --24 -8 --24 -9 --23 -9 --23 -9 --23 -9 --22 -9 --23 -9 --23 -9 --22 -10 -120 -68 -28 --9 -0 --32 --4 --35 --3 --35 --1 --33 -0 --32 -1 --31 -3 --29 -4 --28 -5 --27 -5 --27 -6 --26 -6 --26 -7 --26 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -10 --23 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -10 --23 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 --49 -30 --5 -33 --3 -10 --22 -9 --23 -8 --24 -8 --23 -9 --23 -9 --23 -10 --22 -10 --22 -10 --22 -9 --22 -9 --22 -10 --22 -10 --22 -10 -119 -68 -28 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --31 -2 --30 -3 --30 -4 --28 -5 --27 -5 --27 -6 --26 -7 --25 -8 --25 -8 --25 -8 --24 -8 --25 -9 --24 -10 --23 -9 --24 -10 --23 -10 --23 -10 --24 -11 --22 -10 --23 -10 --23 -11 --22 -11 --23 -11 --22 -10 --23 -11 --23 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 --49 -29 --5 -33 --2 -10 --22 -9 --22 -9 --23 -8 --24 -9 --23 -9 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --22 -9 --22 -10 --22 -10 -120 -69 -28 --8 -0 --31 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -4 --28 -4 --28 -5 --27 -6 --27 -7 --25 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 --49 -29 --6 -32 --3 -10 --22 -9 --23 -8 --23 -9 --23 -8 --23 -9 --23 -9 --22 -9 --23 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --21 -9 --22 -10 --22 -10 --21 -10 --22 -10 --21 -10 --22 -10 --21 -11 --21 -10 --22 -11 --21 -10 --22 -11 --21 -11 --21 -10 --22 -10 --22 -10 --22 -10 --21 -10 --22 -10 --22 -11 --21 -10 --22 -9 --22 -10 --21 -10 --22 -11 --21 -11 --21 -10 --22 -10 --22 -10 --21 -10 --21 -10 --21 -10 --22 -10 --21 -10 --21 -10 --22 -10 --21 -10 --21 -10 --22 -10 --22 -10 --21 -10 --22 -10 --21 -10 --22 -10 --21 -10 --21 -10 -120 -68 -28 --8 -0 --32 --3 --34 --3 --34 --1 --33 -0 --31 -3 --29 -3 --29 -4 --28 -5 --27 -6 --27 -7 --26 -7 --26 -8 --25 -8 --25 -8 --25 -9 --24 -9 --24 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -10 --23 -10 --23 -10 --23 -11 --23 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -10 --23 -10 --23 -11 --22 -11 --22 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --23 -8 --24 -8 --23 -9 --23 -9 --23 -10 --22 -9 --23 -9 --22 -10 --22 -10 --22 -10 --21 -10 --22 -10 -119 -68 -27 --9 -0 --31 --4 --35 --3 --34 --1 --33 -0 --31 -1 --30 -3 --29 -4 --28 -5 --28 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 --51 -27 --7 -31 --4 -8 --23 -7 --24 -7 --24 -7 --24 -8 --24 -8 --23 -8 --24 -9 --22 -9 --23 -9 --23 -9 --22 -9 --23 -10 --22 -10 -120 -69 -28 --8 --1 --32 --4 --35 --4 --35 --1 --33 -0 --31 -2 --30 -3 --29 -3 --29 -5 --27 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 -8 --25 -8 --25 -9 --24 -10 --24 -10 --23 -10 --23 -9 --24 -10 --23 -10 --23 -10 --23 -11 --22 -11 --23 -11 --23 -10 --23 -11 --22 -11 --23 --49 -30 --5 -33 --3 -10 --22 -9 --23 -7 --24 -8 --23 -8 --23 -9 --23 -9 --23 -9 --22 -9 --22 -9 --22 -10 --22 -10 --21 -10 --22 -10 -120 -68 -28 --9 --1 --32 --4 --35 --3 --33 --2 --33 -1 --31 -2 --30 -3 --29 -5 --28 -5 --28 -6 --27 -7 --26 -7 --25 -7 --25 -8 --25 --51 -27 --8 -31 --5 -8 --23 -7 --24 -7 --25 -7 --24 -8 --24 -8 --24 -8 --23 -9 --23 -9 --23 -9 --23 -9 --22 -10 --22 -10 --22 -9 -119 -68 -27 --9 -0 --31 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -4 --28 -5 --28 -5 --27 -6 --27 -7 --26 -7 --25 -9 --24 --51 -27 --7 -30 --5 -8 --24 -8 --24 -6 --25 -8 --24 -7 --24 -8 --24 -8 --23 -8 --23 -9 --23 -9 --23 -9 --22 -9 --22 -9 --22 -9 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --2 --33 -0 --31 -1 --30 -3 --29 -4 --28 -4 --28 -6 --27 -6 --26 -7 --26 -8 --25 -8 --25 -8 --24 -9 --24 -10 --23 -9 --24 -9 --24 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --23 -11 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -12 --21 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -12 --21 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --21 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --21 -11 --23 -11 --22 -11 --22 -11 --23 -12 --21 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 --49 -29 --5 -33 --3 -10 --22 -9 --23 -8 --23 -9 --23 -9 --22 -9 --23 -9 --23 -9 --22 -10 --22 -10 --22 -10 --22 -9 --22 -10 --22 -9 -119 -68 -28 --9 --1 --32 --3 --34 --3 --35 --2 --33 -1 --31 -1 --30 -3 --29 -5 --28 -5 --28 -6 --27 -6 --27 -7 --26 -7 --25 -8 --25 --51 -27 --8 -31 --4 -8 --23 -7 --24 -7 --25 -8 --24 -8 --23 -8 --24 -8 --23 -8 --23 -8 --23 -9 --22 -9 --22 -9 --22 -9 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -1 --31 -3 --29 -4 --28 -5 --27 -5 --27 -7 --26 -7 --26 -7 --26 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -9 --24 -10 --24 -10 --23 -10 --24 -10 --23 -11 --22 -10 --23 -10 --23 -10 --23 -11 --23 -11 --22 -10 --23 -11 --22 -11 --23 -11 --23 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -12 --22 -11 --23 -11 --23 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 --49 -31 --4 -33 --2 -10 --22 -9 --23 -8 --23 -9 --23 -8 --23 -9 --23 -9 --22 -9 --23 -10 --22 -10 --22 -10 --22 -9 --22 -9 --22 -10 -120 -69 -28 --9 -0 --32 --3 --35 --4 --35 --1 --33 -0 --31 -1 --30 -3 --29 -4 --28 -6 --27 -6 --26 -6 --27 -7 --26 -7 --26 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -11 --23 -10 --24 -10 --23 -10 --23 -10 --23 -11 --23 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -12 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 --49 -29 --6 -33 --2 -10 --22 -9 --23 -9 --23 -9 --23 -9 --22 -9 --23 -9 --22 -9 --22 -9 --23 -10 --22 -9 --22 -10 --22 -10 --22 -9 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --31 -2 --30 -3 --29 -4 --28 -5 --27 -6 --27 -7 --26 -7 --26 -8 --25 -8 --24 -8 --25 -9 --24 -9 --24 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -11 --22 -10 --23 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --23 --49 -29 --5 -33 --3 -10 --22 -9 --23 -9 --23 -8 --23 -8 --23 -8 --23 -9 --23 -9 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -11 --21 -10 --21 -10 --22 -10 --21 -10 --21 -10 --22 -10 --22 -10 --22 -11 --21 -10 --22 -10 --21 -11 --21 -10 --22 -11 --21 -10 --22 -10 --21 -11 --21 -10 --22 -10 --21 -10 --22 -11 --21 -10 --22 -10 --22 -10 --21 -10 --22 -10 --21 -10 --22 -10 --21 -10 --22 -10 --21 -10 --22 -10 --21 -11 --21 -10 --21 -10 --22 -10 --21 -10 --21 -10 --22 -10 --21 -10 -120 -69 -28 --8 -0 --31 --3 --34 --3 --34 --1 --33 -0 --31 -2 --30 -3 --29 -4 --28 -5 --27 -6 --27 -6 --27 -7 --26 -7 --26 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --24 -10 --23 -11 --23 -10 --23 -10 --23 -11 --23 -10 --23 -11 --22 -11 --23 -11 --23 -11 --22 -10 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -12 --21 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 --49 -29 --5 -33 --3 -10 --22 -9 --22 -8 --24 -9 --23 -9 --23 -9 --23 -10 --22 -9 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 -119 -68 -28 --9 -0 --32 --5 --35 --2 --34 --1 --33 -0 --31 -2 --30 -3 --29 -4 --28 -5 --28 -5 --27 -7 --26 -8 --25 -7 --26 -8 --25 --51 -27 --8 -31 --4 -8 --24 -7 --24 -7 --24 -8 --24 -7 --24 -8 --23 -8 --23 -9 --23 -9 --23 -9 --22 -9 --22 -9 --22 -10 --22 -9 -119 -68 -28 --9 --1 --32 --4 --35 --3 --34 --1 --33 --1 --33 -2 --30 -3 --29 -4 --28 -5 --27 -5 --28 -6 --26 -7 --26 -7 --26 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -10 --23 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --23 -8 --23 -8 --23 -9 --23 -10 --22 -9 --23 -9 --22 -10 --22 -9 --23 -9 --22 -10 --22 -10 --22 -10 -120 -69 -28 --8 -0 --32 --4 --35 --3 --35 --2 --33 -0 --32 -1 --31 -3 --29 -4 --28 -5 --27 -6 --27 -6 --27 -7 --26 -7 --26 -8 --25 --51 -27 --8 -31 --5 -8 --23 -7 --24 -6 --25 -7 --24 -8 --24 -8 --23 -9 --23 -8 --24 -9 --22 -9 --23 -9 --22 -9 --22 -9 --23 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --2 --33 -0 --32 -1 --31 -3 --29 -4 --28 -5 --27 -6 --27 -6 --26 -6 --26 -8 --25 -8 --25 --51 -28 --6 -31 --4 -8 --23 -7 --25 -6 --25 -7 --24 -7 --24 -8 --23 -8 --24 -8 --23 -9 --23 -9 --23 -10 --22 -9 --22 -10 --22 -9 -119 -68 -27 --9 --1 --32 --4 --35 --3 --34 --1 --32 --1 --32 -2 --30 -3 --29 -3 --29 -5 --27 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -10 --23 -10 --24 -10 --24 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -11 --23 -11 --23 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --21 -12 --22 -11 --22 -12 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --23 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -10 --23 -12 --22 -12 --22 -11 --23 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 --49 -29 --6 -33 --2 -10 --21 -9 --23 -9 --23 -8 --23 -9 --23 -9 --22 -9 --22 -9 --22 -8 --23 -10 --22 -10 --22 -10 --22 -10 --21 -10 -120 -69 -28 --9 -0 --31 --4 --35 --3 --34 -0 --32 -0 --32 -1 --30 -3 --29 -3 --29 -5 --27 -6 --26 -6 --27 -7 --26 -7 --26 -7 --25 --52 -27 --7 -31 --5 -8 --23 -7 --24 -7 --25 -7 --24 -8 --24 -8 --24 -8 --23 -8 --23 -9 --23 -8 --23 -9 --23 -9 --22 -10 --22 -10 -120 -68 -28 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --31 -1 --30 -3 --29 -3 --29 -5 --28 -5 --27 -6 --26 -8 --25 -7 --26 -7 --25 -8 --24 -9 --24 -9 --24 -10 --23 -9 --24 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -11 --23 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 --49 -30 --4 -33 --2 -10 --22 -9 --23 -8 --23 -8 --23 -9 --23 -9 --23 -9 --22 -9 --22 -9 --22 -9 --23 -9 --22 -10 --22 -10 --22 -10 -120 -68 -27 --9 -1 --31 --4 --35 --3 --34 --1 --32 -0 --32 -2 --30 -3 --30 -4 --28 -5 --28 -5 --27 -7 --26 -7 --26 -8 --25 -8 --25 -8 --24 -8 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --23 -10 --24 -11 --23 -10 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -13 --21 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 --49 -30 --5 -33 --3 -10 --22 -9 --22 -8 --24 -9 --23 -9 --23 -9 --22 -10 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --21 -9 --22 -10 -120 -68 -28 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -1 --30 -3 --29 -4 --28 -5 --27 -6 --27 -6 --26 -7 --26 -7 --26 -9 --24 -8 --25 -9 --24 -10 --24 -9 --24 -9 --24 -9 --24 -10 --24 -10 --23 -11 --23 -10 --23 -11 --23 -11 --22 -10 --23 -11 --22 -11 --23 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --23 -7 --24 -9 --23 -9 --23 -9 --22 -9 --22 -9 --22 -9 --23 -10 --22 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -9 --22 -10 --22 -10 --21 -10 --22 -11 --21 -10 --22 -10 --22 -10 --22 -10 --22 -10 --21 -10 --21 -11 --21 -10 --22 -10 --22 -10 --21 -10 --22 -11 --21 -10 --22 -10 --21 -11 --21 -10 --22 -10 --22 -10 --21 -11 --21 -11 --21 -10 --22 -10 --21 -10 --21 -10 --21 -10 --21 -10 --21 -11 --21 -10 --21 -10 --22 -10 --22 -11 --21 -11 --21 -11 --21 -10 --22 -10 --21 -10 --22 -10 --22 -10 --22 -10 --21 -11 --21 -10 --22 -10 -120 -69 -28 --8 -1 --31 --4 --35 --3 --34 --1 --32 -0 --32 -3 --29 -3 --29 -4 --28 -6 --27 -6 --27 -6 --26 -7 --26 -7 --26 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -11 --23 -10 --24 -10 --23 -10 --23 -11 --22 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --23 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -10 --23 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -12 --21 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --23 -12 --22 -11 --22 --49 -31 --4 -33 --3 -10 --22 -9 --23 -8 --23 -9 --23 -8 --23 -9 --23 -8 --23 -9 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --22 -10 -120 -69 -28 --8 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -4 --29 -5 --27 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 --51 -28 --7 -31 --4 -8 --23 -8 --24 -6 --25 -7 --24 -8 --24 -8 --24 -8 --23 -8 --23 -9 --23 -9 --23 -9 --22 -10 --22 -9 --22 -10 -119 -67 -27 --9 --1 --33 --4 --35 --3 --34 --2 --33 -0 --31 -1 --30 -3 --29 -4 --28 -5 --27 -5 --27 -6 --26 -6 --26 -7 --25 -8 --25 -8 --25 -10 --24 -9 --24 -9 --24 -9 --24 -10 --24 -10 --23 -10 --23 -11 --23 -11 --23 -10 --23 -11 --22 -10 --23 -11 --23 -11 --23 -11 --22 --49 -28 --6 -33 --2 -10 --22 -9 --22 -8 --24 -8 --23 -9 --22 -8 --23 -9 --23 -9 --23 -9 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 -119 -68 -27 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --32 -2 --30 -3 --29 -4 --28 -5 --27 -5 --27 -6 --26 -7 --26 -7 --26 -9 --24 --51 -28 --7 -31 --4 -8 --23 -7 --25 -6 --25 -7 --24 -8 --24 -8 --23 -9 --23 -9 --23 -9 --22 -8 --23 -9 --22 -9 --22 -9 --23 -10 -120 -68 -27 --9 --1 --32 --5 --35 --3 --34 --2 --33 -1 --31 -1 --31 -3 --29 -3 --29 -5 --27 -6 --27 -6 --26 -7 --26 -7 --26 -7 --25 --51 -26 --8 -31 --4 -8 --23 -8 --23 -6 --25 -7 --24 -8 --24 -8 --23 -8 --23 -9 --23 -9 --22 -9 --22 -8 --23 -9 --22 -10 --22 -9 -119 -68 -27 --9 --1 --32 --4 --35 --4 --35 --1 --33 -0 --32 -2 --30 -3 --29 -4 --28 -5 --27 -6 --27 -6 --26 -7 --26 -7 --26 -8 --25 -9 --24 -9 --24 -9 --24 -10 --23 -9 --24 -9 --24 -9 --24 -10 --23 -11 --23 -11 --23 -10 --23 -10 --23 -11 --23 -10 --23 -11 --23 -10 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -12 --21 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -10 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -10 --23 -11 --22 -11 --23 -12 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --21 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -12 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --22 -8 --24 -9 --23 -9 --23 -8 --23 -10 --22 -9 --23 -9 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 -120 -68 -28 --9 -0 --32 --4 --35 --3 --34 --1 --33 -0 --31 -1 --30 -3 --29 -4 --28 -5 --28 -6 --27 -6 --26 -7 --26 -8 --25 -8 --25 --51 -27 --8 -31 --5 -8 --23 -8 --24 -7 --25 -7 --24 -8 --24 -8 --24 -8 --23 -8 --23 -9 --23 -9 --23 -9 --22 -9 --23 -9 --22 -10 -120 -69 -28 --9 -0 --32 --4 --35 --4 --35 --2 --33 -0 --32 -2 --30 -3 --29 -3 --29 -6 --27 -5 --27 -6 --26 -7 --26 -7 --26 -8 --25 -9 --24 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -11 --23 -11 --22 -11 --23 -11 --23 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -12 --21 -12 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 --49 -30 --5 -33 --2 -10 --22 -9 --22 -8 --24 -9 --23 -8 --23 -9 --22 -10 --22 -10 --21 -10 --22 -9 --22 -10 --22 -10 --22 -10 --22 -10 -120 -69 -28 --8 -0 --32 --4 --35 --3 --35 --1 --33 -1 --31 -1 --31 -2 --29 -4 --29 -5 --27 -6 --27 -7 --26 -7 --25 -8 --26 -8 --25 -8 --24 -8 --25 -10 --24 -10 --23 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -11 --22 -11 --23 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -10 --23 -11 --22 -11 --23 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -12 --22 -10 --23 --49 -29 --6 -33 --3 -10 --21 -10 --22 -8 --23 -8 --23 -9 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --22 -10 --22 -9 --22 -10 --22 -9 -120 -69 -28 --8 -0 --32 --3 --35 --3 --34 --1 --33 -0 --31 -1 --30 -4 --29 -4 --29 -5 --27 -5 --27 -6 --26 -7 --26 -7 --26 -9 --24 -8 --24 -9 --24 -9 --24 -9 --24 -10 --24 -10 --24 -10 --23 -10 --23 -10 --23 -10 --23 -11 --23 -10 --23 -11 --22 -11 --23 -11 --22 -11 --22 --49 -30 --5 -33 --3 -10 --22 -8 --23 -8 --24 -8 --23 -9 --23 -9 --23 -9 --23 -9 --22 -9 --23 -9 --22 -10 --22 -9 --23 -10 --22 -10 --22 -10 --22 -11 --21 -10 --22 -10 --22 -11 --21 -10 --22 -10 --22 -11 --21 -10 --21 -10 --22 -10 --22 -10 --22 -11 --21 -10 --22 -10 --21 -10 --22 -10 --22 -10 --21 -10 --22 -11 --21 -11 --21 -10 --22 -10 --21 -10 --22 -10 --22 -10 --21 -10 --22 -10 --21 -10 --22 -10 --22 -10 --21 -10 --22 -11 --21 -10 --21 -10 --22 -10 --21 -10 --22 -10 --21 -11 --21 -10 --22 -10 --21 -10 --22 -10 --22 -10 --22 -10 --21 -11 --21 -10 --21 -10 -120 -68 -28 --8 -0 --32 --3 --35 --2 --34 --1 --32 -1 --31 -3 --30 -3 --29 -4 --28 -5 --28 -6 --26 -6 --27 -7 --26 -8 --25 -8 --25 -9 --24 -9 --24 -9 --24 -10 --23 -9 --24 -10 --23 -10 --23 -9 --24 -10 --23 -11 --23 -10 --23 -11 --22 -10 --23 -10 --23 -10 --23 -11 --23 -11 --22 -10 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 --49 -30 --5 -33 --3 -9 --22 -9 --23 -8 --23 -9 --23 -9 --22 -9 --23 -9 --23 -10 --22 -9 --23 -10 --22 -10 --22 -10 --22 -10 --22 -9 -119 -68 -27 --9 -0 --31 --4 --35 --3 --34 --1 --33 -0 --32 -1 --30 -3 --29 -4 --28 -5 --27 -6 --27 -6 --26 -7 --26 -7 --26 -8 --25 --51 -26 --8 -31 --4 -8 --23 -7 --24 -6 --25 -7 --24 -7 --24 -8 --23 -9 --22 -9 --23 -9 --23 -9 --23 -9 --23 -10 --22 -9 --22 -9 -120 -68 -28 --9 -0 --32 --4 --35 --4 --35 --1 --33 -1 --31 -2 --30 -3 --30 -3 --29 -5 --28 -5 --27 -7 --26 -7 --26 -8 --25 -8 --25 -8 --24 -9 --24 -9 --24 -10 --24 -9 --24 -10 --23 -10 --24 -10 --24 -10 --23 -10 --23 -11 --22 -10 --23 -11 --23 -11 --23 -10 --23 -11 --23 --49 -30 --5 -33 --2 -10 --22 -9 --23 -8 --24 -9 --23 -8 --23 -9 --22 -9 --22 -9 --23 -9 --22 -9 --22 -9 --22 -10 --22 -9 --23 -11 -120 -68 -28 --8 -0 --32 --4 --35 --3 --34 --2 --33 -1 --31 -1 --31 -3 --29 -4 --28 -5 --27 -6 --27 -7 --26 -7 --26 -8 --25 -7 --25 --52 -27 --8 -31 --5 -8 --23 -8 --24 -7 --24 -7 --24 -8 --23 -7 --24 -9 --23 -9 --23 -9 --23 -9 --23 -9 --23 -9 --23 -10 --22 -9 -119 -68 -27 --9 -0 --32 --4 --35 --3 --35 --1 --33 --1 --32 -1 --30 -3 --29 -3 --29 -5 --27 -5 --27 -7 --26 -7 --25 -8 --25 -8 --25 --51 -28 --7 -30 --5 -8 --23 -7 --25 -6 --25 -8 --24 -7 --25 -8 --24 -8 --24 -8 --23 -9 --22 -9 --23 -10 --22 -9 --23 -9 --23 -10 -120 -68 -27 --9 --1 --32 --4 --35 --3 --34 --1 --33 -0 --32 -1 --30 -4 --28 -4 --28 -4 --28 -6 --27 -7 --26 -6 --26 -8 --25 -8 --25 -9 --25 -9 --24 -9 --24 -9 --24 -9 --24 -10 --23 -10 --24 -10 --23 -10 --23 -10 --23 -11 --22 -10 --23 -10 --23 -11 --22 -10 --23 -11 --22 -11 --23 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -12 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -11 --22 -11 --22 -11 --22 -11 --22 -11 --23 -12 --22 -11 --22 -12 --22 -12 --22 -11 --22 -11 --22 -11 diff --git a/traces/ioProx-XSF-01-BE-03011.pm3 b/traces/ioProx-XSF-01-BE-03011.pm3 deleted file mode 100644 index 34fbbec13..000000000 --- a/traces/ioProx-XSF-01-BE-03011.pm3 +++ /dev/null @@ -1,16000 +0,0 @@ --55 --90 --103 -3 -73 -91 -32 --17 --59 --93 --105 -3 -73 -92 -32 --17 --58 --93 --104 -4 -74 -93 -33 --16 --58 --92 --104 -4 -75 -93 -33 --15 --57 --92 --104 -6 -76 -95 -34 --14 --57 --91 --103 -7 -76 -95 -34 --14 --57 --91 --103 -7 -77 -95 -35 --14 --56 --91 --105 --98 -33 -100 -109 -84 -25 --22 --63 --97 --110 --93 -37 -102 -109 -84 -25 --22 --63 --97 --110 --95 -36 -101 -109 -83 -24 --23 --64 --98 --110 --96 -35 -100 -108 -82 -23 --24 --65 --98 --111 --97 -34 -99 -107 -81 -22 --25 --66 --99 --112 --97 -33 -99 -106 -81 -22 --25 --65 --99 --112 --97 -33 -99 -105 -46 --7 --49 --86 --99 -4 -76 -91 -33 --17 --42 --93 --104 -4 -75 -92 -33 --17 --41 --93 --103 -5 -77 -93 -35 --15 --56 --92 --103 -6 -78 -94 -35 --15 --56 --92 --102 -7 -79 -94 -36 --14 --56 --91 --102 -7 -79 -95 -37 --14 --55 --91 --101 -7 -79 -95 -37 --14 --55 --91 --101 -7 -79 -95 -37 --14 --55 --91 --102 -7 -79 -95 -37 --14 --55 --91 --102 -6 -78 -94 -36 --14 --56 --91 --102 -6 -78 -94 -35 --15 --56 --92 --102 -6 -78 -94 -36 --15 --56 --92 --102 -6 -78 -93 -35 --15 --56 --92 --103 -6 -78 -94 -35 --15 --56 --92 --102 -6 -78 -94 -35 --15 --56 --92 --103 -5 -78 -94 -36 --15 --56 --92 --102 -6 -78 -94 -35 --15 --56 --92 --102 -6 -79 -94 -36 --15 --56 --92 --102 -6 -78 -94 -36 --15 --56 --92 --102 -6 -78 -94 -36 --15 --56 --92 --102 -6 -78 -94 -36 --15 --56 --92 --102 -6 -78 -94 -35 --15 --56 --92 --103 -6 -78 -93 -35 --15 --56 --92 --103 -6 -78 -94 -36 --15 --56 --92 --102 -6 -78 -94 -36 --15 --56 --92 --102 -6 -78 -94 -36 --15 --56 --92 --102 -7 -79 -95 -36 --15 --56 --92 --102 -6 -79 -94 -36 --15 --56 --92 --102 -6 -79 -94 -36 --15 --56 --92 --102 -7 -79 -95 -37 --14 --55 --91 --102 -7 -79 -95 -37 --14 --56 --91 --102 -6 -79 -95 -37 --14 --56 --91 --102 -7 -79 -95 -36 --15 --56 --92 --102 -6 -79 -95 -36 --15 --56 --92 --102 -7 -79 -95 -37 --14 --55 --92 --102 -6 -78 -95 -36 --15 --56 --92 --102 -6 -79 -95 -37 --14 --56 --92 --102 -6 -79 -94 -36 --15 --56 --92 --103 -6 -78 -95 -36 --14 --56 --92 --102 -6 -79 -94 -36 --15 --56 --92 --102 -6 -78 -95 -36 --14 --56 --92 --103 -6 -79 -94 -36 --15 --56 --92 --103 -6 -79 -95 -36 --15 --56 --92 --103 -6 -78 -94 -36 --15 --56 --92 --103 -6 -78 -94 -36 --15 --56 --92 --103 -6 -79 -95 -37 --14 --56 --92 --102 -7 -79 -95 -36 --15 --56 --92 --102 -7 -79 -95 -37 --14 --55 --92 --102 -7 -79 -96 -37 --14 --55 --91 --102 -7 -79 -95 -37 --14 --55 --92 --102 -7 -79 -96 -37 --14 --55 --91 --102 -7 -79 -95 -37 --14 --55 --92 --102 -7 -79 -95 -37 --14 --55 --92 --102 -7 -79 -96 -37 --14 --55 --91 --102 -8 -79 -95 -37 --14 --55 --92 --102 -7 -79 -96 -79 -20 --27 --67 --100 --128 --95 -36 -103 -111 -86 -26 --22 --63 --97 --111 --95 -36 -102 -109 -83 -24 --23 --65 --98 --112 --97 -34 -100 -108 -82 -23 --24 --66 --99 --112 --98 -33 -99 -107 -81 -22 --25 --66 --99 --128 --98 -33 -99 -106 -81 -22 --25 --66 --100 --128 --99 -33 -98 -106 -80 -22 --26 --67 --100 --128 --100 -32 -98 -106 -80 -22 --26 --67 --100 --128 --99 -32 -98 -106 -80 -22 --26 --67 --100 --128 --99 -33 -98 -106 -80 -22 --26 --67 --100 --128 --100 -32 -98 -106 -81 -22 --25 --66 --100 --128 --99 -33 -99 -106 -80 -22 --26 --67 --100 --128 --99 -32 -98 -106 -80 -22 --26 --67 --100 --128 --100 -32 -99 -106 -46 --7 --50 --87 --100 -3 -75 -90 -32 --18 --59 --95 --106 -2 -75 -91 -33 --17 --43 --94 --105 -4 -76 -93 -34 --16 --58 --93 --105 -4 -77 -94 -35 --16 --57 --93 --104 -5 -78 -94 -36 --15 --56 --93 --103 -6 -78 -94 -35 --15 --57 --93 --103 -6 -78 -95 -36 --15 --56 --92 --103 -5 -79 -95 -36 --15 --56 --92 --103 -6 -79 -95 -37 --15 --56 --92 --103 -6 -79 -95 -36 --15 --56 --92 --103 -7 -79 -95 -36 --15 --56 --92 --103 -6 -79 -95 -36 --15 --56 --92 --103 -6 -79 -95 -36 --15 --56 --92 --103 -6 -79 -95 -37 --15 --56 --92 --103 -6 -79 -95 -37 --15 --56 --92 --103 -5 -78 -95 -36 --15 --56 --92 --103 -6 -79 -95 -36 --15 --56 --92 --103 -6 -79 -94 -36 --15 --57 --93 --103 -6 -79 -95 -36 --15 --56 --92 --104 -6 -79 -95 -37 --15 --56 --92 --103 -6 -79 -95 -36 --15 --56 --92 --103 -7 -79 -95 -37 --14 --56 --92 --103 -6 -79 -95 -36 --15 --56 --92 --103 -6 -78 -95 -37 --15 --56 --92 --103 -6 -79 -95 -37 --15 --56 --92 --103 -6 -79 -95 -37 --15 --56 --92 --103 -6 -79 -95 -37 --15 --56 --92 --103 -6 -78 -95 -37 --15 --56 --92 --103 -6 -79 -95 -37 --14 --56 --92 --103 -6 -79 -95 -37 --14 --56 --92 --103 -6 -79 -96 -37 --14 --56 --92 --103 -6 -79 -95 -79 -20 --27 --68 --101 --128 --96 -36 -103 -111 -86 -26 --22 --64 --98 --111 --95 -36 -102 -110 -85 -25 --23 --65 --98 --112 --96 -35 -101 -109 -83 -24 --24 --65 --99 --112 --97 -35 -101 -109 -83 -24 --24 --65 --99 --112 --97 -34 -101 -108 -83 -24 --24 --66 --99 --128 --98 -33 -99 -108 -82 -23 --25 --66 --100 --110 -7 -79 -97 -36 --14 --57 --92 --105 -1 -72 -91 -30 --19 --61 --95 --107 -2 -73 -92 -32 --17 --60 --95 --107 -4 -74 -94 -33 --16 --59 --93 --106 -4 -75 -94 -33 --16 --59 --93 --105 -5 -76 -95 -34 --15 --58 --93 --105 -6 -76 -95 -34 --15 --58 --93 --105 -6 -77 -95 -75 -19 --29 --69 --103 --128 --98 -36 -100 -111 -83 -26 --24 --64 --99 --112 --98 -35 -100 -110 -81 -24 --25 --65 --100 --112 --99 -35 -99 -109 -80 -24 --26 --66 --101 --128 --100 -34 -98 -109 -80 -24 --26 --66 --101 --128 --99 -34 -98 -108 -80 -23 --26 --66 --101 --128 --100 -33 -97 -109 -80 -23 --26 --66 --101 --128 --100 -33 -97 -108 -80 -23 --26 --66 --101 --128 --100 -34 -97 -108 -80 -23 --26 --66 --101 --128 --100 -33 -97 -108 -80 -24 --26 --66 --101 --128 --101 -33 -98 -108 -80 -23 --26 --67 --101 --128 --100 -33 -97 -109 -80 -23 --27 --67 --101 --128 --100 -33 -97 -108 -80 -23 --26 --66 --101 --128 --101 -33 -97 -108 -80 -23 --27 --67 --101 --128 --100 -33 -97 -107 -79 -22 --27 --67 --102 --128 --101 -32 -97 -108 -79 -23 --27 --67 --101 --128 --100 -33 -97 -108 -80 -23 --26 --67 --101 --128 --101 -33 -98 -109 -80 -24 --26 --66 --101 --128 --99 -34 -98 -109 -81 -24 --26 --66 --101 --128 --100 -34 -98 -109 -80 -24 --26 --66 --101 --128 --100 -34 -98 -109 -81 -24 --26 --66 --101 --128 --100 -34 -98 -109 -80 -24 --26 --66 --101 --128 --100 -34 -98 -109 -80 -23 --26 --66 --101 --128 --101 -34 -98 -109 -81 -24 --26 --66 --101 --128 --100 -33 -98 -109 -80 -23 --26 --67 --101 --128 --100 -34 -98 -109 -80 -23 --26 --66 --101 --128 --101 -33 -97 -109 -80 -23 --26 --66 --101 --128 --100 -33 -97 -108 -80 -23 --26 --67 --102 --128 --100 -33 -97 -108 -80 -23 --27 --67 --102 --128 --101 -33 -97 -109 -80 -23 --26 --67 --101 --128 --100 -34 -98 -109 -81 -24 --26 --66 --101 --128 --99 -34 -98 -109 -81 -24 --26 --66 --101 --128 --99 -34 -99 -110 -47 --5 --50 --86 --101 -4 -75 -94 -33 --17 --59 --94 --106 -4 -75 -95 -33 --16 --59 --94 --106 -5 -76 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --14 --58 --93 --105 -6 -77 -97 -35 --14 --58 --93 --105 -6 -77 -96 -35 --14 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -5 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -7 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -7 -77 -96 -35 --15 --58 --93 --105 -7 -77 -96 -35 --15 --58 --93 --105 -7 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --15 --58 --93 --105 -7 -77 -96 -35 --15 --58 --93 --105 -6 -77 -96 -35 --14 --58 --93 --105 -7 -77 -97 -36 --14 --57 --93 --105 -7 -77 -97 -36 --14 --57 --92 --104 -7 -77 -97 -36 --14 --57 --93 --105 -7 -78 -97 -36 --14 --57 --93 --104 -7 -78 -97 -36 --14 --57 --92 --105 -7 -77 -97 -36 --14 --57 --93 --105 -7 -78 -97 -36 --14 --57 --93 --105 -7 -78 -97 -36 --14 --57 --93 --105 -7 -77 -97 -77 -21 --28 --68 --103 --128 --98 -37 -101 -113 -85 -27 --23 --64 --99 --112 --98 -36 -100 -111 -82 -25 --25 --66 --101 --128 --99 -35 -99 -110 -82 -24 --25 --66 --101 --128 --100 -34 -99 -110 -80 -23 --26 --67 --102 --128 --100 -34 -98 -109 -80 -24 --26 --67 --102 --128 --100 -34 -98 -109 -80 -23 --27 --67 --102 --128 --101 -33 -97 -109 -80 -23 --26 --67 --102 --128 --101 -33 -97 -108 -80 -23 --27 --67 --102 --128 --101 -33 -98 -109 -80 -23 --27 --67 --102 --128 --101 -33 -98 -109 -80 -23 --27 --67 --102 --128 --100 -34 -98 -109 -81 -24 --26 --67 --102 --128 --100 -34 -98 -109 -80 -23 --26 --67 --102 --128 --100 -34 -98 -110 -81 -24 --26 --66 --101 --128 --100 -35 -99 -110 -82 -24 --26 --66 --101 --128 --100 -35 -99 -110 -83 -25 --25 --65 --101 --128 --99 -35 -99 -110 -82 -24 --25 --66 --101 --128 --99 -35 -100 -110 -82 -25 --25 --66 --101 --128 --100 -34 -99 -110 -81 -24 --26 --67 --102 --128 --101 -33 -98 -109 -81 -24 --26 --67 --102 --128 --102 -33 -97 -108 -80 -23 --27 --67 --102 --128 --101 -33 -97 -108 -80 -23 --27 --67 --102 --128 --101 -33 -97 -108 -80 -23 --27 --67 --102 --128 --102 -33 -97 -109 -80 -23 --27 --67 --102 --128 --100 -33 -98 -109 -80 -23 --26 --67 --102 --128 --99 -35 -99 -110 -81 -24 --26 --66 --101 --128 --100 -35 -100 -111 -47 --5 --50 --86 --102 -4 -74 -93 -32 --17 --60 --95 --108 -3 -74 -93 -32 --17 --60 --95 --107 -4 -75 -95 -33 --16 --59 --95 --107 -4 -75 -95 -33 --16 --59 --95 --107 -5 -75 -95 -34 --16 --59 --94 --106 -5 -76 -95 -33 --16 --59 --95 --107 -4 -75 -94 -33 --17 --60 --95 --107 -2 -73 -93 -32 --18 --60 --95 --108 -3 -74 -94 -33 --17 --60 --95 --107 -4 -76 -94 -33 --17 --60 --95 --107 -5 -76 -95 -34 --16 --59 --94 --106 -6 -77 -96 -35 --15 --59 --94 --106 -7 -77 -97 -36 --14 --58 --93 --105 -8 -79 -99 -37 --14 --57 --93 --105 -8 -79 -98 -37 --14 --57 --93 --105 -8 -79 -98 -37 --14 --57 --93 --104 -9 -80 -99 -37 --13 --57 --93 --104 -8 -79 -99 -37 --14 --57 --93 --104 -8 -79 -99 -37 --14 --57 --93 --105 -7 -77 -98 -36 --14 --57 --93 --105 -7 -78 -97 -36 --14 --58 --93 --105 -7 -77 -97 -36 --15 --58 --93 --106 -7 -77 -96 -35 --15 --58 --94 --106 -5 -76 -96 -35 --15 --58 --94 --106 -7 -77 -97 -35 --15 --58 --93 --106 -7 -77 -97 -36 --14 --58 --93 --105 -7 -77 -97 -35 --15 --58 --93 --106 -7 -78 -98 -36 --14 --58 --93 --105 -8 -79 -98 -36 --14 --58 --93 --105 -8 -79 -99 -37 --13 --57 --92 --105 -8 -79 -98 -36 --14 --57 --93 --105 -7 -78 -98 -36 --14 --57 --93 --105 -8 -79 -98 -36 --14 --57 --93 --105 -7 -78 -97 -36 --14 --58 --93 --105 -7 -78 -97 -36 --14 --58 --93 --106 -6 -77 -97 -35 --15 --58 --94 --106 -7 -78 -97 -35 --15 --58 --93 --106 -7 -78 -97 -36 --14 --58 --93 --105 -8 -79 -98 -36 --14 --57 --93 --108 --99 -35 -102 -112 -89 -28 --21 --63 --98 --112 --94 -39 -106 -113 -88 -28 --21 --64 --99 --128 --97 -37 -103 -111 -86 -26 --23 --65 --100 --128 --98 -35 -101 -110 -84 -24 --24 --66 --100 --128 --99 -34 -101 -109 -83 -23 --25 --67 --101 --128 --100 -33 -100 -108 -82 -22 --26 --67 --102 --128 --101 -32 -99 -107 -46 --8 --51 --89 --102 -1 -73 -90 -31 --20 --61 --97 --109 -1 -74 -90 -31 --19 --61 --97 --108 -3 -75 -92 -33 --18 --60 --96 --107 -3 -77 -93 -34 --17 --43 --96 --107 -5 -78 -94 -35 --16 --58 --95 --106 -6 -78 -95 -35 --16 --58 --95 --106 -5 -79 -95 -36 --16 --58 --95 --106 -6 -79 -95 -79 -20 --28 --69 --103 --128 --97 -36 -103 -111 -86 -26 --23 --65 --100 --128 --98 -35 -102 -109 -83 -24 --25 --67 --101 --128 --99 -34 -101 -109 -83 -23 --25 --67 --101 --128 --100 -33 -100 -108 -82 -22 --26 --68 --102 --128 --100 -33 -99 -107 -82 -22 --26 --68 --102 --128 --100 -33 -99 -107 -81 -22 --27 --68 --102 --128 --101 -33 -99 -107 -82 -22 --26 --68 --102 --128 --101 -33 -99 -107 -82 -22 --26 --68 --102 --128 --100 -33 -99 -108 -82 -22 --26 --68 --102 --128 --101 -33 -100 -108 -82 -22 --26 --68 --102 --128 --100 -33 -99 -107 -82 -22 --26 --68 --102 --128 --101 -33 -99 -107 -82 -22 --26 --68 --102 --128 --100 -33 -100 -108 -46 --7 --51 --89 --102 -2 -75 -91 -32 --19 --61 --97 --108 -2 -74 -92 -32 --19 --61 --97 --108 -3 -76 -93 -34 --17 --43 --96 --107 -4 -77 -94 -35 --17 --43 --95 --106 -5 -78 -95 -35 --16 --58 --95 --106 -5 -78 -95 -36 --16 --58 --95 --106 -5 -79 -95 -36 --16 --58 --95 --106 -5 -78 -95 -36 --16 --58 --95 --106 -6 -79 -95 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --94 --105 -6 -79 -96 -37 --15 --57 --94 --105 -6 -79 -96 -37 --15 --57 --94 --105 -7 -80 -97 -37 --15 --57 --94 --105 -7 -80 -97 -37 --15 --57 --94 --105 -7 -80 -97 -37 --15 --57 --94 --105 -7 -80 -97 -37 --15 --57 --94 --105 -8 -80 -97 -37 --15 --57 --94 --105 -8 -80 -97 -37 --15 --57 --94 --105 -7 -80 -97 -37 --15 --57 --94 --104 -7 -80 -97 -37 --14 --57 --94 --104 -8 -81 -97 -38 --14 --57 --93 --105 -8 -80 -97 -37 --15 --57 --94 --105 -7 -80 -97 -37 --15 --57 --94 --105 -6 -79 -96 -37 --15 --57 --94 --105 -6 -79 -95 -36 --16 --58 --95 --105 -6 -79 -96 -36 --16 --58 --95 --105 -6 -79 -95 -36 --16 --58 --95 --106 -6 -79 -95 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --105 -6 -79 -96 -36 --16 --58 --94 --106 -6 -79 -96 -37 --16 --58 --94 --106 -6 -78 -95 -36 --16 --58 --95 --106 -6 -79 -95 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --105 -6 -78 -95 -35 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --94 --106 -6 -79 -96 -36 --16 --58 --95 --105 -6 -79 -95 -36 --16 --58 --95 --106 -7 -79 -96 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --94 --106 -6 -79 -96 -37 --15 --58 --94 --105 -6 -79 -96 -36 --16 --58 --95 --105 -6 -79 -95 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --105 -7 -79 -96 -36 --16 --58 --95 --106 -6 -79 -96 -37 --15 --58 --94 --105 -7 -79 -96 -36 --16 --58 --95 --106 -6 -79 -96 -37 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --105 -6 -79 -96 -36 --16 --58 --95 --105 -6 -79 -95 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --106 -6 -79 -95 -36 --16 --58 --95 --106 -7 -79 -95 -36 --16 --58 --95 --106 -7 -79 -96 -36 --16 --58 --95 --106 -7 -80 -96 -37 --15 --58 --94 --106 -6 -79 -96 -37 --16 --58 --94 --105 -7 -79 -96 -37 --15 --58 --94 --105 -7 -80 -96 -36 --16 --58 --95 --105 -7 -79 -96 -37 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --105 -7 -79 -96 -37 --16 --58 --94 --105 -6 -79 -97 -37 --15 --58 --94 --105 -7 -80 -96 -36 --16 --58 --95 --106 -6 -79 -96 -36 --16 --58 --95 --105 -7 -80 -97 -37 --15 --58 --94 --105 -7 -80 -97 -37 --15 --57 --94 --105 -7 -80 -97 -37 --15 --57 --94 --105 -7 -80 -97 -80 -21 --27 --69 --103 --128 --95 -38 -105 -112 -88 -27 --22 --65 --99 --128 --96 -37 -104 -112 -86 -26 --23 --65 --100 --128 --98 -36 -102 -109 -84 -24 --25 --67 --101 --128 --99 -34 -101 -109 -83 -23 --26 --68 --102 --128 --100 -33 -100 -107 -82 -22 --27 --68 --103 --128 --100 -33 -99 -107 -81 -21 --27 --69 --103 --128 --101 -33 -99 -107 -81 -21 --27 --69 --103 --128 --101 -32 -99 -107 -81 -21 --27 --69 --103 --128 --101 -32 -99 -107 -81 -21 --27 --69 --103 --128 --101 -33 -99 -107 -81 -21 --27 --69 --103 --128 --101 -33 -99 -107 -81 -21 --27 --69 --103 --128 --101 -32 -99 -107 -81 -21 --27 --69 --103 --128 --101 -33 -99 -107 -81 -22 --27 --69 --103 --128 --101 -33 -99 -107 -81 -21 --27 --69 --103 --128 --100 -33 -99 -107 -82 -22 --27 --69 --103 --128 --101 -33 -99 -107 -81 -21 --27 --69 --103 --128 --100 -33 -100 -108 -82 -22 --26 --68 --102 --128 --100 -33 -99 -107 -81 -22 --27 --69 --103 --128 --100 -33 -99 -107 -81 -21 --27 --69 --103 --128 --101 -33 -99 -107 -81 -22 --27 --69 --103 --128 --100 -33 -100 -107 -81 -22 --27 --69 --103 --128 --101 -33 -99 -107 -81 -21 --27 --69 --103 --128 --101 -33 -99 -106 -81 -21 --27 --69 --103 --128 --101 -32 -99 -107 -81 -21 --27 --69 --103 --128 --101 -33 -99 -106 -80 -21 --28 --69 --103 --128 -6 -78 -97 -35 --16 --59 --95 --108 -1 -72 -91 -30 --20 --63 --98 --110 -3 -74 -94 -32 --18 --61 --96 --108 -5 -76 -95 -33 --17 --60 --95 --107 -6 -77 -96 -34 --16 --60 --95 --107 -8 -78 -97 -35 --15 --59 --94 --106 -8 -79 -97 -35 --15 --59 --94 --106 -8 -78 -97 -35 --15 --59 --94 --106 -7 -77 -97 -35 --15 --59 --94 --106 -8 -78 -97 -35 --15 --59 --94 --106 -7 -78 -97 -35 --15 --58 --94 --106 -7 -78 -97 -35 --15 --59 --94 --106 -7 -78 -97 -35 --15 --59 --95 --106 -7 -77 -96 -35 --16 --59 --95 --106 -7 -77 -97 -35 --16 --59 --95 --106 -8 -78 -97 -35 --15 --59 --95 --107 -7 -77 -97 -35 --15 --59 --94 --107 -8 -78 -97 -35 --15 --59 --94 --106 -8 -79 -97 -36 --15 --58 --94 --106 -8 -79 -98 -36 --15 --58 --94 --106 -8 -79 -99 -37 --14 --58 --93 --105 -10 -80 -99 -37 --14 --58 --93 --105 -9 -79 -99 -36 --14 --58 --93 --105 -9 -80 -99 -36 --14 --58 --94 --106 -8 -79 -98 -36 --14 --58 --94 --106 -8 -78 -97 -35 --15 --59 --94 --106 -8 -77 -97 -35 --16 --59 --95 --106 -7 -77 -97 -35 --15 --59 --95 --107 -6 -77 -96 -34 --16 --59 --95 --107 -7 -77 -96 -34 --16 --59 --95 --107 -7 -77 -95 -34 --17 --60 --95 --107 -7 -77 -96 -34 --16 --59 --95 --110 --100 -34 -101 -109 -86 -26 --23 --66 --100 --128 --96 -38 -104 -111 -85 -25 --24 --66 --101 --128 --98 -35 -102 -109 -83 -24 --25 --67 --102 --128 --99 -34 -101 -109 -83 -23 --26 --68 --102 --128 --99 -34 -100 -107 -81 -22 --27 --69 --103 --128 --100 -33 -99 -107 -81 -21 --27 --69 --103 --128 --100 -33 -99 -107 -81 -21 --27 --69 --103 --128 --100 -33 -99 -107 -81 -21 --27 --69 --103 --128 --100 -33 -99 -107 -81 -21 --27 --69 --103 --128 --100 -33 -99 -107 -81 -21 --27 --69 --103 --128 --99 -34 -100 -107 -82 -22 --27 --68 --103 --128 --100 -34 -100 -107 -81 -22 --27 --69 --103 --128 --100 -34 -99 -107 -82 -22 --27 --69 --103 --128 -7 -79 -97 -35 --16 --59 --95 --108 -1 -72 -91 -29 --20 --63 --98 --110 -3 -74 -93 -31 --18 --62 --97 --109 -5 -75 -94 -33 --17 --61 --96 --108 -6 -77 -95 -33 --17 --60 --95 --107 -6 -77 -96 -34 --16 --60 --95 --107 -7 -77 -96 -34 --16 --60 --95 --107 -7 -77 -97 -77 -20 --30 --70 --105 --128 --97 -38 -102 -113 -84 -26 --24 --65 --101 --128 --97 -38 -101 -111 -82 -24 --26 --67 --102 --128 --99 -36 -99 -110 -81 -23 --27 --67 --103 --128 --100 -35 -99 -110 -80 -23 --27 --68 --103 --128 --100 -34 -98 -109 -80 -22 --28 --69 --104 --128 --100 -35 -98 -108 -79 -22 --28 --69 --104 --128 --101 -34 -98 -109 -80 -23 --28 --68 --103 --128 --100 -35 -98 -109 -80 -22 --28 --68 --104 --128 --100 -35 -99 -109 -80 -22 --28 --68 --104 --128 --100 -35 -99 -109 -80 -23 --27 --68 --103 --128 --99 -35 -100 -110 -80 -23 --27 --68 --103 --128 --99 -36 -100 -110 -81 -24 --27 --67 --103 --128 --99 -36 -100 -110 -82 -24 --27 --67 --103 --128 --99 -36 -100 -110 -81 -24 --27 --67 --103 --128 --99 -36 -99 -110 -81 -23 --27 --68 --103 --128 --100 -35 -99 -108 -80 -22 --28 --68 --104 --128 --100 -35 -98 -108 -79 -22 --28 --69 --104 --128 --101 -34 -97 -108 -79 -21 --28 --69 --104 --128 --101 -34 -97 -107 -79 -21 --28 --69 --104 --128 --101 -34 -98 -108 -79 -22 --28 --69 --104 --128 --100 -35 -98 -108 -80 -23 --27 --68 --104 --128 --99 -36 -99 -109 -81 -23 --27 --68 --103 --128 --99 -35 -100 -110 -82 -24 --26 --67 --103 --128 --99 -36 -99 -109 -80 -23 --27 --68 --103 --128 --100 -35 -99 -109 -80 -22 --28 --68 --104 --128 --100 -34 -97 -107 -79 -22 --28 --69 --104 --128 --101 -33 -97 -107 -78 -21 --29 --69 --104 --128 --102 -33 -96 -106 -77 -20 --29 --70 --105 --128 --104 -31 -95 -105 -75 -18 --31 --71 --106 --128 --103 -32 -95 -104 -75 -19 --31 --71 --106 --128 --103 -32 -96 -106 -77 -19 --30 --71 --106 --128 --101 -34 -97 -107 -43 --9 --53 --90 --105 -2 -72 -91 -30 --20 --63 --98 --110 -3 -74 -93 -31 --19 --62 --97 --108 -6 -77 -95 -33 --17 --60 --96 --107 -8 -77 -96 -34 --16 --59 --95 --107 -8 -78 -97 -35 --15 --59 --94 --106 -9 -79 -97 -36 --15 --58 --94 --106 -9 -78 -97 -35 --15 --58 --94 --106 -9 -79 -97 -77 -20 --29 --70 --105 --128 --96 -39 -102 -113 -84 -26 --24 --66 --101 --128 --97 -37 -100 -111 -82 -24 --26 --67 --102 --128 --99 -36 -99 -109 -80 -22 --28 --68 --104 --128 --100 -35 -98 -109 -80 -22 --28 --68 --104 --128 --99 -35 -98 -107 -79 -21 --28 --69 --104 --128 --100 -35 -98 -109 -80 -22 --28 --68 --104 --112 -6 -81 -96 -36 --16 --59 --95 --107 -1 -74 -90 -31 --20 --62 --98 --109 -4 -76 -92 -33 --19 --61 --97 --107 -6 -78 -94 -34 --17 --43 --96 --107 -6 -78 -94 -35 --17 --43 --96 --106 -7 -79 -95 -36 --16 --59 --95 --106 -7 -79 -95 -35 --17 --43 --95 --106 -7 -79 -95 -35 --17 --43 --95 --106 -6 -78 -95 -35 --17 --43 --95 --106 -7 -79 -95 -35 --17 --43 --95 --106 -8 -79 -95 -35 --16 --59 --95 --106 -8 -80 -95 -36 --16 --58 --95 --105 -7 -79 -96 -36 --16 --58 --95 --105 -9 -80 -96 -37 --16 --58 --95 --105 -9 -81 -96 -37 --16 --58 --95 --105 -8 -80 -96 -37 --16 --58 --95 --105 -8 -80 -96 -36 --16 --58 --95 --105 -8 -80 -96 -36 --16 --58 --95 --105 -8 -80 -95 -36 --16 --58 --95 --105 -7 -79 -95 -35 --17 --43 --95 --106 -6 -79 -95 -35 --17 --43 --95 --106 -7 -78 -94 -35 --17 --43 --96 --106 -6 -79 -94 -35 --17 --43 --96 --106 -7 -79 -94 -35 --17 --43 --96 --107 -5 -78 -94 -34 --17 --43 --96 --106 -7 -79 -94 -35 --17 --43 --96 --106 -7 -79 -95 -35 --17 --43 --95 --106 -7 -79 -95 -35 --16 --59 --95 --106 -6 -79 -95 -35 --17 --43 --95 --106 -7 -79 -95 -35 --17 --43 --95 --106 -7 -79 -95 -35 --17 --43 --95 --106 -7 -79 -95 -35 --17 --43 --95 --106 -6 -78 -94 -35 --17 --43 --96 --106 -8 -79 -95 -35 --17 --43 --95 --106 -7 -79 -95 -35 --16 --59 --95 --106 -8 -79 -95 -35 --17 --43 --95 --106 -6 -79 -95 -35 --17 --43 --95 --106 -8 -79 -95 -36 --16 --59 --95 --106 -7 -79 -95 -36 --16 --59 --95 --105 -8 -79 -95 -36 --16 --59 --95 --106 -7 -79 -95 -35 --17 --43 --95 --106 -8 -79 -95 -35 --17 --43 --95 --106 -8 -79 -94 -35 --17 --43 --95 --106 -8 -79 -95 -35 --17 --43 --95 --106 -7 -79 -95 -35 --16 --59 --95 --106 -8 -79 -95 -35 --17 --43 --95 --106 -8 -79 -94 -35 --17 --43 --95 --106 -8 -79 -94 -35 --17 --43 --95 --106 -7 -79 -95 -35 --17 --43 --95 --105 -8 -80 -95 -36 --16 --58 --95 --105 -8 -79 -95 -35 --17 --43 --95 --106 -7 -79 -94 -35 --17 --43 --96 --106 -6 -79 -95 -35 --17 --43 --95 --106 -7 -79 -95 -35 --17 --43 --95 --106 -8 -79 -94 -35 --17 --43 --95 --106 -8 -79 -95 -35 --17 --43 --95 --109 --98 -36 -100 -112 -85 -27 --24 --65 --101 --128 --93 -41 -103 -113 -84 -26 --25 --66 --101 --128 --95 -39 -101 -111 -82 -24 --26 --67 --102 --128 --97 -38 -100 -110 -80 -23 --27 --68 --103 --128 --97 -37 -100 -109 -80 -23 --27 --68 --103 --128 --97 -37 -100 -109 -80 -22 --28 --68 --103 --128 --98 -37 -100 -110 -80 -23 --27 --68 --103 --128 --98 -37 -100 -109 -80 -23 --27 --68 --103 --128 --98 -36 -99 -109 -80 -23 --27 --68 --103 --128 --99 -35 -98 -107 -79 -22 --28 --69 --104 --128 --99 -35 -98 -108 -79 -22 --28 --69 --104 --128 --99 -35 -97 -107 -78 -21 --29 --69 --104 --128 --100 -35 -97 -107 -78 -21 --29 --69 --104 --128 -6 -79 -94 -34 --17 --43 --96 --108 -1 -72 -88 -29 --22 --63 --99 --109 -3 -74 -89 -31 --20 --62 --98 --108 -5 -76 -92 -33 --19 --61 --97 --107 -5 -77 -93 -33 --18 --60 --96 --107 -6 -78 -94 -34 --17 --43 --96 --106 -6 -78 -93 -34 --17 --43 --96 --106 -7 -78 -93 -34 --17 --43 --96 --106 -7 -78 -94 -34 --17 --43 --96 --106 -8 -79 -94 -34 --17 --43 --96 --106 -7 -79 -94 -34 --17 --43 --96 --106 -7 -79 -94 -35 --17 --43 --95 --106 -7 -79 -95 -35 --17 --43 --95 --105 -8 -79 -94 -35 --17 --43 --95 --106 -8 -79 -94 -35 --17 --43 --95 --105 -8 -79 -94 -35 --17 --43 --95 --106 -7 -79 -94 -35 --17 --43 --95 --105 -7 -79 -94 -35 --17 --43 --95 --105 -8 -79 -95 -35 --17 --43 --95 --105 -8 -79 -95 -35 --17 --43 --95 --106 -8 -79 -94 -35 --17 --43 --95 --105 -8 -79 -94 -35 --17 --43 --95 --105 -8 -79 -94 -35 --17 --43 --95 --106 -8 -79 -95 -35 --17 --43 --95 --106 -8 -79 -94 -35 --17 --43 --95 --105 -8 -79 -95 -35 --17 --43 --95 --105 -8 -79 -94 -35 --17 --43 --95 --106 -7 -79 -94 -35 --17 --43 --96 --106 -7 -79 -94 -35 --17 --43 --95 --106 -8 -79 -94 -35 --17 --43 --95 --106 -7 -79 -94 -35 --17 --43 --95 --105 -8 -79 -94 -35 --17 --43 --95 --109 --97 -36 -100 -111 -83 -25 --25 --66 --101 --128 --94 -40 -102 -111 -83 -25 --25 --66 --101 --128 --95 -38 -100 -109 -80 -23 --27 --68 --103 --128 --97 -37 -100 -109 -80 -23 --27 --68 --103 --128 --97 -37 -99 -108 -79 -21 --28 --69 --104 --128 --97 -37 -99 -108 -79 -22 --28 --68 --104 --128 --98 -36 -99 -108 -44 --8 --52 --89 --103 -5 -74 -91 -30 --20 --62 --97 --109 -5 -74 -92 -31 --19 --62 --97 --108 -6 -76 -94 -33 --17 --60 --96 --107 -7 -77 -95 -33 --17 --60 --95 --106 -9 -78 -96 -34 --16 --59 --95 --106 -9 -78 -96 -35 --16 --59 --94 --105 -10 -78 -96 -34 --16 --59 --95 --109 --96 -36 -101 -109 -85 -25 --24 --66 --100 --128 --92 -39 -104 -110 -84 -24 --25 --67 --101 --128 --95 -37 -101 -107 -81 -22 --27 --68 --102 --128 --97 -35 -100 -107 -80 -21 --27 --69 --103 --128 --97 -35 -99 -105 -79 -20 --28 --70 --103 --128 --98 -34 -99 -105 -79 -20 --28 --70 --104 --128 --98 -34 -99 -105 -79 -19 --28 --70 --104 --128 --98 -35 -99 -105 -79 -20 --28 --70 --103 --128 --98 -34 -99 -104 -78 -19 --29 --70 --104 --128 --98 -34 -99 -104 -78 -19 --29 --70 --104 --128 --98 -34 -99 -105 -79 -20 --28 --69 --103 --128 --98 -35 -99 -105 -79 -20 --28 --70 --104 --128 --97 -34 -99 -105 -79 -20 --28 --70 --103 --128 --98 -35 -99 -105 -79 -20 --28 --70 --103 --128 --97 -34 -99 -105 -78 -19 --29 --70 --104 --128 --97 -35 -99 -105 -79 -19 --29 --70 --104 --128 --98 -34 -99 -105 -79 -20 --28 --70 --103 --128 --97 -35 -99 -105 -79 -19 --29 --70 --104 --128 --97 -35 -99 -105 -79 -19 --29 --70 --104 --128 --97 -35 -99 -105 -79 -20 --28 --70 --103 --128 --97 -35 -99 -104 -78 -19 --29 --70 --104 --128 --98 -34 -98 -105 -78 -19 --29 --70 --104 --128 --98 -34 -98 -105 -78 -19 --29 --70 --104 --128 --97 -35 -99 -105 -78 -19 --29 --70 --104 --128 --97 -35 -100 -106 -79 -20 --28 --69 --103 --128 --96 -36 -100 -106 -79 -20 --28 --69 --103 --128 --97 -36 -100 -106 -80 -20 --27 --69 --103 --128 --96 -36 -100 -106 -79 -20 --28 --69 --103 --128 --97 -35 -100 -105 -78 -19 --28 --70 --103 --128 --97 -35 -99 -106 -79 -20 --28 --69 --103 --128 --97 -35 -99 -105 -79 -20 --28 --69 --103 --128 --96 -36 -99 -106 -79 -20 --28 --69 --103 --112 -8 -79 -95 -33 --17 --60 --95 --108 -3 -72 -89 -28 --21 --63 --98 --109 -5 -74 -91 -30 --19 --62 --97 --108 -6 -74 -92 -31 --18 --61 --96 --107 -6 -75 -93 -32 --18 --61 --96 --107 -8 -77 -94 -33 --17 --60 --95 --106 -9 -77 -95 -33 --17 --60 --95 --106 -9 -78 -95 -34 --16 --59 --95 --106 -9 -77 -95 -34 --16 --59 --94 --105 -10 -79 -97 -35 --15 --58 --94 --104 -11 -79 -97 -35 --15 --58 --93 --104 -10 -78 -96 -34 --16 --59 --94 --105 -9 -78 -96 -35 --15 --59 --94 --105 -10 -78 -96 -34 --15 --59 --94 --105 -9 -77 -95 -34 --16 --59 --95 --105 -9 -77 -95 -33 --16 --59 --95 --106 -8 -76 -93 -33 --17 --60 --95 --106 -8 -77 -94 -33 --17 --60 --95 --106 -8 -77 -93 -32 --17 --60 --95 --106 -8 -77 -94 -33 --17 --60 --95 --106 -8 -77 -94 -33 --17 --60 --95 --106 -9 -77 -94 -33 --17 --60 --95 --106 -9 -77 -94 -33 --17 --60 --95 --106 -9 -77 -94 -33 --17 --60 --95 --106 -8 -77 -94 -32 --17 --60 --95 --106 -10 -77 -95 -33 --17 --59 --95 --106 -9 -77 -94 -33 --17 --60 --95 --106 -8 -76 -94 -33 --17 --60 --95 --106 -8 -76 -93 -32 --17 --60 --95 --106 -9 -77 -95 -33 --17 --59 --94 --106 -9 -77 -95 -34 --16 --59 --95 --105 -9 -77 -95 -33 --17 --59 --95 --109 --96 -35 -101 -108 -83 -23 --25 --67 --101 --128 --92 -40 -103 -109 -83 -23 --25 --67 --101 --128 --93 -38 -101 -107 -81 -22 --26 --68 --102 --128 --95 -37 -101 -107 -80 -21 --27 --69 --102 --128 --96 -36 -100 -105 -79 -20 --28 --69 --103 --128 --96 -36 -99 -105 -79 -20 --28 --69 --103 --128 --96 -36 -99 -104 -78 -19 --28 --70 --103 --128 --96 -35 -99 -105 -78 -19 --29 --70 --103 --128 --96 -36 -99 -104 -78 -19 --29 --70 --103 --128 --96 -35 -99 -104 -78 -19 --28 --69 --103 --128 --96 -35 -99 -105 -78 -19 --29 --70 --103 --128 --96 -36 -99 -104 -78 -19 --29 --70 --103 --128 --96 -36 -99 -104 -78 -19 --29 --70 --103 --128 --97 -35 -99 -104 -78 -19 --29 --70 --103 --128 --96 -35 -99 -104 -77 -19 --29 --70 --104 --128 --96 -35 -99 -104 -78 -19 --29 --70 --103 --128 --97 -35 -99 -105 -78 -19 --29 --70 --103 --128 --96 -35 -98 -104 -78 -19 --29 --70 --103 --128 --95 -36 -99 -105 -78 -19 --28 --70 --103 --128 --96 -36 -99 -105 -79 -20 --28 --69 --103 --128 --95 -36 -100 -105 -79 -20 --28 --69 --103 --128 --95 -36 -99 -106 -79 -20 --28 --69 --103 --128 --94 -37 -101 -106 -79 -20 --27 --69 --102 --128 --95 -37 -100 -106 -80 -21 --27 --68 --102 --128 --95 -36 -100 -105 -79 -20 --28 --69 --103 --128 --95 -36 -100 -105 -79 -20 --28 --69 --103 --111 -10 -79 -95 -33 --16 --59 --95 --107 -3 -71 -88 -28 --21 --63 --98 --109 -5 -72 -89 -29 --20 --63 --97 --108 -5 -74 -91 -30 --19 --61 --96 --107 -7 -75 -92 -31 --18 --61 --95 --106 -8 -76 -93 -32 --17 --60 --95 --106 -9 -77 -94 -33 --17 --60 --95 --105 -10 -77 -95 -34 --16 --59 --94 --104 -10 -77 -95 -34 --16 --59 --94 --104 -11 -78 -95 -34 --16 --59 --94 --104 -10 -77 -95 -34 --16 --59 --94 --105 -10 -77 -94 -33 --16 --59 --94 --105 -9 -77 -93 -33 --17 --60 --95 --105 -9 -76 -93 -32 --17 --60 --95 --106 -8 -76 -93 -32 --17 --60 --95 --106 -7 -75 -91 -31 --18 --61 --96 --107 -6 -74 -91 -30 --19 --61 --96 --107 -7 -74 -90 -30 --19 --62 --96 --107 -6 -74 -91 -30 --19 --61 --96 --107 -8 -75 -92 -31 --18 --61 --95 --106 -8 -76 -92 -31 --18 --60 --95 --106 -9 -77 -93 -32 --17 --60 --95 --105 -10 -77 -94 -33 --17 --59 --94 --105 -10 -77 -94 -33 --16 --59 --94 --104 -10 -79 -95 -34 --16 --58 --94 --104 -11 -79 -95 -34 --16 --58 --93 --104 -11 -79 -95 -34 --15 --58 --93 --104 -11 -79 -95 -34 --16 --58 --94 --104 -11 -78 -95 -34 --16 --59 --93 --104 -10 -77 -94 -33 --16 --59 --94 --104 -10 -77 -94 -33 --17 --59 --94 --105 -9 -77 -93 -32 --17 --60 --95 --106 -9 -77 -93 -32 --17 --60 --95 --105 -9 -77 -93 -32 --17 --60 --95 --105 -9 -77 -93 -32 --17 --60 --95 --105 -10 -77 -93 -33 --17 --60 --95 --105 -10 -77 -94 -33 --17 --59 --94 --105 -10 -77 -94 -33 --16 --59 --94 --104 -11 -78 -95 -34 --16 --59 --94 --104 -11 -78 -94 -73 -17 --31 --71 --105 --128 --92 -41 -101 -110 -81 -24 --25 --66 --100 --128 --92 -40 -101 -109 -79 -22 --27 --67 --102 --128 --94 -38 -99 -107 -77 -21 --28 --68 --103 --128 --95 -37 -98 -106 -77 -20 --29 --69 --103 --128 --95 -37 -98 -106 -76 -19 --29 --69 --104 --128 --95 -37 -98 -106 -76 -20 --29 --69 --103 --110 -10 -81 -94 -35 --16 --58 --94 --105 -4 -74 -88 -30 --20 --62 --97 --106 -6 -75 -90 -32 --19 --60 --96 --105 -8 -77 -91 -33 --18 --59 --95 --105 -7 -78 -91 -33 --18 --59 --95 --104 -9 -78 -92 -33 --17 --43 --95 --104 -9 -79 -92 -33 --17 --43 --95 --104 -8 -78 -92 -33 --18 --43 --95 --108 --96 -36 -97 -107 -80 -23 --26 --66 --101 --128 --92 -40 -100 -108 -77 -22 --28 --68 --102 --128 --94 -38 -98 -106 -77 -20 --29 --69 --103 --128 --95 -37 -98 -106 -76 -20 --29 --69 --103 --128 --95 -37 -97 -106 -75 -19 --29 --69 --104 --128 --95 -37 -97 -105 -75 -19 --30 --69 --104 --128 --96 -37 -97 -105 -75 -19 --30 --69 --103 --128 --95 -37 -97 -105 -75 -19 --30 --69 --104 --128 --95 -36 -96 -105 -75 -19 --30 --69 --104 --128 --95 -37 -97 -104 -75 -19 --30 --69 --104 --128 --96 -37 -97 -105 -75 -19 --30 --69 --104 --128 --95 -37 -97 -105 -75 -19 --29 --69 --104 --128 --95 -37 -97 -105 -75 -19 --30 --69 --104 --110 -9 -79 -92 -33 --17 --43 --95 --106 -4 -73 -86 -28 --22 --62 --98 --107 -5 -75 -88 -31 --20 --61 --96 --106 -7 -77 -90 -32 --18 --60 --95 --105 -7 -77 -90 -32 --18 --60 --95 --104 -8 -78 -91 -33 --18 --43 --95 --104 -9 -78 -92 -33 --18 --43 --95 --104 -8 -78 -92 -33 --18 --43 --95 --104 -8 -78 -91 -33 --18 --43 --95 --104 -9 -78 -91 -33 --18 --43 --95 --104 -9 -78 -92 -33 --17 --43 --95 --104 -9 -78 -92 -33 --17 --43 --94 --104 -9 -78 -92 -33 --17 --43 --95 --104 -9 -78 -92 -33 --17 --43 --94 --104 -9 -78 -91 -33 --18 --43 --95 --104 -8 -78 -91 -33 --18 --43 --95 --104 -8 -78 -91 -33 --18 --43 --95 --104 -9 -78 -91 -33 --18 --43 --95 --104 -9 -78 -92 -33 --17 --43 --94 --103 -10 -79 -92 -33 --17 --42 --94 --103 -9 -79 -92 -33 --17 --42 --94 --103 -9 -79 -92 -33 --17 --42 --94 --103 -10 -79 -92 -34 --17 --42 --94 --103 -10 -79 -93 -34 --17 --42 --94 --103 -10 -78 -92 -34 --17 --42 --94 --103 -10 -79 -93 -34 --17 --42 --94 --103 -10 -79 -92 -34 --17 --42 --94 --103 -10 -79 -93 -35 --16 --58 --94 --103 -10 -79 -93 -34 --16 --58 --94 --102 -10 -79 -93 -35 --16 --58 --94 --102 -10 -79 -93 -34 --17 --42 --94 --103 -10 -78 -92 -33 --17 --42 --94 --103 -9 -78 -91 -33 --17 --43 --94 --103 -9 -78 -91 -33 --18 --43 --95 --104 -9 -78 -92 -33 --17 --43 --94 --104 -9 -78 -91 -33 --18 --43 --95 --104 -8 -78 -91 -33 --18 --43 --94 --104 -9 -78 -91 -33 --18 --43 --95 --104 -8 -78 -91 -33 --18 --59 --95 --104 -9 -78 -90 -32 --18 --59 --95 --104 -9 -78 -91 -33 --18 --43 --95 --104 -9 -78 -91 -33 --17 --43 --94 --103 -9 -78 -91 -33 --18 --43 --95 --103 -9 -78 -91 -33 --18 --43 --95 --104 -8 -78 -91 -32 --18 --43 --95 --104 -9 -77 -90 -32 --18 --59 --95 --104 -9 -77 -91 -32 --18 --43 --95 --103 -9 -78 -91 -33 --17 --43 --94 --104 -9 -78 -91 -33 --17 --43 --94 --103 -9 -78 -91 -33 --18 --43 --94 --103 -10 -78 -91 -33 --17 --42 --94 --103 -9 -78 -91 -33 --18 --43 --94 --103 -9 -78 -91 -33 --18 --43 --94 --103 -9 -78 -91 -33 --17 --43 --94 --103 -10 -78 -91 -33 --17 --42 --94 --103 -9 -77 -91 -33 --17 --43 --94 --103 -9 -78 -91 -33 --17 --43 --94 --103 -10 -78 -91 -33 --17 --43 --94 --103 -9 -78 -91 -33 --17 --43 --94 --103 -9 -78 -91 -33 --17 --43 --94 --103 -9 -78 -91 -33 --18 --43 --94 --103 -9 -78 -91 -33 --18 --43 --94 --103 -9 -78 -91 -33 --17 --42 --94 --103 -9 -78 -91 -33 --18 --43 --94 --103 -9 -78 -91 -33 --18 --43 --94 --103 -9 -78 -90 -32 --18 --43 --94 --103 -9 -78 -91 -33 --17 --42 --94 --103 -9 -78 -91 -33 --17 --42 --94 --103 -9 -78 -91 -33 --17 --42 --94 --103 -9 -78 -91 -33 --17 --43 --94 --103 -9 -78 -91 -33 --17 --42 --94 --103 -9 -77 -91 -33 --18 --43 --94 --107 --94 -37 -97 -106 -77 -22 --27 --67 --101 --128 --90 -41 -100 -108 -77 -22 --27 --67 --101 --128 --91 -40 -99 -106 -76 -20 --28 --67 --102 --128 --92 -39 -98 -106 -76 -20 --28 --68 --102 --128 --93 -38 -97 -105 -75 -19 --29 --68 --102 --128 --92 -38 -98 -105 -75 -19 --29 --69 --103 --128 --93 -39 -98 -105 -76 -20 --29 --68 --102 --128 --92 -39 -98 -106 -76 -20 --28 --68 --102 --128 --92 -39 -98 -105 -75 -19 --29 --68 --102 --128 --92 -38 -97 -104 -75 -19 --29 --68 --102 --128 --92 -38 -97 -104 -74 -19 --30 --69 --103 --128 --93 -38 -97 -104 -73 -18 --30 --69 --103 --128 --94 -37 -96 -103 -73 -17 --31 --70 --103 --128 --94 -37 -96 -103 -73 -18 --30 --69 --103 --128 --94 -37 -96 -102 -73 -18 --30 --69 --103 --128 --94 -37 -96 -103 -73 -18 --30 --69 --103 --128 --94 -37 -96 -103 -73 -18 --30 --69 --103 --128 --94 -37 -96 -103 -73 -18 --30 --69 --103 --128 --93 -37 -96 -103 -73 -17 --31 --69 --103 --128 --94 -37 -97 -103 -74 -18 --30 --69 --103 --128 --93 -37 -96 -103 -74 -18 --30 --69 --103 --128 --93 -38 -97 -103 -73 -18 --30 --69 --103 --128 --93 -37 -97 -103 -73 -18 --30 --69 --103 --128 --93 -37 -96 -104 -74 -18 --30 --69 --103 --128 --93 -37 -97 -104 -73 -18 --30 --69 --103 --128 --93 -37 -96 -103 -41 --9 --52 --88 --101 -7 -73 -88 -29 --20 --61 --95 --106 -7 -73 -88 -28 --20 --61 --95 --105 -8 -74 -89 -30 --19 --60 --95 --105 -9 -75 -90 -30 --18 --60 --94 --104 -9 -75 -90 -31 --18 --60 --94 --104 -9 -75 -91 -31 --18 --59 --94 --104 -9 -75 -91 -31 --18 --60 --94 --104 -9 -75 -91 -31 --17 --59 --94 --104 -10 -76 -91 -31 --17 --59 --93 --103 -10 -76 -92 -32 --17 --59 --93 --103 -11 -77 -92 -32 --17 --59 --93 --103 -11 -77 -93 -32 --16 --58 --93 --103 -11 -77 -92 -32 --17 --58 --93 --102 -11 -77 -92 -32 --17 --59 --93 --102 -11 -77 -92 -32 --17 --59 --93 --103 -11 -77 -92 -32 --17 --58 --93 --103 -11 -77 -92 -32 --17 --59 --93 --103 -10 -77 -92 -32 --17 --58 --93 --103 -10 -76 -92 -32 --17 --59 --93 --103 -10 -76 -91 -31 --17 --59 --93 --103 -10 -76 -91 -31 --17 --59 --93 --103 -10 -76 -91 -31 --17 --59 --93 --103 -10 -76 -91 -31 --17 --59 --93 --103 -10 -76 -91 -31 --17 --59 --93 --103 -10 -76 -91 -31 --17 --59 --93 --103 -11 -76 -91 -31 --17 --59 --93 --103 -11 -76 -92 -32 --17 --58 --93 --102 -11 -77 -93 -33 --16 --58 --92 --102 -11 -77 -93 -33 --16 --58 --92 --102 -12 -78 -93 -33 --16 --58 --92 --101 -13 -77 -93 -33 --15 --57 --92 --102 -12 -77 -92 -71 -16 --31 --70 --103 --128 --89 -41 -99 -107 -77 -21 --27 --66 --100 --112 --90 -40 -98 -105 -75 -19 --28 --67 --101 --128 --91 -39 -97 -104 -73 -18 --30 --68 --102 --128 --92 -38 -97 -103 -72 -17 --30 --69 --103 --128 --92 -37 -96 -103 -72 -17 --31 --69 --103 --128 --93 -37 -96 -102 -72 -17 --30 --69 --103 --128 --93 -37 -96 -102 -72 -17 --30 --69 --103 --128 --92 -37 -96 -102 -72 -17 --31 --69 --103 --128 --92 -38 -96 -103 -72 -17 --30 --69 --102 --128 --93 -37 -95 -103 -72 -18 --30 --69 --102 --128 --92 -37 -96 -102 -72 -17 --31 --69 --103 --128 --92 -38 -96 -101 -72 -17 --31 --69 --103 --128 --92 -38 -96 -102 -41 --9 --52 --87 --100 -8 -73 -87 -28 --20 --61 --95 --105 -7 -73 -88 -28 --19 --61 --95 --105 -8 -74 -89 -29 --19 --60 --94 --104 -8 -74 -89 -30 --18 --60 --94 --103 -10 -76 -90 -31 --17 --59 --93 --103 -10 -75 -91 -31 --17 --59 --93 --102 -11 -76 -91 -31 --17 --59 --93 --106 --93 -36 -98 -103 -77 -20 --27 --67 --100 --112 --88 -40 -101 -104 -77 -19 --27 --67 --100 --112 --89 -39 -100 -103 -76 -19 --28 --68 --101 --128 --91 -38 -98 -101 -75 -17 --29 --69 --101 --128 --91 -38 -97 -101 -74 -17 --29 --69 --101 --128 --91 -37 -98 -102 -74 -17 --29 --69 --101 --128 --91 -37 -97 -101 -74 -16 --30 --70 --102 --128 --91 -37 -98 -101 -74 -17 --29 --69 --101 --128 --91 -37 -97 -101 -74 -17 --29 --69 --101 --128 --91 -37 -98 -101 -74 -17 --29 --69 --101 --128 --91 -37 -97 -101 -73 -16 --30 --69 --102 --128 --91 -37 -97 -101 -73 -16 --30 --70 --102 --128 --91 -37 -97 -101 -74 -17 --29 --69 --102 --128 --91 -37 -97 -101 -74 -17 --29 --69 --101 --128 --91 -37 -97 -101 -73 -16 --30 --69 --102 --128 --91 -37 -97 -101 -74 -16 --29 --69 --101 --128 --91 -37 -98 -101 -74 -17 --29 --69 --101 --128 --90 -38 -98 -102 -75 -17 --29 --68 --101 --128 --90 -38 -98 -102 -75 -18 --29 --68 --101 --128 --89 -38 -99 -103 -75 -18 --28 --68 --101 --128 --89 -38 -99 -102 -75 -18 --28 --68 --101 --128 --90 -39 -99 -102 -75 -18 --28 --68 --101 --128 --90 -38 -97 -101 -74 -17 --29 --69 --101 --128 --90 -38 -97 -101 -74 -17 --29 --69 --101 --128 --91 -36 -97 -100 -72 -16 --30 --70 --102 --128 --91 -36 -97 -100 -73 -16 --30 --70 --102 --128 --91 -37 -97 -100 -73 -16 --30 --69 --101 --128 --91 -37 -97 -100 -74 -16 --29 --69 --101 --128 --90 -38 -97 -101 -74 -17 --29 --69 --101 --128 --90 -38 -99 -102 -75 -18 --28 --68 --100 --128 --89 -38 -99 -102 -75 -17 --28 --68 --101 --128 --89 -38 -98 -102 -74 -17 --29 --69 --101 --106 -13 -79 -93 -33 --15 --57 --91 --103 -6 -71 -85 -27 --21 --62 --95 --105 -7 -72 -87 -28 --19 --61 --94 --104 -7 -73 -87 -28 --19 --60 --94 --104 -6 -72 -87 -28 --20 --61 --94 --104 -7 -72 -86 -28 --20 --61 --95 --104 -7 -72 -86 -28 --20 --61 --95 --104 -8 -73 -87 -28 --19 --60 --94 --107 --95 -33 -95 -100 -74 -17 --29 --68 --101 --128 --88 -39 -100 -102 -75 -18 --28 --68 --100 --112 --88 -40 -100 -103 -75 -18 --28 --68 --100 --112 --88 -40 -99 -103 -75 -18 --28 --68 --100 --112 --88 -39 -99 -102 -74 -17 --28 --68 --100 --128 --88 -39 -99 -102 -75 -18 --28 --68 --100 --112 --89 -38 -99 -102 -43 --8 --50 --86 --98 -9 -76 -86 -30 --19 --59 --94 --103 -8 -75 -86 -30 --19 --59 --94 --102 -8 -75 -86 -30 --19 --59 --94 --102 -8 -75 -86 -30 --19 --59 --94 --102 -9 -76 -87 -30 --19 --59 --94 --102 -9 -76 -87 -31 --18 --59 --93 --101 -10 -77 -88 -31 --18 --58 --93 --101 -10 -77 -88 -31 --18 --58 --93 --101 -10 -78 -89 -32 --17 --41 --92 --100 -11 -78 -89 -32 --17 --41 --92 --101 -11 -78 -89 -32 --17 --41 --92 --101 -11 -78 -89 -32 --17 --41 --92 --100 -11 -78 -89 -33 --17 --41 --92 --100 -11 -78 -89 -32 --17 --41 --92 --100 -11 -78 -89 -32 --17 --41 --92 --101 -10 -77 -88 -32 --18 --42 --92 --101 -11 -78 -89 -32 --17 --41 --92 --101 -10 -77 -88 -32 --18 --42 --93 --101 -10 -77 -88 -31 --18 --42 --93 --101 -10 -77 -89 -32 --17 --42 --92 --100 -11 -78 -88 -32 --17 --41 --92 --100 -11 -78 -90 -33 --17 --41 --92 --100 -11 -78 -90 -33 --17 --41 --92 --100 -11 -78 -90 -33 --17 --41 --92 --100 -11 -78 -89 -33 --17 --41 --92 --100 -11 -78 -89 -32 --17 --41 --92 --100 -11 -78 -89 -32 --17 --41 --92 --100 -10 -77 -88 -31 --18 --42 --92 --101 -10 -76 -88 -31 --18 --42 --93 --101 -9 -76 -87 -31 --18 --58 --93 --101 -9 -76 -87 -31 --18 --58 --93 --101 -9 -76 -87 -31 --18 --58 --93 --101 -10 -76 -87 -31 --18 --58 --93 --101 -10 -77 -87 -31 --18 --58 --93 --101 -10 -77 -88 -31 --18 --58 --93 --101 -10 -77 -88 -31 --18 --42 --93 --101 -10 -77 -88 -31 --18 --58 --93 --101 -10 -77 -88 -31 --18 --42 --92 --101 -11 -77 -88 -31 --18 --42 --92 --101 -10 -76 -88 -31 --18 --58 --93 --101 -10 -76 -88 -31 --18 --42 --92 --101 -10 -76 -88 -31 --18 --58 --93 --101 -10 -77 -88 -31 --18 --42 --92 --101 -10 -77 -88 -31 --18 --58 --93 --101 -10 -77 -88 -31 --18 --58 --92 --100 -10 -77 -88 -31 --18 --42 --92 --100 -10 -76 -88 -31 --18 --42 --92 --100 -10 -77 -88 -31 --18 --41 --92 --100 -10 -77 -88 -32 --17 --41 --92 --100 -10 -77 -88 -32 --17 --41 --92 --100 -11 -77 -88 -31 --18 --42 --92 --100 -10 -77 -88 -32 --17 --41 --92 --101 -10 -77 -88 -31 --18 --41 --92 --100 -10 -77 -88 -31 --18 --58 --92 --100 -10 -77 -87 -31 --18 --58 --92 --101 -10 -77 -88 -68 -12 --32 --71 --103 --128 --88 -38 -98 -101 -74 -18 --28 --67 --99 --111 --87 -39 -98 -101 -73 -17 --29 --68 --100 --112 --88 -38 -97 -100 -72 -16 --29 --69 --101 --112 --89 -38 -97 -100 -72 -16 --29 --69 --101 --112 --89 -38 -97 -99 -72 -16 --29 --69 --101 --112 --89 -38 -97 -100 -72 -16 --29 --68 --100 --112 --89 -38 -97 -100 -73 -16 --29 --68 --100 --112 --88 -38 -97 -100 -72 -16 --29 --68 --100 --112 --88 -38 -98 -101 -73 -16 --29 --68 --100 --112 --89 -38 -98 -101 -73 -17 --29 --68 --100 --112 --88 -39 -97 -100 -73 -16 --29 --68 --100 --112 --88 -39 -98 -100 -72 -16 --29 --68 --100 --112 --88 -39 -98 -101 -43 --8 --49 --85 --97 -10 -76 -86 -30 --19 --58 --93 --101 -9 -75 -86 -30 --18 --58 --93 --101 -10 -77 -87 -31 --18 --58 --92 --101 -9 -76 -87 -31 --18 --58 --93 --100 -10 -77 -87 -31 --18 --58 --92 --100 -10 -76 -87 -31 --18 --42 --92 --100 -10 -76 -87 -31 --18 --42 --92 --100 -9 -76 -87 -31 --18 --58 --92 --100 -10 -76 -87 -31 --18 --58 --92 --100 -10 -77 -87 -31 --18 --42 --92 --100 -10 -76 -87 -31 --18 --58 --92 --100 -10 -76 -87 -31 --18 --58 --92 --100 -10 -76 -87 -31 --18 --58 --92 --100 -10 -77 -88 -31 --18 --41 --92 --100 -10 -77 -87 -31 --18 --58 --92 --100 -10 -76 -87 -31 --18 --58 --92 --100 -10 -77 -87 -31 --18 --58 --92 --100 -10 -76 -87 -31 --18 --58 --92 --100 -10 -77 -87 -31 --18 --58 --92 --100 -10 -76 -87 -31 --18 --58 --92 --100 -10 -77 -87 -31 --18 --41 --92 --100 -11 -77 -88 -31 --18 --41 --92 --100 -11 -77 -88 -31 --17 --41 --92 --100 -10 -77 -87 -31 --18 --41 --92 --100 -11 -77 -87 -31 --18 --41 --92 --100 -10 -77 -88 -31 --18 --41 --92 --99 -11 -77 -87 -31 --18 --41 --92 --100 -10 -77 -88 -31 --18 --41 --92 --100 -11 -77 -88 -31 --17 --41 --92 --100 -11 -77 -87 -31 --18 --41 --92 --100 -11 -77 -88 -31 --18 --41 --92 --100 -10 -77 -87 -67 -12 --33 --71 --102 --128 --88 -38 -97 -100 -73 -17 --28 --67 --99 --111 --87 -39 -98 -101 -72 -16 --29 --68 --100 --111 --88 -38 -97 -99 -71 -15 --30 --69 --100 --112 --88 -38 -97 -100 -72 -16 --29 --68 --100 --111 --88 -38 -97 -99 -72 -16 --29 --68 --100 --111 --88 -38 -97 -99 -71 -16 --29 --68 --100 --104 -15 -80 -92 -33 --15 --56 --89 --100 -8 -72 -85 -27 --20 --60 --93 --102 -9 -73 -86 -28 --18 --59 --92 --101 -10 -74 -87 -29 --18 --58 --92 --101 -11 -75 -88 -30 --17 --58 --91 --100 -11 -74 -88 -30 --17 --58 --91 --100 -11 -75 -88 -30 --17 --58 --91 --100 -12 -75 -89 -65 -12 --33 --71 --103 --128 --88 -39 -97 -103 -72 -18 --28 --66 --99 --110 --87 -41 -97 -101 -71 -17 --29 --67 --100 --110 --87 -40 -97 -102 -71 -17 --29 --67 --100 --110 --88 -40 -97 -102 -71 -17 --29 --67 --100 --110 --87 -40 -96 -102 -72 -18 --29 --67 --100 --110 --87 -41 -97 -101 -71 -17 --29 --67 --100 --110 --88 -40 -97 -102 -71 -18 --29 --67 --100 --110 --88 -40 -96 -101 -70 -16 --30 --68 --100 --111 --88 -39 -95 -100 -70 -16 --30 --68 --100 --111 --89 -38 -95 -99 -69 -15 --31 --68 --101 --111 --89 -39 -95 -99 -69 -15 --31 --68 --101 --111 --88 -39 -95 -100 -69 -15 --31 --68 --101 --111 --89 -38 -95 -99 -69 -15 --31 --68 --101 --111 --89 -39 -95 -100 -69 -15 --31 --68 --101 --111 --90 -38 -95 -100 -69 -16 --31 --68 --101 --111 --88 -39 -95 -100 -69 -15 --31 --68 --101 --111 --89 -39 -95 -99 -68 -15 --31 --68 --101 --111 --88 -39 -95 -100 -69 -16 --30 --68 --100 --111 --88 -39 -95 -100 -69 -16 --30 --68 --100 --111 --88 -40 -95 -100 -70 -16 --30 --67 --100 --111 --88 -39 -95 -100 -69 -16 --30 --68 --100 --111 --88 -39 -95 -100 -69 -16 --30 --68 --100 --111 --88 -39 -95 -99 -69 -16 --30 --68 --100 --111 --88 -40 -95 -99 -68 -15 --31 --68 --101 --111 --88 -39 -95 -100 -69 -16 --30 --68 --100 --111 --88 -40 -96 -100 -69 -16 --30 --68 --100 --111 --88 -39 -95 -100 -69 -15 --30 --68 --100 --111 --89 -39 -95 -100 -68 -15 --31 --68 --101 --111 --89 -38 -94 -99 -69 -15 --31 --68 --100 --111 --88 -39 -95 -100 -68 -15 --31 --68 --100 --111 --88 -39 -95 -100 -69 -16 --30 --67 --100 --110 --87 -40 -96 -101 -41 --8 --50 --84 --112 -12 -75 -88 -30 --17 --58 --91 --100 -11 -74 -86 -28 --18 --58 --91 --100 -11 -75 -88 -30 --17 --58 --91 --99 -12 -75 -88 -30 --17 --58 --90 --99 -12 -75 -88 -30 --17 --57 --90 --99 -12 -76 -88 -30 --17 --57 --90 --99 -12 -75 -88 -30 --17 --57 --90 --99 -12 -75 -87 -29 --17 --58 --91 --100 -12 -75 -88 -30 --17 --58 --91 --100 -11 -75 -88 -30 --17 --57 --90 --99 -11 -75 -88 -30 --17 --57 --91 --99 -11 -75 -87 -29 --17 --58 --91 --100 -11 -75 -88 -30 --17 --58 --91 --99 -12 -75 -87 -29 --17 --58 --91 --99 -12 -75 -88 -30 --17 --57 --90 --99 -13 -76 -89 -31 --16 --57 --90 --99 -13 -76 -89 -31 --16 --56 --90 --98 -13 -77 -89 -31 --16 --56 --90 --98 -14 -77 -90 -32 --15 --56 --89 --114 -14 -77 -90 -31 --15 --56 --89 --98 -13 -77 -89 -31 --16 --56 --90 --98 -13 -76 -89 -31 --16 --57 --90 --99 -12 -75 -88 -30 --17 --57 --90 --99 -12 -75 -88 -30 --17 --58 --90 --99 -11 -74 -87 -29 --17 --58 --91 --99 -11 -74 -87 -29 --17 --58 --91 --100 -11 -74 -86 -29 --18 --58 --91 --100 -11 -74 -87 -29 --17 --58 --91 --100 -11 -74 -87 -29 --17 --58 --91 --100 -11 -74 -87 -29 --18 --58 --91 --99 -11 -74 -87 -29 --17 --58 --91 --100 -12 -75 -87 -63 -11 --34 --71 --102 --112 --88 -39 -95 -101 -70 -16 --30 --67 --99 --110 --87 -40 -96 -100 -70 -16 --30 --67 --99 --109 --87 -40 -95 -99 -68 -15 --30 --67 --100 --110 --88 -39 -95 -100 -68 -16 --30 --67 --100 --110 --88 -39 -94 -99 -68 -15 --30 --67 --100 --110 --88 -40 -95 -99 -68 -15 --31 --68 --100 --110 --88 -39 -95 -99 -69 -16 --30 --67 --100 --110 --88 -39 -95 -100 -69 -16 --30 --67 --100 --110 --87 -40 -95 -100 -69 -16 --30 --67 --99 --109 --88 -40 -95 -100 -69 -16 --30 --67 --99 --109 --87 -40 -95 -100 -69 -16 --30 --67 --99 --110 --87 -40 -96 -100 -69 -16 --30 --67 --100 --110 --87 -40 -95 -99 -69 -16 --30 --67 --99 --109 --87 -40 -95 -100 -68 -15 --30 --67 --100 --110 --88 -39 -95 -100 -69 -16 --30 --67 --99 --110 --87 -40 -95 -99 -68 -15 --30 --67 --100 --110 --88 -40 -95 -99 -68 -15 --30 --67 --100 --110 --87 -40 -95 -99 -68 -15 --30 --67 --100 --110 --87 -40 -95 -99 -68 -15 --31 --68 --100 --110 --88 -40 -95 -100 -69 -16 --30 --67 --99 --109 --87 -39 -95 -99 -68 -15 --30 --67 --100 --110 --87 -40 -95 -99 -68 -15 --30 --67 --100 --109 --88 -39 -95 -99 -68 -15 --30 --67 --100 --110 --87 -39 -95 -99 -68 -15 --30 --67 --100 --110 --87 -40 -95 -99 -68 -16 --30 --67 --100 --110 --87 -40 -95 -100 -40 --8 --49 --83 --111 -13 -76 -87 -30 --17 --57 --90 --99 -12 -74 -87 -29 --17 --57 --90 --99 -12 -75 -88 -30 --17 --57 --90 --98 -12 -75 -88 -31 --16 --56 --89 --114 -13 -76 -88 -31 --16 --56 --89 --98 -13 -76 -88 -31 --16 --56 --89 --114 -13 -76 -88 -31 --16 --56 --89 --98 -12 -75 -88 -30 --16 --56 --89 --98 -12 -75 -87 -30 --17 --57 --90 --98 -12 -75 -87 -29 --17 --57 --90 --99 -12 -74 -87 -29 --17 --57 --90 --99 -11 -74 -87 -29 --17 --57 --90 --99 -11 -74 -87 -30 --17 --57 --90 --99 -12 -75 -87 -30 --17 --57 --90 --98 -13 -75 -87 -30 --17 --57 --90 --98 -12 -75 -88 -31 --16 --56 --89 --113 -13 -76 -89 -31 --16 --56 --89 --114 -13 -76 -88 -30 --16 --56 --89 --113 -13 -76 -88 -31 --16 --56 --89 --98 -12 -75 -87 -30 --17 --57 --89 --98 -12 -75 -86 -29 --17 --57 --90 --99 -11 -74 -86 -29 --17 --57 --90 --99 -11 -73 -85 -28 --18 --58 --91 --100 -9 -72 -84 -28 --18 --58 --91 --100 -9 -72 -84 -27 --19 --59 --91 --100 -9 -72 -83 -27 --19 --59 --91 --100 -9 -72 -83 -26 --19 --59 --92 --101 -9 -72 -84 -27 --19 --58 --91 --100 -11 -74 -86 -29 --17 --58 --90 --99 -12 -74 -87 -29 --17 --57 --90 --98 -13 -75 -88 -30 --16 --56 --89 --98 -13 -76 -88 -31 --16 --56 --89 --113 -13 -76 -89 -31 --16 --56 --89 --113 -14 -77 -88 -31 --16 --56 --89 --113 -14 -76 -88 -31 --16 --56 --89 --114 -13 -76 -88 -30 --16 --56 --89 --113 -13 -76 -88 -30 --16 --56 --89 --114 -13 -76 -87 -30 --16 --56 --89 --98 -12 -75 -87 -29 --17 --57 --89 --102 --91 -35 -93 -96 -69 -14 --30 --68 --99 --109 --86 -39 -96 -98 -69 -15 --29 --67 --99 --109 --86 -39 -96 -98 -70 -15 --29 --67 --98 --109 --86 -39 -97 -98 -69 -15 --29 --67 --98 --109 --85 -39 -96 -98 -70 -16 --29 --67 --98 --109 --85 -40 -97 -99 -70 -16 --29 --67 --98 --109 --85 -40 -97 -99 -42 --8 --48 --83 --109 -12 -77 -86 -31 --17 --40 --90 --98 -11 -76 -85 -30 --17 --40 --90 --97 -11 -75 -84 -29 --18 --57 --90 --98 -11 -75 -84 -30 --18 --57 --90 --98 -11 -76 -85 -30 --17 --40 --90 --98 -11 -76 -85 -30 --17 --40 --90 --97 -11 -76 -85 -30 --18 --40 --90 --98 -11 -76 -85 -64 -10 --33 --70 --101 --111 --86 -39 -97 -99 -71 -16 --28 --66 --97 --108 --84 -40 -98 -99 -71 -16 --28 --66 --97 --108 --84 -40 -97 -100 -71 -16 --28 --66 --97 --108 --85 -40 -98 -99 -71 -16 --28 --66 --97 --108 --85 -40 -97 -99 -71 -16 --28 --66 --97 --108 --85 -39 -97 -98 -70 -15 --29 --67 --98 --109 --86 -38 -96 -98 -69 -15 --29 --67 --98 --109 --86 -38 -95 -97 -68 -14 --30 --68 --99 --110 --87 -38 -95 -97 -68 -14 --30 --68 --99 --109 --87 -38 -95 -97 -68 -14 --30 --68 --99 --109 --86 -38 -95 -97 -68 -14 --30 --68 --99 --110 --86 -38 -96 -97 -69 -14 --30 --68 --99 --109 --86 -38 -96 -97 -41 --9 --49 --84 --110 -12 -76 -85 -30 --18 --40 --90 --98 -10 -75 -84 -29 --18 --57 --90 --98 -10 -75 -84 -29 --18 --56 --90 --98 -10 -75 -84 -29 --18 --57 --91 --98 -11 -75 -84 -29 --18 --56 --90 --98 -11 -76 -85 -30 --17 --40 --90 --97 -12 -76 -85 -30 --17 --40 --90 --97 -11 -75 -85 -30 --17 --40 --90 --97 -11 -76 -85 -30 --17 --40 --90 --97 -11 -76 -85 -30 --17 --40 --90 --97 -12 -76 -85 -31 --17 --40 --90 --97 -12 -76 -85 -31 --17 --40 --90 --97 -12 -77 -85 -31 --17 --40 --90 --97 -11 -76 -85 -31 --17 --40 --90 --97 -12 -76 -85 -30 --17 --40 --90 --97 -11 -76 -85 -30 --18 --40 --90 --97 -12 -76 -85 -30 --18 --40 --90 --97 -12 -76 -85 -31 --17 --40 --89 --97 -11 -76 -85 -30 --17 --40 --90 --97 -11 -76 -85 -30 --17 --40 --90 --97 -12 -76 -85 -30 --17 --40 --90 --97 -12 -76 -85 -30 --17 --40 --90 --97 -11 -76 -85 -30 --17 --40 --90 --97 -11 -75 -84 -30 --18 --40 --90 --97 -12 -76 -84 -30 --18 --40 --90 --97 -12 -76 -85 -30 --17 --40 --90 --97 -12 -76 -85 -30 --17 --40 --89 --97 -11 -76 -85 -30 --17 --40 --90 --97 -12 -77 -85 -31 --17 --40 --89 --97 -12 -77 -86 -31 --17 --39 --89 --97 -13 -77 -86 -31 --16 --39 --89 --97 -12 -77 -86 -31 --17 --39 --89 --112 -13 -77 -86 -31 --17 --39 --89 --97 -13 -77 -85 -31 --17 --39 --89 --97 -13 -77 -86 -31 --16 --39 --89 --97 -12 -77 -86 -31 --16 --39 --89 --112 -13 -78 -86 -31 --16 --39 --89 --112 -13 -77 -86 -31 --17 --39 --89 --112 -13 -77 -86 -31 --17 --39 --89 --97 -12 -76 -86 -31 --17 --39 --89 --112 -12 -77 -86 -31 --17 --39 --89 --97 -12 -76 -85 -31 --17 --40 --89 --97 -11 -76 -85 -30 --17 --40 --89 --97 -10 -75 -84 -30 --17 --40 --90 --97 -11 -75 -84 -30 --17 --40 --89 --97 -11 -75 -84 -30 --17 --40 --89 --97 -12 -75 -85 -30 --17 --40 --89 --97 -11 -75 -85 -30 --17 --40 --89 --97 -11 -75 -84 -30 --17 --40 --89 --97 -11 -75 -85 -30 --17 --40 --89 --97 -11 -76 -85 -30 --17 --40 --89 --97 -10 -75 -84 -30 --17 --40 --89 --97 -11 -75 -85 -30 --17 --40 --89 --97 -11 -76 -84 -30 --18 --40 --89 --97 -11 -76 -85 -30 --17 --40 --89 --97 -11 -75 -85 -30 --17 --40 --89 --97 -11 -75 -84 -30 --17 --40 --89 --97 -12 -76 -85 -30 --17 --40 --89 --97 -12 -76 -85 -31 --17 --39 --89 --97 -11 -76 -85 -30 --17 --40 --89 --97 -12 -76 -85 -30 --17 --40 --89 --97 -11 -76 -85 -30 --17 --39 --89 --97 -11 -75 -84 -30 --17 --40 --89 --97 -11 -76 -84 -30 --17 --40 --89 --97 -12 -76 -85 -31 --17 --39 --89 --97 -12 -76 -85 -31 --17 --39 --89 --97 -12 -76 -85 -30 --17 --40 --89 --97 -11 -76 -85 -30 --17 --39 --89 --97 -11 -76 -84 -30 --17 --40 --89 --97 -12 -76 -85 -31 --17 --39 --89 --97 -11 -76 -85 -30 --17 --39 --89 --97 -11 -75 -84 -63 -10 --33 --70 --100 --111 --87 -37 -95 -97 -68 -14 --29 --67 --98 --108 --85 -39 -97 -97 -69 -15 --29 --66 --97 --108 --86 -39 -96 -97 -69 -15 --29 --67 --97 --108 --85 -39 -96 -97 -69 -15 --29 --66 --97 --108 --86 -39 -96 -98 -69 -15 --29 --67 --97 --108 --85 -39 -96 -97 -68 -14 --29 --67 --98 --108 --85 -39 -96 -98 -69 -15 --29 --66 --97 --108 --85 -39 -96 -97 -69 -15 --29 --67 --97 --108 --85 -39 -96 -97 -69 -15 --29 --67 --97 --108 --85 -39 -97 -98 -69 -15 --29 --67 --97 --108 --85 -40 -97 -98 -69 -15 --29 --66 --97 --108 --84 -40 -97 -99 -69 -15 --28 --66 --97 --108 --85 -40 -97 -99 -70 -16 --28 --66 --97 --107 --84 -40 -98 -99 -70 -16 --28 --66 --97 --107 --84 -40 -98 -99 -70 -16 --28 --66 --97 --107 --84 -40 -97 -98 -70 -16 --28 --66 --97 --107 --84 -39 -97 -98 -69 -15 --28 --66 --97 --107 --85 -39 -96 -97 -69 -15 --29 --66 --97 --108 --85 -39 -95 -96 -67 -14 --30 --67 --98 --108 --86 -38 -95 -97 -68 -14 --29 --67 --98 --108 --86 -38 -96 -97 -68 -14 --29 --67 --98 --108 --86 -38 -95 -97 -67 -14 --30 --67 --98 --108 --86 -38 -96 -97 -69 -15 --29 --67 --97 --108 --86 -38 -96 -97 -68 -14 --29 --67 --97 --108 --86 -38 -96 -96 -68 -14 --29 --67 --97 --100 -17 -80 -91 -34 --13 --53 --86 --112 -10 -72 -84 -28 --18 --57 --89 --98 -10 -72 -84 -28 --18 --57 --89 --114 -11 -74 -85 -29 --17 --56 --89 --114 -11 -74 -86 -29 --17 --56 --88 --113 -12 -74 -86 -29 --17 --56 --88 --113 -12 -74 -86 -29 --17 --56 --88 --113 -12 -74 -86 -29 --16 --56 --88 --113 -11 -74 -86 -29 --16 --56 --88 --113 -12 -74 -86 -29 --17 --56 --88 --113 -12 -74 -86 -29 --16 --56 --88 --113 -12 -74 -86 -29 --16 --56 --88 --113 -12 -75 -86 -30 --16 --56 --88 --113 -12 -74 -86 -29 --16 --56 --88 --113 -12 -75 -86 -29 --16 --56 --88 --113 -12 -74 -85 -28 --17 --56 --89 --114 -11 -74 -85 -29 --17 --56 --89 --113 -12 -74 -86 -29 --17 --56 --88 --113 -12 -75 -86 -30 --16 --56 --88 --113 -12 -75 -86 -30 --16 --56 --88 --113 -12 -75 -87 -30 --16 --55 --87 --112 -13 -75 -87 -30 --16 --56 --88 --112 -13 -75 -87 -30 --16 --55 --88 --113 -13 -75 -87 -30 --16 --55 --88 --113 -12 -75 -87 -30 --16 --55 --88 --112 -13 -75 -86 -30 --16 --56 --88 --112 -13 -75 -86 -30 --16 --56 --88 --112 -13 -75 -87 -30 --16 --55 --88 --113 -12 -75 -86 -30 --16 --55 --88 --112 -13 -75 -86 -30 --16 --56 --88 --113 -12 -74 -86 -29 --16 --56 --88 --113 -12 -74 -86 -30 --16 --56 --88 --100 --91 -34 -93 -95 -68 -14 --29 --67 --97 --108 --85 -39 -96 -98 -69 -15 --28 --66 --97 --107 --85 -39 -97 -98 -69 -15 --28 --66 --97 --107 --85 -39 -97 -98 -70 -16 --28 --65 --96 --107 --84 -40 -97 -98 -69 -16 --28 --66 --96 --107 --84 -40 -98 -99 -70 -16 --27 --65 --96 --107 --84 -40 -98 -100 -71 -17 --27 --65 --96 --106 --84 -40 -97 -98 -70 -16 --28 --65 --96 --107 --85 -40 -96 -98 -69 -15 --28 --66 --97 --107 --85 -38 -96 -97 -68 -15 --29 --66 --97 --107 --86 -38 -95 -97 -68 -15 --29 --66 --97 --107 --86 -38 -95 -96 -67 -14 --29 --67 --97 --108 --86 -38 -95 -96 -67 -14 --29 --67 --97 --100 -17 -80 -91 -33 --13 --53 --85 --112 -10 -72 -83 -27 --18 --57 --89 --98 -10 -73 -84 -28 --17 --56 --89 --114 -11 -73 -84 -28 --17 --57 --89 --113 -11 -74 -85 -29 --17 --56 --88 --113 -11 -74 -85 -29 --17 --56 --88 --113 -12 -74 -85 -29 --17 --56 --88 --113 -12 -74 -85 -61 -10 --34 --69 --100 --109 --88 -37 -93 -97 -66 -15 --30 --66 --98 --107 --86 -39 -95 -98 -66 -15 --30 --66 --98 --107 --86 -40 -95 -98 -67 -15 --29 --65 --97 --107 --86 -40 -95 -99 -68 -16 --29 --65 --97 --106 --86 -40 -94 -99 -67 -15 --29 --66 --97 --107 --86 -40 -95 -99 -67 -15 --29 --66 --97 --107 --86 -40 -95 -100 -68 -16 --28 --65 --97 --106 --85 -40 -95 -99 -68 -16 --29 --65 --97 --106 --86 -40 -94 -99 -67 -15 --29 --66 --97 --107 --86 -40 -95 -99 -68 -16 --29 --65 --97 --106 --86 -40 -95 -99 -67 -15 --29 --65 --97 --107 --86 -40 -95 -99 -67 -15 --29 --65 --97 --106 --86 -40 -95 -99 -68 -16 --29 --65 --97 --106 --86 -39 -94 -99 -67 -15 --29 --65 --97 --107 --86 -39 -94 -98 -67 -15 --29 --66 --97 --106 --86 -40 -95 -98 -67 -15 --29 --66 --97 --107 --86 -40 -95 -99 -67 -16 --29 --65 --97 --106 --86 -40 -94 -98 -67 -15 --29 --66 --97 --107 --86 -39 -94 -99 -67 -16 --29 --66 --97 --106 --87 -40 -95 -98 -67 -15 --29 --66 --97 --107 --86 -39 -95 -99 -67 -15 --29 --66 --97 --106 --86 -39 -95 -99 -67 -15 --29 --66 --97 --106 --86 -40 -95 -99 -68 -16 --28 --65 --97 --106 --85 -40 -96 -99 -68 -16 --28 --65 --97 --106 --85 -41 -96 -100 -69 -17 --28 --65 --96 --106 --85 -41 -96 -101 -69 -17 --28 --65 --96 --106 --84 -41 -97 -101 -69 -17 --28 --65 --96 --106 --84 -41 -96 -100 -69 -17 --28 --64 --96 --106 --85 -41 -96 -100 -69 -17 --28 --65 --96 --106 --85 -40 -95 -99 -67 -15 --29 --65 --97 --106 --86 -39 -95 -98 -67 -15 --29 --66 --97 --106 --86 -39 -94 -99 -40 --7 --48 --81 --108 -13 -75 -87 -30 --16 --55 --87 --112 -11 -74 -85 -29 --17 --56 --88 --113 -11 -74 -86 -29 --16 --56 --88 --113 -12 -74 -86 -29 --16 --55 --87 --112 -13 -76 -87 -31 --15 --54 --87 --112 -13 -75 -87 -31 --15 --54 --87 --112 -13 -76 -87 -31 --15 --54 --87 --112 -13 -75 -87 -62 -11 --33 --68 --100 --108 --88 -38 -94 -98 -67 -15 --29 --65 --97 --106 --87 -39 -94 -98 -67 -15 --29 --66 --97 --107 --88 -38 -94 -97 -66 -15 --30 --66 --98 --107 --88 -37 -93 -97 -66 -14 --30 --66 --98 --107 --89 -36 -92 -95 -64 -13 --31 --67 --99 --108 --89 -36 -92 -95 -64 -13 --31 --67 --99 --100 -14 -80 -88 -33 --14 --53 --87 --112 -8 -73 -82 -28 --19 --56 --90 --97 -9 -74 -83 -29 --18 --40 --89 --97 -10 -75 -84 -30 --17 --39 --88 --112 -11 -76 -85 -31 --16 --38 --88 --111 -12 -77 -86 -31 --16 --38 --87 --111 -13 -77 -86 -32 --15 --54 --87 --111 -12 -77 -86 -32 --15 --53 --87 --111 -11 -77 -86 -32 --16 --54 --87 --111 -12 -77 -86 -31 --16 --38 --87 --111 -12 -77 -86 -31 --16 --38 --87 --111 -11 -76 -85 -31 --16 --38 --88 --112 -11 -75 -84 -31 --16 --38 --88 --112 -10 -75 -84 -30 --17 --39 --88 --112 -11 -75 -84 -30 --17 --39 --88 --112 -11 -75 -84 -30 --17 --39 --88 --112 -10 -76 -85 -31 --16 --38 --88 --112 -11 -76 -85 -31 --16 --38 --88 --111 -11 -77 -86 -31 --16 --38 --87 --111 -12 -77 -85 -31 --16 --38 --87 --111 -11 -77 -86 -31 --16 --38 --87 --111 -12 -77 -86 -32 --16 --54 --87 --111 -12 -77 -86 -31 --16 --38 --87 --111 -12 -76 -86 -31 --16 --38 --87 --112 -11 -76 -85 -31 --16 --38 --88 --111 -12 -77 -85 -31 --16 --38 --88 --111 -11 -75 -84 -30 --17 --39 --88 --112 -11 -76 -85 -31 --16 --38 --88 --112 -11 -76 -85 -31 --16 --38 --88 --111 -12 -77 -86 -32 --16 --54 --87 --111 -12 -77 -86 -32 --16 --54 --87 --111 -12 -77 -86 -32 --15 --53 --87 --111 -12 -77 -86 -31 --16 --38 --87 --111 -12 -77 -86 -31 --16 --38 --87 --111 -12 -77 -85 -31 --16 --38 --87 --111 -12 -77 -86 -31 --16 --38 --87 --112 -11 -76 -85 -31 --16 --38 --88 --112 -11 -75 -84 -31 --16 --38 --88 --112 -10 -75 -84 -30 --17 --39 --88 --112 -10 -75 -84 -30 --17 --39 --88 --112 -9 -75 -84 -30 --17 --39 --88 --112 -10 -75 -84 -30 --17 --39 --88 --112 -11 -75 -84 -30 --16 --39 --88 --112 -10 -76 -84 -30 --17 --39 --88 --112 -10 -76 -85 -31 --16 --38 --88 --112 -11 -76 -85 -31 --16 --38 --88 --112 -11 -75 -84 -30 --17 --39 --88 --112 -11 -75 -84 -30 --16 --39 --88 --112 -10 -75 -85 -31 --16 --38 --88 --112 -11 -75 -84 -30 --17 --39 --88 --112 -11 -75 -85 -31 --16 --38 --88 --112 -11 -76 -85 -31 --16 --38 --88 --112 -10 -75 -85 -31 --16 --38 --88 --112 -11 -75 -85 -31 --16 --38 --88 --112 -11 -75 -84 -31 --16 --38 --88 --112 -11 -76 -85 -31 --16 --38 --88 --98 --92 -35 -92 -97 -68 -16 --29 --65 --97 --106 --86 -40 -95 -99 -68 -17 --28 --65 --96 --106 --86 -40 -95 -99 -68 -16 --28 --65 --96 --106 --87 -39 -95 -99 -68 -17 --28 --65 --96 --106 --86 -40 -95 -99 -68 -16 --28 --65 --96 --106 --87 -39 -95 -99 -68 -17 --28 --65 --96 --106 --87 -39 -95 -99 -68 -16 --29 --65 --97 --106 --87 -39 -95 -99 -68 -16 --28 --65 --96 --106 --87 -39 -95 -99 -68 -16 --28 --65 --96 --106 --87 -39 -94 -99 -67 -16 --29 --65 --97 --106 --87 -39 -95 -99 -68 -16 --29 --65 --97 --106 --87 -39 -94 -98 -67 -15 --29 --65 --97 --106 --87 -39 -95 -99 -68 -16 --28 --65 --97 --98 -17 -83 -91 -36 --12 --50 --84 --110 -11 -75 -84 -30 --17 --39 --88 --112 -10 -75 -85 -31 --16 --38 --88 --112 -10 -76 -86 -31 --16 --38 --87 --111 -11 -76 -86 -31 --16 --38 --87 --111 -11 -77 -86 -32 --15 --54 --87 --111 -11 -77 -86 -32 --15 --53 --87 --111 -11 -77 -86 -32 --16 --54 --87 --111 -11 -77 -86 -32 --15 --53 --87 --111 -12 -77 -86 -32 --15 --53 --87 --111 -12 -77 -86 -32 --15 --53 --87 --111 -12 -77 -86 -32 --15 --53 --87 --111 -11 -76 -86 -31 --16 --38 --87 --111 -11 -76 -86 -31 --16 --38 --87 --111 -10 -75 -85 -31 --16 --38 --87 --111 -10 -75 -85 -31 --16 --38 --88 --112 -10 -75 -85 -31 --16 --38 --88 --112 -11 -76 -84 -30 --16 --38 --88 --112 -10 -75 -85 -31 --16 --38 --87 --112 -10 -76 -85 -31 --16 --38 --88 --112 -10 -76 -85 -31 --16 --38 --88 --112 -10 -76 -85 -31 --16 --38 --88 --112 -10 -76 -84 -31 --16 --38 --88 --112 -11 -75 -84 -31 --16 --38 --88 --112 -10 -75 -85 -31 --16 --38 --88 --112 -10 -75 -85 -31 --16 --38 --88 --112 -10 -75 -85 -31 --16 --38 --88 --112 -10 -75 -85 -31 --16 --38 --88 --112 -10 -75 -85 -31 --16 --38 --88 --112 -11 -76 -85 -31 --16 --38 --88 --112 -11 -76 -86 -31 --16 --38 --87 --111 -11 -77 -86 -31 --16 --38 --87 --98 --92 -35 -91 -97 -67 -16 --29 --65 --97 --106 --88 -38 -95 -99 -68 -16 --28 --65 --96 --106 --87 -39 -95 -100 -69 -17 --28 --64 --96 --105 --87 -39 -95 -100 -68 -17 --28 --64 --96 --105 --87 -39 -95 -99 -68 -16 --28 --65 --96 --106 --87 -39 -95 -99 -68 -17 --28 --65 --96 --105 --87 -39 -94 -99 -41 --6 --47 --81 --108 -13 -75 -87 -31 --15 --54 --86 --112 -11 -74 -86 -30 --15 --55 --87 --112 -11 -74 -86 -30 --15 --55 --87 --113 -10 -74 -86 -30 --15 --55 --87 --112 -11 -74 -86 -30 --16 --55 --87 --112 -11 -74 -86 -30 --15 --55 --87 --112 -12 -75 -87 -30 --15 --55 --87 --99 --92 -33 -93 -96 -69 -15 --28 --65 --96 --106 --86 -38 -96 -98 -70 -16 --27 --65 --95 --106 --86 -38 -96 -98 -69 -16 --28 --65 --96 --106 --87 -38 -96 -98 -70 -16 --27 --65 --96 --106 --86 -38 -96 -98 -70 -16 --27 --65 --96 --106 --86 -38 -97 -98 -70 -16 --27 --65 --95 --106 --86 -38 -96 -98 -70 -16 --27 --65 --95 --106 --87 -38 -96 -99 -70 -16 --27 --65 --95 --106 --86 -38 -96 -99 -70 -16 --27 --65 --95 --106 --86 -38 -97 -99 -70 -16 --27 --65 --95 --106 --86 -38 -97 -100 -71 -17 --26 --64 --95 --105 --86 -38 -97 -99 -71 -17 --27 --64 --95 --105 --85 -39 -97 -100 -72 -18 --26 --64 --95 --105 --86 -38 -97 -100 -71 -17 --26 --64 --95 --105 --86 -38 -97 -99 -70 -16 --27 --65 --95 --106 --87 -38 -96 -98 -70 -16 --27 --65 --96 --106 --87 -37 -96 -98 -70 -16 --27 --65 --95 --106 --87 -37 -95 -97 -69 -15 --28 --65 --96 --106 --87 -37 -95 -97 -69 -15 --28 --65 --96 --106 --88 -37 -96 -98 -69 -16 --28 --65 --96 --106 --88 -37 -95 -97 -69 -16 --28 --65 --96 --106 --87 -37 -95 -98 -69 -16 --28 --65 --96 --106 --87 -37 -95 -97 -69 -15 --28 --65 --96 --106 --87 -37 -95 -98 -69 -15 --28 --65 --96 --106 --87 -37 -96 -98 -70 -16 --27 --65 --96 --106 --87 -37 -96 -98 -70 -16 --27 --65 --96 --106 --88 -37 -96 -99 -70 -16 --27 --65 --95 --106 --87 -38 -96 -98 -70 -16 --27 --65 --95 --106 --87 -37 -96 -98 -70 -16 --27 --65 --96 --106 --87 -37 -96 -99 -70 -16 --27 --65 --95 --106 --87 -37 -96 -98 -69 -15 --28 --65 --96 --106 --87 -37 -96 -98 -69 -16 --27 --65 --96 --99 -16 -81 -93 -35 --11 --51 --84 --111 -10 -73 -86 -30 --16 --55 --87 --113 -10 -74 -86 -30 --16 --55 --87 --113 -10 -73 -86 -30 --16 --55 --87 --113 -9 -73 -86 -30 --16 --55 --87 --113 -10 -73 -85 -29 --16 --56 --87 --113 -11 -74 -87 -30 --15 --55 --87 --112 -11 -74 -87 -31 --15 --54 --87 --112 -11 -74 -87 -31 --15 --54 --86 --112 -12 -75 -88 -31 --14 --54 --86 --112 -12 -75 -88 -32 --14 --54 --86 --112 -12 -75 -88 -31 --15 --54 --86 --112 -11 -74 -88 -31 --14 --54 --86 --112 -12 -75 -88 -31 --14 --54 --86 --112 -11 -75 -88 -31 --14 --54 --86 --112 -11 -75 -87 -31 --15 --54 --86 --112 -11 -74 -88 -31 --14 --54 --86 --112 -11 -75 -87 -31 --15 --54 --87 --112 -11 -75 -88 -31 --14 --54 --86 --112 -11 -75 -87 -31 --15 --54 --86 --112 -10 -74 -87 -30 --15 --55 --87 --112 -11 -74 -87 -30 --15 --55 --87 --112 -11 -74 -87 -31 --15 --54 --87 --112 -11 -75 -88 -31 --14 --54 --86 --112 -11 -74 -87 -31 --15 --54 --86 --112 -12 -76 -89 -32 --14 --53 --86 --111 -12 -76 -88 -32 --14 --54 --86 --111 -12 -76 -89 -33 --13 --53 --86 --111 -12 -76 -90 -33 --13 --53 --85 --111 -12 -76 -88 -32 --14 --54 --86 --111 -12 -76 -89 -32 --14 --54 --86 --111 -12 -76 -88 -31 --14 --54 --86 --98 --93 -33 -93 -97 -70 -16 --27 --65 --96 --106 --88 -37 -96 -99 -70 -16 --27 --65 --96 --106 --88 -36 -95 -98 -70 -16 --27 --65 --96 --106 --88 -36 -95 -98 -70 -16 --27 --65 --96 --106 --88 -36 -95 -98 -69 -16 --28 --65 --96 --106 --88 -36 -95 -98 -70 -16 --27 --65 --96 --106 --89 -36 -95 -98 -70 -16 --27 --65 --96 --106 --88 -36 -96 -98 -70 -16 --27 --65 --95 --106 --88 -37 -96 -98 -70 -16 --27 --65 --96 --106 --88 -36 -95 -98 -70 -16 --27 --65 --96 --106 --88 -37 -96 -99 -70 -16 --27 --65 --96 --106 --88 -36 -95 -98 -70 -16 --27 --65 --96 --106 --88 -36 -96 -98 -70 -16 --27 --65 --96 --106 --88 -37 -96 -99 -70 -16 --27 --65 --96 --106 --88 -37 -97 -99 -71 -17 --27 --65 --95 --106 --88 -37 -96 -99 -70 -16 --27 --65 --96 --106 --88 -37 -97 -100 -72 -18 --26 --64 --95 --106 --87 -37 -97 -99 -71 -17 --27 --65 --95 --106 --87 -37 -96 -99 -71 -17 --27 --64 --95 --106 --88 -37 -97 -99 -71 -17 --27 --65 --95 --106 --88 -37 -96 -99 -70 -16 --27 --65 --95 --106 --88 -36 -96 -99 -71 -17 --27 --65 --95 --106 --88 -37 -96 -99 -71 -17 --27 --65 --95 --106 --88 -37 -96 -99 -71 -17 --27 --65 --95 --106 --88 -37 -96 -99 -70 -17 --27 --65 --95 --106 --88 -37 -96 -98 -71 -17 --27 --65 --95 --99 -16 -81 -93 -36 --11 --51 --84 --111 -10 -73 -86 -29 --16 --56 --88 --113 -10 -73 -86 -30 --16 --55 --88 --113 -10 -74 -87 -30 --15 --55 --87 --113 -10 -74 -87 -31 --15 --55 --87 --113 -10 -74 -87 -31 --15 --55 --87 --112 -11 -74 -87 -31 --15 --55 --87 --112 -10 -75 -88 -31 --15 --54 --87 --112 -11 -75 -88 -31 --14 --54 --86 --112 -11 -75 -88 -31 --15 --54 --86 --112 -11 -76 -89 -32 --14 --54 --86 --112 -12 -76 -89 -32 --14 --54 --86 --112 -12 -77 -90 -33 --13 --53 --85 --111 -12 -77 -89 -33 --13 --53 --86 --111 -12 -76 -89 -33 --14 --53 --86 --111 -12 -76 -90 -33 --13 --53 --86 --112 -11 -75 -89 -32 --14 --54 --86 --112 -11 -75 -88 -31 --14 --54 --86 --112 -10 -74 -88 -31 --15 --54 --87 --112 -10 -75 -87 -31 --15 --55 --87 --113 -10 -74 -87 -31 --15 --55 --87 --112 -10 -74 -88 -31 --15 --54 --87 --113 -10 -74 -87 -31 --15 --55 --87 --112 -11 -75 -88 -31 --14 --54 --86 --112 -11 -75 -88 -32 --14 --54 --86 --112 -11 -76 -89 -33 --13 --53 --86 --112 -12 -76 -90 -33 --13 --53 --86 --112 -11 -76 -89 -32 --14 --54 --86 --112 -11 -75 -89 -32 --14 --54 --86 --112 -11 -75 -88 -31 --15 --54 --87 --112 -10 -74 -88 -31 --15 --54 --87 --113 -10 -73 -87 -30 --15 --55 --87 --113 -8 -73 -86 -29 --16 --55 --88 --114 -8 -72 -85 -29 --17 --56 --88 --98 -7 -71 -84 -28 --17 --57 --89 --98 -7 -71 -84 -28 --17 --56 --88 --98 -8 -72 -85 -29 --17 --56 --88 --114 -9 -73 -87 -30 --16 --55 --87 --113 -10 -74 -88 -31 --15 --54 --87 --112 -10 -75 -89 -64 -13 --31 --67 --99 --108 --90 -37 -95 -101 -72 -19 --26 --63 --95 --105 --87 -39 -96 -102 -72 -19 --26 --63 --95 --105 --87 -39 -96 -102 -72 -19 --26 --63 --95 --105 --88 -38 -96 -102 -71 -19 --26 --63 --95 --105 --88 -38 -95 -101 -70 -18 --27 --64 --96 --105 --89 -38 -95 -101 -70 -18 --27 --64 --96 --99 -14 -82 -91 -36 --12 --51 --85 --111 -8 -74 -85 -30 --17 --39 --88 --97 -7 -74 -85 -30 --17 --39 --88 --97 -8 -75 -86 -31 --16 --38 --88 --97 -8 -75 -86 -32 --16 --54 --88 --112 -9 -75 -86 -32 --15 --54 --87 --112 -10 -77 -88 -33 --15 --53 --87 --112 -10 -77 -88 -33 --15 --53 --87 --98 --93 -35 -93 -100 -72 -19 --26 --63 --95 --105 --87 -39 -96 -103 -72 -20 --26 --63 --95 --105 --88 -38 -96 -102 -71 -19 --26 --63 --95 --105 --89 -38 -95 -101 -71 -19 --27 --63 --95 --105 --89 -38 -95 -101 -70 -18 --27 --64 --96 --105 --89 -37 -95 -101 -70 -18 --27 --64 --96 --106 --90 -37 -95 -101 -70 -18 --27 --64 --96 --106 --89 -38 -96 -102 -71 -19 --26 --64 --96 --105 --89 -38 -96 -102 -72 -20 --26 --63 --95 --105 --88 -39 -96 -103 -72 -19 --26 --63 --95 --105 --88 -39 -96 -102 -72 -20 --26 --63 --95 --105 --88 -38 -96 -102 -72 -19 --26 --63 --95 --105 --89 -38 -95 -101 -71 -19 --27 --64 --96 --99 -14 -82 -93 -37 --11 --50 --85 --111 -8 -74 -85 -31 --17 --39 --88 --97 -7 -74 -85 -31 --16 --39 --88 --97 -7 -74 -85 -31 --16 --39 --88 --97 -7 -74 -85 -31 --16 --39 --88 --97 -8 -75 -86 -31 --16 --38 --88 --97 -8 -76 -86 -32 --15 --54 --88 --97 -8 -75 -86 -32 --16 --54 --88 --97 -8 -76 -87 -32 --15 --54 --87 --112 -8 -75 -87 -32 --15 --54 --88 --97 -9 -76 -87 -32 --15 --54 --87 --112 -9 -76 -87 -32 --15 --54 --88 --97 -8 -75 -87 -32 --15 --54 --88 --97 -9 -76 -86 -32 --15 --54 --88 --112 -9 -76 -87 -32 --15 --54 --87 --112 -9 -76 -87 -33 --15 --54 --87 --112 -8 -75 -88 -33 --15 --53 --87 --112 -9 -76 -87 -32 --15 --54 --88 --112 -9 -76 -87 -32 --15 --54 --87 --112 -9 -76 -87 -32 --15 --54 --88 --112 -9 -77 -88 -33 --15 --53 --87 --112 -9 -76 -87 -32 --15 --54 --87 --112 -9 -76 -88 -33 --15 --54 --87 --112 -9 -76 -88 -33 --15 --53 --87 --112 -9 -77 -87 -33 --15 --54 --87 --112 -9 -76 -88 -33 --15 --54 --87 --112 -9 -76 -87 -33 --15 --54 --87 --112 -10 -77 -88 -33 --15 --53 --87 --112 -8 -75 -88 -33 --15 --53 --87 --112 -9 -76 -87 -33 --15 --54 --87 --112 -9 -76 -88 -33 --15 --53 --87 --112 -9 -76 -88 -33 --15 --53 --87 --112 -8 -76 -88 -33 --15 --54 --87 --97 -9 -76 -87 -32 --15 --54 --88 --97 -8 -76 -87 -32 --15 --54 --88 --112 -9 -76 -87 -32 --15 --54 --88 --97 -8 -76 -87 -33 --15 --54 --87 --112 -9 -77 -88 -33 --14 --53 --87 --112 -9 -76 -88 -33 --15 --53 --87 --112 -10 -77 -89 -34 --14 --53 --87 --112 -9 -77 -89 -34 --14 --53 --87 --112 -10 -77 -89 -34 --14 --53 --87 --112 -10 -77 -89 -34 --14 --53 --87 --112 -10 -77 -88 -33 --14 --53 --87 --112 -10 -77 -89 -34 --14 --53 --87 --112 -10 -78 -89 -34 --14 --53 --87 --112 -10 -78 -89 -34 --14 --53 --87 --112 -10 -77 -89 -34 --14 --53 --87 --112 -9 -77 -89 -33 --14 --53 --87 --112 -9 -76 -88 -33 --15 --54 --87 --112 -9 -76 -88 -33 --15 --54 --88 --112 -9 -76 -87 -32 --15 --54 --88 --97 -8 -75 -88 -33 --15 --54 --88 --97 -9 -75 -87 -32 --15 --54 --88 --97 -9 -76 -87 -32 --15 --54 --88 --97 -9 -76 -88 -33 --15 --54 --88 --97 -8 -76 -88 -33 --15 --54 --88 --97 -9 -77 -88 -33 --15 --53 --87 --112 -8 -76 -88 -33 --15 --54 --88 --97 -8 -76 -87 -32 --15 --54 --88 --97 -8 -76 -88 -33 --15 --53 --87 --97 -8 -76 -88 -33 --15 --54 --88 --97 -8 -76 -87 -32 --15 --54 --88 --97 -8 -76 -87 -32 --15 --54 --88 --97 -8 -76 -88 -33 --15 --54 --88 --97 -9 -76 -88 -33 --15 --53 --88 --97 -8 -76 -88 -33 --15 --53 --87 --97 -9 -76 -88 -33 --15 --54 --88 --97 -8 -76 -88 -33 --15 --54 --88 --97 -9 -76 -88 -33 --15 --53 --87 --97 -9 -77 -88 -33 --15 --54 --88 --97 -9 -77 -88 -33 --15 --54 --88 --99 --95 -33 -93 -101 -72 -19 --27 --64 --96 --106 --90 -38 -96 -103 -73 -20 --26 --63 --95 --105 --90 -37 -96 -103 -73 -20 --26 --63 --96 --105 --91 -37 -95 -102 -72 -19 --26 --64 --96 --106 --91 -36 -95 -102 -72 -19 --27 --64 --96 --106 --90 -37 -95 -101 -72 -19 --27 --64 --96 --106 --91 -37 -95 -102 -72 -19 --26 --64 --96 --106 --91 -36 -95 -101 -71 -19 --27 --64 --96 --106 --91 -36 -95 -102 -72 -19 --27 --64 --96 --106 --91 -36 -95 -102 -72 -19 --26 --64 --96 --106 --91 -36 -95 -102 -72 -19 --26 --64 --96 --106 --91 -37 -95 -102 -72 -19 --27 --64 --96 --106 --91 -36 -95 -102 -72 -19 --27 --64 --96 --106 --91 -37 -95 -102 -72 -19 --26 --64 --96 --106 --91 -37 -95 -102 -72 -19 --26 --64 --96 --106 --90 -37 -95 -103 -72 -19 --26 --64 --96 --106 --91 -37 -96 -103 -72 -20 --26 --64 --96 --106 --91 -37 -95 -102 -72 -20 --26 --64 --96 --106 --91 -37 -95 -102 -73 -20 --26 --63 --96 --106 --91 -37 -96 -104 -73 -20 --26 --63 --96 --106 --90 -37 -95 -103 -73 -20 --26 --63 --96 --106 --90 -37 -96 -104 -74 -21 --25 --63 --95 --106 --90 -37 -97 -104 -74 -21 --26 --63 --95 --105 --90 -37 -96 -103 -73 -20 --26 --63 --96 --106 --90 -37 -95 -103 -73 -20 --26 --63 --96 --106 --91 -36 -95 -102 -43 --5 --47 --81 --109 -10 -75 -89 -32 --14 --54 --87 --98 -8 -73 -88 -31 --15 --55 --88 --98 -8 -74 -88 -31 --15 --55 --88 --98 -8 -74 -89 -31 --15 --55 --88 --98 -8 -74 -89 -31 --15 --55 --88 --98 -8 -74 -89 -32 --15 --55 --88 --98 -8 -74 -89 -32 --15 --55 --88 --98 -8 -74 -89 -32 --15 --55 --87 --114 -9 -74 -89 -32 --14 --55 --87 --114 -9 -75 -89 -32 --14 --54 --87 --114 -9 -75 -89 -32 --15 --55 --88 --114 -9 -75 -90 -32 --14 --54 --87 --114 -9 -75 -90 -33 --14 --54 --87 --113 -9 -75 -90 -33 --14 --54 --87 --113 -9 -75 -90 -33 --14 --54 --87 --113 -9 -75 -90 -33 --14 --54 --87 --113 -9 -75 -90 -32 --14 --54 --87 --114 -9 -75 -90 -32 --14 --54 --87 --114 -9 -75 -90 -33 --14 --54 --87 --114 -8 -75 -90 -33 --14 --54 --87 --114 -9 -75 -90 -32 --14 --54 --87 --114 -9 -75 -90 -32 --14 --54 --87 --114 -8 -75 -90 -32 --14 --54 --87 --98 -8 -74 -89 -32 --15 --55 --88 --98 -9 -75 -90 -32 --14 --55 --87 --114 -8 -74 -90 -32 --14 --55 --87 --98 -9 -75 -90 -32 --14 --54 --87 --114 -9 -75 -91 -33 --14 --54 --87 --113 -10 -76 -91 -33 --13 --54 --87 --113 -10 -77 -91 -33 --13 --54 --87 --113 -10 -76 -91 -34 --13 --54 --87 --113 -10 -76 -91 -68 -16 --29 --66 --98 --108 --91 -37 -96 -104 -74 -21 --25 --63 --96 --106 --90 -37 -96 -104 -74 -21 --25 --63 --96 --106 --91 -36 -96 -103 -73 -20 --26 --64 --96 --106 --92 -36 -96 -103 -73 -20 --26 --64 --96 --106 --92 -36 -96 -103 -73 -20 --26 --64 --96 --106 --91 -36 -95 -103 -73 -20 --26 --64 --97 --107 --92 -36 -95 -103 -73 -20 --27 --64 --97 --107 --92 -35 -95 -103 -72 -19 --27 --64 --97 --107 --92 -36 -95 -103 -73 -20 --26 --64 --97 --107 --92 -36 -96 -103 -74 -21 --26 --63 --96 --106 --91 -37 -96 -104 -74 -21 --25 --63 --96 --106 --90 -37 -96 -105 -75 -22 --25 --63 --95 --106 --91 -37 -97 -105 -45 --4 diff --git a/traces/ioprox-XSF-01-3B-44725.pm3 b/traces/ioprox-XSF-01-3B-44725.pm3 deleted file mode 100644 index bf1cc9580..000000000 --- a/traces/ioprox-XSF-01-3B-44725.pm3 +++ /dev/null @@ -1,40000 +0,0 @@ --11 --32 --51 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --51 --58 -8 -43 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --59 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --12 --33 --51 --59 -7 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -41 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --32 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -15 --12 --33 --52 --59 -8 -43 -47 -16 --11 --32 --51 --66 --78 -25 -56 -50 -42 -12 --14 --35 --53 --68 --79 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -25 -57 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -27 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -25 -56 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -46 -51 -18 --8 --31 --49 --57 -10 -44 -50 -16 --9 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -40 -10 --16 --36 --55 --69 --80 -24 -55 -48 -41 -11 --15 --35 --54 --68 --80 -24 -56 -50 -43 -12 --14 --34 --53 --68 --79 -25 -56 -50 -43 -13 --13 --34 --52 --67 --78 -25 -56 -50 -43 -13 --14 --34 --52 --67 --79 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --58 -8 -44 -48 -16 --10 --32 --50 --58 -8 -44 -48 -16 --10 --32 --50 --58 -7 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -40 -9 --16 --37 --54 --70 --80 -23 -56 -47 -42 -10 --14 --36 --53 --68 --79 -23 -57 -48 -44 -12 --13 --35 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -26 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --58 -10 -43 -49 -16 --9 --32 --50 --58 -10 -43 -48 -15 --10 --32 --50 --58 -8 -41 -47 -15 --10 --33 --51 --59 -8 -42 -48 -14 --10 --33 --50 --59 -7 -40 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --11 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --66 --77 -24 -57 -48 -43 -12 --14 --36 --53 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -58 -49 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -19 --8 --30 --49 --55 -11 -46 -49 -18 --9 --31 --50 --56 -10 -44 -48 -17 --10 --32 --50 --57 -9 -44 -48 -17 --10 --32 --50 --57 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --11 --32 --51 --58 -7 -42 -46 -40 -9 --16 --37 --54 --70 --80 -22 -56 -46 -42 -10 --14 --36 --53 --68 --79 -24 -56 -48 -43 -11 --14 --36 --53 --68 --79 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -58 -50 -18 --8 --30 --49 --56 -11 -46 -50 -18 --8 --30 --49 --56 -10 -45 -48 -17 --10 --32 --50 --57 -8 -44 -48 -16 --10 --32 --50 --57 -9 -44 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -40 -8 --16 --38 --54 --70 --80 -22 -55 -46 -42 -10 --14 --36 --53 --68 --79 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -57 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -49 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --58 -10 -44 -49 -16 --9 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --32 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --66 --78 -24 -56 -48 -43 -12 --14 --36 --53 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -50 -44 -12 --13 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -14 --12 --34 --51 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -19 --8 --30 --49 --56 -11 -46 -50 -18 --8 --30 --49 --57 -9 -44 -48 -18 --10 --31 --50 --57 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --59 -7 -43 -46 -40 -9 --16 --37 --54 --69 --80 -22 -56 -47 -42 -10 --14 --36 --53 --69 --79 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -45 -13 --12 --34 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -44 -12 --13 --34 --52 --68 --78 -24 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -14 --12 --34 --51 --67 --77 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --58 -10 -44 -50 -16 --9 --32 --50 --58 -9 -42 -48 -16 --10 --33 --50 --58 -9 -42 -48 -15 --10 --32 --50 --59 -8 -42 -48 -15 --10 --33 --51 --58 -9 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -40 -46 -14 --12 --34 --52 --60 -7 -40 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --11 --33 --51 --59 -9 -41 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -24 -57 -48 -43 -11 --14 --36 --53 --68 --78 -24 -58 -49 -44 -12 --13 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -24 -58 -49 -44 -13 --12 --34 --52 --67 --78 -24 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -19 --8 --30 --49 --55 -12 -46 -50 -18 --9 --30 --50 --57 -10 -45 -48 -18 --9 --31 --50 --57 -9 -44 -48 -17 --10 --32 --50 --58 -8 -42 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --11 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --51 --59 -8 -42 -46 -16 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --52 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --12 --33 --52 --59 -6 -42 -46 -16 --11 --33 --51 --59 -6 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --12 --32 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -47 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --59 -6 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --33 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --59 -6 -42 -46 -16 --11 --32 --51 --59 -6 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --59 -8 -42 -46 -15 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --59 -6 -43 -46 -15 --12 --32 --51 --59 -8 -43 -47 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --59 -7 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --59 -6 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -40 -9 --16 --37 --54 --70 --80 -22 -56 -46 -42 -10 --14 --36 --53 --68 --79 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -26 -58 -49 -45 -13 --12 --34 --52 --67 --78 -26 -59 -49 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -26 -58 -49 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -49 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -12 --12 --34 --52 --68 --78 -26 -59 -49 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -14 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --51 --67 --78 -25 -58 -50 -19 --8 --30 --49 --55 -12 -46 -50 -18 --9 --30 --49 --56 -10 -45 -48 -17 --10 --31 --50 --57 -8 -43 -48 -16 --10 --32 --50 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --12 --32 --51 --59 -7 -42 -46 -15 --12 --32 --51 --59 -6 -42 -46 -15 --12 --33 --52 --59 -7 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --33 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --66 --78 -25 -56 -50 -43 -12 --14 --34 --53 --67 --79 -26 -57 -50 -43 -12 --14 --34 --53 --67 --78 -25 -57 -50 -43 -12 --14 --34 --53 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -18 --8 --31 --49 --56 -12 -45 -50 -17 --8 --31 --49 --57 -10 -44 -50 -16 --9 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -14 --10 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -38 -9 --16 --37 --55 --69 --80 -23 -55 -48 -40 -11 --15 --36 --54 --68 --80 -24 -56 -48 -41 -11 --15 --35 --53 --68 --79 -25 -56 -50 -43 -12 --14 --34 --53 --68 --79 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --33 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --58 -9 -44 -48 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -44 -47 -16 --10 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -8 -43 -47 -16 --11 --32 --51 --59 -7 -42 -46 -40 -8 --16 --37 --54 --70 --80 -21 -54 -46 -42 -10 --15 --36 --53 --69 --79 -24 -56 -48 -42 -11 --14 --36 --53 --68 --79 -24 -58 -48 -44 -12 --14 --35 --53 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -46 -14 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --58 -9 -42 -49 -16 --9 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --33 --50 --58 -8 -42 -47 -14 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --59 -9 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --51 --58 -9 -42 -47 -15 --11 --33 --51 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --10 --33 --50 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -47 -15 --11 --33 --50 --59 -8 -40 -47 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --60 -8 -41 -46 -14 --11 --33 --51 --60 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --58 -8 -42 -48 -15 --10 --32 --50 --58 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -7 -41 -47 -15 --10 --33 --50 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -41 -48 -14 --11 --33 --51 --59 -8 -40 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -46 -14 --11 --33 --51 --60 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --32 --50 --58 -8 -41 -47 -15 --11 --33 --51 --58 -9 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --66 --78 -24 -57 -48 -43 -11 --14 --36 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -13 --12 --34 --52 --68 --78 -25 -59 -50 -44 -13 --12 --34 --52 --68 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -24 -58 -50 -44 -13 --13 --34 --52 --67 --78 -25 -59 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --58 -10 -44 -48 -16 --10 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -24 -57 -48 -43 -12 --14 --35 --53 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -13 --12 --34 --52 --67 --78 -25 -58 -50 -18 --9 --30 --49 --56 -12 -46 -50 -19 --8 --30 --49 --56 -9 -44 -48 -17 --10 --32 --50 --57 -9 -44 -48 -16 --10 --32 --50 --57 -9 -44 -47 -16 --11 --32 --51 --58 -9 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -40 -9 --16 --37 --54 --69 --80 -22 -56 -47 -42 -11 --14 --36 --53 --68 --79 -24 -57 -48 -43 -11 --14 --35 --53 --68 --78 -25 -58 -49 -44 -12 --12 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --12 --34 --52 --68 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --67 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -44 -13 --12 --34 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -51 -46 -14 --12 --34 --51 --67 --77 -26 -58 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -19 --8 --30 --49 --55 -12 -46 -50 -18 --9 --30 --50 --56 -10 -44 -48 -17 --10 --32 --50 --57 -9 -44 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -6 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --33 --52 --59 -7 -42 -46 -40 -9 --16 --37 --54 --70 --80 -23 -56 -48 -43 -11 --14 --36 --53 --68 --78 -24 -57 -48 -43 -12 --14 --35 --53 --68 --78 -25 -58 -49 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -60 -50 -19 --8 --30 --49 --55 -12 -47 -50 -19 --8 --30 --49 --56 -10 -44 -48 -16 --10 --32 --50 --57 -9 -44 -47 -16 --10 --32 --51 --58 -8 -44 -48 -16 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -40 -9 --16 --37 --54 --70 --80 -23 -56 -47 -42 -10 --14 --36 --53 --68 --79 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -18 --9 --30 --50 --56 -11 -46 -50 -18 --8 --30 --49 --56 -10 -44 -48 -17 --10 --31 --50 --57 -8 -44 -48 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --66 --78 -25 -56 -50 -43 -12 --14 --34 --52 --67 --79 -25 -56 -50 -43 -12 --14 --34 --53 --68 --79 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -18 --8 --31 --49 --56 -12 -45 -50 -18 --8 --31 --49 --57 -11 -44 -48 -16 --10 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -8 -41 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --50 --58 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -39 -10 --16 --36 --55 --69 --80 -23 -54 -48 -40 -11 --15 --36 --54 --68 --80 -25 -56 -50 -43 -13 --14 --34 --53 --67 --78 -25 -56 -49 -44 -13 --13 --34 --52 --67 --78 -25 -56 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -45 -50 -18 --8 --31 --49 --58 -10 -43 -48 -16 --10 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -39 -10 --16 --36 --55 --69 --80 -23 -54 -48 -42 -12 --14 --35 --53 --68 --79 -24 -55 -48 -42 -12 --14 --35 --53 --68 --79 -25 -56 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -18 --8 --31 --49 --56 -12 -45 -50 -17 --8 --31 --49 --57 -11 -44 -50 -17 --9 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --58 -9 -42 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --11 --33 --51 --58 -9 -42 -47 -15 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --60 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -7 -42 -47 -15 --11 --33 --51 --59 -8 -41 -46 -14 --12 --34 --52 --60 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -39 -9 --16 --37 --55 --69 --80 -24 -55 -48 -42 -12 --14 --35 --53 --68 --79 -25 -56 -49 -42 -12 --14 --35 --53 --67 --79 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --53 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --33 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --33 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -18 --8 --31 --49 --56 -12 -46 -50 -18 --8 --31 --49 --56 -11 -44 -50 -16 --9 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -46 -14 --11 --33 --51 --60 -7 -41 -47 -14 --11 --33 --51 --59 -8 -40 -47 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -14 --11 --33 --50 --59 -9 -42 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --60 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --58 -8 -42 -48 -16 --10 --32 --50 --58 -8 -41 -47 -14 --11 --33 --51 --58 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --60 -8 -41 -46 -14 --11 --33 --51 --60 -7 -40 -48 -15 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --60 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -41 -47 -15 --10 --33 --51 --60 -8 -41 -47 -15 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --51 --59 -8 -41 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -39 -10 --16 --36 --55 --69 --80 -22 -54 -48 -41 -11 --15 --36 --54 --68 --80 -24 -55 -48 -42 -12 --14 --35 --53 --68 --79 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --33 --52 --66 --78 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -56 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -27 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -50 -43 -13 --14 --34 --53 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --58 -10 -45 -48 -17 --10 --32 --50 --57 -9 -44 -47 -16 --10 --32 --51 --58 -8 -44 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --33 --51 --59 -8 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -15 --11 --32 --52 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -8 -42 -46 -15 --11 --32 --51 --66 --78 -24 -55 -48 -42 -12 --14 --35 --53 --68 --79 -26 -56 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --53 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -18 --8 --31 --49 --56 -12 -46 -51 -18 --8 --31 --49 --57 -10 -44 -50 -16 --9 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -10 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --58 -8 -42 -48 -15 --10 --32 --50 --58 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -14 --10 --33 --51 --59 -9 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --60 -8 -42 -48 -39 -10 --16 --37 --55 --69 --80 -23 -54 -48 -40 -11 --15 --36 --54 --68 --79 -24 -56 -49 -42 -12 --14 --35 --53 --68 --79 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -56 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -56 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -18 --8 --31 --49 --56 -12 -46 -51 -18 --8 --31 --49 --56 -11 -44 -49 -16 --9 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -10 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -39 -10 --16 --36 --54 --69 --80 -23 -54 -48 -41 -11 --15 --35 --54 --68 --79 -24 -55 -49 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -13 --14 --34 --52 --67 --79 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --14 --34 --52 --67 --78 -25 -56 -50 -43 -13 --14 --34 --53 --67 --79 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --58 -8 -44 -48 -16 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -6 -41 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --59 -8 -42 -46 -15 --11 --32 --51 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --52 --59 -7 -43 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --52 --58 -8 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -14 --12 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --52 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -7 -42 -46 -40 -8 --16 --38 --54 --70 --80 -22 -56 -46 -42 -10 --14 --36 --53 --68 --79 -24 -57 -48 -43 -12 --14 --35 --52 --68 --79 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -44 -12 --13 --35 --52 --68 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --35 --52 --59 -10 -43 -48 -16 --10 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -40 -47 -14 --11 --33 --51 --67 --78 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -19 --8 --30 --49 --56 -10 -46 -49 -18 --9 --30 --50 --56 -10 -45 -48 -18 --10 --31 --50 --57 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --66 --78 -25 -56 -50 -42 -12 --14 --34 --53 --67 --79 -24 -56 -49 -43 -13 --14 --34 --53 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -25 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -57 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -52 -18 --8 --30 --48 --56 -12 -46 -51 -18 --8 --30 --49 --57 -11 -44 -50 -16 --9 --32 --50 --58 -9 -42 -48 -16 --10 --33 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -39 -9 --16 --37 --55 --69 --80 -23 -54 -48 -41 -11 --15 --36 --54 --68 --80 -24 -56 -50 -43 -12 --14 --34 --53 --67 --79 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -25 -57 -50 -43 -13 --14 --34 --53 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --13 --34 --52 --66 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --33 --52 --58 -8 -44 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -9 -44 -48 -16 --10 --32 --50 --57 -9 -44 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --12 --33 --51 --66 --78 -25 -56 -50 -42 -12 --14 --34 --53 --67 --79 -25 -56 -50 -43 -12 --14 --34 --53 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -25 -56 -50 -44 -13 --13 --34 --52 --67 --78 -25 -56 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -52 -44 -13 --13 --34 --52 --67 --78 -27 -58 -50 -44 -14 --13 --34 --52 --58 -9 -45 -48 -18 --9 --31 --50 --57 -8 -44 -47 -16 --10 --32 --51 --58 -8 -44 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --66 --78 -24 -56 -48 -41 -11 --15 --35 --54 --68 --80 -25 -56 -50 -42 -12 --14 --34 --53 --67 --79 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -52 -18 --7 --30 --48 --56 -12 -46 -50 -17 --8 --31 --49 --57 -10 -44 -50 -16 --9 --32 --50 --58 -10 -44 -49 -16 --9 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -8 -41 -47 -15 --11 --33 --51 --58 -9 -42 -46 -14 --11 --33 --51 --60 -7 -42 -47 -15 --11 --33 --51 --59 -7 -42 -48 -39 -10 --16 --37 --55 --69 --80 -22 -54 -48 -41 -11 --15 --36 --54 --68 --80 -25 -56 -50 -43 -12 --14 --34 --53 --68 --79 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --33 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --58 -9 -44 -47 -16 --10 --32 --51 --58 -8 -44 -48 -16 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --66 --78 -25 -56 -49 -42 -12 --14 --35 --53 --68 --79 -25 -56 -50 -43 -13 --14 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --66 --78 -26 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -27 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -25 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -45 -50 -17 --8 --31 --49 --57 -11 -44 -50 -16 --9 --32 --50 --57 -10 -44 -49 -16 --9 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --51 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -47 -15 --11 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -9 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -9 -42 -48 -39 -10 --16 --37 --55 --69 --80 -23 -54 -48 -42 -11 --15 --35 --54 --68 --79 -25 -56 -50 -42 -12 --14 --34 --53 --68 --79 -25 -57 -50 -43 -12 --14 --34 --53 --68 --79 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --58 -8 -44 -48 -16 --10 --32 --50 --57 -9 -44 -47 -16 --10 --32 --50 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --11 --33 --51 --58 -7 -41 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --11 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -45 -15 --12 --33 --52 --58 -8 -42 -46 -15 --12 --33 --51 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -15 --11 --32 --51 --59 -6 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -6 -42 -46 -15 --12 --33 --52 --59 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -8 -42 -46 -16 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --33 --52 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -6 -42 -46 -15 --11 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --52 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --59 -7 -42 -46 -15 --12 --33 --51 --59 -7 -42 -46 -16 --11 --32 --51 --66 --78 -24 -56 -48 -42 -12 --14 --35 --54 --68 --79 -25 -56 -50 -43 -13 --14 --34 --53 --67 --78 -26 -58 -50 -44 -13 --14 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -45 -14 --12 --33 --52 --66 --78 -26 -58 -50 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --14 --34 --52 --67 --78 -27 -58 -52 -44 -14 --13 --34 --52 --66 --78 -27 -58 -52 -44 -14 --12 --34 --52 --66 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --58 -8 -44 -47 -16 --11 --32 --51 --58 -8 -44 -48 -16 --10 --32 --50 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -14 --12 --33 --52 --59 -7 -42 -46 -15 --12 --32 --51 --59 -7 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --52 --59 -7 -42 -46 -16 --11 --32 --51 --59 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --51 --59 -8 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -15 --11 --33 --52 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -40 -8 --16 --38 --55 --70 --80 -22 -56 -48 -42 -11 --14 --36 --53 --68 --79 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -48 -43 -12 --14 --35 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -44 -12 --13 --35 --52 --59 -8 -44 -49 -16 --9 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -14 --10 --33 --51 --59 -8 -42 -47 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --50 --66 --77 -24 -56 -48 -42 -11 --14 --36 --53 --68 --79 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -44 -12 --13 --35 --52 --67 --78 -26 -60 -51 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -12 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -18 --8 --30 --49 --55 -12 -46 -49 -18 --9 --31 --50 --56 -10 -45 -48 -16 --10 --32 --50 --57 -9 -44 -46 -16 --11 --32 --51 --58 -8 -44 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --66 --78 -25 -56 -50 -43 -13 --14 --34 --53 --67 --79 -26 -56 -50 -43 -13 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -13 --14 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -45 -50 -17 --8 --31 --49 --57 -10 -44 -50 -16 --9 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --51 --58 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --11 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --32 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -39 -10 --16 --36 --54 --69 --80 -23 -54 -47 -40 -11 --15 --36 --54 --68 --80 -25 -56 -50 -42 -12 --14 --35 --53 --68 --79 -25 -56 -50 -43 -12 --14 --34 --53 --67 --78 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --79 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -57 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -46 -51 -18 --8 --31 --49 --56 -11 -44 -50 -17 --9 --32 --50 --58 -10 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -39 -9 --16 --37 --55 --69 --80 -22 -54 -48 -41 -11 --15 --36 --54 --68 --80 -24 -56 -49 -43 -12 --14 --34 --53 --67 --79 -25 -56 -50 -42 -12 --14 --35 --53 --68 --79 -25 -56 -50 -43 -12 --14 --34 --53 --67 --79 -26 -58 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --58 -8 -44 -48 -17 --10 --32 --50 --57 -8 -44 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --66 --78 -24 -56 -48 -42 -12 --14 --35 --53 --68 --79 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -25 -56 -50 -43 -13 --14 --34 --52 --67 --79 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --33 --52 --58 -8 -44 -48 -17 --10 --32 --50 --58 -7 -43 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -44 -47 -16 --10 --32 --51 --58 -8 -42 -46 -15 --11 --33 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --66 --78 -24 -56 -49 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -25 -56 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --58 -9 -44 -48 -17 --10 --32 --50 --57 -9 -44 -47 -16 --10 --32 --51 --58 -9 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --32 --51 --58 -7 -42 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --66 --78 -25 -56 -49 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -12 --14 --34 --53 --67 --78 -26 -57 -50 -43 -13 --14 --34 --52 --67 --78 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --58 -9 -44 -48 -16 --10 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -42 -46 -16 --11 --33 --51 --58 -8 -44 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --32 --51 --58 -8 -43 -46 -40 -9 --16 --37 --54 --69 --80 -22 -55 -46 -42 -10 --14 --36 --53 --68 --79 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --59 -10 -43 -48 -16 --9 --32 --50 --58 -8 -42 -48 -16 --10 --32 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -16 --10 --32 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --66 --77 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --32 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --60 -8 -41 -46 -14 --12 --34 --51 --67 --78 -24 -57 -48 -42 -10 --14 --36 --53 --68 --79 -24 -58 -49 -43 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -58 -48 -44 -12 --12 --34 --52 --67 --78 -26 -59 -49 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -49 -45 -13 --12 --34 --52 --67 --78 -26 -58 -49 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --58 -10 -43 -49 -16 --9 --32 --50 --58 -9 -42 -48 -15 --10 --32 --50 --59 -8 -42 -48 -16 --10 --32 --50 --58 -8 -42 -47 -15 --10 --33 --51 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -15 --10 --33 --51 --59 -8 -41 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --60 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --66 --78 -24 -57 -48 -43 -11 --14 --36 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -25 -58 -48 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -60 -50 -44 -12 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --59 -10 -43 -49 -16 --10 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -8 -42 -48 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -47 -15 --10 --33 --51 --59 -8 -40 -46 -14 --11 --34 --51 --60 -7 -40 -46 -14 --11 --33 --51 --60 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --60 -7 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --58 -8 -42 -47 -14 --11 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -9 -42 -47 -15 --10 --33 --51 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --10 --33 --51 --59 -8 -41 -48 -15 --10 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -7 -41 -46 -14 --11 --33 --51 --60 -6 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -7 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -47 -14 --11 --33 --51 --59 -7 -42 -46 -14 --11 --33 --51 --60 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --60 -7 -41 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --32 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --67 --78 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -48 -43 -12 --13 --35 --53 --68 --78 -26 -58 -49 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -19 --8 --30 --49 --55 -12 -46 -50 -19 --8 --30 --49 --56 -10 -44 -48 -17 --10 --31 --50 --57 -8 -43 -47 -16 --10 --32 --50 --58 -7 -43 -47 -16 --10 --32 --51 --58 -8 -42 -46 -15 --11 --33 --51 --59 -6 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --33 --52 --59 -7 -43 -46 -16 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -15 --11 --32 --51 --58 -6 -42 -46 -15 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -41 -45 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --12 --32 --51 --59 -6 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -15 --12 --33 --51 --59 -6 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -40 -8 --16 --38 --54 --70 --80 -23 -56 -47 -42 -10 --14 --36 --53 --69 --79 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --12 --34 --52 --67 --78 -24 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -59 -49 -44 -12 --13 --34 --52 --59 -10 -44 -49 -16 --9 --32 --50 --58 -10 -42 -48 -16 --10 --32 --50 --59 -8 -42 -48 -16 --10 --32 --50 --59 -8 -42 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -16 --10 --32 --50 --58 -8 -41 -46 -14 --11 --33 --51 --60 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -7 -41 -47 -14 --10 --33 --51 --59 -8 -41 -46 -14 --11 --34 --51 --60 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -25 -58 -49 -44 -12 --13 --34 --52 --67 --78 -24 -58 -49 -44 -12 --13 --34 --52 --68 --78 -24 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --35 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --59 -9 -43 -49 -16 --9 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -14 --11 --33 --51 --60 -7 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -24 -58 -48 -43 -12 --14 --35 --52 --68 --78 -24 -58 -50 -44 -12 --13 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -24 -59 -49 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --68 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --12 --35 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -26 -58 -50 -18 --8 --30 --50 --55 -12 -47 -50 -19 --8 --30 --49 --56 -10 -44 -48 -17 --10 --32 --50 --57 -9 -44 -48 -16 --10 --32 --50 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --52 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -6 -41 -46 -15 --11 --33 --51 --59 -6 -42 -46 -15 --11 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --32 --52 --59 -7 -42 -46 -15 --12 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --12 --33 --51 --59 -6 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --59 -6 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --11 --32 --51 --59 -6 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --52 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --66 --78 -25 -56 -49 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -13 --14 --34 --53 --67 --78 -26 -58 -50 -44 -13 --14 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -27 -58 -52 -44 -14 --12 --33 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -45 -50 -17 --9 --31 --50 --58 -10 -44 -48 -16 --10 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -10 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -39 -10 --16 --36 --55 --69 --80 -23 -54 -48 -42 -11 --15 --35 --54 --68 --79 -24 -55 -48 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -25 -56 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --58 -8 -43 -48 -16 --10 --32 --50 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --33 --52 --59 -8 -43 -47 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --52 --59 -7 -42 -46 -40 -8 --16 --37 --54 --70 --80 -22 -56 -47 -42 -11 --14 --36 --53 --68 --79 -24 -57 -48 -43 -12 --14 --35 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --12 --34 --52 --68 --78 -26 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -44 -12 --12 --34 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --35 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --34 --52 --68 --78 -25 -58 -49 -44 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --59 -10 -43 -48 -16 --10 --33 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -8 -43 -48 -16 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -15 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --77 -25 -58 -50 -44 -13 --12 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -18 --9 --30 --49 --55 -11 -46 -49 -18 --9 --30 --50 --57 -10 -45 -48 -18 --10 --31 --50 --57 -9 -44 -48 -16 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -40 -8 --16 --38 --54 --70 --80 -22 -56 -47 -42 -10 --14 --36 --53 --69 --79 -24 -57 -48 -43 -12 --14 --35 --53 --68 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -19 --8 --30 --49 --56 -11 -46 -50 -18 --9 --30 --50 --56 -10 -45 -48 -17 --10 --32 --50 --57 -9 -44 -48 -17 --10 --32 --50 --57 -9 -44 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -7 -42 -46 -40 -8 --16 --37 --54 --70 --80 -23 -56 -46 -42 -10 --14 --36 --53 --68 --79 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --11 --33 --51 --59 -9 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --67 --78 -24 -57 -48 -43 -11 --14 --36 --53 --68 --78 -25 -58 -49 -44 -12 --13 --34 --52 --67 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -18 --9 --30 --49 --56 -12 -46 -50 -18 --8 --30 --49 --56 -10 -44 -48 -17 --10 --32 --50 --57 -8 -44 -47 -16 --10 --32 --51 --58 -8 -44 -48 -16 --10 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -41 -46 -40 -8 --16 --38 --55 --70 --80 -22 -55 -47 -41 -10 --15 --36 --54 --69 --80 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --12 --34 --52 --67 --78 -26 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -24 -58 -50 -44 -12 --12 --34 --52 --67 --78 -24 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --68 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -45 -13 --12 --34 --52 --58 -10 -44 -48 -16 --10 --32 --50 --58 -8 -42 -48 -16 --10 --32 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -16 --10 --32 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --51 --59 -8 -41 -48 -15 --10 --33 --51 --58 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -24 -56 -48 -44 -12 --13 --35 --52 --68 --78 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -44 -13 --13 --34 --52 --68 --78 -26 -60 -50 -46 -14 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -19 --8 --30 --49 --56 -12 -46 -50 -18 --9 --31 --50 --57 -10 -45 -48 -17 --10 --31 --50 --57 -9 -44 -48 -16 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -45 -14 --12 --33 --52 --59 -7 -42 -45 -14 --12 --33 --52 --59 -7 -42 -46 -15 --11 --32 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --12 --32 --52 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -6 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -8 -43 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --51 --59 -7 -42 -46 -15 --11 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --12 --32 --51 --59 -7 -41 -45 -14 --12 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -43 -46 -39 -8 --16 --38 --55 --70 --80 -22 -55 -46 -42 -11 --14 --36 --53 --68 --79 -24 -57 -48 -43 -11 --14 --36 --53 --68 --79 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -45 -12 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -14 --12 --34 --51 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -49 -44 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --51 --67 --78 -25 -58 -49 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --34 --52 --67 --78 -26 -59 -50 -18 --9 --30 --49 --56 -11 -46 -50 -19 --8 --30 --49 --56 -10 -45 -48 -18 --9 --31 --50 --57 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -45 -14 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -6 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --12 --33 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --12 --33 --51 --59 -7 -42 -46 -16 --11 --32 --51 --66 --78 -25 -56 -49 -42 -12 --14 --35 --53 --68 --79 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -25 -56 -50 -43 -12 --14 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -51 -18 --8 --30 --48 --56 -12 -45 -50 -17 --8 --31 --49 --57 -10 -43 -49 -16 --9 --32 --50 --58 -10 -44 -48 -16 --9 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --32 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -38 -9 --17 --37 --55 --69 --80 -23 -54 -48 -41 -11 --15 --36 --54 --68 --79 -25 -57 -50 -43 -12 --14 --34 --53 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --58 -9 -44 -48 -17 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -40 -9 --16 --37 --54 --70 --80 -22 -55 -46 -42 -10 --14 --36 --53 --69 --79 -24 -58 -48 -43 -12 --14 --35 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -49 -44 -12 --13 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -60 -50 -44 -12 --13 --35 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -49 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -10 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -9 -42 -47 -14 --11 --33 --51 --59 -9 -42 -47 -15 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --34 --51 --60 -7 -40 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -48 -15 --10 --33 --51 --59 -8 -41 -48 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --60 -7 -40 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --32 --50 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -7 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -24 -57 -48 -43 -11 --14 --35 --53 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -49 -43 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -44 -12 --13 --34 --52 --68 --78 -26 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -58 -49 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -12 --12 --34 --52 --59 -8 -44 -49 -16 --9 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -8 -41 -48 -16 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --66 --78 -24 -57 -48 -43 -12 --13 --35 --52 --68 --78 -25 -58 -49 -43 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -24 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --51 --67 --78 -26 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -19 --8 --30 --49 --55 -11 -46 -50 -18 --8 --30 --49 --56 -9 -44 -48 -16 --10 --32 --51 --57 -9 -44 -48 -16 --10 --32 --50 --57 -8 -44 -47 -16 --10 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -40 -9 --16 --37 --54 --69 --80 -23 -56 -48 -43 -11 --14 --36 --53 --68 --78 -24 -56 -48 -43 -11 --14 --35 --53 --68 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --67 --78 -24 -58 -50 -43 -12 --13 --35 --52 --68 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --68 --78 -26 -60 -50 -46 -14 --12 --34 --51 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --35 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -19 --8 --30 --49 --55 -12 -46 -50 -19 --8 --30 --49 --56 -9 -44 -48 -16 --10 --32 --50 --57 -8 -44 -48 -16 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -40 -9 --16 --37 --54 --69 --80 -22 -56 -47 -42 -10 --14 --36 --53 --68 --79 -23 -56 -47 -43 -11 --14 --36 --53 --68 --79 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -49 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -19 --8 --30 --49 --56 -11 -46 -48 -18 --9 --31 --50 --57 -9 -44 -48 -17 --10 --32 --50 --58 -8 -44 -48 -16 --10 --32 --51 --58 -8 -44 -48 -16 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -40 -9 --16 --38 --54 --70 --80 -22 -56 -47 -42 -11 --14 --36 --53 --68 --79 -24 -57 -48 -43 -12 --13 --35 --52 --68 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -19 --8 --30 --49 --56 -12 -46 -50 -18 --9 --30 --49 --56 -10 -45 -48 -18 --10 --31 --50 --57 -9 -43 -46 -16 --11 --32 --51 --58 -7 -43 -47 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --66 --78 -25 -56 -49 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -12 --14 --34 --53 --67 --78 -26 -58 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -17 --8 --31 --49 --56 -12 -45 -50 -18 --8 --31 --49 --56 -11 -44 -50 -16 --9 --32 --50 --58 -10 -42 -48 -15 --10 --32 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -39 -10 --16 --36 --54 --69 --80 -24 -54 -48 -41 -11 --15 --35 --54 --68 --80 -24 -56 -50 -42 -12 --14 --35 --54 --68 --79 -26 -57 -50 -43 -13 --14 --34 --53 --67 --79 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -25 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -18 --8 --30 --49 --56 -12 -45 -50 -17 --8 --31 --49 --57 -10 -43 -49 -16 --9 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -43 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -48 -39 -10 --16 --36 --55 --69 --80 -24 -54 -48 -41 -11 --15 --36 --54 --68 --80 -24 -56 -49 -42 -12 --14 --35 --53 --68 --79 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -46 -50 -18 --8 --31 --49 --56 -11 -44 -49 -16 --9 --32 --50 --57 -10 -43 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -40 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -7 -42 -47 -14 --11 --33 --51 --59 -8 -41 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -40 -46 -38 -9 --16 --37 --55 --69 --80 -22 -54 -48 -41 -11 --15 --36 --54 --68 --80 -24 -56 -49 -42 -12 --14 --35 --53 --68 --79 -24 -56 -50 -43 -12 --14 --34 --53 --67 --79 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --33 --52 --66 --78 -26 -58 -50 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -18 --8 --30 --49 --56 -12 -46 -51 -18 --8 --31 --49 --57 -10 -44 -49 -16 --9 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -10 -42 -48 -16 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -48 -14 --11 --33 --51 --58 -9 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --58 -9 -41 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --59 -9 -42 -47 -14 --10 --33 --51 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -41 -46 -14 --11 --34 --51 --60 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -47 -14 --11 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --58 -8 -41 -47 -15 --11 --33 --51 --58 -9 -42 -47 -15 --10 --33 --51 --58 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -7 -41 -47 -15 --10 --33 --51 --60 -8 -41 -46 -14 --11 --34 --51 --59 -8 -42 -46 -14 --11 --33 --51 --60 -8 -42 -47 -14 --11 --33 --51 --60 -7 -42 -47 -14 --11 --33 --51 --60 -7 -41 -47 -14 --11 --33 --51 --60 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -41 -47 -15 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -7 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --60 -7 -42 -48 -39 -10 --16 --36 --54 --68 --80 -23 -54 -48 -41 -11 --15 --36 --54 --68 --80 -24 -56 -48 -42 -12 --14 --35 --53 --67 --79 -26 -56 -50 -43 -13 --14 --34 --52 --67 --79 -26 -58 -50 -43 -12 --14 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --12 --34 --52 --66 --78 -27 -58 -52 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --12 --33 --52 --66 --78 -27 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --12 --33 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --58 -9 -44 -48 -16 --10 --32 --50 --58 -9 -44 -48 -16 --10 --32 --50 --58 -8 -44 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -8 -42 -46 -15 --12 --33 --52 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -42 -46 -15 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --52 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --66 --78 -24 -56 -48 -42 -12 --14 --35 --53 --67 --79 -24 -56 -50 -42 -12 --14 --34 --53 --67 --79 -25 -57 -50 -43 -12 --14 --34 --53 --67 --79 -26 -57 -50 -43 -13 --14 --34 --53 --67 --78 -27 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --12 --33 --52 --66 --78 -26 -57 -50 -18 --8 --31 --49 --56 -12 -46 -51 -18 --8 --30 --49 --57 -10 -44 -49 -16 --10 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --32 --50 --58 -9 -42 -47 -14 --11 --33 --51 --58 -9 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --32 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -39 -10 --16 --36 --54 --69 --80 -23 -55 -48 -41 -11 --14 --35 --54 --68 --80 -24 -56 -48 -42 -12 --14 --35 --53 --67 --79 -25 -56 -50 -43 -12 --14 --34 --53 --67 --79 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -18 --8 --31 --49 --56 -12 -46 -51 -18 --8 --31 --49 --57 -10 -44 -50 -16 --9 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --32 --50 --58 -8 -42 -48 -15 --10 --32 --50 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -39 -10 --16 --36 --55 --69 --80 -23 -54 -48 -41 -11 --15 --36 --54 --68 --80 -24 -56 -50 -42 -12 --14 --34 --53 --67 --79 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -50 -42 -12 --14 --34 --53 --67 --78 -26 -58 -51 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -27 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --58 -9 -44 -48 -16 --10 --32 --50 --57 -9 -44 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -14 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -6 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --52 --59 -7 -42 -46 -15 --11 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --11 --33 --52 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -45 -14 --12 --33 --52 --59 -6 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -15 --11 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -40 -8 --16 --38 --55 --70 --80 -22 -55 -47 -42 -11 --14 --36 --53 --68 --79 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --12 --34 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -43 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -13 --12 --34 --52 --68 --78 -26 -60 -50 -46 -14 --12 --34 --52 --67 --78 -26 -59 -50 -46 -14 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --58 -10 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --67 --77 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -48 -43 -12 --14 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -18 --9 --30 --50 --56 -11 -46 -50 -18 --9 --30 --50 --57 -10 -45 -48 -18 --10 --31 --50 --57 -9 -44 -48 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -7 -42 -46 -16 --11 --32 --51 --66 --78 -25 -56 -50 -43 -12 --14 --34 --53 --67 --79 -25 -56 -50 -43 -12 --14 --34 --53 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -25 -57 -51 -44 -14 --13 --34 --52 --67 --78 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -18 --8 --31 --49 --56 -12 -46 -52 -18 --8 --30 --48 --56 -11 -44 -50 -17 --8 --31 --49 --57 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --51 --58 -8 -42 -47 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -39 -10 --16 --36 --54 --69 --80 -23 -54 -48 -41 -11 --15 --36 --54 --68 --79 -25 -56 -50 -42 -12 --14 --35 --53 --67 --79 -26 -56 -50 -44 -13 --13 --34 --52 --67 --78 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -51 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --58 -9 -44 -48 -16 --10 --32 --51 --58 -8 -44 -48 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --33 --52 --58 -7 -43 -46 -16 --11 --32 --51 --66 --78 -24 -56 -49 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -13 --14 --34 --52 --67 --79 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --58 -9 -44 -48 -17 --10 --31 --50 --57 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -8 -42 -46 -15 --11 --32 --52 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --33 --51 --66 --78 -24 -56 -48 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -25 -57 -50 -43 -13 --14 --34 --52 --67 --78 -26 -57 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -18 --8 --30 --48 --56 -12 -46 -50 -18 --8 --31 --49 --57 -10 -44 -50 -16 --9 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -39 -10 --16 --36 --54 --69 --80 -23 -54 -48 -41 -11 --15 --35 --54 --68 --79 -24 -56 -48 -42 -12 --14 --35 --53 --67 --79 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --58 -9 -44 -48 -16 --10 --32 --50 --58 -8 -44 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --51 --66 --78 -25 -56 -50 -42 -12 --14 --35 --53 --68 --79 -26 -58 -50 -43 -12 --14 --34 --53 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --33 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --66 --78 -26 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -27 -58 -52 -18 --8 --30 --48 --55 -12 -46 -51 -18 --8 --31 --49 --57 -10 -44 -50 -16 --9 --32 --50 --57 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -9 -42 -48 -15 --10 --33 --51 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -7 -41 -46 -14 --11 --34 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -7 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -39 -10 --16 --36 --55 --69 --80 -23 -54 -48 -41 -11 --15 --36 --54 --68 --80 -24 -56 -50 -42 -12 --14 --34 --53 --67 --79 -25 -56 -50 -42 -12 --14 --34 --53 --67 --78 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --58 -9 -44 -48 -16 --10 --32 --51 --58 -8 -44 -48 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -45 -15 --12 --33 --52 --59 -7 -42 -45 -14 --12 --33 --52 --59 -7 -42 -46 -15 --11 --32 --51 --59 -6 -42 -46 -15 --12 --33 --52 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --11 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --59 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -15 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -45 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --59 -8 -42 -46 -16 --11 --32 --51 --59 -6 -42 -46 -16 --11 --33 --52 --59 -7 -42 -46 -15 --11 --33 --51 --58 -7 -42 -46 -16 --11 --32 --51 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --59 -6 -42 -46 -16 --11 --32 --51 --59 -6 -42 -46 -16 --11 --32 --51 --59 -8 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --66 --78 -25 -56 -50 -42 -12 --14 --34 --53 --67 --79 -24 -56 -49 -43 -12 --14 --34 --53 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -12 --14 --34 --52 --67 --78 -26 -57 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -52 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --58 -8 -44 -48 -16 --10 --32 --50 --58 -8 -44 -48 -16 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --12 --32 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --32 --52 --59 -8 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -40 -9 --16 --37 --54 --70 --80 -22 -55 -47 -42 -10 --14 --36 --53 --68 --79 -24 -57 -48 -43 -12 --14 --35 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -58 -50 -44 -12 --13 --34 --52 --68 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --58 -10 -42 -49 -16 --9 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --60 -7 -40 -46 -14 --11 --33 --51 --60 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --10 --33 --51 --58 -8 -42 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --10 --33 --51 --59 -8 -41 -48 -15 --10 --33 --50 --58 -9 -42 -47 -15 --10 --33 --51 --66 --78 -24 -57 -48 -43 -12 --14 --35 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --13 --34 --52 --68 --78 -24 -58 -50 -44 -13 --12 --34 --52 --67 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --13 --34 --52 --68 --78 -25 -59 -50 -19 --8 --30 --49 --55 -12 -46 -50 -18 --8 --30 --49 --56 -10 -44 -48 -18 --10 --31 --50 --57 -10 -44 -48 -17 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --66 --78 -24 -56 -48 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -56 -50 -43 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -56 -50 -44 -13 --13 --34 --52 --67 --78 -25 -57 -50 -42 -12 --14 --34 --53 --68 --79 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --33 --52 --66 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -17 --8 --31 --49 --56 -12 -45 -50 -18 --8 --31 --49 --57 -10 -44 -50 -17 --9 --31 --50 --57 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -16 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -47 -15 --11 --33 --51 --58 -9 -42 -48 -15 --10 --33 --51 --59 -8 -41 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -40 -47 -14 --11 --33 --51 --60 -8 -41 -47 -14 --11 --33 --51 --59 -7 -40 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --32 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --11 --33 --51 --58 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -7 -41 -46 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --32 --50 --58 -9 -42 -47 -14 --11 --33 --51 --58 -9 -42 -48 -15 --10 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -48 -39 -10 --16 --37 --55 --69 --80 -23 -55 -48 -40 -11 --16 --36 --54 --68 --80 -24 -56 -50 -42 -12 --14 --34 --53 --67 --79 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -25 -56 -50 -42 -12 --14 --34 --53 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -27 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -42 -12 --14 --34 --53 --67 --79 -26 -57 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -46 -51 -18 --8 --30 --48 --57 -10 -43 -48 -16 --10 --32 --50 --58 -10 -42 -48 -16 --10 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -14 --10 --33 --51 --58 -8 -42 -48 -15 --10 --33 --51 --59 -9 -42 -48 -40 -10 --16 --36 --54 --69 --80 -23 -54 -48 -42 -11 --15 --35 --54 --68 --79 -25 -56 -50 -42 -12 --14 --34 --53 --67 --78 -26 -57 -50 -43 -13 --14 --34 --53 --67 --79 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --58 -9 -44 -48 -18 --10 --31 --50 --57 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --66 --78 -24 -55 -48 -42 -12 --14 --35 --53 --68 --79 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --14 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -14 --12 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --58 -8 -44 -47 -16 --10 --32 --50 --58 -7 -43 -47 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --59 -8 -42 -46 -15 --11 --32 --51 --66 --78 -24 -56 -50 -42 -12 --14 --34 --53 --67 --79 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -43 -12 --14 --34 --53 --68 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -27 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -13 --13 --34 --52 --58 -9 -44 -48 -17 --10 --31 --50 --58 -8 -44 -48 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --33 --51 --66 --78 -25 -56 -49 -42 -12 --14 --34 --53 --67 --79 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -43 -13 --13 --34 --52 --67 --79 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -50 -44 -14 --13 --34 --52 --58 -9 -44 -48 -17 --10 --32 --50 --57 -9 -44 -48 -16 --10 --32 --51 --58 -8 -44 -48 -16 --10 --32 --51 --58 -8 -42 -46 -15 --11 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --33 --52 --59 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -40 -9 --16 --37 --54 --69 --80 -22 -56 -47 -42 -10 --14 --36 --53 --69 --79 -23 -57 -48 -43 -11 --14 --36 --53 --68 --79 -25 -58 -49 -44 -12 --13 --34 --52 --68 --78 -24 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --34 --52 --58 -10 -43 -48 -16 --10 --32 --50 --58 -10 -44 -48 -16 --9 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -9 -42 -47 -15 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --66 --77 -24 -57 -48 -43 -12 --14 --35 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -24 -57 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --58 -9 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --32 --50 --58 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --67 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --53 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --32 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -47 -14 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -7 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --58 -9 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -14 --11 --33 --51 --66 --77 -24 -57 -48 -43 -12 --14 --35 --53 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -24 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -13 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --13 --35 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -12 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --59 -10 -44 -49 -16 --9 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -40 -47 -14 --11 --33 --51 --59 -7 -40 -47 -15 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -7 -41 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --11 --33 --50 --59 -8 -41 -48 -15 --10 --33 --51 --60 -8 -42 -47 -14 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --51 --59 -7 -40 -46 -14 --11 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -15 --11 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -40 -47 -15 --10 --33 --51 --59 -7 -41 -47 -14 --11 --33 --51 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --32 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --60 -8 -42 -47 -15 --11 --33 --51 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -9 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --51 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --34 --51 --67 --78 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -24 -59 -49 -44 -12 --13 --35 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -49 -44 -12 --12 --34 --52 --68 --78 -26 -59 -49 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -19 --8 --30 --49 --55 -12 -46 -50 -19 --8 --30 --49 --56 -10 -44 -48 -17 --10 --32 --50 --57 -9 -44 -48 -17 --10 --32 --50 --57 -9 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -8 -42 -46 -15 --11 --33 --52 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -45 -14 --12 --33 --52 --59 -6 -41 -45 -15 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --59 -7 -42 -46 -15 --11 --32 --51 --58 -6 -41 -46 -16 --11 --32 --52 --59 -7 -42 -46 -15 --11 --32 --51 --59 -6 -42 -46 -15 --11 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --58 -8 -42 -46 -16 --11 --32 --52 --59 -7 -43 -46 -16 --11 --32 --51 --59 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -39 -8 --16 --38 --54 --70 --80 -22 -56 -47 -42 -10 --14 --36 --54 --68 --79 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -57 -48 -43 -11 --14 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --58 -10 -44 -49 -16 --9 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -16 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --10 --33 --51 --59 -8 -41 -47 -14 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -24 -57 -48 -43 -11 --14 --36 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --53 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --51 --58 -8 -42 -48 -15 --10 --32 --50 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --66 --78 -24 -56 -48 -43 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -44 -13 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --68 --78 -26 -60 -50 -19 --8 --30 --49 --56 -11 -46 -50 -18 --8 --30 --49 --57 -9 -44 -48 -16 --10 --32 --50 --58 -8 -44 -48 -16 --10 --32 --51 --57 -9 -44 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --59 -8 -42 -46 -16 --12 --33 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --52 --59 -7 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -6 -42 -46 -15 --12 --33 --52 --59 -6 -42 -46 -15 --11 --33 --51 --59 -7 -42 -46 -15 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --51 --59 -8 -43 -46 -15 --12 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -44 -47 -16 --10 --32 --51 --58 -7 -42 -47 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -15 --11 --33 --51 --59 -7 -43 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -6 -42 -46 -15 --11 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --11 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --66 --78 -24 -56 -50 -42 -12 --14 --35 --53 --68 --79 -25 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -56 -50 -43 -13 --13 --34 --53 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -25 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -45 -50 -18 --8 --31 --49 --57 -11 -44 -50 -17 --8 --31 --49 --58 -9 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --58 -8 -42 -48 -14 --10 --33 --51 --59 -9 -42 -48 -39 -9 --17 --37 --55 --69 --80 -24 -55 -48 -42 -12 --14 --35 --53 --68 --79 -24 -56 -49 -42 -12 --14 --35 --53 --67 --79 -26 -57 -50 -43 -12 --14 --34 --52 --67 --78 -26 -58 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --14 --34 --53 --58 -8 -44 -48 -16 --10 --32 --50 --57 -9 -44 -48 -17 --10 --32 --50 --58 -9 -44 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -39 -8 --16 --38 --54 --70 --80 -23 -56 -48 -42 -11 --14 --36 --53 --68 --79 -24 -56 -48 -43 -11 --14 --36 --53 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -24 -58 -50 -44 -12 --13 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -13 --12 --34 --52 --67 --78 -26 -60 -50 -44 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -13 --12 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -12 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --12 --34 --52 --68 --78 -24 -57 -50 -44 -12 --13 --35 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --51 --58 -10 -43 -48 -16 --10 --32 --50 --58 -10 -44 -49 -16 --9 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -15 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -41 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -23 -57 -48 -43 -11 --14 --35 --52 --68 --78 -23 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -24 -58 -50 -44 -13 --12 --34 --52 --68 --78 -26 -59 -50 -46 -14 --12 --34 --51 --67 --78 -25 -59 -50 -44 -12 --12 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -25 -58 -49 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -58 -50 -19 --8 --30 --49 --56 -11 -46 -49 -18 --9 --31 --50 --56 -10 -44 -48 -17 --10 --32 --50 --57 -8 -44 -48 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -40 -8 --16 --37 --54 --70 --80 -23 -56 -48 -43 -11 --14 --36 --53 --68 --79 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -57 -49 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --34 --52 --68 --78 -25 -59 -49 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --35 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -19 --8 --30 --49 --55 -11 -46 -49 -18 --9 --31 --50 --56 -10 -46 -49 -18 --9 --31 --50 --57 -10 -44 -48 -16 --10 --32 --50 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --11 --33 --52 --58 -8 -43 -46 -16 --11 --33 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -40 -9 --16 --37 --54 --69 --80 -22 -56 -48 -42 -10 --14 --36 --53 --68 --79 -24 -57 -48 -44 -12 --13 --35 --52 --68 --78 -24 -57 -48 -44 -12 --14 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -44 -13 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --58 -10 -44 -48 -16 --10 --32 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -7 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -23 -56 -48 -43 -12 --14 --35 --53 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --12 --34 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --68 --78 -26 -60 -50 -44 -12 --13 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -49 -18 --9 --30 --50 --55 -12 -46 -50 -19 --9 --30 --49 --56 -10 -45 -48 -18 --10 --31 --50 --57 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -40 -9 --16 --37 --54 --70 --80 -22 -56 -46 -42 -10 --14 --36 --53 --68 --79 -24 -57 -48 -43 -12 --14 --35 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -45 -13 --12 --34 --52 --68 --78 -26 -59 -50 -44 -12 --13 --34 --52 --67 --78 -26 -59 -50 -44 -13 --13 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --68 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --58 -10 -44 -49 -16 --9 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --11 --33 --51 --59 -8 -42 -47 -14 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -9 -42 -47 -14 --11 --33 --51 --59 -8 -40 -46 -14 --11 --34 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -7 -41 -47 -15 --10 --33 --51 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -47 -15 --11 --33 --51 --58 -9 -42 -47 -14 --11 --33 --51 --66 --78 -24 -57 -48 -43 -11 --14 --36 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -60 -50 -46 -14 --12 --34 --51 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -60 -50 -19 --8 --30 --49 --55 -11 -46 -49 -18 --9 --31 --50 --56 -10 -44 -48 -17 --10 --31 --50 --57 -8 -44 -48 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --11 --33 --51 --59 -6 -41 -46 -15 --12 --33 --52 --59 -8 -42 -46 -15 --11 --32 --52 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --51 --58 -7 -42 -46 -16 --11 --32 --52 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -15 --11 --33 --52 --58 -7 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --59 -7 -42 -46 -16 --11 --32 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --58 -7 -42 -46 -15 --12 --33 --52 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -15 --12 --33 --51 --59 -7 -41 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --59 -6 -42 -46 -16 --11 --32 --51 --59 -7 -42 -45 -14 --12 --33 --52 --59 -7 -42 -46 -16 --11 --32 --51 --59 -7 -42 -46 -15 --12 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -8 -44 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --11 --33 --51 --59 -7 -42 -46 -16 --11 --32 --51 --59 -6 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --33 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -40 -9 --16 --37 --54 --69 --80 -22 -55 -47 -42 -10 --14 --36 --53 --68 --79 -24 -57 -48 -43 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --34 --52 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --68 --78 -26 -60 -50 -44 -12 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --67 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -18 --9 --30 --50 --56 -11 -46 -50 -18 --8 --30 --49 --56 -10 -45 -48 -18 --10 --31 --50 --57 -9 -44 -48 -16 --10 --32 --50 --58 -8 -44 -47 -16 --10 --32 --51 --58 -8 -44 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --59 -7 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --33 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --32 --51 --58 -8 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --59 -7 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -42 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --11 --32 --52 --59 -7 -43 -46 -16 --11 --32 --52 --58 -7 -42 -46 -16 --11 --32 --51 --59 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -15 --12 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --33 --51 --66 --78 -25 -56 -48 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -13 --14 --34 --52 --67 --78 -26 -56 -50 -43 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -45 -50 -18 --8 --31 --49 --58 -10 -43 -50 -16 --9 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -41 -47 -15 --11 --33 --51 --59 -8 -41 -47 -15 --10 --33 --51 --58 -9 -43 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -14 --11 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -40 -10 --16 --36 --54 --69 --80 -22 -54 -48 -42 -12 --14 --35 --54 --68 --79 -25 -56 -50 -42 -12 --14 --35 --53 --68 --78 -25 -56 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -50 -42 -12 --14 --34 --53 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -27 -58 -52 -44 -14 --13 --34 --52 --66 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -27 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -27 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -42 -12 --14 --34 --53 --67 --79 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --52 --59 -8 -44 -48 -17 --10 --32 --50 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -42 -47 -16 --11 --32 --51 --58 -7 -43 -46 -16 --10 --32 --51 --58 -8 -43 -46 -15 --12 --33 --52 --59 -7 -42 -46 -15 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -47 -40 -9 --16 --37 --54 --70 --80 -23 -57 -48 -43 -11 --14 --36 --53 --68 --79 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -24 -58 -49 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -24 -57 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -48 -44 -12 --13 --35 --53 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -44 -12 --12 --34 --52 --68 --78 -26 -60 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -60 -50 -45 -13 --12 --34 --52 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -47 -15 --11 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --51 --59 -9 -42 -47 -14 --11 --33 --51 --58 -9 -42 -47 -14 --11 --33 --51 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -48 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -40 -48 -14 --10 --33 --51 --59 -8 -40 -46 -14 --11 --34 --52 --60 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --34 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -9 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -14 --11 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --50 --59 -8 -41 -47 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -48 -15 --10 --33 --50 --58 -9 -42 -47 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --10 --33 --51 --59 -8 -42 -47 -14 --11 --33 --50 --66 --78 -24 -57 -48 -43 -11 --14 --36 --53 --68 --78 -24 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -24 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --12 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -44 -12 --13 --35 --52 --67 --78 -26 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --12 --34 --52 --58 -10 -44 -49 -16 --9 --32 --50 --58 -10 -42 -48 -16 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --66 --77 -24 -56 -48 -43 -12 --14 --35 --53 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -49 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -44 -12 --13 --35 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -50 -19 --8 --30 --49 --55 -12 -46 -50 -18 --9 --30 --50 --56 -10 -45 -48 -18 --10 --31 --50 --57 -9 -43 -47 -16 --10 --32 --51 --58 -9 -44 -47 -16 --10 --32 --51 --58 -7 -42 -46 -15 --12 --33 --52 --59 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -40 -9 --16 --37 --54 --69 --80 -22 -56 -46 -42 -10 --14 --36 --53 --68 --79 -24 -56 -47 -42 -10 --14 --36 --53 --68 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -59 -50 -45 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -58 -50 -44 -12 --12 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -44 -12 --12 --34 --52 --68 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -46 -13 --12 --34 --52 --67 --78 -26 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -45 -13 --12 --34 --52 --67 --78 -24 -57 -50 -44 -12 --13 --35 --52 --67 --78 -25 -58 -50 -44 -12 --12 --34 --52 --68 --78 -25 -58 -48 -44 -12 --12 --34 --52 --67 --78 -24 -58 -50 -18 --8 --30 --49 --56 -11 -46 -49 -18 --9 --30 --50 --56 -9 -44 -48 -17 --10 --32 --50 --57 -9 -44 -48 -17 --10 --32 --50 --57 -9 -44 -48 -16 --10 --32 --51 --58 -9 -44 -47 -16 --10 --32 --51 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -7 -43 -46 -40 -9 --16 --37 --54 --70 --80 -22 -55 -47 -42 -10 --14 --36 --53 --68 --79 -24 -57 -48 -43 -11 --14 --36 --53 --68 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -24 -58 -49 -44 -12 --13 --34 --52 --68 --78 -25 -58 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -26 -58 -49 -44 -12 --12 --35 --52 --67 --78 -25 -58 -48 -45 -13 --12 --34 --52 --67 --78 -24 -58 -50 -44 -12 --13 --34 --52 --67 --78 -25 -58 -50 -44 -12 --13 --35 --52 --68 --78 -26 -60 -51 -19 --8 --30 --49 --55 -12 -47 -50 -19 --8 --30 --49 --56 -10 -44 -48 -17 --10 --32 --50 --57 -8 -44 -48 -16 --10 --32 --50 --58 -8 -44 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -46 -40 -9 --16 --37 --54 --70 --80 -22 -56 -47 -42 -10 --14 --36 --53 --69 --79 -24 -57 -48 -43 -12 --13 --35 --52 --68 --78 -24 -58 -48 -44 -12 --13 --35 --52 --68 --78 -26 -59 -50 -44 -13 --12 --34 --52 --67 --78 -26 -58 -50 -44 -12 --13 --34 --52 --67 --78 -26 -60 -50 -46 -13 --12 --34 --52 --67 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -59 -50 -45 -13 --12 --34 --52 --68 --78 -25 -58 -50 -45 -13 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --12 --34 --52 --67 --78 -26 -59 -50 -44 -12 --13 --34 --52 --68 --78 -26 -59 -50 -45 -13 --12 --34 --52 --67 --78 -25 -58 -49 -18 --9 --30 --50 --56 -11 -46 -50 -18 --8 --30 --49 --56 -10 -45 -48 -17 --10 --31 --50 --57 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --66 --78 -25 -56 -50 -43 -12 --14 --34 --53 --67 --79 -25 -57 -50 -43 -13 --14 --34 --53 --67 --78 -25 -56 -50 -43 -13 --14 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -18 --8 --31 --49 --56 -12 -45 -51 -18 --8 --31 --49 --57 -11 -44 -50 -16 --9 --32 --50 --58 -9 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --51 --58 -9 -42 -48 -16 --10 --32 --50 --58 -8 -42 -47 -14 --11 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -39 -10 --16 --36 --54 --69 --80 -22 -54 -48 -41 -11 --15 --35 --54 --68 --79 -24 -56 -50 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -13 --14 --34 --52 --67 --79 -25 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -18 --8 --31 --49 --56 -12 -45 -50 -17 --8 --31 --49 --57 -10 -43 -49 -16 --9 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -8 -42 -48 -15 --10 --33 --51 --59 -8 -41 -47 -39 -10 --16 --36 --55 --69 --80 -23 -55 -48 -41 -11 --15 --35 --54 --68 --79 -24 -55 -50 -42 -12 --14 --34 --53 --67 --79 -26 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -57 -50 -43 -13 --14 --34 --53 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -18 --8 --31 --49 --56 -12 -45 -50 -16 --9 --31 --50 --58 -10 -43 -48 -16 --10 --32 --50 --58 -9 -42 -48 -16 --10 --32 --50 --58 -9 -42 -47 -15 --10 --33 --50 --59 -7 -42 -48 -16 --10 --32 --50 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -9 -41 -47 -14 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --60 -8 -42 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -38 -9 --17 --37 --55 --69 --80 -23 -54 -48 -41 -11 --15 --36 --54 --68 --80 -24 -56 -49 -42 -12 --14 --34 --53 --67 --79 -25 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -52 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -51 -43 -13 --13 --34 --52 --67 --78 -25 -57 -50 -18 --8 --31 --49 --57 -11 -44 -50 -16 --9 --32 --50 --58 -10 -44 -49 -16 --9 --32 --50 --58 -8 -42 -48 -15 --10 --33 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -9 -43 -48 -16 --10 --32 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -47 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -9 -42 -48 -16 --10 --32 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --58 -9 -42 -48 -15 --10 --33 --50 --58 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -46 -14 --11 --34 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --58 -9 -42 -47 -14 --11 --33 --51 --59 -9 -42 -47 -15 --10 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -15 --11 --33 --51 --59 -8 -42 -47 -14 --11 --33 --51 --59 -9 -42 -47 -14 --11 --33 --51 --58 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -47 -15 --10 --33 --51 --59 -8 -41 -47 -15 --10 --33 --50 --59 -8 -42 -46 -14 --11 --33 --51 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -9 -42 -48 -15 --10 --33 --50 --59 -8 -40 -46 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -46 -14 --11 --33 --51 --59 -8 -41 -48 -15 --11 --33 --51 --58 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -42 -46 -14 --11 --33 --51 --60 -6 -41 -47 -14 --11 --33 --51 --59 -7 -40 -46 -14 --11 --34 --51 --59 -8 -42 -48 -15 --10 --33 --50 --58 -9 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -47 -14 --11 --33 --51 --59 -8 -42 -48 -15 --10 --33 --51 --59 -8 -42 -48 -15 --10 --33 --50 --59 -8 -41 -48 -15 --10 --33 --51 --59 -8 -42 -47 -39 -10 --16 --37 --55 --69 --80 -24 -55 -48 -41 -11 --15 --35 --54 --68 --79 -24 -56 -49 -42 -12 --14 --35 --53 --68 --79 -26 -57 -50 -43 -13 --13 --34 --52 --67 --78 -25 -57 -50 -44 -14 --13 --34 --52 --67 --78 -25 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --66 --78 -26 -58 -50 -43 -13 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -25 -56 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --12 --34 --52 --66 --78 -26 -57 -50 -44 -13 --13 --34 --52 --67 --78 -26 -58 -50 -44 -14 --13 --34 --52 --67 --78 -27 -58 -51 -44 -14 --13 --34 --52 --67 --78 -26 -58 -51 -44 -14 --12 --34 --52 --58 -10 -45 -48 -17 --10 --31 --50 --57 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -42 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --12 --32 --51 --59 -7 -42 -46 -16 --11 --32 --51 --59 -7 -42 -45 -14 --12 --33 --52 --59 -6 -42 -46 -15 --11 --33 --51 --59 -7 -42 -46 -15 --12 --33 --52 --59 -7 -43 -46 -15 --11 --32 --51 --59 -6 -43 -46 -16 --11 --32 --51 --58 -7 -42 -46 -15 --11 --33 --52 --58 -8 -43 -47 -16 --11 --32 --51 --58 -8 -43 -47 -16 --10 --32 --51 --58 -8 -43 -46 -16 --11 --32 --51 --58 -8 -42 From 7eefddcc58dbb011617918fefe44666a4fc68482 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 31 Dec 2014 15:24:37 -0500 Subject: [PATCH 042/133] Revert "problems creating pull request with the new traces" This reverts commit e33b652c535be95344724728a0b9dd1f3cf87587. --- traces/Casi-12ed825c29.pm3 | 16000 +++++++++++ traces/EM4102-Fob.pm3 | 40000 ++++++++++++++++++++++++++++ traces/indala-504278295.pm3 | 20000 ++++++++++++++ traces/ioProx-XSF-01-BE-03011.pm3 | 16000 +++++++++++ traces/ioprox-XSF-01-3B-44725.pm3 | 40000 ++++++++++++++++++++++++++++ 5 files changed, 132000 insertions(+) create mode 100644 traces/Casi-12ed825c29.pm3 create mode 100644 traces/EM4102-Fob.pm3 create mode 100644 traces/indala-504278295.pm3 create mode 100644 traces/ioProx-XSF-01-BE-03011.pm3 create mode 100644 traces/ioprox-XSF-01-3B-44725.pm3 diff --git a/traces/Casi-12ed825c29.pm3 b/traces/Casi-12ed825c29.pm3 new file mode 100644 index 000000000..d49c13a2e --- /dev/null +++ b/traces/Casi-12ed825c29.pm3 @@ -0,0 +1,16000 @@ +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +115 +104 +62 +24 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +111 +104 +99 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +94 +89 +84 +76 +71 +64 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +27 +23 +22 +19 +18 +16 +15 +13 +13 +10 +-20 +-46 +-66 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +114 +80 +78 +74 +70 +63 +59 +53 +50 +45 +42 +38 +4 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +60 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +110 +104 +97 +88 +83 +75 +70 +64 +60 +54 +52 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +79 +72 +68 +62 +59 +52 +49 +45 +42 +38 +36 +32 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +120 +85 +84 +79 +75 +68 +63 +57 +53 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +125 +90 +88 +84 +79 +71 +67 +60 +57 +51 +48 +43 +9 +-21 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +90 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +31 +28 +-5 +-33 +-55 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +121 +86 +85 +80 +76 +68 +64 +58 +55 +49 +46 +42 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +88 +83 +76 +71 +65 +60 +55 +52 +46 +44 +39 +37 +33 +31 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +85 +84 +79 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +71 +67 +60 +56 +51 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-8 +-34 +-56 +-74 +-89 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +112 +110 +104 +99 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +94 +89 +84 +75 +70 +64 +60 +55 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +56 +19 +-11 +-37 +-58 +-77 +-91 +-104 +-98 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +109 +108 +102 +96 +87 +82 +74 +70 +63 +60 +54 +51 +45 +43 +38 +37 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +12 +-18 +-44 +-65 +-84 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +82 +74 +70 +63 +59 +53 +51 +46 +44 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +53 +50 +45 +42 +38 +35 +32 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +94 +87 +81 +74 +70 +63 +60 +54 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +63 +59 +54 +50 +45 +42 +38 +36 +32 +30 +27 +-5 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +120 +85 +85 +80 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +46 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +75 +71 +64 +61 +55 +19 +-13 +-38 +-61 +-79 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +11 +-20 +-44 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +50 +45 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +92 +91 +86 +81 +72 +68 +62 +58 +53 +50 +45 +42 +37 +36 +31 +30 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +49 +44 +42 +38 +35 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +59 +21 +-9 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +110 +108 +102 +97 +88 +81 +74 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +23 +20 +19 +16 +16 +13 +-17 +-44 +-65 +-83 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +85 +80 +72 +69 +62 +58 +53 +50 +45 +42 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +59 +21 +-9 +-35 +-57 +-75 +-90 +-103 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +104 +97 +88 +83 +75 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +64 +59 +54 +51 +46 +11 +-20 +-44 +-65 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +92 +91 +86 +82 +73 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +3 +127 +127 +127 +115 +80 +79 +74 +70 +63 +59 +52 +50 +45 +42 +37 +3 +-26 +-49 +-70 +-87 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +124 +88 +87 +83 +78 +70 +65 +59 +56 +51 +47 +43 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +89 +84 +79 +72 +67 +60 +57 +51 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +90 +85 +80 +71 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +92 +91 +85 +81 +73 +68 +62 +59 +52 +49 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +85 +81 +72 +68 +61 +58 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +90 +84 +79 +72 +67 +61 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +61 +23 +-7 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +94 +89 +84 +75 +70 +64 +61 +55 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +12 +12 +10 +-19 +-46 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +7 +127 +127 +127 +115 +80 +79 +75 +70 +63 +59 +53 +51 +45 +42 +38 +5 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +111 +102 +60 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +110 +109 +103 +97 +88 +82 +75 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +30 +28 +26 +23 +22 +19 +18 +16 +15 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +79 +72 +69 +62 +59 +53 +49 +44 +42 +38 +35 +31 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +86 +85 +79 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +57 +52 +48 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +89 +84 +80 +72 +67 +61 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +76 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +56 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +89 +84 +77 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +85 +84 +79 +75 +67 +63 +56 +54 +48 +45 +41 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +71 +66 +60 +56 +51 +48 +43 +9 +-22 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +104 +97 +88 +82 +75 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +-19 +-45 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +57 +19 +-10 +-37 +-58 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +109 +108 +102 +96 +87 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +25 +22 +21 +19 +17 +15 +14 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +33 +31 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +102 +96 +88 +82 +75 +70 +63 +60 +54 +51 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +94 +86 +81 +74 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-34 +-56 +-76 +-92 +-106 +-101 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +120 +85 +84 +79 +74 +67 +62 +56 +53 +48 +46 +41 +6 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +110 +104 +98 +89 +83 +75 +71 +65 +61 +54 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +11 +-20 +-44 +-66 +-82 +-98 +-110 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +85 +81 +72 +67 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +90 +85 +81 +72 +67 +61 +58 +52 +50 +44 +42 +38 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +84 +80 +73 +69 +62 +58 +52 +49 +45 +42 +37 +35 +31 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +84 +79 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +61 +23 +-8 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +109 +108 +102 +96 +86 +81 +73 +69 +62 +59 +52 +49 +44 +42 +37 +35 +31 +29 +25 +24 +22 +20 +17 +16 +14 +13 +11 +-19 +-45 +-66 +-84 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +80 +74 +69 +62 +59 +53 +51 +45 +43 +38 +36 +32 +31 +27 +-5 +-33 +-56 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +59 +21 +-9 +-35 +-57 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +111 +109 +103 +97 +88 +83 +75 +71 +64 +61 +54 +18 +-13 +-38 +-61 +-79 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +94 +89 +84 +76 +70 +64 +60 +55 +51 +45 +11 +-19 +-44 +-66 +-83 +-98 +-110 +-104 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +57 +53 +50 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +80 +79 +75 +71 +63 +59 +53 +50 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +125 +89 +88 +83 +78 +71 +66 +59 +56 +51 +47 +42 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +57 +52 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +85 +81 +72 +67 +61 +58 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +84 +79 +72 +66 +60 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +90 +85 +81 +72 +67 +61 +58 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +104 +98 +88 +83 +75 +71 +64 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +-19 +-45 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +79 +79 +74 +70 +63 +59 +53 +50 +45 +43 +38 +5 +-25 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +109 +103 +97 +88 +82 +75 +70 +64 +60 +54 +51 +45 +43 +39 +37 +32 +30 +27 +26 +23 +21 +19 +18 +15 +14 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +108 +99 +93 +85 +80 +72 +68 +61 +58 +53 +50 +45 +42 +37 +35 +31 +29 +26 +-5 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +84 +79 +75 +67 +63 +56 +53 +48 +45 +40 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +71 +67 +61 +57 +52 +48 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +89 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +76 +72 +64 +61 +55 +52 +47 +44 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +44 +40 +38 +33 +32 +29 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +88 +83 +79 +71 +66 +60 +56 +51 +48 +43 +9 +-21 +-46 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +110 +103 +97 +88 +82 +75 +71 +64 +60 +54 +18 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +59 +54 +51 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +57 +20 +-10 +-36 +-57 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +109 +108 +102 +96 +88 +82 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +32 +30 +27 +26 +22 +21 +19 +17 +15 +15 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +85 +80 +72 +68 +62 +58 +53 +50 +45 +42 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +102 +96 +88 +83 +75 +71 +65 +61 +55 +52 +47 +44 +40 +37 +34 +31 +29 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +94 +86 +81 +73 +69 +62 +59 +53 +50 +45 +42 +38 +35 +31 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +32 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +10 +127 +127 +127 +120 +85 +84 +79 +74 +67 +62 +56 +54 +48 +45 +40 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +75 +71 +65 +61 +55 +19 +-13 +-38 +-60 +-78 +-94 +-106 +-101 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +94 +89 +84 +76 +71 +64 +60 +55 +51 +46 +11 +-19 +-44 +-65 +-82 +-98 +-109 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +91 +90 +84 +80 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +14 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +85 +84 +80 +75 +67 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +46 +127 +127 +127 +127 +112 +110 +104 +98 +88 +83 +75 +71 +63 +60 +54 +51 +46 +43 +38 +36 +32 +30 +27 +26 +22 +21 +18 +17 +14 +14 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +60 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +110 +109 +103 +97 +87 +82 +74 +69 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +95 +93 +88 +84 +76 +70 +63 +60 +55 +51 +46 +11 +-19 +-44 +-65 +-82 +-98 +-109 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +49 +45 +42 +37 +35 +32 +30 +27 +25 +22 +21 +18 +17 +15 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +4 +127 +127 +127 +115 +80 +79 +74 +70 +63 +59 +52 +49 +45 +43 +38 +4 +-26 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +125 +90 +88 +84 +79 +71 +67 +60 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +127 +91 +90 +85 +80 +72 +68 +61 +57 +52 +49 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +90 +90 +84 +80 +71 +66 +61 +57 +51 +49 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +85 +81 +73 +68 +62 +58 +52 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +103 +97 +88 +83 +75 +71 +64 +60 +54 +18 +-14 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +-20 +-46 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +3 +127 +127 +127 +115 +80 +79 +74 +70 +63 +59 +53 +51 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +99 +89 +83 +75 +71 +65 +61 +55 +51 +47 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +-17 +-44 +-65 +-83 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +44 +42 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +84 +80 +75 +67 +63 +56 +53 +48 +46 +40 +6 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +71 +67 +60 +57 +51 +48 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +90 +84 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +71 +65 +61 +55 +51 +47 +44 +40 +37 +33 +31 +27 +-5 +-33 +-56 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +56 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +71 +67 +60 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +44 +39 +37 +34 +32 +28 +-4 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +86 +85 +81 +76 +68 +63 +58 +55 +50 +47 +42 +8 +-22 +-46 +-68 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +61 +22 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +110 +104 +98 +89 +83 +75 +71 +64 +60 +54 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +60 +54 +51 +46 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +57 +19 +-10 +-37 +-58 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +41 +127 +127 +127 +127 +110 +109 +102 +97 +88 +82 +75 +70 +63 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +15 +15 +13 +-18 +-44 +-65 +-83 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +96 +88 +83 +75 +71 +64 +60 +54 +51 +45 +43 +39 +36 +32 +31 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +85 +85 +79 +75 +68 +63 +57 +54 +48 +45 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +109 +103 +97 +88 +82 +75 +71 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-94 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +94 +88 +83 +75 +70 +63 +60 +54 +52 +46 +11 +-19 +-43 +-65 +-82 +-98 +-110 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +90 +85 +81 +72 +67 +62 +58 +52 +49 +45 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +85 +80 +72 +67 +62 +58 +52 +50 +45 +42 +38 +35 +31 +30 +27 +-5 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +76 +68 +63 +57 +54 +49 +47 +42 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +98 +89 +84 +76 +71 +65 +61 +55 +52 +47 +45 +40 +37 +34 +32 +29 +27 +23 +23 +20 +19 +16 +15 +13 +-17 +-44 +-65 +-83 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +91 +83 +78 +71 +66 +59 +56 +51 +48 +43 +40 +35 +34 +30 +28 +25 +-7 +-35 +-57 +-77 +-93 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +59 +22 +-9 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +99 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +87 +83 +75 +69 +63 +59 +54 +51 +45 +11 +-20 +-44 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +72 +68 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +12 +9 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +3 +127 +127 +127 +115 +80 +79 +74 +70 +62 +59 +53 +50 +45 +42 +38 +4 +-26 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +15 +127 +127 +127 +125 +89 +88 +83 +78 +71 +66 +60 +57 +51 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +85 +81 +73 +68 +61 +58 +53 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +80 +72 +68 +61 +58 +52 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +71 +67 +60 +56 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +127 +92 +90 +85 +80 +72 +68 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +99 +88 +83 +75 +71 +65 +61 +54 +18 +-13 +-39 +-61 +-78 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +43 +39 +36 +32 +31 +27 +25 +23 +22 +19 +18 +15 +15 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +79 +79 +74 +70 +62 +59 +53 +50 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +103 +61 +22 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +99 +89 +83 +75 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +32 +28 +27 +24 +23 +20 +19 +16 +15 +13 +-17 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +42 +38 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +84 +79 +75 +67 +62 +57 +54 +48 +45 +40 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +56 +52 +49 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +127 +91 +89 +85 +80 +72 +67 +61 +57 +52 +49 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-4 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +56 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +79 +71 +67 +60 +56 +51 +48 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +33 +32 +28 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +58 +54 +49 +46 +42 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +126 +91 +90 +85 +79 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +103 +97 +89 +83 +75 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +59 +54 +51 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +18 +17 +15 +15 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +57 +19 +-11 +-37 +-58 +-76 +-91 +-104 +-98 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +42 +127 +127 +127 +127 +109 +108 +102 +96 +87 +81 +74 +70 +63 +60 +54 +51 +46 +43 +38 +37 +33 +30 +28 +26 +23 +22 +19 +18 +15 +15 +13 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +35 +32 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +45 +43 +38 +36 +32 +31 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +103 +96 +88 +83 +76 +71 +65 +61 +55 +52 +47 +44 +40 +38 +34 +32 +29 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +50 +44 +42 +38 +35 +31 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +120 +85 +84 +79 +74 +67 +62 +56 +53 +48 +46 +40 +6 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +23 +-8 +-34 +-56 +-74 +-89 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +109 +103 +97 +88 +82 +75 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +53 +51 +45 +11 +-20 +-44 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +58 +53 +50 +45 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +92 +90 +86 +81 +73 +68 +61 +58 +53 +50 +45 +42 +38 +35 +31 +30 +26 +25 +22 +20 +18 +18 +15 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +35 +31 +30 +27 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +86 +84 +80 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +62 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +75 +71 +64 +61 +54 +51 +46 +44 +39 +37 +33 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +-17 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +68 +61 +58 +52 +49 +44 +42 +38 +35 +31 +29 +26 +-6 +-34 +-57 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +57 +19 +-10 +-37 +-58 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +110 +104 +98 +88 +83 +75 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-79 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +96 +94 +90 +85 +77 +71 +64 +61 +55 +52 +47 +12 +-19 +-43 +-65 +-82 +-98 +-109 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +85 +81 +73 +68 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +17 +15 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +80 +79 +75 +70 +63 +59 +53 +50 +46 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +125 +89 +89 +84 +79 +70 +65 +60 +56 +51 +48 +43 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +85 +81 +72 +68 +61 +59 +53 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +84 +79 +71 +66 +60 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +21 +127 +127 +127 +127 +91 +90 +85 +80 +72 +68 +61 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +76 +71 +64 +60 +55 +19 +-13 +-38 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +84 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +4 +127 +127 +127 +115 +79 +78 +74 +69 +62 +58 +52 +49 +45 +42 +38 +4 +-26 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +76 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +-18 +-44 +-65 +-84 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +100 +93 +86 +81 +73 +69 +62 +59 +53 +50 +45 +42 +37 +35 +32 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +85 +84 +79 +75 +67 +62 +56 +53 +48 +45 +40 +6 +-24 +-47 +-69 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +89 +88 +83 +79 +71 +66 +60 +56 +51 +48 +43 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +83 +76 +72 +65 +61 +55 +52 +46 +43 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +86 +86 +80 +75 +68 +63 +57 +53 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +90 +89 +84 +79 +72 +67 +60 +57 +52 +49 +43 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-4 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +121 +86 +85 +80 +76 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +85 +79 +72 +67 +61 +57 +52 +48 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +62 +24 +-7 +-33 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +47 +127 +127 +127 +127 +112 +110 +104 +97 +88 +82 +75 +70 +64 +60 +54 +18 +-14 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +83 +75 +70 +63 +59 +54 +51 +46 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +57 +19 +-11 +-37 +-58 +-77 +-91 +-104 +-98 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +109 +108 +102 +96 +87 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +12 +-18 +-44 +-65 +-84 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +85 +80 +73 +69 +63 +59 +53 +50 +45 +42 +37 +35 +32 +30 +27 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +74 +69 +63 +59 +54 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +31 +28 +-5 +-33 +-55 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +55 +52 +47 +44 +39 +37 +33 +31 +28 +-5 +-33 +-55 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +120 +84 +84 +78 +73 +65 +61 +56 +53 +47 +45 +40 +6 +-24 +-48 +-69 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +111 +109 +104 +97 +88 +82 +75 +71 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +94 +93 +88 +83 +74 +69 +63 +59 +54 +50 +45 +10 +-20 +-44 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +91 +90 +86 +81 +72 +67 +61 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +90 +85 +81 +73 +68 +61 +58 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +42 +38 +35 +32 +30 +26 +-6 +-34 +-57 +-77 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +15 +127 +127 +127 +120 +85 +84 +79 +75 +67 +62 +56 +54 +48 +46 +40 +6 +-24 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +46 +127 +127 +127 +127 +112 +111 +105 +99 +90 +84 +76 +72 +65 +61 +55 +52 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +19 +18 +16 +15 +13 +-17 +-44 +-65 +-83 +-98 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +68 +63 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +-5 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +58 +20 +-10 +-36 +-57 +-76 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +41 +127 +127 +127 +127 +108 +106 +100 +95 +86 +80 +73 +68 +61 +58 +52 +16 +-15 +-40 +-62 +-80 +-95 +-108 +-103 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +95 +93 +88 +84 +76 +71 +64 +61 +55 +52 +47 +12 +-19 +-43 +-65 +-82 +-98 +-110 +-104 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +93 +92 +87 +82 +74 +69 +63 +59 +54 +51 +45 +42 +38 +36 +32 +31 +27 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +4 +127 +127 +127 +114 +79 +78 +73 +69 +61 +57 +52 +49 +44 +42 +37 +4 +-26 +-49 +-70 +-87 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +125 +89 +88 +83 +79 +71 +65 +59 +56 +51 +48 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +60 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +50 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +53 +49 +44 +10 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +90 +89 +85 +80 +72 +67 +60 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +91 +90 +85 +81 +72 +67 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-8 +-34 +-56 +-75 +-89 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +46 +127 +127 +127 +127 +111 +110 +104 +97 +88 +83 +75 +71 +64 +61 +55 +19 +-13 +-38 +-61 +-78 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +93 +89 +84 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +32 +30 +28 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +6 +127 +127 +127 +115 +79 +79 +74 +69 +62 +58 +52 +50 +44 +42 +38 +4 +-26 +-49 +-70 +-87 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +103 +61 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +110 +103 +97 +88 +83 +75 +71 +64 +61 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +24 +22 +19 +18 +15 +15 +13 +-17 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +110 +100 +94 +86 +81 +73 +69 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +86 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +70 +65 +60 +56 +51 +48 +43 +9 +-21 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +60 +56 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +121 +85 +84 +79 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +71 +66 +61 +57 +51 +49 +44 +9 +-21 +-45 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +76 +72 +65 +61 +55 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +85 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +126 +90 +89 +84 +80 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +111 +105 +99 +89 +84 +76 +71 +65 +61 +56 +19 +-13 +-38 +-60 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +24 +127 +127 +127 +127 +95 +94 +88 +83 +75 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +30 +27 +26 +22 +22 +18 +17 +15 +14 +12 +12 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +57 +19 +-11 +-37 +-58 +-76 +-91 +-104 +-98 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +109 +107 +102 +96 +87 +82 +74 +69 +63 +59 +54 +51 +45 +43 +38 +36 +32 +31 +27 +26 +22 +21 +18 +17 +15 +14 +12 +-18 +-44 +-65 +-84 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +69 +62 +58 +52 +49 +45 +42 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +74 +70 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +82 +74 +70 +63 +60 +54 +51 +45 +42 +38 +36 +33 +31 +27 +-5 +-33 +-55 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +87 +82 +75 +71 +64 +61 +55 +52 +47 +44 +39 +38 +34 +32 +29 +-4 +-32 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +123 +86 +86 +81 +77 +69 +64 +58 +55 +49 +47 +42 +7 +-23 +-46 +-68 +-85 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +102 +60 +22 +-8 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +111 +109 +104 +97 +88 +83 +75 +71 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +46 +11 +-19 +-44 +-65 +-83 +-98 +-110 +-104 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +51 +48 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +29 +25 +24 +22 +21 +18 +17 +14 +14 +12 +11 +10 +-20 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +80 +72 +69 +62 +59 +53 +50 +45 +42 +37 +35 +32 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +120 +86 +84 +79 +75 +67 +63 +57 +53 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +61 +23 +-7 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +45 +127 +127 +127 +127 +112 +110 +104 +99 +90 +84 +75 +71 +64 +61 +55 +52 +47 +45 +40 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +-17 +-44 +-65 +-83 +-98 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +72 +69 +62 +58 +52 +49 +44 +42 +38 +35 +32 +30 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-101 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +60 +21 +-9 +-35 +-56 +-75 +-90 +-103 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +109 +108 +102 +96 +87 +82 +74 +69 +62 +58 +53 +17 +-14 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +72 +67 +60 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +58 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +21 +18 +18 +16 +15 +13 +13 +10 +-19 +-46 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +80 +79 +75 +70 +63 +59 +53 +50 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-112 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +16 +127 +127 +127 +124 +88 +87 +82 +78 +70 +65 +59 +56 +51 +47 +43 +8 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +126 +90 +89 +84 +80 +72 +67 +61 +57 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +17 +127 +127 +127 +127 +92 +90 +85 +80 +72 +68 +62 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +91 +90 +85 +80 +72 +67 +61 +58 +52 +49 +45 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +20 +127 +127 +127 +127 +92 +91 +86 +81 +72 +68 +62 +57 +52 +50 +45 +10 +-20 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +62 +58 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +84 +79 +71 +67 +60 +57 +51 +49 +43 +9 +-22 +-46 +-67 +-84 +-99 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +110 +104 +97 +89 +83 +75 +71 +64 +60 +54 +18 +-14 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +22 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +-19 +-45 +-66 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +5 +127 +127 +127 +115 +79 +79 +74 +69 +62 +58 +53 +50 +45 +43 +38 +4 +-25 +-49 +-70 +-86 +-101 +-97 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +103 +60 +22 +-8 +-35 +-56 +-75 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +109 +103 +97 +88 +83 +75 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +22 +21 +19 +18 +15 +15 +13 +-17 +-44 +-65 +-83 +-98 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +93 +86 +81 +73 +68 +62 +59 +53 +50 +45 +43 +38 +35 +31 +30 +27 +-5 +-33 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +14 +127 +127 +127 +120 +85 +85 +80 +75 +68 +63 +57 +54 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +126 +90 +89 +84 +79 +72 +67 +61 +57 +52 +49 +43 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +90 +85 +80 +71 +66 +60 +57 +52 +49 +44 +9 +-21 +-45 +-67 +-83 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +88 +83 +76 +71 +65 +61 +55 +52 +47 +43 +40 +37 +33 +31 +28 +-4 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +13 +127 +127 +127 +120 +85 +85 +80 +75 +67 +63 +57 +54 +48 +46 +40 +6 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +83 +79 +71 +67 +60 +57 +51 +48 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +76 +72 +65 +61 +54 +52 +47 +44 +40 +37 +33 +31 +28 +-5 +-33 +-55 +-75 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +121 +85 +85 +80 +75 +67 +63 +57 +53 +48 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +125 +90 +89 +84 +79 +71 +67 +60 +56 +51 +48 +44 +9 +-21 +-45 +-67 +-84 +-99 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +112 +110 +104 +98 +89 +83 +76 +71 +65 +61 +55 +19 +-13 +-38 +-61 +-78 +-94 +-106 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +27 +127 +127 +127 +127 +95 +94 +89 +84 +76 +71 +64 +61 +54 +52 +47 +44 +40 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +-20 +-46 +-67 +-85 +-99 +-112 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +56 +19 +-11 +-37 +-58 +-77 +-91 +-104 +-98 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +41 +127 +127 +127 +127 +109 +108 +102 +96 +87 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +37 +32 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +-18 +-44 +-65 +-84 +-98 +-112 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +108 +98 +93 +85 +80 +72 +68 +61 +58 +52 +49 +44 +41 +37 +35 +31 +29 +26 +-6 +-34 +-56 +-76 +-92 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +82 +74 +69 +63 +60 +54 +50 +46 +43 +39 +36 +32 +31 +28 +-5 +-33 +-55 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +12 +127 +127 +127 +121 +86 +86 +81 +77 +69 +65 +58 +56 +50 +47 +42 +8 +-22 +-46 +-68 +-84 +-99 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +61 +23 +-7 +-34 +-55 +-74 +-89 +-102 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +44 +127 +127 +127 +127 +110 +109 +102 +97 +87 +81 +74 +70 +64 +60 +54 +18 +-13 +-39 +-61 +-79 +-95 +-107 +-102 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +23 +127 +127 +127 +127 +94 +93 +88 +83 +75 +70 +63 +60 +54 +51 +45 +11 +-20 +-44 +-66 +-83 +-98 +-110 +-104 +-112 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +18 +127 +127 +127 +127 +92 +91 +86 +81 +73 +68 +61 +58 +52 +49 +44 +10 +-21 +-45 +-66 +-83 +-98 +-110 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +19 +127 +127 +127 +126 +90 +89 +85 +79 +71 +67 +60 +57 +51 +49 +43 +41 +36 +35 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +-21 +-46 +-67 +-85 +-100 +-113 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +42 +38 +35 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-106 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +11 +127 +127 +127 +120 +85 +85 +80 +75 +68 +63 +57 +54 +49 +46 +41 +7 +-23 +-47 +-68 +-85 +-100 +-111 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +61 +23 +-7 +-34 +-56 +-74 +-89 +-103 +-97 +-106 +-128 +-128 +-128 +-128 +-128 +-128 +43 +127 +127 +127 +127 +111 +110 +104 +98 +89 +83 +75 +71 +64 +61 +55 +51 +46 +44 +39 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +-18 +-44 +-65 +-83 +-98 +-111 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-5 +-33 +-56 +-76 +-91 +-105 +-100 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 diff --git a/traces/EM4102-Fob.pm3 b/traces/EM4102-Fob.pm3 new file mode 100644 index 000000000..1fb16070d --- /dev/null +++ b/traces/EM4102-Fob.pm3 @@ -0,0 +1,40000 @@ +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +71 +50 +27 +7 +-8 +-16 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-12 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-14 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-15 +-14 +-13 +-12 +-13 +-12 +20 +73 +89 +89 +71 +50 +27 +7 +-8 +-17 +-20 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +71 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-19 +-19 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-11 +-8 +-3 +-2 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-21 +-18 +-18 +-16 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +20 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-9 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +90 +88 +71 +50 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-20 +-20 +-17 +-12 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-66 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +72 +51 +27 +9 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +89 +71 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-11 +-9 +-10 +-10 +-11 +-10 +-10 +-11 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-17 +-17 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +18 +72 +89 +88 +71 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-13 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-15 +-14 +-13 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-64 +-47 +-31 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-10 +22 +75 +91 +90 +74 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-82 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +88 +71 +50 +27 +8 +-7 +-17 +-20 +-19 +-18 +-12 +-8 +-4 +-1 +1 +1 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-35 +-72 +-99 +-98 +-86 +-67 +-49 +-33 +-24 +-17 +-14 +-14 +-16 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +21 +76 +92 +90 +74 +53 +28 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-5 +-6 +-6 +-6 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +72 +50 +27 +7 +-9 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +8 +-7 +-17 +-20 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-72 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-17 +-18 +-19 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +-1 +-1 +-1 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-3 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-74 +-98 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +7 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-5 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-64 +-47 +-31 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-16 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +21 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +74 +90 +88 +72 +50 +26 +7 +-7 +-16 +-20 +-20 +-17 +-13 +-8 +-3 +-2 +1 +0 +-1 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-36 +-73 +-99 +-99 +-85 +-66 +-49 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-22 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-9 +-10 +-10 +22 +75 +91 +91 +73 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-2 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-8 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-36 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-16 +-15 +-14 +-16 +-18 +-20 +-20 +-22 +-20 +-20 +-18 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +88 +71 +51 +27 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-23 +-15 +-13 +-14 +-15 +-16 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +87 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +1 +0 +-1 +-2 +-2 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +89 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-9 +-4 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-6 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-13 +-14 +-14 +-14 +-13 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-3 +-5 +-5 +-5 +-7 +-6 +-6 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-8 +-4 +-2 +-1 +-1 +-1 +-1 +-3 +-4 +-4 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-14 +-14 +-13 +-13 +-13 +-13 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +22 +75 +92 +91 +73 +52 +28 +9 +-6 +-14 +-19 +-18 +-16 +-11 +-8 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-6 +-5 +-6 +-6 +-6 +-5 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-84 +-66 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-17 +-19 +-21 +-21 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-12 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +22 +75 +92 +91 +74 +53 +29 +9 +-7 +-15 +-20 +-19 +-16 +-10 +-7 +-2 +-1 +0 +0 +1 +-1 +-2 +-3 +-3 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-9 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +-1 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +90 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-4 +-5 +-6 +-5 +-6 +-5 +-6 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-18 +-19 +-19 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +73 +50 +27 +8 +-8 +-17 +-21 +-20 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-3 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-11 +-36 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-17 +-19 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +7 +-9 +-17 +-20 +-20 +-16 +-12 +-9 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-16 +-17 +-18 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +19 +74 +90 +89 +73 +51 +27 +8 +-8 +-17 +-20 +-20 +-17 +-12 +-7 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-8 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-19 +-20 +-19 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-5 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-14 +-15 +-13 +-13 +-13 +19 +74 +89 +88 +71 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-2 +1 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-31 +-22 +-15 +-14 +-14 +-15 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-13 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-2 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-21 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +89 +88 +72 +51 +26 +8 +-8 +-16 +-20 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +21 +76 +92 +90 +74 +52 +28 +8 +-7 +-15 +-20 +-18 +-15 +-11 +-6 +-3 +-2 +0 +0 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +-1 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +90 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +1 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +20 +74 +90 +88 +71 +50 +26 +7 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-6 +-7 +-6 +-7 +-6 +-8 +-7 +-7 +-8 +-8 +-7 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-36 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-21 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +21 +76 +92 +91 +74 +53 +28 +9 +-7 +-16 +-20 +-19 +-15 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-14 +-13 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-20 +-17 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-7 +-6 +-7 +-6 +-8 +-7 +-7 +-7 +-7 +-7 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-85 +-66 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-19 +-20 +-20 +-21 +-20 +-20 +-20 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +22 +76 +92 +91 +73 +52 +28 +8 +-7 +-15 +-19 +-18 +-15 +-10 +-7 +-3 +-1 +1 +0 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-46 +-32 +-23 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-13 +-12 +19 +74 +90 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-3 +-1 +-1 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-7 +-3 +-1 +-1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +89 +72 +51 +27 +7 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +71 +50 +27 +8 +-9 +-16 +-20 +-19 +-17 +-11 +-9 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-14 +-12 +20 +74 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +-1 +0 +0 +-1 +-1 +-3 +-5 +-6 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-14 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +50 +27 +7 +-9 +-17 +-20 +-20 +-17 +-11 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-15 +-13 +-14 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +8 +-9 +-17 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +-1 +-1 +-2 +-4 +-5 +-7 +-6 +-6 +-6 +-7 +-6 +-8 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +90 +89 +72 +50 +26 +7 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-19 +-20 +-20 +-19 +-18 +-19 +-17 +-16 +-15 +-15 +-13 +-13 +-13 +-14 +-13 +-14 +-13 +20 +73 +89 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-8 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-17 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-2 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-14 +19 +73 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-8 +-4 +-2 +-1 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-6 +-16 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-6 +-5 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +0 +-1 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-36 +-73 +-99 +-99 +-86 +-67 +-50 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +77 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +0 +-1 +-3 +-4 +-5 +-6 +-6 +-5 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-31 +-21 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-7 +-6 +-7 +-6 +-7 +-6 +-6 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +73 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-8 +-8 +-9 +-8 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +-14 +-14 +-13 +-15 +-14 +-14 +-13 +19 +73 +89 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-8 +-6 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-31 +-21 +-16 +-14 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-17 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-10 +-10 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +73 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-4 +-1 +1 +0 +1 +-1 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-9 +-8 +-8 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-16 +-17 +-19 +-20 +-22 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +27 +7 +-8 +-16 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-20 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-13 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +90 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-4 +-4 +-5 +-4 +-6 +-5 +-6 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-12 +20 +74 +90 +89 +71 +51 +27 +8 +-7 +-17 +-20 +-20 +-18 +-12 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-7 +-8 +-8 +-7 +-8 +-7 +-8 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-8 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-15 +-16 +-17 +-19 +-20 +-22 +-21 +-20 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +21 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +-1 +0 +0 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-66 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +18 +73 +89 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-13 +-13 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +22 +76 +92 +91 +73 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-8 +-3 +-1 +1 +0 +1 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-16 +-14 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +22 +76 +93 +92 +74 +53 +29 +9 +-7 +-15 +-20 +-19 +-15 +-11 +-7 +-3 +-1 +0 +0 +1 +-2 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-8 +-8 +-9 +-9 +-8 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-17 +-19 +-20 +-20 +-20 +-20 +-19 +-18 +-18 +-17 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +88 +88 +71 +51 +26 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-5 +-6 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +21 +76 +91 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-18 +-16 +-10 +-7 +-3 +-1 +1 +0 +1 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-21 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-10 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-19 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-14 +-14 +18 +73 +89 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-11 +-8 +-3 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-16 +-16 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +7 +-7 +-17 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-70 +-96 +-80 +-82 +-64 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-19 +-20 +-19 +-21 +-19 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-8 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-12 +20 +74 +90 +89 +72 +51 +27 +7 +-9 +-17 +-20 +-20 +-16 +-11 +-8 +-3 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-21 +-15 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-14 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-5 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-6 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-9 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-1 +0 +-1 +-1 +-2 +-3 +-4 +-4 +-5 +-6 +-7 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +87 +71 +50 +26 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-10 +-9 +-10 +-10 +-11 +-10 +21 +75 +92 +90 +74 +53 +28 +9 +-7 +-15 +-20 +-18 +-15 +-11 +-6 +-2 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-33 +-23 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +72 +89 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-18 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +-1 +-1 +-2 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +19 +73 +89 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-15 +-14 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +27 +7 +-7 +-16 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-2 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-10 +-9 +-9 +-9 +-9 +-8 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +73 +52 +28 +8 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +0 +0 +1 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-21 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-14 +-13 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +-1 +0 +0 +-1 +-1 +-3 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-8 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-19 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-13 +-12 +-12 +-13 +-12 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +91 +73 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-12 +-7 +-2 +-1 +1 +1 +1 +-1 +-2 +-3 +-5 +-5 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +1 +1 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-14 +-14 +-12 +20 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-5 +-6 +-5 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-2 +-2 +0 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-12 +-12 +-12 +19 +73 +90 +88 +72 +50 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +20 +73 +89 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-21 +-19 +-18 +-17 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +74 +90 +89 +71 +50 +27 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +90 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-7 +-3 +-1 +1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +20 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-17 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-14 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-13 +-12 +-12 +-11 +-12 +-11 +-10 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-4 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +74 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-7 +-3 +-2 +0 +-1 +0 +-1 +-2 +-3 +-3 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-17 +-17 +-19 +-20 +-22 +-21 +-20 +-20 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +22 +76 +91 +91 +74 +52 +29 +10 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +0 +1 +1 +1 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-5 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +90 +89 +72 +49 +26 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-2 +-3 +-4 +-5 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-7 +-7 +-9 +-8 +-8 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-15 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-13 +18 +73 +89 +88 +71 +50 +26 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-5 +-2 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-8 +-6 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-15 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +89 +74 +53 +29 +10 +-6 +-15 +-20 +-19 +-16 +-11 +-6 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-8 +-9 +-10 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-98 +-99 +-86 +-66 +-49 +-33 +-23 +-17 +-15 +-14 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +89 +88 +71 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-18 +-19 +-20 +-21 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +21 +76 +92 +91 +74 +53 +28 +9 +-6 +-16 +-20 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-6 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-47 +-31 +-21 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +89 +89 +72 +51 +26 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +-1 +1 +1 +0 +-1 +-2 +-3 +-5 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-9 +-7 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-8 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-15 +-16 +-17 +-20 +-21 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +18 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-2 +0 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-9 +-3 +-1 +0 +0 +1 +-2 +-2 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-97 +-80 +-83 +-64 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-12 +20 +74 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +-1 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-21 +-15 +-15 +-14 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-7 +-4 +-1 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-97 +-80 +-84 +-66 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +18 +73 +89 +89 +72 +51 +27 +7 +-7 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +-12 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-11 +-11 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-20 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +90 +74 +51 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-11 +-10 +-10 +-11 +-10 +-34 +-73 +-99 +-99 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-21 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-2 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-8 +-7 +-8 +-8 +-33 +-71 +-97 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-9 +-10 +-9 +-10 +-9 +-11 +-10 +22 +76 +92 +91 +74 +52 +29 +9 +-7 +-15 +-20 +-19 +-16 +-10 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-31 +-21 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-7 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-18 +-17 +-15 +-15 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-5 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-8 +-4 +-1 +1 +-1 +-1 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-21 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +-1 +-1 +-2 +-5 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +18 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-33 +-70 +-96 +-79 +-82 +-64 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-21 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +76 +91 +91 +74 +52 +29 +10 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-8 +-32 +-70 +-96 +-80 +-82 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +26 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +73 +51 +26 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-8 +-5 +-2 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-14 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +73 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-16 +-13 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-23 +-17 +-14 +-14 +-17 +-18 +-20 +-21 +-22 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-13 +-13 +-14 +-12 +-12 +-13 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +22 +76 +92 +91 +74 +52 +28 +8 +-7 +-15 +-20 +-18 +-15 +-11 +-7 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-5 +-6 +-5 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-12 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-6 +-6 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-11 +-10 +-10 +-11 +-9 +-10 +-10 +-10 +-9 +-35 +-73 +-99 +-98 +-86 +-66 +-49 +-34 +-24 +-17 +-16 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-10 +-9 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +90 +73 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +1 +-1 +-2 +-4 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-7 +-6 +-32 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-18 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +1 +-1 +-1 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-12 +20 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +18 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-22 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-8 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-13 +-13 +-13 +-12 +-14 +-13 +19 +73 +89 +89 +72 +51 +28 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-14 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +20 +74 +90 +89 +72 +50 +27 +7 +-8 +-16 +-20 +-20 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-9 +-17 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-8 +-4 +-1 +0 +-1 +-1 +-1 +-3 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-95 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-19 +-20 +-20 +-20 +-20 +-19 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-7 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-14 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-9 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-21 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-15 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +26 +7 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-4 +-2 +-1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +72 +50 +26 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +73 +51 +29 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-6 +-5 +-7 +-6 +-6 +-7 +-33 +-71 +-97 +-80 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-20 +-20 +-19 +-19 +-19 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-8 +-7 +-9 +-8 +-9 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +21 +76 +92 +90 +74 +53 +28 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-2 +-1 +1 +0 +1 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-31 +-69 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-2 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-35 +-73 +-99 +-99 +-85 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-17 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +18 +73 +89 +88 +72 +51 +26 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-23 +-15 +-13 +-13 +-16 +-17 +-18 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-13 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-7 +-16 +-20 +-18 +-15 +-11 +-6 +-2 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-8 +-9 +-10 +-10 +-9 +-11 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-14 +-17 +-17 +-19 +-21 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-15 +-14 +-14 +-15 +-14 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +-1 +-1 +-1 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-14 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-4 +-1 +1 +1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-6 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-17 +-17 +-15 +-14 +-13 +-14 +-13 +-13 +-14 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-2 +-1 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-7 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-74 +-99 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-6 +-6 +-6 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-9 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +1 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-12 +19 +73 +89 +89 +72 +50 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-16 +-16 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-17 +-22 +-20 +-17 +-12 +-8 +-4 +-1 +-1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-16 +-19 +-20 +-20 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +-1 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-11 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +22 +75 +91 +91 +75 +53 +29 +9 +-7 +-15 +-19 +-19 +-16 +-10 +-7 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-16 +-18 +-21 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-15 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +22 +75 +91 +91 +74 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +0 +1 +0 +1 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-35 +-24 +-17 +-15 +-14 +-17 +-18 +-20 +-21 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-15 +-14 +-14 +-13 +-13 +-14 +-13 +18 +72 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +1 +-1 +0 +-2 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-20 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-2 +0 +0 +0 +1 +-1 +-1 +-3 +-3 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-3 +-1 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-9 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-9 +-10 +-9 +-35 +-73 +-99 +-98 +-85 +-66 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +-14 +-14 +-15 +-15 +-14 +-14 +-13 +19 +73 +89 +89 +72 +51 +26 +8 +-9 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-11 +-7 +-3 +-1 +-1 +-1 +-1 +-2 +-3 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-70 +-96 +-79 +-83 +-65 +-48 +-33 +-23 +-15 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +72 +50 +26 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-7 +-3 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +90 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-48 +-32 +-21 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-7 +-3 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-66 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-21 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +50 +27 +7 +-9 +-17 +-20 +-19 +-17 +-11 +-8 +-4 +-1 +1 +0 +0 +-2 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-20 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +21 +76 +92 +90 +73 +52 +29 +9 +-6 +-15 +-20 +-18 +-16 +-11 +-7 +-2 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-12 +-13 +19 +73 +89 +88 +71 +51 +26 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-48 +-33 +-23 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +19 +74 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-13 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +74 +90 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-4 +-2 +0 +1 +0 +-1 +-1 +-4 +-4 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-22 +-20 +-17 +-11 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-35 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-14 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +90 +73 +53 +29 +9 +-6 +-15 +-20 +-18 +-16 +-11 +-7 +-2 +-1 +1 +1 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-14 +-16 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +71 +50 +26 +7 +-7 +-16 +-20 +-20 +-16 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-11 +-10 +-11 +-10 +-11 +-10 +-36 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-19 +-20 +-20 +-21 +-21 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +75 +92 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-11 +-8 +-4 +-2 +-1 +0 +0 +-1 +-1 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-19 +-20 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-84 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-1 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-16 +-13 +-13 +-15 +-17 +-18 +-20 +-20 +-19 +-20 +-17 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +74 +90 +89 +72 +50 +26 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +-1 +0 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-20 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +27 +8 +-9 +-17 +-21 +-20 +-16 +-11 +-7 +-4 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +89 +71 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +0 +-1 +0 +-2 +-3 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-17 +-18 +-19 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +18 +72 +89 +88 +71 +51 +26 +7 +-7 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-2 +0 +-1 +0 +-1 +-3 +-3 +-4 +-6 +-5 +-7 +-7 +-7 +-7 +-8 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-20 +-20 +-20 +-20 +-17 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +28 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-4 +-1 +1 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-18 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-11 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +74 +52 +29 +9 +-7 +-15 +-19 +-19 +-16 +-10 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +0 +0 +-1 +-1 +-2 +-5 +-5 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-18 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +21 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-13 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-21 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +73 +51 +27 +8 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-14 +-14 +18 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +91 +74 +52 +27 +8 +-6 +-16 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-3 +-3 +-5 +-6 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-74 +-99 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +26 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +91 +73 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-5 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +72 +51 +26 +8 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-19 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-8 +-9 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-99 +-85 +-66 +-49 +-34 +-24 +-17 +-16 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-12 +-13 +-12 +-13 +-12 +-13 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-12 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-9 +-11 +-10 +22 +75 +91 +91 +74 +52 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +0 +1 +1 +1 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-9 +-10 +-10 +-10 +-9 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-22 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-17 +-22 +-20 +-17 +-12 +-8 +-4 +-2 +-1 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +18 +72 +89 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-3 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-14 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-14 +-13 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-8 +-3 +-1 +0 +1 +1 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-19 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +74 +53 +28 +9 +-7 +-15 +-19 +-19 +-15 +-10 +-7 +-2 +-1 +0 +0 +0 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-8 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-20 +-19 +-19 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-11 +-11 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-7 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-13 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-20 +-16 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +26 +7 +-9 +-17 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-14 +-13 +20 +73 +89 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-9 +-17 +-21 +-20 +-17 +-11 +-7 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +18 +73 +90 +88 +72 +51 +26 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +89 +89 +72 +50 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +1 +0 +-1 +-1 +-3 +-5 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-16 +-20 +-19 +-16 +-12 +-7 +-3 +-2 +1 +1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-31 +-22 +-15 +-13 +-14 +-16 +-17 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +90 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-14 +-17 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-18 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-9 +-11 +-11 +-11 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-16 +-19 +-18 +-15 +-11 +-7 +-3 +-2 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-6 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +19 +74 +90 +89 +72 +50 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-1 +0 +-1 +-1 +-1 +-2 +-4 +-3 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-19 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +90 +88 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +0 +1 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-4 +-4 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-16 +-15 +-16 +-18 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +21 +76 +92 +90 +74 +53 +29 +9 +-6 +-16 +-20 +-18 +-16 +-11 +-7 +-2 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-5 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-18 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-15 +-15 +-14 +-13 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-12 +-11 +-11 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +-11 +-10 +22 +75 +92 +92 +74 +53 +29 +8 +-7 +-15 +-19 +-19 +-15 +-10 +-7 +-3 +-1 +1 +1 +1 +-2 +-1 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +7 +-8 +-17 +-22 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +51 +27 +8 +-7 +-16 +-20 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-12 +19 +73 +89 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-1 +1 +0 +1 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-79 +-83 +-64 +-47 +-33 +-22 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-15 +-20 +-19 +-16 +-11 +-9 +-4 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +8 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-12 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-95 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-15 +-14 +-13 +-13 +-13 +-12 +20 +73 +89 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-82 +-64 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +74 +89 +89 +72 +50 +26 +7 +-9 +-17 +-21 +-19 +-16 +-11 +-7 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-15 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-7 +-6 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +74 +89 +89 +73 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-33 +-23 +-16 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +72 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-4 +-1 +1 +0 +0 +-1 +-3 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +20 +74 +89 +89 +72 +51 +26 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-14 +-15 +-16 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +49 +26 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +-1 +-1 +-2 +-3 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-9 +-4 +-2 +0 +0 +1 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +90 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +50 +26 +8 +-7 +-16 +-20 +-19 +-17 +-11 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-21 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +90 +74 +52 +28 +9 +-6 +-15 +-20 +-18 +-15 +-10 +-7 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-3 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-20 +-21 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +72 +51 +27 +8 +-7 +-16 +-20 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-11 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +88 +88 +71 +50 +27 +7 +-7 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-13 +-13 +-13 +-12 +-12 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +21 +75 +91 +90 +74 +52 +29 +9 +-6 +-15 +-19 +-18 +-16 +-10 +-6 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-3 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-8 +-9 +-8 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-99 +-86 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-17 +-19 +-20 +-20 +-22 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-13 +-14 +-13 +-14 +-13 +18 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +21 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-20 +-19 +-15 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-12 +-8 +-4 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-15 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +28 +8 +-7 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-99 +-85 +-66 +-49 +-33 +-23 +-17 +-16 +-15 +-17 +-19 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +91 +73 +52 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-5 +-6 +-5 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-8 +-8 +-7 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-11 +-10 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-21 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +18 +72 +89 +88 +71 +51 +27 +8 +-8 +-16 +-21 +-19 +-16 +-13 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-5 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-5 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-15 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-3 +-5 +-5 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-9 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +72 +89 +89 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-17 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-10 +-10 +-10 +-9 +22 +75 +91 +90 +74 +53 +29 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-4 +-4 +-5 +-5 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-10 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-11 +-10 +-10 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-72 +-99 +-98 +-86 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-17 +-18 +-19 +-21 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +18 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-19 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +21 +76 +92 +91 +74 +53 +28 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-12 +-13 +-12 +20 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-16 +-12 +-9 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-7 +-7 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-99 +-86 +-67 +-50 +-33 +-23 +-17 +-15 +-14 +-17 +-17 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +18 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +-1 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-48 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +20 +73 +89 +89 +72 +50 +27 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-8 +-33 +-71 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-33 +-22 +-16 +-15 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-4 +-2 +0 +0 +1 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +73 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-8 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +-1 +-1 +-2 +-5 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +21 +76 +91 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-15 +-10 +-6 +-3 +-1 +1 +0 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-95 +-80 +-83 +-65 +-48 +-33 +-22 +-16 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-20 +-19 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-2 +1 +0 +0 +-1 +-1 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-2 +0 +-1 +0 +-1 +-3 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-19 +-20 +-21 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +8 +-7 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-5 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-12 +20 +73 +90 +89 +71 +51 +27 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-1 +1 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-8 +-7 +-8 +-7 +-8 +-7 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-99 +-86 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-9 +22 +76 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-4 +-1 +1 +1 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-13 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-24 +-18 +-16 +-15 +-17 +-18 +-19 +-20 +-21 +-21 +-20 +-20 +-19 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +21 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-18 +-15 +-11 +-7 +-2 +0 +2 +1 +1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-20 +-20 +-21 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-12 +-12 +-12 +20 +73 +89 +89 +71 +51 +26 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-5 +-5 +-6 +-5 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-14 +-14 +-13 +20 +73 +90 +89 +71 +51 +27 +7 +-7 +-16 +-21 +-20 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +1 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +-1 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-16 +-13 +-14 +-16 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +7 +-8 +-17 +-22 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-8 +-8 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +71 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-79 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-13 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-17 +-16 +-15 +-15 +-13 +-13 +-14 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +-1 +-1 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-14 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-22 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-5 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-7 +-3 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +71 +51 +26 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +73 +51 +27 +8 +-9 +-17 +-21 +-19 +-16 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-10 +-11 +-11 +-35 +-73 +-99 +-98 +-86 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +49 +26 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-7 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +74 +90 +89 +73 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-4 +-2 +-1 +0 +0 +-2 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-20 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-11 +-12 +-12 +-12 +-11 +-13 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +77 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-46 +-31 +-21 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-19 +-17 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-9 +-17 +-21 +-20 +-17 +-11 +-7 +-4 +-1 +0 +-1 +-1 +-2 +-2 +-4 +-3 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-11 +-9 +-10 +-11 +-36 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-19 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +22 +76 +91 +90 +74 +52 +29 +10 +-7 +-15 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-15 +-13 +-13 +-12 +20 +74 +90 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +1 +1 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-23 +-15 +-13 +-14 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +74 +90 +89 +73 +50 +26 +7 +-7 +-16 +-21 +-19 +-16 +-11 +-7 +-4 +-2 +0 +-1 +-1 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-8 +-8 +-9 +-8 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-73 +-98 +-98 +-85 +-66 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-19 +-19 +-21 +-21 +-20 +-19 +-19 +-16 +-16 +-15 +-14 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +19 +73 +90 +88 +71 +49 +26 +7 +-9 +-17 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-20 +-21 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-15 +-13 +-13 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +-9 +22 +76 +92 +90 +73 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-50 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +18 +73 +89 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-12 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +22 +76 +93 +91 +74 +53 +28 +9 +-6 +-16 +-20 +-19 +-16 +-11 +-7 +-2 +-1 +1 +0 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-83 +-65 +-47 +-31 +-21 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-8 +-16 +-21 +-20 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-2 +1 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-9 +-10 +-9 +-34 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-15 +-16 +-15 +-14 +-13 +-15 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +22 +77 +93 +91 +74 +52 +29 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-2 +-1 +1 +1 +1 +0 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-11 +-10 +-9 +-9 +-9 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-17 +-19 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +19 +73 +89 +88 +72 +51 +26 +8 +-8 +-17 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-19 +-16 +-16 +-15 +-14 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +89 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-3 +0 +0 +0 +-1 +-1 +-3 +-5 +-6 +-6 +-7 +-7 +-8 +-8 +-8 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-16 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +72 +52 +28 +8 +-7 +-16 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-9 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +27 +7 +-8 +-16 +-21 +-20 +-17 +-13 +-8 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-23 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +-13 +-13 +-12 +-12 +-12 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +76 +91 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-2 +-1 +1 +1 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-35 +-73 +-98 +-98 +-87 +-67 +-49 +-33 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-14 +-14 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-12 +-12 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-10 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +22 +77 +92 +91 +73 +52 +28 +9 +-6 +-15 +-20 +-18 +-15 +-11 +-7 +-3 +-1 +1 +0 +1 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-34 +-73 +-98 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-16 +-17 +-21 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-16 +-14 +-15 +-15 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +-12 +-12 +-11 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +52 +29 +10 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-14 +-15 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-9 +-4 +-1 +0 +1 +1 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-8 +-8 +-8 +-7 +-8 +-8 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-11 +-11 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-17 +-20 +-21 +-22 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +19 +74 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-5 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-19 +-20 +-20 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-11 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-13 +-13 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-3 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-19 +-17 +-16 +-16 +-15 +-15 +-15 +-15 +-14 +-15 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +26 +7 +-7 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-7 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-33 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +22 +76 +91 +91 +74 +51 +28 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-5 +-7 +-6 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +90 +89 +72 +51 +26 +7 +-7 +-17 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-4 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-64 +-47 +-32 +-21 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-18 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +1 +1 +-1 +-2 +-3 +-5 +-5 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-22 +-21 +-20 +-19 +-18 +-16 +-17 +-15 +-16 +-15 +-15 +-13 +-13 +-13 +-13 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +21 +75 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +0 +1 +1 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-95 +-79 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +26 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-3 +-4 +-6 +-5 +-7 +-6 +-6 +-6 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-14 +-12 +20 +73 +89 +89 +71 +50 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +-1 +-1 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +88 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-95 +-79 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-16 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +27 +8 +-7 +-16 +-20 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-19 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +71 +50 +27 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-12 +20 +73 +90 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-2 +-1 +-3 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-21 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-79 +-83 +-64 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-13 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +0 +1 +1 +-1 +-2 +-4 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-20 +-21 +-19 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-4 +-2 +-1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-34 +-72 +-99 +-98 +-86 +-66 +-49 +-33 +-23 +-17 +-15 +-14 +-16 +-17 +-20 +-21 +-21 +-21 +-20 +-18 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +88 +71 +51 +27 +8 +-8 +-16 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +0 +-1 +-1 +-2 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-23 +-16 +-13 +-14 +-16 +-17 +-19 +-20 +-21 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +20 +73 +89 +89 +72 +50 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +1 +0 +-1 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +29 +9 +-7 +-15 +-20 +-18 +-16 +-11 +-6 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-18 +-20 +-20 +-19 +-19 +-18 +-18 +-16 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-16 +-21 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-72 +-99 +-98 +-85 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-9 +22 +76 +91 +91 +74 +52 +29 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-8 +-3 +-1 +1 +1 +1 +0 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-4 +-2 +0 +0 +0 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-8 +-7 +-7 +-6 +-32 +-71 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +50 +26 +7 +-9 +-17 +-20 +-20 +-17 +-11 +-7 +-3 +-2 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-99 +-85 +-66 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-21 +-20 +-20 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-2 +-4 +-5 +-5 +-6 +-7 +-6 +-6 +-6 +-6 +-6 +-8 +-7 +-8 +-8 +-8 +-7 +-8 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-11 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-23 +-17 +-14 +-14 +-16 +-17 +-20 +-21 +-22 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-15 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +1 +0 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +91 +90 +74 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-15 +-13 +-13 +-14 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +87 +71 +51 +27 +8 +-7 +-15 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +1 +1 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-10 +-10 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-36 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +10 +-6 +-16 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-16 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-2 +-1 +-1 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +18 +72 +89 +88 +71 +51 +28 +7 +-7 +-16 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +71 +51 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +1 +-1 +-1 +-2 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-12 +19 +73 +90 +89 +71 +51 +27 +7 +-7 +-16 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +1 +-1 +-2 +-3 +-5 +-6 +-6 +-6 +-6 +-6 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-9 +22 +75 +92 +91 +74 +52 +29 +10 +-6 +-15 +-19 +-19 +-16 +-11 +-8 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-11 +-11 +-9 +-34 +-72 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-16 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-11 +-11 +-12 +-12 +-11 +-11 +-11 +-10 +-10 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +22 +76 +92 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-19 +-15 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-8 +-8 +-8 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-86 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-21 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-14 +-14 +-15 +-15 +-13 +-14 +-13 +19 +73 +89 +88 +71 +50 +26 +7 +-9 +-17 +-20 +-19 +-17 +-12 +-9 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-7 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-13 +-14 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-13 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-10 +22 +75 +92 +91 +73 +52 +28 +9 +-7 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +0 +1 +1 +1 +-1 +-2 +-3 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-18 +-19 +-21 +-20 +-20 +-19 +-17 +-16 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-8 +-8 +-8 +-9 +-8 +-8 +-9 +-9 +-8 +-9 +-10 +-9 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-14 +-14 +-16 +-17 +-21 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-15 +-15 +-15 +-15 +-15 +-13 +-14 +-13 +19 +73 +89 +88 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +20 +73 +89 +89 +71 +50 +26 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-8 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-14 +-15 +-17 +-18 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-14 +-16 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +73 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +-1 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-6 +-6 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-48 +-32 +-21 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +19 +72 +89 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-2 +0 +-1 +0 +-2 +-3 +-4 +-4 +-6 +-6 +-6 +-7 +-8 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-17 +-21 +-19 +-17 +-12 +-7 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-82 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +1 +0 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +7 +-9 +-16 +-20 +-19 +-16 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-97 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-14 +-17 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +1 +0 +1 +0 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +18 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-11 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-5 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-33 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-21 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-8 +-8 +-33 +-71 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-12 +-15 +-17 +-18 +-20 +-21 +-20 +-20 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-15 +-13 +-14 +-13 +-13 +-12 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +0 +1 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-8 +-7 +-8 +-8 +-9 +-8 +-8 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-9 +-9 +-10 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-16 +-18 +-20 +-21 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-12 +-13 +-13 +-13 +-12 +-12 +-11 +-11 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +21 +76 +92 +91 +74 +53 +28 +9 +-7 +-15 +-20 +-18 +-15 +-11 +-7 +-2 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +26 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +1 +0 +-1 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-97 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-79 +-83 +-65 +-48 +-32 +-23 +-16 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +20 +74 +90 +88 +72 +51 +27 +8 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +71 +51 +26 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +0 +0 +-2 +-2 +-4 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-84 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-12 +19 +73 +89 +88 +71 +51 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +26 +7 +-7 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-6 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-84 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-31 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-19 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +19 +74 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-7 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-20 +-17 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-17 +-18 +-15 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-8 +-7 +-7 +-8 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-19 +-17 +-17 +-16 +-15 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +18 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-79 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-17 +-20 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +73 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-1 +1 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-18 +-20 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +75 +92 +91 +75 +53 +29 +9 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-3 +-5 +-5 +-6 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-12 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-12 +-7 +-4 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-9 +-9 +-10 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-12 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +9 +-6 +-16 +-19 +-18 +-16 +-11 +-7 +-3 +-1 +1 +1 +0 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-6 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-16 +-16 +-19 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +7 +-9 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-5 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-85 +-67 +-50 +-34 +-23 +-17 +-15 +-14 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +18 +72 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-20 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-10 +-11 +-11 +22 +76 +92 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-17 +-16 +-11 +-6 +-3 +-1 +1 +0 +0 +-1 +-1 +-3 +-3 +-5 +-6 +-7 +-6 +-8 +-7 +-7 +-6 +-7 +-7 +-7 +-8 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-20 +-22 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +-1 +-1 +-1 +-2 +-3 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-97 +-97 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-11 +-10 +-10 +-10 +-9 +22 +76 +93 +91 +74 +53 +29 +9 +-6 +-15 +-19 +-18 +-16 +-12 +-8 +-3 +-1 +1 +1 +1 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-16 +-16 +-18 +-20 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +90 +88 +72 +51 +27 +8 +-7 +-17 +-21 +-19 +-16 +-12 +-8 +-3 +-3 +0 +0 +0 +-1 +-1 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-8 +-9 +-8 +-9 +-8 +-8 +-9 +-9 +-8 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-36 +-74 +-99 +-99 +-85 +-66 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-18 +-20 +-20 +-21 +-21 +-20 +-19 +-19 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-14 +-13 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-10 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +75 +91 +90 +73 +53 +29 +9 +-6 +-15 +-19 +-18 +-16 +-11 +-7 +-2 +0 +2 +1 +0 +-1 +-2 +-4 +-3 +-5 +-6 +-6 +-6 +-7 +-7 +-8 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-14 +-15 +-13 +-14 +-14 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-22 +-20 +-16 +-11 +-8 +-3 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-21 +-19 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-19 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-12 +20 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-2 +0 +1 +1 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-48 +-33 +-23 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-14 +-14 +-14 +-14 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +8 +-7 +-16 +-20 +-19 +-16 +-12 +-8 +-4 +-3 +0 +0 +0 +-1 +-1 +-3 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-14 +-13 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-20 +-16 +-12 +-8 +-4 +-2 +-1 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +-14 +-13 +-13 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-12 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +92 +74 +52 +28 +8 +-7 +-15 +-19 +-19 +-15 +-10 +-7 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-11 +-10 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-49 +-35 +-24 +-17 +-16 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-21 +-19 +-19 +-17 +-16 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-11 +-11 +-10 +-9 +-10 +-10 +22 +75 +92 +91 +73 +52 +29 +10 +-6 +-15 +-19 +-19 +-16 +-11 +-7 +-2 +0 +1 +1 +1 +-1 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-6 +-8 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-11 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +89 +71 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +0 +-2 +-2 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-66 +-48 +-32 +-23 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-12 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +29 +9 +-6 +-15 +-20 +-18 +-15 +-11 +-7 +-3 +-1 +0 +0 +1 +-1 +-1 +-3 +-5 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-6 +-31 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-21 +-20 +-18 +-17 +-16 +-16 +-15 +-16 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-20 +-17 +-11 +-7 +-3 +-1 +0 +-1 +0 +-1 +-3 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-8 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-17 +-18 +-20 +-21 +-21 +-21 +-20 +-19 +-19 +-17 +-17 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +89 +72 +50 +27 +7 +-9 +-17 +-21 +-20 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-3 +-4 +-6 +-6 +-7 +-7 +-8 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-20 +-21 +-19 +-20 +-18 +-18 +-17 +-17 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-4 +-1 +0 +0 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-20 +-21 +-21 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +-1 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +51 +26 +8 +-7 +-16 +-20 +-19 +-17 +-11 +-8 +-3 +-1 +0 +0 +1 +-1 +-2 +-4 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-16 +-19 +-19 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +74 +89 +89 +72 +50 +27 +7 +-8 +-17 +-20 +-19 +-16 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-16 +-17 +-18 +-20 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-11 +-7 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-16 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +73 +51 +27 +8 +-8 +-17 +-20 +-19 +-17 +-11 +-7 +-4 +-1 +0 +-1 +-1 +-1 +-1 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-17 +-16 +-16 +-15 +-15 +-15 +-14 +-13 +-13 +-13 +-13 +-12 +19 +73 +89 +88 +72 +51 +26 +7 +-8 +-17 +-20 +-19 +-16 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-7 +-7 +-7 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-13 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-12 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +-11 +-11 +-11 +-10 +22 +76 +92 +90 +74 +53 +28 +9 +-6 +-16 +-20 +-18 +-15 +-11 +-7 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-17 +-20 +-19 +-17 +-12 +-7 +-3 +-1 +0 +-1 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-17 +-16 +-16 +-15 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +90 +88 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +1 +1 +0 +-2 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-5 +-5 +-6 +-6 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-15 +-14 +-14 +-15 +-13 +-13 +-14 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-16 +-12 +-7 +-3 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +51 +26 +7 +-8 +-17 +-21 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-35 +-73 +-98 +-98 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-14 +-17 +-19 +-20 +-20 +-21 +-20 +-20 +-19 +-19 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-10 +22 +77 +92 +90 +74 +52 +28 +9 +-6 +-16 +-19 +-18 +-16 +-11 +-7 +-3 +-2 +1 +1 +1 +-1 +-1 +-4 +-4 +-5 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-14 +-15 +-14 +-14 +-14 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-8 +-9 +-10 +-10 +-9 +-11 +-10 +-10 +-11 +-10 +-9 +-10 +-10 +-10 +-10 +-36 +-74 +-99 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-16 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-20 +-19 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-12 +-11 +-10 +-10 +-10 +-10 +22 +75 +92 +91 +74 +53 +29 +8 +-6 +-15 +-19 +-18 +-15 +-10 +-7 +-3 +-1 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-18 +-19 +-21 +-20 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-14 +-13 +-14 +-13 +-13 +-12 +20 +73 +90 +88 +71 +50 +26 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +74 +90 +90 +71 +51 +27 +8 +-8 +-17 +-20 +-19 +-16 +-11 +-8 +-3 +-2 +-1 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-80 +-83 +-64 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-19 +-18 +-17 +-16 +-15 +-15 +-13 +-14 +-13 +-14 +-13 +-14 +-12 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-21 +-19 +-16 +-12 +-8 +-4 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-48 +-33 +-22 +-16 +-14 +-14 +-15 +-17 +-20 +-19 +-20 +-20 +-19 +-17 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-14 +-13 +19 +72 +89 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-20 +-16 +-11 +-8 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-5 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-21 +-20 +-20 +-18 +-18 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +71 +51 +27 +8 +-7 +-16 +-21 +-19 +-17 +-12 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-23 +-16 +-13 +-14 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-14 +-13 +20 +73 +90 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-4 +-5 +-6 +-6 +-7 +-6 +-6 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-14 +-12 +19 +73 +90 +89 +71 +51 +27 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-9 +-4 +-2 +0 +0 +0 +-2 +-2 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-19 +-19 +-19 +-17 +-17 +-17 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +89 +89 +73 +51 +27 +7 +-9 +-17 +-21 +-19 +-16 +-11 +-8 +-3 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-14 +-14 +-13 +-13 +-12 +-14 +-13 +19 +73 +89 +89 +71 +51 +27 +8 +-8 +-17 +-21 +-20 +-16 +-12 +-8 +-3 +-1 +0 +-1 +0 +-2 +-3 +-4 +-4 +-6 +-5 +-7 +-7 +-8 +-7 +-8 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-48 +-32 +-23 +-15 +-13 +-14 +-15 +-16 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +50 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-8 +-3 +-1 +1 +1 +0 +-2 +-2 +-4 +-5 +-5 +-5 +-7 +-7 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-80 +-84 +-65 +-47 +-33 +-22 +-16 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +20 +73 +89 +88 +72 +51 +27 +8 +-8 +-17 +-20 +-20 +-17 +-12 +-9 +-4 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-17 +-19 +-20 +-20 +-19 +-20 +-18 +-17 +-17 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +1 +-1 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-9 +-10 +-10 +-10 +-11 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-14 +-15 +-16 +-17 +-20 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +19 +73 +89 +88 +71 +49 +27 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-4 +-1 +1 +-1 +0 +-2 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-33 +-71 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-19 +-17 +-16 +-14 +-14 +-13 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-9 +-17 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-31 +-22 +-16 +-14 +-13 +-16 +-17 +-19 +-19 +-20 +-19 +-20 +-19 +-18 +-17 +-17 +-15 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-10 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-12 +-10 +-10 +-10 +22 +77 +92 +91 +74 +52 +28 +9 +-7 +-15 +-19 +-19 +-16 +-11 +-8 +-3 +-1 +0 +1 +1 +-1 +-1 +-3 +-4 +-6 +-5 +-6 +-6 +-7 +-6 +-8 +-7 +-32 +-70 +-96 +-80 +-83 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-15 +-16 +-18 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-7 +-4 +-2 +0 +-1 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-8 +-7 +-8 +-8 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-9 +-9 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-15 +-16 +-17 +-20 +-20 +-21 +-20 +-21 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-15 +-14 +-13 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-13 +-13 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +22 +76 +91 +91 +74 +52 +29 +9 +-6 +-16 +-19 +-18 +-16 +-10 +-6 +-3 +-1 +1 +0 +0 +-1 +-2 +-4 +-3 +-5 +-5 +-6 +-6 +-8 +-7 +-7 +-7 +-33 +-70 +-96 +-80 +-83 +-65 +-48 +-32 +-22 +-16 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +19 +73 +89 +89 +72 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-32 +-22 +-16 +-13 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +74 +90 +89 +72 +51 +26 +7 +-8 +-16 +-20 +-19 +-17 +-12 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-5 +-6 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-8 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-98 +-85 +-67 +-49 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-21 +-21 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-16 +-15 +-15 +-14 +-15 +-13 +-13 +-13 +19 +73 +88 +88 +71 +50 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-1 +-2 +-5 +-5 +-5 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-83 +-64 +-47 +-32 +-22 +-16 +-14 +-13 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-17 +-15 +-14 +-14 +-14 +-14 +-14 +-13 +-13 +-12 +-13 +-12 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-11 +-11 +-10 +-10 +-9 +-10 +-10 +22 +76 +91 +91 +74 +52 +29 +9 +-7 +-15 +-19 +-18 +-16 +-11 +-7 +-2 +0 +1 +0 +0 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-9 +-35 +-73 +-98 +-99 +-86 +-67 +-49 +-34 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-22 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +18 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-20 +-16 +-12 +-7 +-3 +-1 +0 +0 +-1 +-2 +-2 +-4 +-4 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-32 +-70 +-97 +-80 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-20 +-21 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-11 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-10 +-11 +-10 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +22 +76 +92 +90 +74 +52 +28 +9 +-6 +-15 +-20 +-18 +-15 +-11 +-7 +-3 +-2 +0 +0 +0 +-1 +-1 +-3 +-4 +-5 +-5 +-7 +-6 +-6 +-7 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +90 +89 +73 +51 +27 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-7 +-7 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-97 +-83 +-65 +-48 +-32 +-22 +-15 +-13 +-13 +-16 +-17 +-19 +-19 +-21 +-19 +-19 +-19 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +88 +72 +51 +27 +8 +-7 +-16 +-21 +-20 +-17 +-12 +-8 +-3 +-1 +0 +0 +0 +-2 +-2 +-3 +-4 +-5 +-5 +-7 +-7 +-7 +-7 +-8 +-7 +-7 +-7 +-8 +-7 +-9 +-8 +-9 +-9 +-9 +-8 +-9 +-8 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-9 +-10 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-23 +-17 +-15 +-15 +-17 +-18 +-20 +-20 +-21 +-20 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-12 +-11 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +22 +76 +92 +91 +74 +53 +28 +8 +-6 +-14 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-1 +-3 +-5 +-6 +-5 +-7 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-9 +-8 +-8 +-8 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-9 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-10 +-35 +-73 +-98 +-99 +-86 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-18 +-20 +-20 +-22 +-21 +-20 +-19 +-18 +-17 +-17 +-16 +-15 +-15 +-15 +-14 +-14 +-13 +-13 +-12 +19 +73 +89 +88 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-17 +-13 +-8 +-4 +-2 +0 +0 +0 +-2 +-2 +-4 +-5 +-6 +-5 +-7 +-6 +-7 +-7 +-8 +-7 +-32 +-71 +-96 +-80 +-83 +-64 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-16 +-19 +-19 +-20 +-21 +-20 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +89 +88 +71 +51 +27 +8 +-7 +-16 +-20 +-19 +-17 +-12 +-7 +-4 +-2 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-7 +-6 +-7 +-7 +-7 +-7 +-33 +-71 +-96 +-97 +-84 +-65 +-48 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-20 +-19 +-19 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-14 +-13 +-13 +-13 +-13 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-17 +-21 +-19 +-17 +-12 +-8 +-3 +-2 +0 +0 +0 +-2 +-2 +-3 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-6 +-32 +-70 +-96 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-17 +-16 +-15 +-16 +-14 +-14 +-14 +-13 +-12 +-13 +-13 +19 +73 +89 +89 +72 +51 +27 +8 +-8 +-17 +-21 +-19 +-17 +-12 +-7 +-3 +-2 +0 +0 +-1 +-1 +-2 +-4 +-4 +-5 +-5 +-7 +-6 +-7 +-7 +-7 +-6 +-33 +-71 +-96 +-97 +-83 +-65 +-47 +-32 +-22 +-15 +-14 +-13 +-15 +-17 +-19 +-19 +-21 +-20 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-15 +-14 +-13 +-13 +-13 +-12 +19 +73 +89 +89 +71 +51 +27 +7 +-7 +-16 +-21 +-19 +-17 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-2 +-3 +-5 +-6 +-5 +-6 +-6 +-6 +-7 +-8 +-7 +-33 +-71 +-97 +-80 +-84 +-65 +-47 +-32 +-22 +-15 +-14 +-14 +-15 +-17 +-19 +-20 +-20 +-21 +-20 +-19 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +-13 +-12 +-13 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-12 +-11 +-11 +-10 +-10 +-10 +-10 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-9 +22 +76 +92 +91 +73 +52 +29 +9 +-6 +-15 +-20 +-19 +-16 +-11 +-7 +-2 +0 +1 +0 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-6 +-6 +-6 +-8 +-7 +-7 +-7 +-7 +-7 +-8 +-8 +-9 +-9 +-9 +-8 +-9 +-9 +-9 +-8 +-10 +-9 +-10 +-10 +-10 +-9 +-9 +-9 +-10 +-9 +-11 +-10 +-10 +-11 +-10 +-10 +-10 +-10 +-35 +-73 +-99 +-99 +-86 +-67 +-49 +-33 +-24 +-17 +-15 +-14 +-17 +-18 +-20 +-21 +-21 +-20 +-21 +-19 +-18 +-18 +-17 +-16 +-16 +-15 +-14 +-13 +-13 +-13 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-11 +-12 +-12 +-12 +-11 +-12 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-10 +-9 +-10 +-10 +22 +75 +92 +91 +73 +52 +28 +8 +-7 +-15 +-19 +-18 +-15 +-11 +-7 +-3 +-1 +1 +1 +1 +-1 +-2 +-3 +-4 +-5 +-5 +-6 +-7 +-7 +-6 +-7 +-6 +-7 +-7 +-8 +-7 +-8 +-9 +-8 +-8 +-9 +-8 +-9 +-9 +-10 +-9 +-10 +-10 +-9 +-9 +-10 +-9 +-10 +-10 +-11 +-10 +-11 +-10 +-10 +-9 +-11 +-10 +-10 +-10 +-35 +-72 +-99 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-16 +-17 +-19 +-21 +-22 +-21 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +19 +72 +89 +88 +71 +50 +27 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-4 +-2 +0 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 +-6 +-6 +-6 +-6 +-7 +-7 +-32 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-16 +-14 +-14 +-15 +-16 +-18 +-19 +-20 +-19 +-20 +-19 +-18 +-16 +-16 +-14 +-15 +-14 +-14 +-13 +-14 +-13 +-13 +-13 +-13 +-12 +-12 +-12 +-12 +-12 +-13 +-11 +-12 +-11 +-12 +-10 +-12 +-11 +-11 +-11 +-11 +-10 +-11 +-10 +-10 +-10 +-11 +-10 +-10 +-11 +-11 +-10 +-10 +-10 +-10 +-10 +21 +75 +92 +90 +74 +53 +29 +9 +-6 +-15 +-20 +-19 +-16 +-12 +-7 +-3 +-1 +2 +1 +0 +-1 +-2 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-7 +-7 +-7 +-32 +-70 +-96 +-79 +-83 +-65 +-47 +-33 +-22 +-15 +-14 +-13 +-14 +-16 +-19 +-19 +-20 +-20 +-20 +-18 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-13 +-13 +-13 +-12 +20 +73 +89 +88 +71 +50 +26 +8 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +0 +0 +0 +-1 +-2 +-4 +-4 +-6 +-6 +-6 +-7 +-7 +-6 +-8 +-7 +-8 +-7 +-9 +-8 +-8 +-8 +-8 +-8 +-9 +-9 +-10 +-10 +-10 +-9 +-10 +-9 +-9 +-9 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-10 +-11 +-10 +-11 +-10 +-35 +-73 +-98 +-98 +-85 +-67 +-50 +-34 +-24 +-17 +-15 +-14 +-17 +-18 +-19 +-21 +-22 +-21 +-20 +-18 +-18 +-17 +-17 +-16 +-16 +-15 +-15 +-14 +-14 +-13 +-14 +-12 +19 +73 +89 +89 +71 +50 +26 +7 +-8 +-16 +-21 +-20 +-17 +-12 +-8 +-4 +-1 +0 +0 +0 +-2 +-3 +-4 +-5 +-6 +-6 +-7 +-7 +-7 +-6 +-8 +-7 +-33 +-71 +-97 +-80 +-83 +-65 +-47 +-32 +-23 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-20 +-19 +-18 +-17 +-16 +-14 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +74 +89 +89 +72 +50 +26 +7 +-8 +-17 +-20 +-19 +-17 +-12 +-8 +-5 +-2 +0 +-1 +0 +-1 +-2 +-3 +-4 +-5 +-6 +-6 +-6 +-7 +-6 +-7 +-7 +-32 +-71 +-97 +-97 +-84 +-65 +-48 +-32 +-22 +-16 +-13 +-13 +-16 +-17 +-18 +-19 +-20 +-19 +-19 +-18 +-18 +-17 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-14 +-13 +19 +73 +90 +89 +72 +51 +27 +7 +-8 +-16 +-20 +-19 +-16 +-11 +-8 +-3 +-1 +-1 +-1 +0 +-1 +-2 +-3 +-4 +-6 +-6 +-7 +-7 +-7 +-6 +-7 +-7 +-32 +-70 +-96 +-97 +-84 +-65 +-47 +-32 +-22 +-15 +-13 +-14 +-16 +-17 +-20 +-20 +-21 +-19 +-20 +-17 +-17 +-17 +-16 +-15 +-16 +-15 +-14 +-13 +-14 +-13 +-13 +-13 +19 +73 +89 +89 +72 +50 +27 +8 +-7 +-17 +-20 +-19 +-17 +-11 +-7 +-3 +-1 +1 +0 +-1 +-1 +-2 +-5 +-4 +-5 +-6 +-6 +-6 +-7 +-7 +-7 +-8 +-33 +-71 +-96 +-80 +-83 +-65 +-48 +-33 +-22 +-15 +-13 +-13 +-15 +-17 +-19 +-19 +-20 +-20 +-19 +-17 +-18 +-16 +-16 +-15 +-15 +-14 +-14 +-14 +-14 +-13 +-13 +-13 +20 +73 +89 +88 +71 +50 +27 +8 +-8 +-16 +-20 +-20 +-17 +-11 +-8 +-3 +-1 +1 +0 +0 +-1 +-3 +-4 +-4 +-6 +-6 \ No newline at end of file diff --git a/traces/indala-504278295.pm3 b/traces/indala-504278295.pm3 new file mode 100644 index 000000000..9383bab35 --- /dev/null +++ b/traces/indala-504278295.pm3 @@ -0,0 +1,20000 @@ +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-2 +10 +-22 +10 +-22 +8 +-23 +9 +-23 +9 +-22 +8 +-24 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +26 +-8 +30 +-5 +8 +-23 +7 +-24 +7 +-24 +8 +-24 +7 +-25 +8 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +120 +68 +27 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +2 +-30 +3 +-29 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +11 +-23 +11 +-23 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-21 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +9 +-23 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-2 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +5 +-28 +5 +-27 +6 +-27 +7 +-26 +6 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +27 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +-49 +29 +-5 +32 +-3 +10 +-22 +9 +-22 +8 +-24 +9 +-22 +8 +-23 +8 +-23 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +9 +-22 +10 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-21 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-22 +11 +-21 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +120 +68 +27 +-9 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +5 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-21 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +26 +-8 +30 +-5 +8 +-24 +8 +-24 +7 +-24 +8 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +10 +-22 +9 +-23 +9 +-23 +10 +-22 +10 +-22 +10 +120 +68 +27 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-2 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +4 +-28 +6 +-27 +6 +-27 +7 +-26 +8 +-25 +7 +-26 +9 +-24 +8 +-25 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +-23 +10 +120 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-2 +-33 +0 +-32 +2 +-30 +3 +-29 +5 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +27 +-7 +31 +-5 +8 +-23 +8 +-24 +7 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +8 +-23 +9 +-22 +9 +119 +68 +27 +-9 +0 +-31 +-3 +-35 +-3 +-35 +-2 +-33 +0 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-26 +6 +-26 +7 +-26 +7 +-25 +8 +-25 +-51 +27 +-7 +30 +-5 +8 +-23 +6 +-25 +7 +-25 +8 +-24 +8 +-24 +9 +-23 +8 +-23 +8 +-23 +9 +-22 +8 +-23 +10 +-22 +9 +-22 +9 +-23 +9 +119 +68 +27 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-28 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +32 +-3 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +9 +-23 +10 +120 +68 +27 +-9 +0 +-31 +-3 +-35 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-28 +6 +-26 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-24 +7 +-24 +7 +-25 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +9 +-22 +9 +119 +68 +28 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +7 +-25 +9 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-21 +9 +-23 +8 +-24 +9 +-22 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-21 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +3 +-29 +5 +-28 +6 +-27 +6 +-26 +7 +-26 +7 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +9 +-23 +9 +-23 +8 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +8 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +-49 +29 +-6 +33 +-3 +10 +-21 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +8 +-23 +10 +-22 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +9 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-21 +11 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +120 +69 +28 +-8 +-1 +-32 +-3 +-34 +-2 +-34 +-1 +-33 +1 +-31 +2 +-30 +3 +-29 +5 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-25 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +119 +68 +27 +-9 +1 +-31 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-25 +8 +-26 +8 +-25 +-51 +27 +-8 +31 +-4 +8 +-23 +7 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +9 +120 +68 +28 +-9 +0 +-32 +-3 +-34 +-4 +-35 +-2 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +11 +-22 +9 +-24 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-24 +9 +-22 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-26 +6 +-27 +7 +-26 +8 +-25 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-24 +7 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +2 +-30 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-23 +7 +-25 +6 +-25 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-22 +8 +-23 +9 +-23 +10 +-22 +8 +-23 +10 +-22 +9 +119 +68 +28 +-9 +-1 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +6 +-26 +6 +-27 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-24 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-23 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +31 +-4 +33 +-2 +10 +-22 +8 +-23 +8 +-23 +8 +-24 +8 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-31 +1 +-30 +3 +-29 +3 +-29 +5 +-27 +6 +-27 +6 +-27 +7 +-25 +7 +-25 +7 +-25 +-52 +27 +-7 +31 +-5 +8 +-24 +8 +-24 +6 +-25 +8 +-24 +8 +-23 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-22 +9 +-23 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +9 +-24 +9 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +1 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-25 +7 +-26 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-24 +10 +-23 +10 +-24 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-21 +9 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +1 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-22 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +11 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +120 +69 +28 +-8 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-21 +9 +-23 +8 +-24 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +1 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-28 +6 +-26 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +-51 +28 +-7 +32 +-4 +8 +-23 +7 +-24 +6 +-26 +7 +-24 +8 +-24 +8 +-23 +9 +-23 +8 +-23 +8 +-23 +10 +-22 +9 +-22 +9 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +0 +-31 +1 +-30 +2 +-30 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +-49 +29 +-5 +34 +-2 +10 +-22 +9 +-23 +8 +-24 +8 +-24 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +1 +-31 +3 +-29 +4 +-29 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +27 +-7 +31 +-5 +9 +-23 +7 +-24 +7 +-25 +7 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +8 +-23 +8 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +120 +68 +28 +-8 +0 +-32 +-5 +-35 +-4 +-35 +-2 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-52 +27 +-7 +32 +-4 +8 +-23 +8 +-24 +6 +-25 +8 +-24 +8 +-23 +7 +-25 +8 +-23 +8 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +9 +-22 +10 +119 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-24 +9 +-24 +8 +-25 +9 +-24 +9 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-31 +-4 +-35 +-3 +-35 +-1 +-32 +0 +-32 +3 +-29 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-23 +7 +-24 +7 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +9 +-22 +10 +120 +68 +27 +-9 +0 +-31 +-4 +-35 +-4 +-35 +-2 +-33 +-1 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-27 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +31 +-4 +32 +-3 +10 +-21 +9 +-23 +8 +-23 +9 +-22 +8 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +1 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-24 +8 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +-48 +30 +-5 +33 +-3 +10 +-21 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-9 +0 +-31 +-3 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +9 +-24 +8 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-24 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +9 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +9 +-24 +8 +-25 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-2 +10 +-21 +9 +-22 +8 +-23 +8 +-23 +8 +-23 +10 +-22 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-29 +5 +-27 +5 +-28 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +28 +-7 +31 +-5 +8 +-24 +8 +-24 +7 +-25 +8 +-23 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-22 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +120 +68 +28 +-8 +-1 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +1 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-27 +7 +-26 +8 +-25 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +-49 +29 +-5 +33 +-3 +10 +-22 +10 +-22 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +26 +-8 +32 +-4 +8 +-23 +8 +-24 +8 +-24 +7 +-24 +8 +-23 +8 +-24 +8 +-24 +9 +-23 +8 +-23 +9 +-22 +9 +-23 +9 +-23 +10 +-22 +9 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-2 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +8 +-26 +9 +-24 +-51 +27 +-7 +30 +-5 +8 +-24 +7 +-24 +6 +-25 +8 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +8 +-25 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +12 +-21 +12 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +-49 +29 +-5 +32 +-3 +10 +-21 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +-51 +27 +-7 +31 +-4 +7 +-24 +7 +-24 +6 +-25 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-27 +7 +-26 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +10 +-24 +10 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +-49 +29 +-6 +33 +-3 +10 +-22 +9 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +8 +-23 +10 +-22 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +2 +-30 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +11 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +-23 +10 +119 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +1 +-31 +1 +-30 +3 +-29 +5 +-27 +4 +-28 +6 +-27 +6 +-26 +7 +-26 +7 +-25 +8 +-25 +-51 +26 +-8 +30 +-5 +8 +-23 +7 +-24 +7 +-25 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +10 +-22 +9 +119 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +6 +-26 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +8 +-25 +10 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +-49 +29 +-5 +33 +-2 +10 +-22 +9 +-22 +9 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +120 +69 +28 +-9 +1 +-31 +-3 +-34 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +8 +-25 +9 +-24 +-51 +26 +-8 +30 +-5 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-24 +9 +-23 +8 +-23 +8 +-23 +10 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +2 +-30 +2 +-30 +3 +-30 +3 +-29 +5 +-28 +6 +-27 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +-51 +27 +-7 +31 +-4 +8 +-23 +7 +-25 +6 +-25 +7 +-25 +8 +-24 +8 +-23 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-31 +2 +-30 +2 +-30 +4 +-28 +5 +-28 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +34 +-2 +11 +-21 +9 +-23 +8 +-23 +8 +-24 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +11 +121 +69 +28 +-8 +0 +-32 +-4 +-35 +-4 +-35 +-1 +-32 +0 +-31 +1 +-31 +2 +-30 +4 +-28 +5 +-28 +6 +-27 +7 +-26 +7 +-25 +7 +-26 +8 +-26 +-52 +28 +-6 +31 +-5 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +7 +-24 +8 +-23 +9 +-23 +8 +-23 +8 +-23 +9 +-22 +9 +-23 +9 +-23 +10 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-29 +5 +-28 +6 +-27 +6 +-27 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +8 +-25 +10 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +-49 +29 +-5 +34 +-2 +9 +-23 +9 +-23 +7 +-24 +9 +-23 +10 +-22 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-21 +10 +120 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +2 +-30 +3 +-29 +4 +-29 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-24 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +11 +-21 +9 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +8 +-23 +9 +-22 +10 +-22 +10 +-22 +11 +-21 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +1 +-31 +2 +-30 +3 +-29 +4 +-28 +4 +-28 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +8 +-25 +8 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +-49 +29 +-6 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-21 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +120 +69 +28 +-8 +0 +-31 +-4 +-35 +-2 +-34 +-1 +-32 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-3 +11 +-21 +8 +-23 +8 +-24 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +-1 +-33 +-4 +-35 +-3 +-34 +-1 +-32 +1 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +5 +-28 +6 +-26 +7 +-25 +7 +-26 +9 +-24 +-51 +28 +-7 +31 +-4 +8 +-24 +7 +-24 +6 +-25 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-5 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-24 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-3 +10 +-21 +9 +-23 +7 +-24 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +7 +-25 +8 +-25 +-51 +28 +-7 +30 +-5 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-31 +2 +-30 +4 +-28 +5 +-28 +6 +-27 +6 +-27 +7 +-26 +7 +-26 +7 +-26 +-52 +27 +-8 +31 +-4 +8 +-23 +8 +-24 +6 +-25 +8 +-24 +8 +-24 +7 +-24 +8 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-5 +-36 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-29 +4 +-28 +5 +-27 +7 +-26 +7 +-26 +7 +-25 +9 +-24 +8 +-25 +9 +-24 +10 +-24 +9 +-24 +10 +-24 +10 +-24 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-22 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-31 +-4 +-35 +-3 +-35 +-1 +-32 +0 +-32 +3 +-29 +3 +-29 +4 +-29 +4 +-28 +5 +-28 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +27 +-7 +31 +-4 +8 +-24 +7 +-24 +7 +-24 +7 +-25 +7 +-24 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +119 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-30 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-25 +8 +-25 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-2 +10 +-22 +9 +-22 +9 +-23 +8 +-24 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +4 +-28 +5 +-27 +6 +-27 +7 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +29 +-6 +32 +-3 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +9 +-22 +10 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +120 +68 +28 +-8 +0 +-32 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +3 +-29 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +119 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +27 +-7 +31 +-4 +8 +-23 +7 +-24 +7 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-24 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +120 +69 +28 +-8 +-1 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-25 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-23 +7 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +120 +68 +28 +-9 +-1 +-32 +-4 +-35 +-3 +-33 +-2 +-33 +1 +-31 +2 +-30 +3 +-29 +5 +-28 +5 +-28 +6 +-27 +7 +-26 +7 +-25 +7 +-25 +8 +-25 +-51 +27 +-8 +31 +-5 +8 +-23 +7 +-24 +7 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +9 +119 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-25 +9 +-24 +-51 +27 +-7 +30 +-5 +8 +-24 +8 +-24 +6 +-25 +8 +-24 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +4 +-28 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +9 +-24 +10 +-23 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +119 +68 +28 +-9 +-1 +-32 +-3 +-34 +-3 +-35 +-2 +-33 +1 +-31 +1 +-30 +3 +-29 +5 +-28 +5 +-28 +6 +-27 +6 +-27 +7 +-26 +7 +-25 +8 +-25 +-51 +27 +-8 +31 +-4 +8 +-23 +7 +-24 +7 +-25 +8 +-24 +8 +-23 +8 +-24 +8 +-23 +8 +-23 +8 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +7 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-24 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-23 +11 +-23 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +-49 +31 +-4 +33 +-2 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +9 +-22 +10 +120 +69 +28 +-9 +0 +-32 +-3 +-35 +-4 +-35 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +6 +-27 +6 +-26 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +11 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-2 +10 +-22 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +9 +-22 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-24 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-23 +9 +-23 +8 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +120 +69 +28 +-8 +0 +-31 +-3 +-34 +-3 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +12 +-21 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +-49 +29 +-5 +33 +-3 +10 +-22 +9 +-22 +8 +-24 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +119 +68 +28 +-9 +0 +-32 +-5 +-35 +-2 +-34 +-1 +-33 +0 +-31 +2 +-30 +3 +-29 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +8 +-25 +7 +-26 +8 +-25 +-51 +27 +-8 +31 +-4 +8 +-24 +7 +-24 +7 +-24 +8 +-24 +7 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +9 +119 +68 +28 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +-1 +-33 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-28 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-23 +8 +-23 +9 +-23 +10 +-22 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-35 +-2 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +-51 +27 +-8 +31 +-5 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-23 +9 +-23 +8 +-24 +9 +-22 +9 +-23 +9 +-22 +9 +-22 +9 +-23 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-32 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +6 +-26 +8 +-25 +8 +-25 +-51 +28 +-6 +31 +-4 +8 +-23 +7 +-25 +6 +-25 +7 +-24 +7 +-24 +8 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +10 +-22 +9 +119 +68 +27 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-32 +-1 +-32 +2 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-21 +12 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +10 +-23 +12 +-22 +12 +-22 +11 +-23 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +29 +-6 +33 +-2 +10 +-21 +9 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +8 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +120 +69 +28 +-9 +0 +-31 +-4 +-35 +-3 +-34 +0 +-32 +0 +-32 +1 +-30 +3 +-29 +3 +-29 +5 +-27 +6 +-26 +6 +-27 +7 +-26 +7 +-26 +7 +-25 +-52 +27 +-7 +31 +-5 +8 +-23 +7 +-24 +7 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +3 +-29 +5 +-28 +5 +-27 +6 +-26 +8 +-25 +7 +-26 +7 +-25 +8 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-4 +33 +-2 +10 +-22 +9 +-23 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +10 +-22 +10 +120 +68 +27 +-9 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +2 +-30 +3 +-30 +4 +-28 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +8 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-24 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +13 +-21 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +9 +-22 +8 +-24 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +9 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +9 +-24 +8 +-25 +9 +-24 +10 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +7 +-24 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-21 +10 +-21 +10 +-21 +10 +-21 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +11 +-21 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +120 +69 +28 +-8 +1 +-31 +-4 +-35 +-3 +-34 +-1 +-32 +0 +-32 +3 +-29 +3 +-29 +4 +-28 +6 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +11 +-23 +10 +-24 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +10 +-23 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +12 +-22 +11 +-22 +-49 +31 +-4 +33 +-3 +10 +-22 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-23 +8 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +28 +-7 +31 +-4 +8 +-23 +8 +-24 +6 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +10 +-22 +9 +-22 +10 +119 +67 +27 +-9 +-1 +-33 +-4 +-35 +-3 +-34 +-2 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +6 +-26 +7 +-25 +8 +-25 +8 +-25 +10 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +-49 +28 +-6 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +8 +-23 +9 +-22 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +9 +-24 +-51 +28 +-7 +31 +-4 +8 +-23 +7 +-25 +6 +-25 +7 +-24 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +8 +-23 +9 +-22 +9 +-22 +9 +-23 +10 +120 +68 +27 +-9 +-1 +-32 +-5 +-35 +-3 +-34 +-2 +-33 +1 +-31 +1 +-31 +3 +-29 +3 +-29 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +7 +-25 +-51 +26 +-8 +31 +-4 +8 +-23 +8 +-23 +6 +-25 +7 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-22 +8 +-23 +9 +-22 +10 +-22 +9 +119 +68 +27 +-9 +-1 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +0 +-32 +2 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +10 +-23 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-21 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +9 +-23 +9 +-23 +8 +-23 +10 +-22 +9 +-23 +9 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +3 +-29 +4 +-28 +5 +-28 +6 +-27 +6 +-26 +7 +-26 +8 +-25 +8 +-25 +-51 +27 +-8 +31 +-5 +8 +-23 +8 +-24 +7 +-25 +7 +-24 +8 +-24 +8 +-24 +8 +-23 +8 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +120 +69 +28 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-2 +-33 +0 +-32 +2 +-30 +3 +-29 +3 +-29 +6 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +12 +-21 +12 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-22 +8 +-24 +9 +-23 +8 +-23 +9 +-22 +10 +-22 +10 +-21 +10 +-22 +9 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +120 +69 +28 +-8 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +1 +-31 +1 +-31 +2 +-29 +4 +-29 +5 +-27 +6 +-27 +7 +-26 +7 +-25 +8 +-26 +8 +-25 +8 +-24 +8 +-25 +10 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +12 +-22 +10 +-23 +-49 +29 +-6 +33 +-3 +10 +-21 +10 +-22 +8 +-23 +8 +-23 +9 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +-22 +10 +-22 +9 +120 +69 +28 +-8 +0 +-32 +-3 +-35 +-3 +-34 +-1 +-33 +0 +-31 +1 +-30 +4 +-29 +4 +-29 +5 +-27 +5 +-27 +6 +-26 +7 +-26 +7 +-26 +9 +-24 +8 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +10 +-22 +8 +-23 +8 +-24 +8 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-22 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-21 +10 +-22 +11 +-21 +10 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-21 +11 +-21 +10 +-22 +10 +-21 +10 +-22 +10 +-22 +10 +-22 +10 +-21 +11 +-21 +10 +-21 +10 +120 +68 +28 +-8 +0 +-32 +-3 +-35 +-2 +-34 +-1 +-32 +1 +-31 +3 +-30 +3 +-29 +4 +-28 +5 +-28 +6 +-26 +6 +-27 +7 +-26 +8 +-25 +8 +-25 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +9 +-24 +10 +-23 +10 +-23 +9 +-24 +10 +-23 +11 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +10 +-23 +11 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +-49 +30 +-5 +33 +-3 +9 +-22 +9 +-23 +8 +-23 +9 +-23 +9 +-22 +9 +-23 +9 +-23 +10 +-22 +9 +-23 +10 +-22 +10 +-22 +10 +-22 +10 +-22 +9 +119 +68 +27 +-9 +0 +-31 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-30 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +6 +-26 +7 +-26 +7 +-26 +8 +-25 +-51 +26 +-8 +31 +-4 +8 +-23 +7 +-24 +6 +-25 +7 +-24 +7 +-24 +8 +-23 +9 +-22 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +-22 +9 +120 +68 +28 +-9 +0 +-32 +-4 +-35 +-4 +-35 +-1 +-33 +1 +-31 +2 +-30 +3 +-30 +3 +-29 +5 +-28 +5 +-27 +7 +-26 +7 +-26 +8 +-25 +8 +-25 +8 +-24 +9 +-24 +9 +-24 +10 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-24 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-23 +11 +-23 +10 +-23 +11 +-23 +-49 +30 +-5 +33 +-2 +10 +-22 +9 +-23 +8 +-24 +9 +-23 +8 +-23 +9 +-22 +9 +-22 +9 +-23 +9 +-22 +9 +-22 +9 +-22 +10 +-22 +9 +-23 +11 +120 +68 +28 +-8 +0 +-32 +-4 +-35 +-3 +-34 +-2 +-33 +1 +-31 +1 +-31 +3 +-29 +4 +-28 +5 +-27 +6 +-27 +7 +-26 +7 +-26 +8 +-25 +7 +-25 +-52 +27 +-8 +31 +-5 +8 +-23 +8 +-24 +7 +-24 +7 +-24 +8 +-23 +7 +-24 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +9 +-23 +10 +-22 +9 +119 +68 +27 +-9 +0 +-32 +-4 +-35 +-3 +-35 +-1 +-33 +-1 +-32 +1 +-30 +3 +-29 +3 +-29 +5 +-27 +5 +-27 +7 +-26 +7 +-25 +8 +-25 +8 +-25 +-51 +28 +-7 +30 +-5 +8 +-23 +7 +-25 +6 +-25 +8 +-24 +7 +-25 +8 +-24 +8 +-24 +8 +-23 +9 +-22 +9 +-23 +10 +-22 +9 +-23 +9 +-23 +10 +120 +68 +27 +-9 +-1 +-32 +-4 +-35 +-3 +-34 +-1 +-33 +0 +-32 +1 +-30 +4 +-28 +4 +-28 +4 +-28 +6 +-27 +7 +-26 +6 +-26 +8 +-25 +8 +-25 +9 +-25 +9 +-24 +9 +-24 +9 +-24 +9 +-24 +10 +-23 +10 +-24 +10 +-23 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +10 +-23 +11 +-22 +10 +-23 +11 +-22 +11 +-23 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +12 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +11 +-22 +11 +-22 +11 +-22 +11 +-22 +11 +-23 +12 +-22 +11 +-22 +12 +-22 +12 +-22 +11 +-22 +11 +-22 +11 diff --git a/traces/ioProx-XSF-01-BE-03011.pm3 b/traces/ioProx-XSF-01-BE-03011.pm3 new file mode 100644 index 000000000..34fbbec13 --- /dev/null +++ b/traces/ioProx-XSF-01-BE-03011.pm3 @@ -0,0 +1,16000 @@ +-55 +-90 +-103 +3 +73 +91 +32 +-17 +-59 +-93 +-105 +3 +73 +92 +32 +-17 +-58 +-93 +-104 +4 +74 +93 +33 +-16 +-58 +-92 +-104 +4 +75 +93 +33 +-15 +-57 +-92 +-104 +6 +76 +95 +34 +-14 +-57 +-91 +-103 +7 +76 +95 +34 +-14 +-57 +-91 +-103 +7 +77 +95 +35 +-14 +-56 +-91 +-105 +-98 +33 +100 +109 +84 +25 +-22 +-63 +-97 +-110 +-93 +37 +102 +109 +84 +25 +-22 +-63 +-97 +-110 +-95 +36 +101 +109 +83 +24 +-23 +-64 +-98 +-110 +-96 +35 +100 +108 +82 +23 +-24 +-65 +-98 +-111 +-97 +34 +99 +107 +81 +22 +-25 +-66 +-99 +-112 +-97 +33 +99 +106 +81 +22 +-25 +-65 +-99 +-112 +-97 +33 +99 +105 +46 +-7 +-49 +-86 +-99 +4 +76 +91 +33 +-17 +-42 +-93 +-104 +4 +75 +92 +33 +-17 +-41 +-93 +-103 +5 +77 +93 +35 +-15 +-56 +-92 +-103 +6 +78 +94 +35 +-15 +-56 +-92 +-102 +7 +79 +94 +36 +-14 +-56 +-91 +-102 +7 +79 +95 +37 +-14 +-55 +-91 +-101 +7 +79 +95 +37 +-14 +-55 +-91 +-101 +7 +79 +95 +37 +-14 +-55 +-91 +-102 +7 +79 +95 +37 +-14 +-55 +-91 +-102 +6 +78 +94 +36 +-14 +-56 +-91 +-102 +6 +78 +94 +35 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +93 +35 +-15 +-56 +-92 +-103 +6 +78 +94 +35 +-15 +-56 +-92 +-102 +6 +78 +94 +35 +-15 +-56 +-92 +-103 +5 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +35 +-15 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +35 +-15 +-56 +-92 +-103 +6 +78 +93 +35 +-15 +-56 +-92 +-103 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +94 +36 +-15 +-56 +-92 +-102 +7 +79 +95 +36 +-15 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-102 +7 +79 +95 +37 +-14 +-55 +-91 +-102 +7 +79 +95 +37 +-14 +-56 +-91 +-102 +6 +79 +95 +37 +-14 +-56 +-91 +-102 +7 +79 +95 +36 +-15 +-56 +-92 +-102 +6 +79 +95 +36 +-15 +-56 +-92 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +6 +78 +95 +36 +-15 +-56 +-92 +-102 +6 +79 +95 +37 +-14 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-103 +6 +78 +95 +36 +-14 +-56 +-92 +-102 +6 +79 +94 +36 +-15 +-56 +-92 +-102 +6 +78 +95 +36 +-14 +-56 +-92 +-103 +6 +79 +94 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +78 +94 +36 +-15 +-56 +-92 +-103 +6 +78 +94 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-14 +-56 +-92 +-102 +7 +79 +95 +36 +-15 +-56 +-92 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +96 +37 +-14 +-55 +-91 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +96 +37 +-14 +-55 +-91 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +96 +37 +-14 +-55 +-91 +-102 +8 +79 +95 +37 +-14 +-55 +-92 +-102 +7 +79 +96 +79 +20 +-27 +-67 +-100 +-128 +-95 +36 +103 +111 +86 +26 +-22 +-63 +-97 +-111 +-95 +36 +102 +109 +83 +24 +-23 +-65 +-98 +-112 +-97 +34 +100 +108 +82 +23 +-24 +-66 +-99 +-112 +-98 +33 +99 +107 +81 +22 +-25 +-66 +-99 +-128 +-98 +33 +99 +106 +81 +22 +-25 +-66 +-100 +-128 +-99 +33 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-100 +32 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-99 +32 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-99 +33 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-100 +32 +98 +106 +81 +22 +-25 +-66 +-100 +-128 +-99 +33 +99 +106 +80 +22 +-26 +-67 +-100 +-128 +-99 +32 +98 +106 +80 +22 +-26 +-67 +-100 +-128 +-100 +32 +99 +106 +46 +-7 +-50 +-87 +-100 +3 +75 +90 +32 +-18 +-59 +-95 +-106 +2 +75 +91 +33 +-17 +-43 +-94 +-105 +4 +76 +93 +34 +-16 +-58 +-93 +-105 +4 +77 +94 +35 +-16 +-57 +-93 +-104 +5 +78 +94 +36 +-15 +-56 +-93 +-103 +6 +78 +94 +35 +-15 +-57 +-93 +-103 +6 +78 +95 +36 +-15 +-56 +-92 +-103 +5 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +7 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +5 +78 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +79 +94 +36 +-15 +-57 +-93 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-104 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +7 +79 +95 +37 +-14 +-56 +-92 +-103 +6 +79 +95 +36 +-15 +-56 +-92 +-103 +6 +78 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-15 +-56 +-92 +-103 +6 +78 +95 +37 +-15 +-56 +-92 +-103 +6 +79 +95 +37 +-14 +-56 +-92 +-103 +6 +79 +95 +37 +-14 +-56 +-92 +-103 +6 +79 +96 +37 +-14 +-56 +-92 +-103 +6 +79 +95 +79 +20 +-27 +-68 +-101 +-128 +-96 +36 +103 +111 +86 +26 +-22 +-64 +-98 +-111 +-95 +36 +102 +110 +85 +25 +-23 +-65 +-98 +-112 +-96 +35 +101 +109 +83 +24 +-24 +-65 +-99 +-112 +-97 +35 +101 +109 +83 +24 +-24 +-65 +-99 +-112 +-97 +34 +101 +108 +83 +24 +-24 +-66 +-99 +-128 +-98 +33 +99 +108 +82 +23 +-25 +-66 +-100 +-110 +7 +79 +97 +36 +-14 +-57 +-92 +-105 +1 +72 +91 +30 +-19 +-61 +-95 +-107 +2 +73 +92 +32 +-17 +-60 +-95 +-107 +4 +74 +94 +33 +-16 +-59 +-93 +-106 +4 +75 +94 +33 +-16 +-59 +-93 +-105 +5 +76 +95 +34 +-15 +-58 +-93 +-105 +6 +76 +95 +34 +-15 +-58 +-93 +-105 +6 +77 +95 +75 +19 +-29 +-69 +-103 +-128 +-98 +36 +100 +111 +83 +26 +-24 +-64 +-99 +-112 +-98 +35 +100 +110 +81 +24 +-25 +-65 +-100 +-112 +-99 +35 +99 +109 +80 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +80 +24 +-26 +-66 +-101 +-128 +-99 +34 +98 +108 +80 +23 +-26 +-66 +-101 +-128 +-100 +33 +97 +109 +80 +23 +-26 +-66 +-101 +-128 +-100 +33 +97 +108 +80 +23 +-26 +-66 +-101 +-128 +-100 +34 +97 +108 +80 +23 +-26 +-66 +-101 +-128 +-100 +33 +97 +108 +80 +24 +-26 +-66 +-101 +-128 +-101 +33 +98 +108 +80 +23 +-26 +-67 +-101 +-128 +-100 +33 +97 +109 +80 +23 +-27 +-67 +-101 +-128 +-100 +33 +97 +108 +80 +23 +-26 +-66 +-101 +-128 +-101 +33 +97 +108 +80 +23 +-27 +-67 +-101 +-128 +-100 +33 +97 +107 +79 +22 +-27 +-67 +-102 +-128 +-101 +32 +97 +108 +79 +23 +-27 +-67 +-101 +-128 +-100 +33 +97 +108 +80 +23 +-26 +-67 +-101 +-128 +-101 +33 +98 +109 +80 +24 +-26 +-66 +-101 +-128 +-99 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +80 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +80 +24 +-26 +-66 +-101 +-128 +-100 +34 +98 +109 +80 +23 +-26 +-66 +-101 +-128 +-101 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-100 +33 +98 +109 +80 +23 +-26 +-67 +-101 +-128 +-100 +34 +98 +109 +80 +23 +-26 +-66 +-101 +-128 +-101 +33 +97 +109 +80 +23 +-26 +-66 +-101 +-128 +-100 +33 +97 +108 +80 +23 +-26 +-67 +-102 +-128 +-100 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +97 +109 +80 +23 +-26 +-67 +-101 +-128 +-100 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-99 +34 +98 +109 +81 +24 +-26 +-66 +-101 +-128 +-99 +34 +99 +110 +47 +-5 +-50 +-86 +-101 +4 +75 +94 +33 +-17 +-59 +-94 +-106 +4 +75 +95 +33 +-16 +-59 +-94 +-106 +5 +76 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-14 +-58 +-93 +-105 +6 +77 +97 +35 +-14 +-58 +-93 +-105 +6 +77 +96 +35 +-14 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +5 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-15 +-58 +-93 +-105 +7 +77 +96 +35 +-15 +-58 +-93 +-105 +6 +77 +96 +35 +-14 +-58 +-93 +-105 +7 +77 +97 +36 +-14 +-57 +-93 +-105 +7 +77 +97 +36 +-14 +-57 +-92 +-104 +7 +77 +97 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-57 +-93 +-104 +7 +78 +97 +36 +-14 +-57 +-92 +-105 +7 +77 +97 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-57 +-93 +-105 +7 +77 +97 +77 +21 +-28 +-68 +-103 +-128 +-98 +37 +101 +113 +85 +27 +-23 +-64 +-99 +-112 +-98 +36 +100 +111 +82 +25 +-25 +-66 +-101 +-128 +-99 +35 +99 +110 +82 +24 +-25 +-66 +-101 +-128 +-100 +34 +99 +110 +80 +23 +-26 +-67 +-102 +-128 +-100 +34 +98 +109 +80 +24 +-26 +-67 +-102 +-128 +-100 +34 +98 +109 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +97 +109 +80 +23 +-26 +-67 +-102 +-128 +-101 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +98 +109 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +98 +109 +80 +23 +-27 +-67 +-102 +-128 +-100 +34 +98 +109 +81 +24 +-26 +-67 +-102 +-128 +-100 +34 +98 +109 +80 +23 +-26 +-67 +-102 +-128 +-100 +34 +98 +110 +81 +24 +-26 +-66 +-101 +-128 +-100 +35 +99 +110 +82 +24 +-26 +-66 +-101 +-128 +-100 +35 +99 +110 +83 +25 +-25 +-65 +-101 +-128 +-99 +35 +99 +110 +82 +24 +-25 +-66 +-101 +-128 +-99 +35 +100 +110 +82 +25 +-25 +-66 +-101 +-128 +-100 +34 +99 +110 +81 +24 +-26 +-67 +-102 +-128 +-101 +33 +98 +109 +81 +24 +-26 +-67 +-102 +-128 +-102 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-101 +33 +97 +108 +80 +23 +-27 +-67 +-102 +-128 +-102 +33 +97 +109 +80 +23 +-27 +-67 +-102 +-128 +-100 +33 +98 +109 +80 +23 +-26 +-67 +-102 +-128 +-99 +35 +99 +110 +81 +24 +-26 +-66 +-101 +-128 +-100 +35 +100 +111 +47 +-5 +-50 +-86 +-102 +4 +74 +93 +32 +-17 +-60 +-95 +-108 +3 +74 +93 +32 +-17 +-60 +-95 +-107 +4 +75 +95 +33 +-16 +-59 +-95 +-107 +4 +75 +95 +33 +-16 +-59 +-95 +-107 +5 +75 +95 +34 +-16 +-59 +-94 +-106 +5 +76 +95 +33 +-16 +-59 +-95 +-107 +4 +75 +94 +33 +-17 +-60 +-95 +-107 +2 +73 +93 +32 +-18 +-60 +-95 +-108 +3 +74 +94 +33 +-17 +-60 +-95 +-107 +4 +76 +94 +33 +-17 +-60 +-95 +-107 +5 +76 +95 +34 +-16 +-59 +-94 +-106 +6 +77 +96 +35 +-15 +-59 +-94 +-106 +7 +77 +97 +36 +-14 +-58 +-93 +-105 +8 +79 +99 +37 +-14 +-57 +-93 +-105 +8 +79 +98 +37 +-14 +-57 +-93 +-105 +8 +79 +98 +37 +-14 +-57 +-93 +-104 +9 +80 +99 +37 +-13 +-57 +-93 +-104 +8 +79 +99 +37 +-14 +-57 +-93 +-104 +8 +79 +99 +37 +-14 +-57 +-93 +-105 +7 +77 +98 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-58 +-93 +-105 +7 +77 +97 +36 +-15 +-58 +-93 +-106 +7 +77 +96 +35 +-15 +-58 +-94 +-106 +5 +76 +96 +35 +-15 +-58 +-94 +-106 +7 +77 +97 +35 +-15 +-58 +-93 +-106 +7 +77 +97 +36 +-14 +-58 +-93 +-105 +7 +77 +97 +35 +-15 +-58 +-93 +-106 +7 +78 +98 +36 +-14 +-58 +-93 +-105 +8 +79 +98 +36 +-14 +-58 +-93 +-105 +8 +79 +99 +37 +-13 +-57 +-92 +-105 +8 +79 +98 +36 +-14 +-57 +-93 +-105 +7 +78 +98 +36 +-14 +-57 +-93 +-105 +8 +79 +98 +36 +-14 +-57 +-93 +-105 +7 +78 +97 +36 +-14 +-58 +-93 +-105 +7 +78 +97 +36 +-14 +-58 +-93 +-106 +6 +77 +97 +35 +-15 +-58 +-94 +-106 +7 +78 +97 +35 +-15 +-58 +-93 +-106 +7 +78 +97 +36 +-14 +-58 +-93 +-105 +8 +79 +98 +36 +-14 +-57 +-93 +-108 +-99 +35 +102 +112 +89 +28 +-21 +-63 +-98 +-112 +-94 +39 +106 +113 +88 +28 +-21 +-64 +-99 +-128 +-97 +37 +103 +111 +86 +26 +-23 +-65 +-100 +-128 +-98 +35 +101 +110 +84 +24 +-24 +-66 +-100 +-128 +-99 +34 +101 +109 +83 +23 +-25 +-67 +-101 +-128 +-100 +33 +100 +108 +82 +22 +-26 +-67 +-102 +-128 +-101 +32 +99 +107 +46 +-8 +-51 +-89 +-102 +1 +73 +90 +31 +-20 +-61 +-97 +-109 +1 +74 +90 +31 +-19 +-61 +-97 +-108 +3 +75 +92 +33 +-18 +-60 +-96 +-107 +3 +77 +93 +34 +-17 +-43 +-96 +-107 +5 +78 +94 +35 +-16 +-58 +-95 +-106 +6 +78 +95 +35 +-16 +-58 +-95 +-106 +5 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +79 +20 +-28 +-69 +-103 +-128 +-97 +36 +103 +111 +86 +26 +-23 +-65 +-100 +-128 +-98 +35 +102 +109 +83 +24 +-25 +-67 +-101 +-128 +-99 +34 +101 +109 +83 +23 +-25 +-67 +-101 +-128 +-100 +33 +100 +108 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +107 +81 +22 +-27 +-68 +-102 +-128 +-101 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-101 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +108 +82 +22 +-26 +-68 +-102 +-128 +-101 +33 +100 +108 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-101 +33 +99 +107 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +100 +108 +46 +-7 +-51 +-89 +-102 +2 +75 +91 +32 +-19 +-61 +-97 +-108 +2 +74 +92 +32 +-19 +-61 +-97 +-108 +3 +76 +93 +34 +-17 +-43 +-96 +-107 +4 +77 +94 +35 +-17 +-43 +-95 +-106 +5 +78 +95 +35 +-16 +-58 +-95 +-106 +5 +78 +95 +36 +-16 +-58 +-95 +-106 +5 +79 +95 +36 +-16 +-58 +-95 +-106 +5 +78 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-94 +-105 +6 +79 +96 +37 +-15 +-57 +-94 +-105 +6 +79 +96 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +8 +80 +97 +37 +-15 +-57 +-94 +-105 +8 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-104 +7 +80 +97 +37 +-14 +-57 +-94 +-104 +8 +81 +97 +38 +-14 +-57 +-93 +-105 +8 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +6 +79 +96 +37 +-15 +-57 +-94 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-105 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +96 +36 +-16 +-58 +-94 +-106 +6 +79 +96 +37 +-16 +-58 +-94 +-106 +6 +78 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +78 +95 +35 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-94 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +7 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-94 +-106 +6 +79 +96 +37 +-15 +-58 +-94 +-105 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +7 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +37 +-15 +-58 +-94 +-105 +7 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +37 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +95 +36 +-16 +-58 +-95 +-106 +7 +79 +95 +36 +-16 +-58 +-95 +-106 +7 +79 +96 +36 +-16 +-58 +-95 +-106 +7 +80 +96 +37 +-15 +-58 +-94 +-106 +6 +79 +96 +37 +-16 +-58 +-94 +-105 +7 +79 +96 +37 +-15 +-58 +-94 +-105 +7 +80 +96 +36 +-16 +-58 +-95 +-105 +7 +79 +96 +37 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +7 +79 +96 +37 +-16 +-58 +-94 +-105 +6 +79 +97 +37 +-15 +-58 +-94 +-105 +7 +80 +96 +36 +-16 +-58 +-95 +-106 +6 +79 +96 +36 +-16 +-58 +-95 +-105 +7 +80 +97 +37 +-15 +-58 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +37 +-15 +-57 +-94 +-105 +7 +80 +97 +80 +21 +-27 +-69 +-103 +-128 +-95 +38 +105 +112 +88 +27 +-22 +-65 +-99 +-128 +-96 +37 +104 +112 +86 +26 +-23 +-65 +-100 +-128 +-98 +36 +102 +109 +84 +24 +-25 +-67 +-101 +-128 +-99 +34 +101 +109 +83 +23 +-26 +-68 +-102 +-128 +-100 +33 +100 +107 +82 +22 +-27 +-68 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +32 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +32 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +32 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +22 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +82 +22 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +100 +108 +82 +22 +-26 +-68 +-102 +-128 +-100 +33 +99 +107 +81 +22 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +22 +-27 +-69 +-103 +-128 +-100 +33 +100 +107 +81 +22 +-27 +-69 +-103 +-128 +-101 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +106 +81 +21 +-27 +-69 +-103 +-128 +-101 +32 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-101 +33 +99 +106 +80 +21 +-28 +-69 +-103 +-128 +6 +78 +97 +35 +-16 +-59 +-95 +-108 +1 +72 +91 +30 +-20 +-63 +-98 +-110 +3 +74 +94 +32 +-18 +-61 +-96 +-108 +5 +76 +95 +33 +-17 +-60 +-95 +-107 +6 +77 +96 +34 +-16 +-60 +-95 +-107 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +8 +79 +97 +35 +-15 +-59 +-94 +-106 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +7 +77 +97 +35 +-15 +-59 +-94 +-106 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +7 +78 +97 +35 +-15 +-58 +-94 +-106 +7 +78 +97 +35 +-15 +-59 +-94 +-106 +7 +78 +97 +35 +-15 +-59 +-95 +-106 +7 +77 +96 +35 +-16 +-59 +-95 +-106 +7 +77 +97 +35 +-16 +-59 +-95 +-106 +8 +78 +97 +35 +-15 +-59 +-95 +-107 +7 +77 +97 +35 +-15 +-59 +-94 +-107 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +8 +79 +97 +36 +-15 +-58 +-94 +-106 +8 +79 +98 +36 +-15 +-58 +-94 +-106 +8 +79 +99 +37 +-14 +-58 +-93 +-105 +10 +80 +99 +37 +-14 +-58 +-93 +-105 +9 +79 +99 +36 +-14 +-58 +-93 +-105 +9 +80 +99 +36 +-14 +-58 +-94 +-106 +8 +79 +98 +36 +-14 +-58 +-94 +-106 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +8 +77 +97 +35 +-16 +-59 +-95 +-106 +7 +77 +97 +35 +-15 +-59 +-95 +-107 +6 +77 +96 +34 +-16 +-59 +-95 +-107 +7 +77 +96 +34 +-16 +-59 +-95 +-107 +7 +77 +95 +34 +-17 +-60 +-95 +-107 +7 +77 +96 +34 +-16 +-59 +-95 +-110 +-100 +34 +101 +109 +86 +26 +-23 +-66 +-100 +-128 +-96 +38 +104 +111 +85 +25 +-24 +-66 +-101 +-128 +-98 +35 +102 +109 +83 +24 +-25 +-67 +-102 +-128 +-99 +34 +101 +109 +83 +23 +-26 +-68 +-102 +-128 +-99 +34 +100 +107 +81 +22 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-100 +33 +99 +107 +81 +21 +-27 +-69 +-103 +-128 +-99 +34 +100 +107 +82 +22 +-27 +-68 +-103 +-128 +-100 +34 +100 +107 +81 +22 +-27 +-69 +-103 +-128 +-100 +34 +99 +107 +82 +22 +-27 +-69 +-103 +-128 +7 +79 +97 +35 +-16 +-59 +-95 +-108 +1 +72 +91 +29 +-20 +-63 +-98 +-110 +3 +74 +93 +31 +-18 +-62 +-97 +-109 +5 +75 +94 +33 +-17 +-61 +-96 +-108 +6 +77 +95 +33 +-17 +-60 +-95 +-107 +6 +77 +96 +34 +-16 +-60 +-95 +-107 +7 +77 +96 +34 +-16 +-60 +-95 +-107 +7 +77 +97 +77 +20 +-30 +-70 +-105 +-128 +-97 +38 +102 +113 +84 +26 +-24 +-65 +-101 +-128 +-97 +38 +101 +111 +82 +24 +-26 +-67 +-102 +-128 +-99 +36 +99 +110 +81 +23 +-27 +-67 +-103 +-128 +-100 +35 +99 +110 +80 +23 +-27 +-68 +-103 +-128 +-100 +34 +98 +109 +80 +22 +-28 +-69 +-104 +-128 +-100 +35 +98 +108 +79 +22 +-28 +-69 +-104 +-128 +-101 +34 +98 +109 +80 +23 +-28 +-68 +-103 +-128 +-100 +35 +98 +109 +80 +22 +-28 +-68 +-104 +-128 +-100 +35 +99 +109 +80 +22 +-28 +-68 +-104 +-128 +-100 +35 +99 +109 +80 +23 +-27 +-68 +-103 +-128 +-99 +35 +100 +110 +80 +23 +-27 +-68 +-103 +-128 +-99 +36 +100 +110 +81 +24 +-27 +-67 +-103 +-128 +-99 +36 +100 +110 +82 +24 +-27 +-67 +-103 +-128 +-99 +36 +100 +110 +81 +24 +-27 +-67 +-103 +-128 +-99 +36 +99 +110 +81 +23 +-27 +-68 +-103 +-128 +-100 +35 +99 +108 +80 +22 +-28 +-68 +-104 +-128 +-100 +35 +98 +108 +79 +22 +-28 +-69 +-104 +-128 +-101 +34 +97 +108 +79 +21 +-28 +-69 +-104 +-128 +-101 +34 +97 +107 +79 +21 +-28 +-69 +-104 +-128 +-101 +34 +98 +108 +79 +22 +-28 +-69 +-104 +-128 +-100 +35 +98 +108 +80 +23 +-27 +-68 +-104 +-128 +-99 +36 +99 +109 +81 +23 +-27 +-68 +-103 +-128 +-99 +35 +100 +110 +82 +24 +-26 +-67 +-103 +-128 +-99 +36 +99 +109 +80 +23 +-27 +-68 +-103 +-128 +-100 +35 +99 +109 +80 +22 +-28 +-68 +-104 +-128 +-100 +34 +97 +107 +79 +22 +-28 +-69 +-104 +-128 +-101 +33 +97 +107 +78 +21 +-29 +-69 +-104 +-128 +-102 +33 +96 +106 +77 +20 +-29 +-70 +-105 +-128 +-104 +31 +95 +105 +75 +18 +-31 +-71 +-106 +-128 +-103 +32 +95 +104 +75 +19 +-31 +-71 +-106 +-128 +-103 +32 +96 +106 +77 +19 +-30 +-71 +-106 +-128 +-101 +34 +97 +107 +43 +-9 +-53 +-90 +-105 +2 +72 +91 +30 +-20 +-63 +-98 +-110 +3 +74 +93 +31 +-19 +-62 +-97 +-108 +6 +77 +95 +33 +-17 +-60 +-96 +-107 +8 +77 +96 +34 +-16 +-59 +-95 +-107 +8 +78 +97 +35 +-15 +-59 +-94 +-106 +9 +79 +97 +36 +-15 +-58 +-94 +-106 +9 +78 +97 +35 +-15 +-58 +-94 +-106 +9 +79 +97 +77 +20 +-29 +-70 +-105 +-128 +-96 +39 +102 +113 +84 +26 +-24 +-66 +-101 +-128 +-97 +37 +100 +111 +82 +24 +-26 +-67 +-102 +-128 +-99 +36 +99 +109 +80 +22 +-28 +-68 +-104 +-128 +-100 +35 +98 +109 +80 +22 +-28 +-68 +-104 +-128 +-99 +35 +98 +107 +79 +21 +-28 +-69 +-104 +-128 +-100 +35 +98 +109 +80 +22 +-28 +-68 +-104 +-112 +6 +81 +96 +36 +-16 +-59 +-95 +-107 +1 +74 +90 +31 +-20 +-62 +-98 +-109 +4 +76 +92 +33 +-19 +-61 +-97 +-107 +6 +78 +94 +34 +-17 +-43 +-96 +-107 +6 +78 +94 +35 +-17 +-43 +-96 +-106 +7 +79 +95 +36 +-16 +-59 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +6 +78 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-16 +-59 +-95 +-106 +8 +80 +95 +36 +-16 +-58 +-95 +-105 +7 +79 +96 +36 +-16 +-58 +-95 +-105 +9 +80 +96 +37 +-16 +-58 +-95 +-105 +9 +81 +96 +37 +-16 +-58 +-95 +-105 +8 +80 +96 +37 +-16 +-58 +-95 +-105 +8 +80 +96 +36 +-16 +-58 +-95 +-105 +8 +80 +96 +36 +-16 +-58 +-95 +-105 +8 +80 +95 +36 +-16 +-58 +-95 +-105 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +6 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +78 +94 +35 +-17 +-43 +-96 +-106 +6 +79 +94 +35 +-17 +-43 +-96 +-106 +7 +79 +94 +35 +-17 +-43 +-96 +-107 +5 +78 +94 +34 +-17 +-43 +-96 +-106 +7 +79 +94 +35 +-17 +-43 +-96 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-16 +-59 +-95 +-106 +6 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +6 +78 +94 +35 +-17 +-43 +-96 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-16 +-59 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +6 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +36 +-16 +-59 +-95 +-106 +7 +79 +95 +36 +-16 +-59 +-95 +-105 +8 +79 +95 +36 +-16 +-59 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-16 +-59 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-105 +8 +80 +95 +36 +-16 +-58 +-95 +-105 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +94 +35 +-17 +-43 +-96 +-106 +6 +79 +95 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-109 +-98 +36 +100 +112 +85 +27 +-24 +-65 +-101 +-128 +-93 +41 +103 +113 +84 +26 +-25 +-66 +-101 +-128 +-95 +39 +101 +111 +82 +24 +-26 +-67 +-102 +-128 +-97 +38 +100 +110 +80 +23 +-27 +-68 +-103 +-128 +-97 +37 +100 +109 +80 +23 +-27 +-68 +-103 +-128 +-97 +37 +100 +109 +80 +22 +-28 +-68 +-103 +-128 +-98 +37 +100 +110 +80 +23 +-27 +-68 +-103 +-128 +-98 +37 +100 +109 +80 +23 +-27 +-68 +-103 +-128 +-98 +36 +99 +109 +80 +23 +-27 +-68 +-103 +-128 +-99 +35 +98 +107 +79 +22 +-28 +-69 +-104 +-128 +-99 +35 +98 +108 +79 +22 +-28 +-69 +-104 +-128 +-99 +35 +97 +107 +78 +21 +-29 +-69 +-104 +-128 +-100 +35 +97 +107 +78 +21 +-29 +-69 +-104 +-128 +6 +79 +94 +34 +-17 +-43 +-96 +-108 +1 +72 +88 +29 +-22 +-63 +-99 +-109 +3 +74 +89 +31 +-20 +-62 +-98 +-108 +5 +76 +92 +33 +-19 +-61 +-97 +-107 +5 +77 +93 +33 +-18 +-60 +-96 +-107 +6 +78 +94 +34 +-17 +-43 +-96 +-106 +6 +78 +93 +34 +-17 +-43 +-96 +-106 +7 +78 +93 +34 +-17 +-43 +-96 +-106 +7 +78 +94 +34 +-17 +-43 +-96 +-106 +8 +79 +94 +34 +-17 +-43 +-96 +-106 +7 +79 +94 +34 +-17 +-43 +-96 +-106 +7 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +95 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +94 +35 +-17 +-43 +-95 +-105 +7 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +95 +35 +-17 +-43 +-95 +-105 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +95 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +95 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +94 +35 +-17 +-43 +-96 +-106 +7 +79 +94 +35 +-17 +-43 +-95 +-106 +8 +79 +94 +35 +-17 +-43 +-95 +-106 +7 +79 +94 +35 +-17 +-43 +-95 +-105 +8 +79 +94 +35 +-17 +-43 +-95 +-109 +-97 +36 +100 +111 +83 +25 +-25 +-66 +-101 +-128 +-94 +40 +102 +111 +83 +25 +-25 +-66 +-101 +-128 +-95 +38 +100 +109 +80 +23 +-27 +-68 +-103 +-128 +-97 +37 +100 +109 +80 +23 +-27 +-68 +-103 +-128 +-97 +37 +99 +108 +79 +21 +-28 +-69 +-104 +-128 +-97 +37 +99 +108 +79 +22 +-28 +-68 +-104 +-128 +-98 +36 +99 +108 +44 +-8 +-52 +-89 +-103 +5 +74 +91 +30 +-20 +-62 +-97 +-109 +5 +74 +92 +31 +-19 +-62 +-97 +-108 +6 +76 +94 +33 +-17 +-60 +-96 +-107 +7 +77 +95 +33 +-17 +-60 +-95 +-106 +9 +78 +96 +34 +-16 +-59 +-95 +-106 +9 +78 +96 +35 +-16 +-59 +-94 +-105 +10 +78 +96 +34 +-16 +-59 +-95 +-109 +-96 +36 +101 +109 +85 +25 +-24 +-66 +-100 +-128 +-92 +39 +104 +110 +84 +24 +-25 +-67 +-101 +-128 +-95 +37 +101 +107 +81 +22 +-27 +-68 +-102 +-128 +-97 +35 +100 +107 +80 +21 +-27 +-69 +-103 +-128 +-97 +35 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-98 +34 +99 +105 +79 +20 +-28 +-70 +-104 +-128 +-98 +34 +99 +105 +79 +19 +-28 +-70 +-104 +-128 +-98 +35 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-98 +34 +99 +104 +78 +19 +-29 +-70 +-104 +-128 +-98 +34 +99 +104 +78 +19 +-29 +-70 +-104 +-128 +-98 +34 +99 +105 +79 +20 +-28 +-69 +-103 +-128 +-98 +35 +99 +105 +79 +20 +-28 +-70 +-104 +-128 +-97 +34 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-98 +35 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-97 +34 +99 +105 +78 +19 +-29 +-70 +-104 +-128 +-97 +35 +99 +105 +79 +19 +-29 +-70 +-104 +-128 +-98 +34 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-97 +35 +99 +105 +79 +19 +-29 +-70 +-104 +-128 +-97 +35 +99 +105 +79 +19 +-29 +-70 +-104 +-128 +-97 +35 +99 +105 +79 +20 +-28 +-70 +-103 +-128 +-97 +35 +99 +104 +78 +19 +-29 +-70 +-104 +-128 +-98 +34 +98 +105 +78 +19 +-29 +-70 +-104 +-128 +-98 +34 +98 +105 +78 +19 +-29 +-70 +-104 +-128 +-97 +35 +99 +105 +78 +19 +-29 +-70 +-104 +-128 +-97 +35 +100 +106 +79 +20 +-28 +-69 +-103 +-128 +-96 +36 +100 +106 +79 +20 +-28 +-69 +-103 +-128 +-97 +36 +100 +106 +80 +20 +-27 +-69 +-103 +-128 +-96 +36 +100 +106 +79 +20 +-28 +-69 +-103 +-128 +-97 +35 +100 +105 +78 +19 +-28 +-70 +-103 +-128 +-97 +35 +99 +106 +79 +20 +-28 +-69 +-103 +-128 +-97 +35 +99 +105 +79 +20 +-28 +-69 +-103 +-128 +-96 +36 +99 +106 +79 +20 +-28 +-69 +-103 +-112 +8 +79 +95 +33 +-17 +-60 +-95 +-108 +3 +72 +89 +28 +-21 +-63 +-98 +-109 +5 +74 +91 +30 +-19 +-62 +-97 +-108 +6 +74 +92 +31 +-18 +-61 +-96 +-107 +6 +75 +93 +32 +-18 +-61 +-96 +-107 +8 +77 +94 +33 +-17 +-60 +-95 +-106 +9 +77 +95 +33 +-17 +-60 +-95 +-106 +9 +78 +95 +34 +-16 +-59 +-95 +-106 +9 +77 +95 +34 +-16 +-59 +-94 +-105 +10 +79 +97 +35 +-15 +-58 +-94 +-104 +11 +79 +97 +35 +-15 +-58 +-93 +-104 +10 +78 +96 +34 +-16 +-59 +-94 +-105 +9 +78 +96 +35 +-15 +-59 +-94 +-105 +10 +78 +96 +34 +-15 +-59 +-94 +-105 +9 +77 +95 +34 +-16 +-59 +-95 +-105 +9 +77 +95 +33 +-16 +-59 +-95 +-106 +8 +76 +93 +33 +-17 +-60 +-95 +-106 +8 +77 +94 +33 +-17 +-60 +-95 +-106 +8 +77 +93 +32 +-17 +-60 +-95 +-106 +8 +77 +94 +33 +-17 +-60 +-95 +-106 +8 +77 +94 +33 +-17 +-60 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-106 +8 +77 +94 +32 +-17 +-60 +-95 +-106 +10 +77 +95 +33 +-17 +-59 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-106 +8 +76 +94 +33 +-17 +-60 +-95 +-106 +8 +76 +93 +32 +-17 +-60 +-95 +-106 +9 +77 +95 +33 +-17 +-59 +-94 +-106 +9 +77 +95 +34 +-16 +-59 +-95 +-105 +9 +77 +95 +33 +-17 +-59 +-95 +-109 +-96 +35 +101 +108 +83 +23 +-25 +-67 +-101 +-128 +-92 +40 +103 +109 +83 +23 +-25 +-67 +-101 +-128 +-93 +38 +101 +107 +81 +22 +-26 +-68 +-102 +-128 +-95 +37 +101 +107 +80 +21 +-27 +-69 +-102 +-128 +-96 +36 +100 +105 +79 +20 +-28 +-69 +-103 +-128 +-96 +36 +99 +105 +79 +20 +-28 +-69 +-103 +-128 +-96 +36 +99 +104 +78 +19 +-28 +-70 +-103 +-128 +-96 +35 +99 +105 +78 +19 +-29 +-70 +-103 +-128 +-96 +36 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-96 +35 +99 +104 +78 +19 +-28 +-69 +-103 +-128 +-96 +35 +99 +105 +78 +19 +-29 +-70 +-103 +-128 +-96 +36 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-96 +36 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-97 +35 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-96 +35 +99 +104 +77 +19 +-29 +-70 +-104 +-128 +-96 +35 +99 +104 +78 +19 +-29 +-70 +-103 +-128 +-97 +35 +99 +105 +78 +19 +-29 +-70 +-103 +-128 +-96 +35 +98 +104 +78 +19 +-29 +-70 +-103 +-128 +-95 +36 +99 +105 +78 +19 +-28 +-70 +-103 +-128 +-96 +36 +99 +105 +79 +20 +-28 +-69 +-103 +-128 +-95 +36 +100 +105 +79 +20 +-28 +-69 +-103 +-128 +-95 +36 +99 +106 +79 +20 +-28 +-69 +-103 +-128 +-94 +37 +101 +106 +79 +20 +-27 +-69 +-102 +-128 +-95 +37 +100 +106 +80 +21 +-27 +-68 +-102 +-128 +-95 +36 +100 +105 +79 +20 +-28 +-69 +-103 +-128 +-95 +36 +100 +105 +79 +20 +-28 +-69 +-103 +-111 +10 +79 +95 +33 +-16 +-59 +-95 +-107 +3 +71 +88 +28 +-21 +-63 +-98 +-109 +5 +72 +89 +29 +-20 +-63 +-97 +-108 +5 +74 +91 +30 +-19 +-61 +-96 +-107 +7 +75 +92 +31 +-18 +-61 +-95 +-106 +8 +76 +93 +32 +-17 +-60 +-95 +-106 +9 +77 +94 +33 +-17 +-60 +-95 +-105 +10 +77 +95 +34 +-16 +-59 +-94 +-104 +10 +77 +95 +34 +-16 +-59 +-94 +-104 +11 +78 +95 +34 +-16 +-59 +-94 +-104 +10 +77 +95 +34 +-16 +-59 +-94 +-105 +10 +77 +94 +33 +-16 +-59 +-94 +-105 +9 +77 +93 +33 +-17 +-60 +-95 +-105 +9 +76 +93 +32 +-17 +-60 +-95 +-106 +8 +76 +93 +32 +-17 +-60 +-95 +-106 +7 +75 +91 +31 +-18 +-61 +-96 +-107 +6 +74 +91 +30 +-19 +-61 +-96 +-107 +7 +74 +90 +30 +-19 +-62 +-96 +-107 +6 +74 +91 +30 +-19 +-61 +-96 +-107 +8 +75 +92 +31 +-18 +-61 +-95 +-106 +8 +76 +92 +31 +-18 +-60 +-95 +-106 +9 +77 +93 +32 +-17 +-60 +-95 +-105 +10 +77 +94 +33 +-17 +-59 +-94 +-105 +10 +77 +94 +33 +-16 +-59 +-94 +-104 +10 +79 +95 +34 +-16 +-58 +-94 +-104 +11 +79 +95 +34 +-16 +-58 +-93 +-104 +11 +79 +95 +34 +-15 +-58 +-93 +-104 +11 +79 +95 +34 +-16 +-58 +-94 +-104 +11 +78 +95 +34 +-16 +-59 +-93 +-104 +10 +77 +94 +33 +-16 +-59 +-94 +-104 +10 +77 +94 +33 +-17 +-59 +-94 +-105 +9 +77 +93 +32 +-17 +-60 +-95 +-106 +9 +77 +93 +32 +-17 +-60 +-95 +-105 +9 +77 +93 +32 +-17 +-60 +-95 +-105 +9 +77 +93 +32 +-17 +-60 +-95 +-105 +10 +77 +93 +33 +-17 +-60 +-95 +-105 +10 +77 +94 +33 +-17 +-59 +-94 +-105 +10 +77 +94 +33 +-16 +-59 +-94 +-104 +11 +78 +95 +34 +-16 +-59 +-94 +-104 +11 +78 +94 +73 +17 +-31 +-71 +-105 +-128 +-92 +41 +101 +110 +81 +24 +-25 +-66 +-100 +-128 +-92 +40 +101 +109 +79 +22 +-27 +-67 +-102 +-128 +-94 +38 +99 +107 +77 +21 +-28 +-68 +-103 +-128 +-95 +37 +98 +106 +77 +20 +-29 +-69 +-103 +-128 +-95 +37 +98 +106 +76 +19 +-29 +-69 +-104 +-128 +-95 +37 +98 +106 +76 +20 +-29 +-69 +-103 +-110 +10 +81 +94 +35 +-16 +-58 +-94 +-105 +4 +74 +88 +30 +-20 +-62 +-97 +-106 +6 +75 +90 +32 +-19 +-60 +-96 +-105 +8 +77 +91 +33 +-18 +-59 +-95 +-105 +7 +78 +91 +33 +-18 +-59 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-95 +-104 +9 +79 +92 +33 +-17 +-43 +-95 +-104 +8 +78 +92 +33 +-18 +-43 +-95 +-108 +-96 +36 +97 +107 +80 +23 +-26 +-66 +-101 +-128 +-92 +40 +100 +108 +77 +22 +-28 +-68 +-102 +-128 +-94 +38 +98 +106 +77 +20 +-29 +-69 +-103 +-128 +-95 +37 +98 +106 +76 +20 +-29 +-69 +-103 +-128 +-95 +37 +97 +106 +75 +19 +-29 +-69 +-104 +-128 +-95 +37 +97 +105 +75 +19 +-30 +-69 +-104 +-128 +-96 +37 +97 +105 +75 +19 +-30 +-69 +-103 +-128 +-95 +37 +97 +105 +75 +19 +-30 +-69 +-104 +-128 +-95 +36 +96 +105 +75 +19 +-30 +-69 +-104 +-128 +-95 +37 +97 +104 +75 +19 +-30 +-69 +-104 +-128 +-96 +37 +97 +105 +75 +19 +-30 +-69 +-104 +-128 +-95 +37 +97 +105 +75 +19 +-29 +-69 +-104 +-128 +-95 +37 +97 +105 +75 +19 +-30 +-69 +-104 +-110 +9 +79 +92 +33 +-17 +-43 +-95 +-106 +4 +73 +86 +28 +-22 +-62 +-98 +-107 +5 +75 +88 +31 +-20 +-61 +-96 +-106 +7 +77 +90 +32 +-18 +-60 +-95 +-105 +7 +77 +90 +32 +-18 +-60 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +92 +33 +-18 +-43 +-95 +-104 +8 +78 +92 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-94 +-104 +9 +78 +92 +33 +-17 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-94 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-94 +-103 +10 +79 +92 +33 +-17 +-42 +-94 +-103 +9 +79 +92 +33 +-17 +-42 +-94 +-103 +9 +79 +92 +33 +-17 +-42 +-94 +-103 +10 +79 +92 +34 +-17 +-42 +-94 +-103 +10 +79 +93 +34 +-17 +-42 +-94 +-103 +10 +78 +92 +34 +-17 +-42 +-94 +-103 +10 +79 +93 +34 +-17 +-42 +-94 +-103 +10 +79 +92 +34 +-17 +-42 +-94 +-103 +10 +79 +93 +35 +-16 +-58 +-94 +-103 +10 +79 +93 +34 +-16 +-58 +-94 +-102 +10 +79 +93 +35 +-16 +-58 +-94 +-102 +10 +79 +93 +34 +-17 +-42 +-94 +-103 +10 +78 +92 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +92 +33 +-17 +-43 +-94 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-43 +-94 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +33 +-18 +-59 +-95 +-104 +9 +78 +90 +32 +-18 +-59 +-95 +-104 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-95 +-103 +9 +78 +91 +33 +-18 +-43 +-95 +-104 +8 +78 +91 +32 +-18 +-43 +-95 +-104 +9 +77 +90 +32 +-18 +-59 +-95 +-104 +9 +77 +91 +32 +-18 +-43 +-95 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-104 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +10 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +10 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +77 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +10 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-18 +-43 +-94 +-103 +9 +78 +90 +32 +-18 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +78 +91 +33 +-17 +-43 +-94 +-103 +9 +78 +91 +33 +-17 +-42 +-94 +-103 +9 +77 +91 +33 +-18 +-43 +-94 +-107 +-94 +37 +97 +106 +77 +22 +-27 +-67 +-101 +-128 +-90 +41 +100 +108 +77 +22 +-27 +-67 +-101 +-128 +-91 +40 +99 +106 +76 +20 +-28 +-67 +-102 +-128 +-92 +39 +98 +106 +76 +20 +-28 +-68 +-102 +-128 +-93 +38 +97 +105 +75 +19 +-29 +-68 +-102 +-128 +-92 +38 +98 +105 +75 +19 +-29 +-69 +-103 +-128 +-93 +39 +98 +105 +76 +20 +-29 +-68 +-102 +-128 +-92 +39 +98 +106 +76 +20 +-28 +-68 +-102 +-128 +-92 +39 +98 +105 +75 +19 +-29 +-68 +-102 +-128 +-92 +38 +97 +104 +75 +19 +-29 +-68 +-102 +-128 +-92 +38 +97 +104 +74 +19 +-30 +-69 +-103 +-128 +-93 +38 +97 +104 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +103 +73 +17 +-31 +-70 +-103 +-128 +-94 +37 +96 +103 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +102 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +103 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +103 +73 +18 +-30 +-69 +-103 +-128 +-94 +37 +96 +103 +73 +18 +-30 +-69 +-103 +-128 +-93 +37 +96 +103 +73 +17 +-31 +-69 +-103 +-128 +-94 +37 +97 +103 +74 +18 +-30 +-69 +-103 +-128 +-93 +37 +96 +103 +74 +18 +-30 +-69 +-103 +-128 +-93 +38 +97 +103 +73 +18 +-30 +-69 +-103 +-128 +-93 +37 +97 +103 +73 +18 +-30 +-69 +-103 +-128 +-93 +37 +96 +104 +74 +18 +-30 +-69 +-103 +-128 +-93 +37 +97 +104 +73 +18 +-30 +-69 +-103 +-128 +-93 +37 +96 +103 +41 +-9 +-52 +-88 +-101 +7 +73 +88 +29 +-20 +-61 +-95 +-106 +7 +73 +88 +28 +-20 +-61 +-95 +-105 +8 +74 +89 +30 +-19 +-60 +-95 +-105 +9 +75 +90 +30 +-18 +-60 +-94 +-104 +9 +75 +90 +31 +-18 +-60 +-94 +-104 +9 +75 +91 +31 +-18 +-59 +-94 +-104 +9 +75 +91 +31 +-18 +-60 +-94 +-104 +9 +75 +91 +31 +-17 +-59 +-94 +-104 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +92 +32 +-17 +-59 +-93 +-103 +11 +77 +92 +32 +-17 +-59 +-93 +-103 +11 +77 +93 +32 +-16 +-58 +-93 +-103 +11 +77 +92 +32 +-17 +-58 +-93 +-102 +11 +77 +92 +32 +-17 +-59 +-93 +-102 +11 +77 +92 +32 +-17 +-59 +-93 +-103 +11 +77 +92 +32 +-17 +-58 +-93 +-103 +11 +77 +92 +32 +-17 +-59 +-93 +-103 +10 +77 +92 +32 +-17 +-58 +-93 +-103 +10 +76 +92 +32 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +10 +76 +91 +31 +-17 +-59 +-93 +-103 +11 +76 +91 +31 +-17 +-59 +-93 +-103 +11 +76 +92 +32 +-17 +-58 +-93 +-102 +11 +77 +93 +33 +-16 +-58 +-92 +-102 +11 +77 +93 +33 +-16 +-58 +-92 +-102 +12 +78 +93 +33 +-16 +-58 +-92 +-101 +13 +77 +93 +33 +-15 +-57 +-92 +-102 +12 +77 +92 +71 +16 +-31 +-70 +-103 +-128 +-89 +41 +99 +107 +77 +21 +-27 +-66 +-100 +-112 +-90 +40 +98 +105 +75 +19 +-28 +-67 +-101 +-128 +-91 +39 +97 +104 +73 +18 +-30 +-68 +-102 +-128 +-92 +38 +97 +103 +72 +17 +-30 +-69 +-103 +-128 +-92 +37 +96 +103 +72 +17 +-31 +-69 +-103 +-128 +-93 +37 +96 +102 +72 +17 +-30 +-69 +-103 +-128 +-93 +37 +96 +102 +72 +17 +-30 +-69 +-103 +-128 +-92 +37 +96 +102 +72 +17 +-31 +-69 +-103 +-128 +-92 +38 +96 +103 +72 +17 +-30 +-69 +-102 +-128 +-93 +37 +95 +103 +72 +18 +-30 +-69 +-102 +-128 +-92 +37 +96 +102 +72 +17 +-31 +-69 +-103 +-128 +-92 +38 +96 +101 +72 +17 +-31 +-69 +-103 +-128 +-92 +38 +96 +102 +41 +-9 +-52 +-87 +-100 +8 +73 +87 +28 +-20 +-61 +-95 +-105 +7 +73 +88 +28 +-19 +-61 +-95 +-105 +8 +74 +89 +29 +-19 +-60 +-94 +-104 +8 +74 +89 +30 +-18 +-60 +-94 +-103 +10 +76 +90 +31 +-17 +-59 +-93 +-103 +10 +75 +91 +31 +-17 +-59 +-93 +-102 +11 +76 +91 +31 +-17 +-59 +-93 +-106 +-93 +36 +98 +103 +77 +20 +-27 +-67 +-100 +-112 +-88 +40 +101 +104 +77 +19 +-27 +-67 +-100 +-112 +-89 +39 +100 +103 +76 +19 +-28 +-68 +-101 +-128 +-91 +38 +98 +101 +75 +17 +-29 +-69 +-101 +-128 +-91 +38 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +98 +102 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +97 +101 +74 +16 +-30 +-70 +-102 +-128 +-91 +37 +98 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +98 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +97 +101 +73 +16 +-30 +-69 +-102 +-128 +-91 +37 +97 +101 +73 +16 +-30 +-70 +-102 +-128 +-91 +37 +97 +101 +74 +17 +-29 +-69 +-102 +-128 +-91 +37 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +37 +97 +101 +73 +16 +-30 +-69 +-102 +-128 +-91 +37 +97 +101 +74 +16 +-29 +-69 +-101 +-128 +-91 +37 +98 +101 +74 +17 +-29 +-69 +-101 +-128 +-90 +38 +98 +102 +75 +17 +-29 +-68 +-101 +-128 +-90 +38 +98 +102 +75 +18 +-29 +-68 +-101 +-128 +-89 +38 +99 +103 +75 +18 +-28 +-68 +-101 +-128 +-89 +38 +99 +102 +75 +18 +-28 +-68 +-101 +-128 +-90 +39 +99 +102 +75 +18 +-28 +-68 +-101 +-128 +-90 +38 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-90 +38 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-91 +36 +97 +100 +72 +16 +-30 +-70 +-102 +-128 +-91 +36 +97 +100 +73 +16 +-30 +-70 +-102 +-128 +-91 +37 +97 +100 +73 +16 +-30 +-69 +-101 +-128 +-91 +37 +97 +100 +74 +16 +-29 +-69 +-101 +-128 +-90 +38 +97 +101 +74 +17 +-29 +-69 +-101 +-128 +-90 +38 +99 +102 +75 +18 +-28 +-68 +-100 +-128 +-89 +38 +99 +102 +75 +17 +-28 +-68 +-101 +-128 +-89 +38 +98 +102 +74 +17 +-29 +-69 +-101 +-106 +13 +79 +93 +33 +-15 +-57 +-91 +-103 +6 +71 +85 +27 +-21 +-62 +-95 +-105 +7 +72 +87 +28 +-19 +-61 +-94 +-104 +7 +73 +87 +28 +-19 +-60 +-94 +-104 +6 +72 +87 +28 +-20 +-61 +-94 +-104 +7 +72 +86 +28 +-20 +-61 +-95 +-104 +7 +72 +86 +28 +-20 +-61 +-95 +-104 +8 +73 +87 +28 +-19 +-60 +-94 +-107 +-95 +33 +95 +100 +74 +17 +-29 +-68 +-101 +-128 +-88 +39 +100 +102 +75 +18 +-28 +-68 +-100 +-112 +-88 +40 +100 +103 +75 +18 +-28 +-68 +-100 +-112 +-88 +40 +99 +103 +75 +18 +-28 +-68 +-100 +-112 +-88 +39 +99 +102 +74 +17 +-28 +-68 +-100 +-128 +-88 +39 +99 +102 +75 +18 +-28 +-68 +-100 +-112 +-89 +38 +99 +102 +43 +-8 +-50 +-86 +-98 +9 +76 +86 +30 +-19 +-59 +-94 +-103 +8 +75 +86 +30 +-19 +-59 +-94 +-102 +8 +75 +86 +30 +-19 +-59 +-94 +-102 +8 +75 +86 +30 +-19 +-59 +-94 +-102 +9 +76 +87 +30 +-19 +-59 +-94 +-102 +9 +76 +87 +31 +-18 +-59 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +78 +89 +32 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-101 +11 +78 +89 +32 +-17 +-41 +-92 +-101 +11 +78 +89 +32 +-17 +-41 +-92 +-100 +11 +78 +89 +33 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-101 +10 +77 +88 +32 +-18 +-42 +-92 +-101 +11 +78 +89 +32 +-17 +-41 +-92 +-101 +10 +77 +88 +32 +-18 +-42 +-93 +-101 +10 +77 +88 +31 +-18 +-42 +-93 +-101 +10 +77 +89 +32 +-17 +-42 +-92 +-100 +11 +78 +88 +32 +-17 +-41 +-92 +-100 +11 +78 +90 +33 +-17 +-41 +-92 +-100 +11 +78 +90 +33 +-17 +-41 +-92 +-100 +11 +78 +90 +33 +-17 +-41 +-92 +-100 +11 +78 +89 +33 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-100 +11 +78 +89 +32 +-17 +-41 +-92 +-100 +10 +77 +88 +31 +-18 +-42 +-92 +-101 +10 +76 +88 +31 +-18 +-42 +-93 +-101 +9 +76 +87 +31 +-18 +-58 +-93 +-101 +9 +76 +87 +31 +-18 +-58 +-93 +-101 +9 +76 +87 +31 +-18 +-58 +-93 +-101 +10 +76 +87 +31 +-18 +-58 +-93 +-101 +10 +77 +87 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-42 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-42 +-92 +-101 +11 +77 +88 +31 +-18 +-42 +-92 +-101 +10 +76 +88 +31 +-18 +-58 +-93 +-101 +10 +76 +88 +31 +-18 +-42 +-92 +-101 +10 +76 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-42 +-92 +-101 +10 +77 +88 +31 +-18 +-58 +-93 +-101 +10 +77 +88 +31 +-18 +-58 +-92 +-100 +10 +77 +88 +31 +-18 +-42 +-92 +-100 +10 +76 +88 +31 +-18 +-42 +-92 +-100 +10 +77 +88 +31 +-18 +-41 +-92 +-100 +10 +77 +88 +32 +-17 +-41 +-92 +-100 +10 +77 +88 +32 +-17 +-41 +-92 +-100 +11 +77 +88 +31 +-18 +-42 +-92 +-100 +10 +77 +88 +32 +-17 +-41 +-92 +-101 +10 +77 +88 +31 +-18 +-41 +-92 +-100 +10 +77 +88 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-101 +10 +77 +88 +68 +12 +-32 +-71 +-103 +-128 +-88 +38 +98 +101 +74 +18 +-28 +-67 +-99 +-111 +-87 +39 +98 +101 +73 +17 +-29 +-68 +-100 +-112 +-88 +38 +97 +100 +72 +16 +-29 +-69 +-101 +-112 +-89 +38 +97 +100 +72 +16 +-29 +-69 +-101 +-112 +-89 +38 +97 +99 +72 +16 +-29 +-69 +-101 +-112 +-89 +38 +97 +100 +72 +16 +-29 +-68 +-100 +-112 +-89 +38 +97 +100 +73 +16 +-29 +-68 +-100 +-112 +-88 +38 +97 +100 +72 +16 +-29 +-68 +-100 +-112 +-88 +38 +98 +101 +73 +16 +-29 +-68 +-100 +-112 +-89 +38 +98 +101 +73 +17 +-29 +-68 +-100 +-112 +-88 +39 +97 +100 +73 +16 +-29 +-68 +-100 +-112 +-88 +39 +98 +100 +72 +16 +-29 +-68 +-100 +-112 +-88 +39 +98 +101 +43 +-8 +-49 +-85 +-97 +10 +76 +86 +30 +-19 +-58 +-93 +-101 +9 +75 +86 +30 +-18 +-58 +-93 +-101 +10 +77 +87 +31 +-18 +-58 +-92 +-101 +9 +76 +87 +31 +-18 +-58 +-93 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-42 +-92 +-100 +10 +76 +87 +31 +-18 +-42 +-92 +-100 +9 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-42 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +88 +31 +-18 +-41 +-92 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-58 +-92 +-100 +10 +76 +87 +31 +-18 +-58 +-92 +-100 +10 +77 +87 +31 +-18 +-41 +-92 +-100 +11 +77 +88 +31 +-18 +-41 +-92 +-100 +11 +77 +88 +31 +-17 +-41 +-92 +-100 +10 +77 +87 +31 +-18 +-41 +-92 +-100 +11 +77 +87 +31 +-18 +-41 +-92 +-100 +10 +77 +88 +31 +-18 +-41 +-92 +-99 +11 +77 +87 +31 +-18 +-41 +-92 +-100 +10 +77 +88 +31 +-18 +-41 +-92 +-100 +11 +77 +88 +31 +-17 +-41 +-92 +-100 +11 +77 +87 +31 +-18 +-41 +-92 +-100 +11 +77 +88 +31 +-18 +-41 +-92 +-100 +10 +77 +87 +67 +12 +-33 +-71 +-102 +-128 +-88 +38 +97 +100 +73 +17 +-28 +-67 +-99 +-111 +-87 +39 +98 +101 +72 +16 +-29 +-68 +-100 +-111 +-88 +38 +97 +99 +71 +15 +-30 +-69 +-100 +-112 +-88 +38 +97 +100 +72 +16 +-29 +-68 +-100 +-111 +-88 +38 +97 +99 +72 +16 +-29 +-68 +-100 +-111 +-88 +38 +97 +99 +71 +16 +-29 +-68 +-100 +-104 +15 +80 +92 +33 +-15 +-56 +-89 +-100 +8 +72 +85 +27 +-20 +-60 +-93 +-102 +9 +73 +86 +28 +-18 +-59 +-92 +-101 +10 +74 +87 +29 +-18 +-58 +-92 +-101 +11 +75 +88 +30 +-17 +-58 +-91 +-100 +11 +74 +88 +30 +-17 +-58 +-91 +-100 +11 +75 +88 +30 +-17 +-58 +-91 +-100 +12 +75 +89 +65 +12 +-33 +-71 +-103 +-128 +-88 +39 +97 +103 +72 +18 +-28 +-66 +-99 +-110 +-87 +41 +97 +101 +71 +17 +-29 +-67 +-100 +-110 +-87 +40 +97 +102 +71 +17 +-29 +-67 +-100 +-110 +-88 +40 +97 +102 +71 +17 +-29 +-67 +-100 +-110 +-87 +40 +96 +102 +72 +18 +-29 +-67 +-100 +-110 +-87 +41 +97 +101 +71 +17 +-29 +-67 +-100 +-110 +-88 +40 +97 +102 +71 +18 +-29 +-67 +-100 +-110 +-88 +40 +96 +101 +70 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +100 +70 +16 +-30 +-68 +-100 +-111 +-89 +38 +95 +99 +69 +15 +-31 +-68 +-101 +-111 +-89 +39 +95 +99 +69 +15 +-31 +-68 +-101 +-111 +-88 +39 +95 +100 +69 +15 +-31 +-68 +-101 +-111 +-89 +38 +95 +99 +69 +15 +-31 +-68 +-101 +-111 +-89 +39 +95 +100 +69 +15 +-31 +-68 +-101 +-111 +-90 +38 +95 +100 +69 +16 +-31 +-68 +-101 +-111 +-88 +39 +95 +100 +69 +15 +-31 +-68 +-101 +-111 +-89 +39 +95 +99 +68 +15 +-31 +-68 +-101 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +40 +95 +100 +70 +16 +-30 +-67 +-100 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +99 +69 +16 +-30 +-68 +-100 +-111 +-88 +40 +95 +99 +68 +15 +-31 +-68 +-101 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +40 +96 +100 +69 +16 +-30 +-68 +-100 +-111 +-88 +39 +95 +100 +69 +15 +-30 +-68 +-100 +-111 +-89 +39 +95 +100 +68 +15 +-31 +-68 +-101 +-111 +-89 +38 +94 +99 +69 +15 +-31 +-68 +-100 +-111 +-88 +39 +95 +100 +68 +15 +-31 +-68 +-100 +-111 +-88 +39 +95 +100 +69 +16 +-30 +-67 +-100 +-110 +-87 +40 +96 +101 +41 +-8 +-50 +-84 +-112 +12 +75 +88 +30 +-17 +-58 +-91 +-100 +11 +74 +86 +28 +-18 +-58 +-91 +-100 +11 +75 +88 +30 +-17 +-58 +-91 +-99 +12 +75 +88 +30 +-17 +-58 +-90 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-99 +12 +76 +88 +30 +-17 +-57 +-90 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-99 +12 +75 +87 +29 +-17 +-58 +-91 +-100 +12 +75 +88 +30 +-17 +-58 +-91 +-100 +11 +75 +88 +30 +-17 +-57 +-90 +-99 +11 +75 +88 +30 +-17 +-57 +-91 +-99 +11 +75 +87 +29 +-17 +-58 +-91 +-100 +11 +75 +88 +30 +-17 +-58 +-91 +-99 +12 +75 +87 +29 +-17 +-58 +-91 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-99 +13 +76 +89 +31 +-16 +-57 +-90 +-99 +13 +76 +89 +31 +-16 +-56 +-90 +-98 +13 +77 +89 +31 +-16 +-56 +-90 +-98 +14 +77 +90 +32 +-15 +-56 +-89 +-114 +14 +77 +90 +31 +-15 +-56 +-89 +-98 +13 +77 +89 +31 +-16 +-56 +-90 +-98 +13 +76 +89 +31 +-16 +-57 +-90 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-99 +12 +75 +88 +30 +-17 +-58 +-90 +-99 +11 +74 +87 +29 +-17 +-58 +-91 +-99 +11 +74 +87 +29 +-17 +-58 +-91 +-100 +11 +74 +86 +29 +-18 +-58 +-91 +-100 +11 +74 +87 +29 +-17 +-58 +-91 +-100 +11 +74 +87 +29 +-17 +-58 +-91 +-100 +11 +74 +87 +29 +-18 +-58 +-91 +-99 +11 +74 +87 +29 +-17 +-58 +-91 +-100 +12 +75 +87 +63 +11 +-34 +-71 +-102 +-112 +-88 +39 +95 +101 +70 +16 +-30 +-67 +-99 +-110 +-87 +40 +96 +100 +70 +16 +-30 +-67 +-99 +-109 +-87 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-88 +39 +95 +100 +68 +16 +-30 +-67 +-100 +-110 +-88 +39 +94 +99 +68 +15 +-30 +-67 +-100 +-110 +-88 +40 +95 +99 +68 +15 +-31 +-68 +-100 +-110 +-88 +39 +95 +99 +69 +16 +-30 +-67 +-100 +-110 +-88 +39 +95 +100 +69 +16 +-30 +-67 +-100 +-110 +-87 +40 +95 +100 +69 +16 +-30 +-67 +-99 +-109 +-88 +40 +95 +100 +69 +16 +-30 +-67 +-99 +-109 +-87 +40 +95 +100 +69 +16 +-30 +-67 +-99 +-110 +-87 +40 +96 +100 +69 +16 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +69 +16 +-30 +-67 +-99 +-109 +-87 +40 +95 +100 +68 +15 +-30 +-67 +-100 +-110 +-88 +39 +95 +100 +69 +16 +-30 +-67 +-99 +-110 +-87 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-88 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +68 +15 +-31 +-68 +-100 +-110 +-88 +40 +95 +100 +69 +16 +-30 +-67 +-99 +-109 +-87 +39 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +68 +15 +-30 +-67 +-100 +-109 +-88 +39 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +39 +95 +99 +68 +15 +-30 +-67 +-100 +-110 +-87 +40 +95 +99 +68 +16 +-30 +-67 +-100 +-110 +-87 +40 +95 +100 +40 +-8 +-49 +-83 +-111 +13 +76 +87 +30 +-17 +-57 +-90 +-99 +12 +74 +87 +29 +-17 +-57 +-90 +-99 +12 +75 +88 +30 +-17 +-57 +-90 +-98 +12 +75 +88 +31 +-16 +-56 +-89 +-114 +13 +76 +88 +31 +-16 +-56 +-89 +-98 +13 +76 +88 +31 +-16 +-56 +-89 +-114 +13 +76 +88 +31 +-16 +-56 +-89 +-98 +12 +75 +88 +30 +-16 +-56 +-89 +-98 +12 +75 +87 +30 +-17 +-57 +-90 +-98 +12 +75 +87 +29 +-17 +-57 +-90 +-99 +12 +74 +87 +29 +-17 +-57 +-90 +-99 +11 +74 +87 +29 +-17 +-57 +-90 +-99 +11 +74 +87 +30 +-17 +-57 +-90 +-99 +12 +75 +87 +30 +-17 +-57 +-90 +-98 +13 +75 +87 +30 +-17 +-57 +-90 +-98 +12 +75 +88 +31 +-16 +-56 +-89 +-113 +13 +76 +89 +31 +-16 +-56 +-89 +-114 +13 +76 +88 +30 +-16 +-56 +-89 +-113 +13 +76 +88 +31 +-16 +-56 +-89 +-98 +12 +75 +87 +30 +-17 +-57 +-89 +-98 +12 +75 +86 +29 +-17 +-57 +-90 +-99 +11 +74 +86 +29 +-17 +-57 +-90 +-99 +11 +73 +85 +28 +-18 +-58 +-91 +-100 +9 +72 +84 +28 +-18 +-58 +-91 +-100 +9 +72 +84 +27 +-19 +-59 +-91 +-100 +9 +72 +83 +27 +-19 +-59 +-91 +-100 +9 +72 +83 +26 +-19 +-59 +-92 +-101 +9 +72 +84 +27 +-19 +-58 +-91 +-100 +11 +74 +86 +29 +-17 +-58 +-90 +-99 +12 +74 +87 +29 +-17 +-57 +-90 +-98 +13 +75 +88 +30 +-16 +-56 +-89 +-98 +13 +76 +88 +31 +-16 +-56 +-89 +-113 +13 +76 +89 +31 +-16 +-56 +-89 +-113 +14 +77 +88 +31 +-16 +-56 +-89 +-113 +14 +76 +88 +31 +-16 +-56 +-89 +-114 +13 +76 +88 +30 +-16 +-56 +-89 +-113 +13 +76 +88 +30 +-16 +-56 +-89 +-114 +13 +76 +87 +30 +-16 +-56 +-89 +-98 +12 +75 +87 +29 +-17 +-57 +-89 +-102 +-91 +35 +93 +96 +69 +14 +-30 +-68 +-99 +-109 +-86 +39 +96 +98 +69 +15 +-29 +-67 +-99 +-109 +-86 +39 +96 +98 +70 +15 +-29 +-67 +-98 +-109 +-86 +39 +97 +98 +69 +15 +-29 +-67 +-98 +-109 +-85 +39 +96 +98 +70 +16 +-29 +-67 +-98 +-109 +-85 +40 +97 +99 +70 +16 +-29 +-67 +-98 +-109 +-85 +40 +97 +99 +42 +-8 +-48 +-83 +-109 +12 +77 +86 +31 +-17 +-40 +-90 +-98 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +75 +84 +29 +-18 +-57 +-90 +-98 +11 +75 +84 +30 +-18 +-57 +-90 +-98 +11 +76 +85 +30 +-17 +-40 +-90 +-98 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-18 +-40 +-90 +-98 +11 +76 +85 +64 +10 +-33 +-70 +-101 +-111 +-86 +39 +97 +99 +71 +16 +-28 +-66 +-97 +-108 +-84 +40 +98 +99 +71 +16 +-28 +-66 +-97 +-108 +-84 +40 +97 +100 +71 +16 +-28 +-66 +-97 +-108 +-85 +40 +98 +99 +71 +16 +-28 +-66 +-97 +-108 +-85 +40 +97 +99 +71 +16 +-28 +-66 +-97 +-108 +-85 +39 +97 +98 +70 +15 +-29 +-67 +-98 +-109 +-86 +38 +96 +98 +69 +15 +-29 +-67 +-98 +-109 +-86 +38 +95 +97 +68 +14 +-30 +-68 +-99 +-110 +-87 +38 +95 +97 +68 +14 +-30 +-68 +-99 +-109 +-87 +38 +95 +97 +68 +14 +-30 +-68 +-99 +-109 +-86 +38 +95 +97 +68 +14 +-30 +-68 +-99 +-110 +-86 +38 +96 +97 +69 +14 +-30 +-68 +-99 +-109 +-86 +38 +96 +97 +41 +-9 +-49 +-84 +-110 +12 +76 +85 +30 +-18 +-40 +-90 +-98 +10 +75 +84 +29 +-18 +-57 +-90 +-98 +10 +75 +84 +29 +-18 +-56 +-90 +-98 +10 +75 +84 +29 +-18 +-57 +-91 +-98 +11 +75 +84 +29 +-18 +-56 +-90 +-98 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +75 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +31 +-17 +-40 +-90 +-97 +12 +76 +85 +31 +-17 +-40 +-90 +-97 +12 +77 +85 +31 +-17 +-40 +-90 +-97 +11 +76 +85 +31 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-18 +-40 +-90 +-97 +12 +76 +85 +30 +-18 +-40 +-90 +-97 +12 +76 +85 +31 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +11 +75 +84 +30 +-18 +-40 +-90 +-97 +12 +76 +84 +30 +-18 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +76 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-90 +-97 +12 +77 +85 +31 +-17 +-40 +-89 +-97 +12 +77 +86 +31 +-17 +-39 +-89 +-97 +13 +77 +86 +31 +-16 +-39 +-89 +-97 +12 +77 +86 +31 +-17 +-39 +-89 +-112 +13 +77 +86 +31 +-17 +-39 +-89 +-97 +13 +77 +85 +31 +-17 +-39 +-89 +-97 +13 +77 +86 +31 +-16 +-39 +-89 +-97 +12 +77 +86 +31 +-16 +-39 +-89 +-112 +13 +78 +86 +31 +-16 +-39 +-89 +-112 +13 +77 +86 +31 +-17 +-39 +-89 +-112 +13 +77 +86 +31 +-17 +-39 +-89 +-97 +12 +76 +86 +31 +-17 +-39 +-89 +-112 +12 +77 +86 +31 +-17 +-39 +-89 +-97 +12 +76 +85 +31 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-89 +-97 +10 +75 +84 +30 +-17 +-40 +-90 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +12 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +11 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-89 +-97 +10 +75 +84 +30 +-17 +-40 +-89 +-97 +11 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +84 +30 +-18 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-89 +-97 +11 +75 +85 +30 +-17 +-40 +-89 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +31 +-17 +-39 +-89 +-97 +11 +76 +85 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-39 +-89 +-97 +11 +75 +84 +30 +-17 +-40 +-89 +-97 +11 +76 +84 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +31 +-17 +-39 +-89 +-97 +12 +76 +85 +31 +-17 +-39 +-89 +-97 +12 +76 +85 +30 +-17 +-40 +-89 +-97 +11 +76 +85 +30 +-17 +-39 +-89 +-97 +11 +76 +84 +30 +-17 +-40 +-89 +-97 +12 +76 +85 +31 +-17 +-39 +-89 +-97 +11 +76 +85 +30 +-17 +-39 +-89 +-97 +11 +75 +84 +63 +10 +-33 +-70 +-100 +-111 +-87 +37 +95 +97 +68 +14 +-29 +-67 +-98 +-108 +-85 +39 +97 +97 +69 +15 +-29 +-66 +-97 +-108 +-86 +39 +96 +97 +69 +15 +-29 +-67 +-97 +-108 +-85 +39 +96 +97 +69 +15 +-29 +-66 +-97 +-108 +-86 +39 +96 +98 +69 +15 +-29 +-67 +-97 +-108 +-85 +39 +96 +97 +68 +14 +-29 +-67 +-98 +-108 +-85 +39 +96 +98 +69 +15 +-29 +-66 +-97 +-108 +-85 +39 +96 +97 +69 +15 +-29 +-67 +-97 +-108 +-85 +39 +96 +97 +69 +15 +-29 +-67 +-97 +-108 +-85 +39 +97 +98 +69 +15 +-29 +-67 +-97 +-108 +-85 +40 +97 +98 +69 +15 +-29 +-66 +-97 +-108 +-84 +40 +97 +99 +69 +15 +-28 +-66 +-97 +-108 +-85 +40 +97 +99 +70 +16 +-28 +-66 +-97 +-107 +-84 +40 +98 +99 +70 +16 +-28 +-66 +-97 +-107 +-84 +40 +98 +99 +70 +16 +-28 +-66 +-97 +-107 +-84 +40 +97 +98 +70 +16 +-28 +-66 +-97 +-107 +-84 +39 +97 +98 +69 +15 +-28 +-66 +-97 +-107 +-85 +39 +96 +97 +69 +15 +-29 +-66 +-97 +-108 +-85 +39 +95 +96 +67 +14 +-30 +-67 +-98 +-108 +-86 +38 +95 +97 +68 +14 +-29 +-67 +-98 +-108 +-86 +38 +96 +97 +68 +14 +-29 +-67 +-98 +-108 +-86 +38 +95 +97 +67 +14 +-30 +-67 +-98 +-108 +-86 +38 +96 +97 +69 +15 +-29 +-67 +-97 +-108 +-86 +38 +96 +97 +68 +14 +-29 +-67 +-97 +-108 +-86 +38 +96 +96 +68 +14 +-29 +-67 +-97 +-100 +17 +80 +91 +34 +-13 +-53 +-86 +-112 +10 +72 +84 +28 +-18 +-57 +-89 +-98 +10 +72 +84 +28 +-18 +-57 +-89 +-114 +11 +74 +85 +29 +-17 +-56 +-89 +-114 +11 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +11 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +75 +86 +30 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +75 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +85 +28 +-17 +-56 +-89 +-114 +11 +74 +85 +29 +-17 +-56 +-89 +-113 +12 +74 +86 +29 +-17 +-56 +-88 +-113 +12 +75 +86 +30 +-16 +-56 +-88 +-113 +12 +75 +86 +30 +-16 +-56 +-88 +-113 +12 +75 +87 +30 +-16 +-55 +-87 +-112 +13 +75 +87 +30 +-16 +-56 +-88 +-112 +13 +75 +87 +30 +-16 +-55 +-88 +-113 +13 +75 +87 +30 +-16 +-55 +-88 +-113 +12 +75 +87 +30 +-16 +-55 +-88 +-112 +13 +75 +86 +30 +-16 +-56 +-88 +-112 +13 +75 +86 +30 +-16 +-56 +-88 +-112 +13 +75 +87 +30 +-16 +-55 +-88 +-113 +12 +75 +86 +30 +-16 +-55 +-88 +-112 +13 +75 +86 +30 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +86 +30 +-16 +-56 +-88 +-100 +-91 +34 +93 +95 +68 +14 +-29 +-67 +-97 +-108 +-85 +39 +96 +98 +69 +15 +-28 +-66 +-97 +-107 +-85 +39 +97 +98 +69 +15 +-28 +-66 +-97 +-107 +-85 +39 +97 +98 +70 +16 +-28 +-65 +-96 +-107 +-84 +40 +97 +98 +69 +16 +-28 +-66 +-96 +-107 +-84 +40 +98 +99 +70 +16 +-27 +-65 +-96 +-107 +-84 +40 +98 +100 +71 +17 +-27 +-65 +-96 +-106 +-84 +40 +97 +98 +70 +16 +-28 +-65 +-96 +-107 +-85 +40 +96 +98 +69 +15 +-28 +-66 +-97 +-107 +-85 +38 +96 +97 +68 +15 +-29 +-66 +-97 +-107 +-86 +38 +95 +97 +68 +15 +-29 +-66 +-97 +-107 +-86 +38 +95 +96 +67 +14 +-29 +-67 +-97 +-108 +-86 +38 +95 +96 +67 +14 +-29 +-67 +-97 +-100 +17 +80 +91 +33 +-13 +-53 +-85 +-112 +10 +72 +83 +27 +-18 +-57 +-89 +-98 +10 +73 +84 +28 +-17 +-56 +-89 +-114 +11 +73 +84 +28 +-17 +-57 +-89 +-113 +11 +74 +85 +29 +-17 +-56 +-88 +-113 +11 +74 +85 +29 +-17 +-56 +-88 +-113 +12 +74 +85 +29 +-17 +-56 +-88 +-113 +12 +74 +85 +61 +10 +-34 +-69 +-100 +-109 +-88 +37 +93 +97 +66 +15 +-30 +-66 +-98 +-107 +-86 +39 +95 +98 +66 +15 +-30 +-66 +-98 +-107 +-86 +40 +95 +98 +67 +15 +-29 +-65 +-97 +-107 +-86 +40 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-86 +40 +94 +99 +67 +15 +-29 +-66 +-97 +-107 +-86 +40 +95 +99 +67 +15 +-29 +-66 +-97 +-107 +-86 +40 +95 +100 +68 +16 +-28 +-65 +-97 +-106 +-85 +40 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-86 +40 +94 +99 +67 +15 +-29 +-66 +-97 +-107 +-86 +40 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-86 +40 +95 +99 +67 +15 +-29 +-65 +-97 +-107 +-86 +40 +95 +99 +67 +15 +-29 +-65 +-97 +-106 +-86 +40 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-86 +39 +94 +99 +67 +15 +-29 +-65 +-97 +-107 +-86 +39 +94 +98 +67 +15 +-29 +-66 +-97 +-106 +-86 +40 +95 +98 +67 +15 +-29 +-66 +-97 +-107 +-86 +40 +95 +99 +67 +16 +-29 +-65 +-97 +-106 +-86 +40 +94 +98 +67 +15 +-29 +-66 +-97 +-107 +-86 +39 +94 +99 +67 +16 +-29 +-66 +-97 +-106 +-87 +40 +95 +98 +67 +15 +-29 +-66 +-97 +-107 +-86 +39 +95 +99 +67 +15 +-29 +-66 +-97 +-106 +-86 +39 +95 +99 +67 +15 +-29 +-66 +-97 +-106 +-86 +40 +95 +99 +68 +16 +-28 +-65 +-97 +-106 +-85 +40 +96 +99 +68 +16 +-28 +-65 +-97 +-106 +-85 +41 +96 +100 +69 +17 +-28 +-65 +-96 +-106 +-85 +41 +96 +101 +69 +17 +-28 +-65 +-96 +-106 +-84 +41 +97 +101 +69 +17 +-28 +-65 +-96 +-106 +-84 +41 +96 +100 +69 +17 +-28 +-64 +-96 +-106 +-85 +41 +96 +100 +69 +17 +-28 +-65 +-96 +-106 +-85 +40 +95 +99 +67 +15 +-29 +-65 +-97 +-106 +-86 +39 +95 +98 +67 +15 +-29 +-66 +-97 +-106 +-86 +39 +94 +99 +40 +-7 +-48 +-81 +-108 +13 +75 +87 +30 +-16 +-55 +-87 +-112 +11 +74 +85 +29 +-17 +-56 +-88 +-113 +11 +74 +86 +29 +-16 +-56 +-88 +-113 +12 +74 +86 +29 +-16 +-55 +-87 +-112 +13 +76 +87 +31 +-15 +-54 +-87 +-112 +13 +75 +87 +31 +-15 +-54 +-87 +-112 +13 +76 +87 +31 +-15 +-54 +-87 +-112 +13 +75 +87 +62 +11 +-33 +-68 +-100 +-108 +-88 +38 +94 +98 +67 +15 +-29 +-65 +-97 +-106 +-87 +39 +94 +98 +67 +15 +-29 +-66 +-97 +-107 +-88 +38 +94 +97 +66 +15 +-30 +-66 +-98 +-107 +-88 +37 +93 +97 +66 +14 +-30 +-66 +-98 +-107 +-89 +36 +92 +95 +64 +13 +-31 +-67 +-99 +-108 +-89 +36 +92 +95 +64 +13 +-31 +-67 +-99 +-100 +14 +80 +88 +33 +-14 +-53 +-87 +-112 +8 +73 +82 +28 +-19 +-56 +-90 +-97 +9 +74 +83 +29 +-18 +-40 +-89 +-97 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +13 +77 +86 +32 +-15 +-54 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +11 +77 +86 +32 +-16 +-54 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +31 +-16 +-38 +-88 +-112 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-111 +11 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +85 +31 +-16 +-38 +-87 +-111 +11 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +86 +32 +-16 +-54 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +76 +86 +31 +-16 +-38 +-87 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-111 +12 +77 +85 +31 +-16 +-38 +-88 +-111 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-111 +12 +77 +86 +32 +-16 +-54 +-87 +-111 +12 +77 +86 +32 +-16 +-54 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-111 +12 +77 +85 +31 +-16 +-38 +-87 +-111 +12 +77 +86 +31 +-16 +-38 +-87 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +31 +-16 +-38 +-88 +-112 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +9 +75 +84 +30 +-17 +-39 +-88 +-112 +10 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +84 +30 +-16 +-39 +-88 +-112 +10 +76 +84 +30 +-17 +-39 +-88 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +84 +30 +-16 +-39 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +11 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-98 +-92 +35 +92 +97 +68 +16 +-29 +-65 +-97 +-106 +-86 +40 +95 +99 +68 +17 +-28 +-65 +-96 +-106 +-86 +40 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +17 +-28 +-65 +-96 +-106 +-86 +40 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +17 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-87 +39 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +94 +99 +67 +16 +-29 +-65 +-97 +-106 +-87 +39 +95 +99 +68 +16 +-29 +-65 +-97 +-106 +-87 +39 +94 +98 +67 +15 +-29 +-65 +-97 +-106 +-87 +39 +95 +99 +68 +16 +-28 +-65 +-97 +-98 +17 +83 +91 +36 +-12 +-50 +-84 +-110 +11 +75 +84 +30 +-17 +-39 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +76 +86 +31 +-16 +-38 +-87 +-111 +11 +76 +86 +31 +-16 +-38 +-87 +-111 +11 +77 +86 +32 +-15 +-54 +-87 +-111 +11 +77 +86 +32 +-15 +-53 +-87 +-111 +11 +77 +86 +32 +-16 +-54 +-87 +-111 +11 +77 +86 +32 +-15 +-53 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +12 +77 +86 +32 +-15 +-53 +-87 +-111 +11 +76 +86 +31 +-16 +-38 +-87 +-111 +11 +76 +86 +31 +-16 +-38 +-87 +-111 +10 +75 +85 +31 +-16 +-38 +-87 +-111 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +84 +30 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-87 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +10 +76 +85 +31 +-16 +-38 +-88 +-112 +10 +76 +84 +31 +-16 +-38 +-88 +-112 +11 +75 +84 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +10 +75 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +85 +31 +-16 +-38 +-88 +-112 +11 +76 +86 +31 +-16 +-38 +-87 +-111 +11 +77 +86 +31 +-16 +-38 +-87 +-98 +-92 +35 +91 +97 +67 +16 +-29 +-65 +-97 +-106 +-88 +38 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +100 +69 +17 +-28 +-64 +-96 +-105 +-87 +39 +95 +100 +68 +17 +-28 +-64 +-96 +-105 +-87 +39 +95 +99 +68 +16 +-28 +-65 +-96 +-106 +-87 +39 +95 +99 +68 +17 +-28 +-65 +-96 +-105 +-87 +39 +94 +99 +41 +-6 +-47 +-81 +-108 +13 +75 +87 +31 +-15 +-54 +-86 +-112 +11 +74 +86 +30 +-15 +-55 +-87 +-112 +11 +74 +86 +30 +-15 +-55 +-87 +-113 +10 +74 +86 +30 +-15 +-55 +-87 +-112 +11 +74 +86 +30 +-16 +-55 +-87 +-112 +11 +74 +86 +30 +-15 +-55 +-87 +-112 +12 +75 +87 +30 +-15 +-55 +-87 +-99 +-92 +33 +93 +96 +69 +15 +-28 +-65 +-96 +-106 +-86 +38 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +96 +98 +69 +16 +-28 +-65 +-96 +-106 +-87 +38 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-86 +38 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-86 +38 +97 +98 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-87 +38 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +97 +99 +70 +16 +-27 +-65 +-95 +-106 +-86 +38 +97 +100 +71 +17 +-26 +-64 +-95 +-105 +-86 +38 +97 +99 +71 +17 +-27 +-64 +-95 +-105 +-85 +39 +97 +100 +72 +18 +-26 +-64 +-95 +-105 +-86 +38 +97 +100 +71 +17 +-26 +-64 +-95 +-105 +-86 +38 +97 +99 +70 +16 +-27 +-65 +-95 +-106 +-87 +38 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-87 +37 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-87 +37 +95 +97 +69 +15 +-28 +-65 +-96 +-106 +-87 +37 +95 +97 +69 +15 +-28 +-65 +-96 +-106 +-88 +37 +96 +98 +69 +16 +-28 +-65 +-96 +-106 +-88 +37 +95 +97 +69 +16 +-28 +-65 +-96 +-106 +-87 +37 +95 +98 +69 +16 +-28 +-65 +-96 +-106 +-87 +37 +95 +97 +69 +15 +-28 +-65 +-96 +-106 +-87 +37 +95 +98 +69 +15 +-28 +-65 +-96 +-106 +-87 +37 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-87 +37 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-87 +38 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-87 +37 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-87 +37 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-87 +37 +96 +98 +69 +15 +-28 +-65 +-96 +-106 +-87 +37 +96 +98 +69 +16 +-27 +-65 +-96 +-99 +16 +81 +93 +35 +-11 +-51 +-84 +-111 +10 +73 +86 +30 +-16 +-55 +-87 +-113 +10 +74 +86 +30 +-16 +-55 +-87 +-113 +10 +73 +86 +30 +-16 +-55 +-87 +-113 +9 +73 +86 +30 +-16 +-55 +-87 +-113 +10 +73 +85 +29 +-16 +-56 +-87 +-113 +11 +74 +87 +30 +-15 +-55 +-87 +-112 +11 +74 +87 +31 +-15 +-54 +-87 +-112 +11 +74 +87 +31 +-15 +-54 +-86 +-112 +12 +75 +88 +31 +-14 +-54 +-86 +-112 +12 +75 +88 +32 +-14 +-54 +-86 +-112 +12 +75 +88 +31 +-15 +-54 +-86 +-112 +11 +74 +88 +31 +-14 +-54 +-86 +-112 +12 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +87 +31 +-15 +-54 +-86 +-112 +11 +74 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +87 +31 +-15 +-54 +-87 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +87 +31 +-15 +-54 +-86 +-112 +10 +74 +87 +30 +-15 +-55 +-87 +-112 +11 +74 +87 +30 +-15 +-55 +-87 +-112 +11 +74 +87 +31 +-15 +-54 +-87 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +74 +87 +31 +-15 +-54 +-86 +-112 +12 +76 +89 +32 +-14 +-53 +-86 +-111 +12 +76 +88 +32 +-14 +-54 +-86 +-111 +12 +76 +89 +33 +-13 +-53 +-86 +-111 +12 +76 +90 +33 +-13 +-53 +-85 +-111 +12 +76 +88 +32 +-14 +-54 +-86 +-111 +12 +76 +89 +32 +-14 +-54 +-86 +-111 +12 +76 +88 +31 +-14 +-54 +-86 +-98 +-93 +33 +93 +97 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +69 +16 +-28 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-89 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +96 +98 +70 +16 +-27 +-65 +-95 +-106 +-88 +37 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +95 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +36 +96 +98 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +97 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-96 +-106 +-88 +37 +97 +100 +72 +18 +-26 +-64 +-95 +-106 +-87 +37 +97 +99 +71 +17 +-27 +-65 +-95 +-106 +-87 +37 +96 +99 +71 +17 +-27 +-64 +-95 +-106 +-88 +37 +97 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +70 +16 +-27 +-65 +-95 +-106 +-88 +36 +96 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +71 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +99 +70 +17 +-27 +-65 +-95 +-106 +-88 +37 +96 +98 +71 +17 +-27 +-65 +-95 +-99 +16 +81 +93 +36 +-11 +-51 +-84 +-111 +10 +73 +86 +29 +-16 +-56 +-88 +-113 +10 +73 +86 +30 +-16 +-55 +-88 +-113 +10 +74 +87 +30 +-15 +-55 +-87 +-113 +10 +74 +87 +31 +-15 +-55 +-87 +-113 +10 +74 +87 +31 +-15 +-55 +-87 +-112 +11 +74 +87 +31 +-15 +-55 +-87 +-112 +10 +75 +88 +31 +-15 +-54 +-87 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +88 +31 +-15 +-54 +-86 +-112 +11 +76 +89 +32 +-14 +-54 +-86 +-112 +12 +76 +89 +32 +-14 +-54 +-86 +-112 +12 +77 +90 +33 +-13 +-53 +-85 +-111 +12 +77 +89 +33 +-13 +-53 +-86 +-111 +12 +76 +89 +33 +-14 +-53 +-86 +-111 +12 +76 +90 +33 +-13 +-53 +-86 +-112 +11 +75 +89 +32 +-14 +-54 +-86 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +10 +74 +88 +31 +-15 +-54 +-87 +-112 +10 +75 +87 +31 +-15 +-55 +-87 +-113 +10 +74 +87 +31 +-15 +-55 +-87 +-112 +10 +74 +88 +31 +-15 +-54 +-87 +-113 +10 +74 +87 +31 +-15 +-55 +-87 +-112 +11 +75 +88 +31 +-14 +-54 +-86 +-112 +11 +75 +88 +32 +-14 +-54 +-86 +-112 +11 +76 +89 +33 +-13 +-53 +-86 +-112 +12 +76 +90 +33 +-13 +-53 +-86 +-112 +11 +76 +89 +32 +-14 +-54 +-86 +-112 +11 +75 +89 +32 +-14 +-54 +-86 +-112 +11 +75 +88 +31 +-15 +-54 +-87 +-112 +10 +74 +88 +31 +-15 +-54 +-87 +-113 +10 +73 +87 +30 +-15 +-55 +-87 +-113 +8 +73 +86 +29 +-16 +-55 +-88 +-114 +8 +72 +85 +29 +-17 +-56 +-88 +-98 +7 +71 +84 +28 +-17 +-57 +-89 +-98 +7 +71 +84 +28 +-17 +-56 +-88 +-98 +8 +72 +85 +29 +-17 +-56 +-88 +-114 +9 +73 +87 +30 +-16 +-55 +-87 +-113 +10 +74 +88 +31 +-15 +-54 +-87 +-112 +10 +75 +89 +64 +13 +-31 +-67 +-99 +-108 +-90 +37 +95 +101 +72 +19 +-26 +-63 +-95 +-105 +-87 +39 +96 +102 +72 +19 +-26 +-63 +-95 +-105 +-87 +39 +96 +102 +72 +19 +-26 +-63 +-95 +-105 +-88 +38 +96 +102 +71 +19 +-26 +-63 +-95 +-105 +-88 +38 +95 +101 +70 +18 +-27 +-64 +-96 +-105 +-89 +38 +95 +101 +70 +18 +-27 +-64 +-96 +-99 +14 +82 +91 +36 +-12 +-51 +-85 +-111 +8 +74 +85 +30 +-17 +-39 +-88 +-97 +7 +74 +85 +30 +-17 +-39 +-88 +-97 +8 +75 +86 +31 +-16 +-38 +-88 +-97 +8 +75 +86 +32 +-16 +-54 +-88 +-112 +9 +75 +86 +32 +-15 +-54 +-87 +-112 +10 +77 +88 +33 +-15 +-53 +-87 +-112 +10 +77 +88 +33 +-15 +-53 +-87 +-98 +-93 +35 +93 +100 +72 +19 +-26 +-63 +-95 +-105 +-87 +39 +96 +103 +72 +20 +-26 +-63 +-95 +-105 +-88 +38 +96 +102 +71 +19 +-26 +-63 +-95 +-105 +-89 +38 +95 +101 +71 +19 +-27 +-63 +-95 +-105 +-89 +38 +95 +101 +70 +18 +-27 +-64 +-96 +-105 +-89 +37 +95 +101 +70 +18 +-27 +-64 +-96 +-106 +-90 +37 +95 +101 +70 +18 +-27 +-64 +-96 +-106 +-89 +38 +96 +102 +71 +19 +-26 +-64 +-96 +-105 +-89 +38 +96 +102 +72 +20 +-26 +-63 +-95 +-105 +-88 +39 +96 +103 +72 +19 +-26 +-63 +-95 +-105 +-88 +39 +96 +102 +72 +20 +-26 +-63 +-95 +-105 +-88 +38 +96 +102 +72 +19 +-26 +-63 +-95 +-105 +-89 +38 +95 +101 +71 +19 +-27 +-64 +-96 +-99 +14 +82 +93 +37 +-11 +-50 +-85 +-111 +8 +74 +85 +31 +-17 +-39 +-88 +-97 +7 +74 +85 +31 +-16 +-39 +-88 +-97 +7 +74 +85 +31 +-16 +-39 +-88 +-97 +7 +74 +85 +31 +-16 +-39 +-88 +-97 +8 +75 +86 +31 +-16 +-38 +-88 +-97 +8 +76 +86 +32 +-15 +-54 +-88 +-97 +8 +75 +86 +32 +-16 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-87 +-112 +8 +75 +87 +32 +-15 +-54 +-88 +-97 +9 +76 +87 +32 +-15 +-54 +-87 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +75 +87 +32 +-15 +-54 +-88 +-97 +9 +76 +86 +32 +-15 +-54 +-88 +-112 +9 +76 +87 +32 +-15 +-54 +-87 +-112 +9 +76 +87 +33 +-15 +-54 +-87 +-112 +8 +75 +88 +33 +-15 +-53 +-87 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-112 +9 +76 +87 +32 +-15 +-54 +-87 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-112 +9 +77 +88 +33 +-15 +-53 +-87 +-112 +9 +76 +87 +32 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-53 +-87 +-112 +9 +77 +87 +33 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-54 +-87 +-112 +9 +76 +87 +33 +-15 +-54 +-87 +-112 +10 +77 +88 +33 +-15 +-53 +-87 +-112 +8 +75 +88 +33 +-15 +-53 +-87 +-112 +9 +76 +87 +33 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-53 +-87 +-112 +9 +76 +88 +33 +-15 +-53 +-87 +-112 +8 +76 +88 +33 +-15 +-54 +-87 +-97 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-88 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +87 +33 +-15 +-54 +-87 +-112 +9 +77 +88 +33 +-14 +-53 +-87 +-112 +9 +76 +88 +33 +-15 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +9 +77 +89 +34 +-14 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +10 +77 +88 +33 +-14 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +10 +78 +89 +34 +-14 +-53 +-87 +-112 +10 +78 +89 +34 +-14 +-53 +-87 +-112 +10 +77 +89 +34 +-14 +-53 +-87 +-112 +9 +77 +89 +33 +-14 +-53 +-87 +-112 +9 +76 +88 +33 +-15 +-54 +-87 +-112 +9 +76 +88 +33 +-15 +-54 +-88 +-112 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +75 +88 +33 +-15 +-54 +-88 +-97 +9 +75 +87 +32 +-15 +-54 +-88 +-97 +9 +76 +87 +32 +-15 +-54 +-88 +-97 +9 +76 +88 +33 +-15 +-54 +-88 +-97 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +9 +77 +88 +33 +-15 +-53 +-87 +-112 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +88 +33 +-15 +-53 +-87 +-97 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +87 +32 +-15 +-54 +-88 +-97 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +9 +76 +88 +33 +-15 +-53 +-88 +-97 +8 +76 +88 +33 +-15 +-53 +-87 +-97 +9 +76 +88 +33 +-15 +-54 +-88 +-97 +8 +76 +88 +33 +-15 +-54 +-88 +-97 +9 +76 +88 +33 +-15 +-53 +-87 +-97 +9 +77 +88 +33 +-15 +-54 +-88 +-97 +9 +77 +88 +33 +-15 +-54 +-88 +-99 +-95 +33 +93 +101 +72 +19 +-27 +-64 +-96 +-106 +-90 +38 +96 +103 +73 +20 +-26 +-63 +-95 +-105 +-90 +37 +96 +103 +73 +20 +-26 +-63 +-96 +-105 +-91 +37 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-27 +-64 +-96 +-106 +-90 +37 +95 +101 +72 +19 +-27 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +36 +95 +101 +71 +19 +-27 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-27 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +19 +-27 +-64 +-96 +-106 +-91 +36 +95 +102 +72 +19 +-27 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +19 +-26 +-64 +-96 +-106 +-90 +37 +95 +103 +72 +19 +-26 +-64 +-96 +-106 +-91 +37 +96 +103 +72 +20 +-26 +-64 +-96 +-106 +-91 +37 +95 +102 +72 +20 +-26 +-64 +-96 +-106 +-91 +37 +95 +102 +73 +20 +-26 +-63 +-96 +-106 +-91 +37 +96 +104 +73 +20 +-26 +-63 +-96 +-106 +-90 +37 +95 +103 +73 +20 +-26 +-63 +-96 +-106 +-90 +37 +96 +104 +74 +21 +-25 +-63 +-95 +-106 +-90 +37 +97 +104 +74 +21 +-26 +-63 +-95 +-105 +-90 +37 +96 +103 +73 +20 +-26 +-63 +-96 +-106 +-90 +37 +95 +103 +73 +20 +-26 +-63 +-96 +-106 +-91 +36 +95 +102 +43 +-5 +-47 +-81 +-109 +10 +75 +89 +32 +-14 +-54 +-87 +-98 +8 +73 +88 +31 +-15 +-55 +-88 +-98 +8 +74 +88 +31 +-15 +-55 +-88 +-98 +8 +74 +89 +31 +-15 +-55 +-88 +-98 +8 +74 +89 +31 +-15 +-55 +-88 +-98 +8 +74 +89 +32 +-15 +-55 +-88 +-98 +8 +74 +89 +32 +-15 +-55 +-88 +-98 +8 +74 +89 +32 +-15 +-55 +-87 +-114 +9 +74 +89 +32 +-14 +-55 +-87 +-114 +9 +75 +89 +32 +-14 +-54 +-87 +-114 +9 +75 +89 +32 +-15 +-55 +-88 +-114 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +90 +33 +-14 +-54 +-87 +-113 +9 +75 +90 +33 +-14 +-54 +-87 +-113 +9 +75 +90 +33 +-14 +-54 +-87 +-113 +9 +75 +90 +33 +-14 +-54 +-87 +-113 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +90 +33 +-14 +-54 +-87 +-114 +8 +75 +90 +33 +-14 +-54 +-87 +-114 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +8 +75 +90 +32 +-14 +-54 +-87 +-98 +8 +74 +89 +32 +-15 +-55 +-88 +-98 +9 +75 +90 +32 +-14 +-55 +-87 +-114 +8 +74 +90 +32 +-14 +-55 +-87 +-98 +9 +75 +90 +32 +-14 +-54 +-87 +-114 +9 +75 +91 +33 +-14 +-54 +-87 +-113 +10 +76 +91 +33 +-13 +-54 +-87 +-113 +10 +77 +91 +33 +-13 +-54 +-87 +-113 +10 +76 +91 +34 +-13 +-54 +-87 +-113 +10 +76 +91 +68 +16 +-29 +-66 +-98 +-108 +-91 +37 +96 +104 +74 +21 +-25 +-63 +-96 +-106 +-90 +37 +96 +104 +74 +21 +-25 +-63 +-96 +-106 +-91 +36 +96 +103 +73 +20 +-26 +-64 +-96 +-106 +-92 +36 +96 +103 +73 +20 +-26 +-64 +-96 +-106 +-92 +36 +96 +103 +73 +20 +-26 +-64 +-96 +-106 +-91 +36 +95 +103 +73 +20 +-26 +-64 +-97 +-107 +-92 +36 +95 +103 +73 +20 +-27 +-64 +-97 +-107 +-92 +35 +95 +103 +72 +19 +-27 +-64 +-97 +-107 +-92 +36 +95 +103 +73 +20 +-26 +-64 +-97 +-107 +-92 +36 +96 +103 +74 +21 +-26 +-63 +-96 +-106 +-91 +37 +96 +104 +74 +21 +-25 +-63 +-96 +-106 +-90 +37 +96 +105 +75 +22 +-25 +-63 +-95 +-106 +-91 +37 +97 +105 +45 +-4 diff --git a/traces/ioprox-XSF-01-3B-44725.pm3 b/traces/ioprox-XSF-01-3B-44725.pm3 new file mode 100644 index 000000000..bf1cc9580 --- /dev/null +++ b/traces/ioprox-XSF-01-3B-44725.pm3 @@ -0,0 +1,40000 @@ +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +41 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +40 +10 +-16 +-36 +-55 +-69 +-80 +24 +55 +48 +41 +11 +-15 +-35 +-54 +-68 +-80 +24 +56 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +25 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +7 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +23 +56 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +23 +57 +48 +44 +12 +-13 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-58 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +14 +-10 +-33 +-50 +-59 +7 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +12 +-14 +-36 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +19 +-8 +-30 +-49 +-55 +11 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-8 +-30 +-49 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +45 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-38 +-54 +-70 +-80 +22 +55 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-66 +-78 +24 +56 +48 +43 +12 +-14 +-36 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-57 +9 +44 +48 +18 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-51 +-67 +-77 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-58 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +46 +14 +-12 +-34 +-52 +-60 +7 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +49 +44 +13 +-12 +-34 +-52 +-67 +-78 +24 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-9 +-30 +-50 +-57 +10 +45 +48 +18 +-9 +-31 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +42 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +16 +-11 +-33 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +43 +46 +15 +-12 +-32 +-51 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-51 +-67 +-78 +25 +58 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-9 +-30 +-49 +-56 +10 +45 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-32 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-66 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +25 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +38 +9 +-16 +-37 +-55 +-69 +-80 +23 +55 +48 +40 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +48 +41 +11 +-15 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +40 +8 +-16 +-37 +-54 +-70 +-80 +21 +54 +46 +42 +10 +-15 +-36 +-53 +-69 +-79 +24 +56 +48 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-14 +-35 +-53 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +9 +42 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-11 +-33 +-50 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +14 +-11 +-33 +-51 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +18 +-9 +-30 +-49 +-56 +12 +46 +50 +19 +-8 +-30 +-49 +-56 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-11 +-32 +-51 +-58 +9 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +47 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +11 +-14 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +51 +46 +14 +-12 +-34 +-51 +-67 +-77 +26 +58 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-9 +-30 +-50 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-33 +-52 +-59 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +23 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +19 +-8 +-30 +-49 +-55 +12 +47 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +23 +56 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +18 +-9 +-30 +-50 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-31 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-52 +-67 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-57 +11 +44 +48 +16 +-10 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +40 +11 +-15 +-36 +-54 +-68 +-80 +25 +56 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +25 +56 +49 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +11 +44 +50 +17 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-12 +-34 +-52 +-60 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +9 +-16 +-37 +-55 +-69 +-80 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-67 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +50 +18 +-8 +-31 +-49 +-56 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +46 +14 +-11 +-33 +-51 +-60 +7 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +14 +-11 +-33 +-50 +-59 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +7 +40 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-60 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +56 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-58 +10 +45 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-33 +-51 +-59 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +15 +-11 +-32 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-66 +-78 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-53 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +39 +10 +-16 +-37 +-55 +-69 +-80 +23 +54 +48 +40 +11 +-15 +-36 +-54 +-68 +-79 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +56 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-56 +11 +44 +49 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +10 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +55 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-53 +-67 +-79 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +6 +41 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +43 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-38 +-54 +-70 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-52 +-68 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-59 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-67 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +19 +-8 +-30 +-49 +-56 +10 +46 +49 +18 +-9 +-30 +-50 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +24 +56 +49 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +52 +18 +-8 +-30 +-48 +-56 +12 +46 +51 +18 +-8 +-30 +-49 +-57 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +39 +9 +-16 +-37 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-33 +-52 +-58 +8 +44 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +52 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +45 +48 +18 +-9 +-31 +-50 +-57 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +41 +11 +-15 +-35 +-54 +-68 +-80 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +18 +-7 +-30 +-48 +-56 +12 +46 +50 +17 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +46 +14 +-11 +-33 +-51 +-60 +7 +42 +47 +15 +-11 +-33 +-51 +-59 +7 +42 +48 +39 +10 +-16 +-37 +-55 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-58 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +11 +44 +50 +16 +-9 +-32 +-50 +-57 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +39 +10 +-16 +-37 +-55 +-69 +-80 +23 +54 +48 +42 +11 +-15 +-35 +-54 +-68 +-79 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-68 +-79 +25 +57 +50 +43 +12 +-14 +-34 +-53 +-68 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-33 +-51 +-58 +7 +41 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +15 +-11 +-32 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-54 +-68 +-79 +25 +56 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +58 +50 +44 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +45 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-13 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +47 +16 +-11 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-32 +-51 +-59 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +15 +-11 +-33 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-38 +-55 +-70 +-80 +22 +56 +48 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-59 +8 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +14 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +56 +48 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +51 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +18 +-8 +-30 +-49 +-55 +12 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +45 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +46 +16 +-11 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-53 +-67 +-79 +26 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +47 +40 +11 +-15 +-36 +-54 +-68 +-80 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-56 +11 +44 +50 +17 +-9 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +39 +9 +-16 +-37 +-55 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +49 +43 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-58 +8 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-58 +8 +44 +48 +17 +-10 +-32 +-50 +-58 +7 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +9 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +7 +42 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +44 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +55 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-59 +10 +43 +48 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-66 +-77 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-12 +-34 +-51 +-67 +-78 +24 +57 +48 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +58 +49 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +48 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-58 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-66 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +60 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-59 +10 +43 +49 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +40 +46 +14 +-11 +-34 +-51 +-60 +7 +40 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-10 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +46 +14 +-11 +-33 +-51 +-60 +6 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +7 +42 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-60 +7 +41 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-67 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +43 +12 +-13 +-35 +-53 +-68 +-78 +26 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-10 +-32 +-50 +-58 +7 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +15 +-11 +-32 +-51 +-58 +6 +42 +46 +15 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +41 +45 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-32 +-51 +-59 +6 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +15 +-12 +-33 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +40 +8 +-16 +-38 +-54 +-70 +-80 +23 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +59 +49 +44 +12 +-13 +-34 +-52 +-59 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-59 +9 +43 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +14 +-11 +-33 +-51 +-60 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +58 +48 +43 +12 +-14 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +24 +59 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +18 +-8 +-30 +-50 +-55 +12 +47 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +6 +41 +46 +15 +-11 +-33 +-51 +-59 +6 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-32 +-52 +-59 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +58 +50 +44 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-9 +-31 +-50 +-58 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +42 +11 +-15 +-35 +-54 +-68 +-79 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +40 +8 +-16 +-37 +-54 +-70 +-80 +22 +56 +47 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +49 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-59 +10 +43 +48 +16 +-10 +-33 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-77 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +18 +-9 +-30 +-49 +-55 +11 +46 +49 +18 +-9 +-30 +-50 +-57 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +8 +-16 +-38 +-54 +-70 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +50 +18 +-9 +-30 +-50 +-56 +10 +45 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-37 +-54 +-70 +-80 +23 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-67 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +18 +-9 +-30 +-49 +-56 +12 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +41 +46 +40 +8 +-16 +-38 +-55 +-70 +-80 +22 +55 +47 +41 +10 +-15 +-36 +-54 +-69 +-80 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +56 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +13 +-13 +-34 +-52 +-68 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-56 +12 +46 +50 +18 +-9 +-31 +-50 +-57 +10 +45 +48 +17 +-10 +-31 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-12 +-32 +-52 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-12 +-32 +-51 +-59 +7 +41 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +39 +8 +-16 +-38 +-55 +-70 +-80 +22 +55 +46 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-51 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +18 +-9 +-30 +-49 +-56 +11 +46 +50 +19 +-8 +-30 +-49 +-56 +10 +45 +48 +18 +-9 +-31 +-50 +-57 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +6 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-30 +-48 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +10 +44 +48 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +38 +9 +-17 +-37 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-79 +25 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +55 +46 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +58 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +49 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-60 +7 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +7 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +11 +-14 +-35 +-53 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +49 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +12 +-12 +-34 +-52 +-59 +8 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-66 +-78 +24 +57 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-51 +-67 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +9 +44 +48 +16 +-10 +-32 +-51 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +23 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +56 +48 +43 +11 +-14 +-35 +-53 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +24 +58 +50 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +19 +-8 +-30 +-49 +-56 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +23 +56 +47 +43 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +48 +18 +-9 +-31 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-38 +-54 +-70 +-80 +22 +56 +47 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-56 +12 +46 +50 +18 +-9 +-30 +-49 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +47 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +17 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-56 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +39 +10 +-16 +-36 +-54 +-69 +-80 +24 +54 +48 +41 +11 +-15 +-35 +-54 +-68 +-80 +24 +56 +50 +42 +12 +-14 +-35 +-54 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-79 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-30 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +24 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +46 +50 +18 +-8 +-31 +-49 +-56 +11 +44 +49 +16 +-9 +-32 +-50 +-57 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +7 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +38 +9 +-16 +-37 +-55 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +24 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-30 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +14 +-11 +-33 +-51 +-58 +9 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +41 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-60 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +15 +-10 +-33 +-51 +-60 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +47 +14 +-11 +-33 +-51 +-60 +7 +42 +47 +14 +-11 +-33 +-51 +-60 +7 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-60 +7 +42 +48 +39 +10 +-16 +-36 +-54 +-68 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-67 +-79 +26 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +58 +50 +43 +12 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-67 +-79 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +57 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-30 +-49 +-57 +10 +44 +49 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +55 +48 +41 +11 +-14 +-35 +-54 +-68 +-80 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-67 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +14 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-38 +-55 +-70 +-80 +22 +55 +47 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +43 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-67 +-77 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +43 +12 +-14 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +18 +-9 +-30 +-50 +-56 +11 +46 +50 +18 +-9 +-30 +-50 +-57 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +46 +52 +18 +-8 +-30 +-48 +-56 +11 +44 +50 +17 +-8 +-31 +-49 +-57 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-79 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-67 +-79 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +51 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-30 +-48 +-56 +12 +46 +50 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +39 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-67 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-33 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +18 +-8 +-30 +-48 +-55 +12 +46 +51 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +16 +-9 +-32 +-50 +-57 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +15 +-12 +-33 +-52 +-59 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +24 +56 +49 +43 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +12 +-14 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-32 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-32 +-52 +-59 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +55 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +42 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +7 +40 +46 +14 +-11 +-33 +-51 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-66 +-78 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +44 +48 +18 +-10 +-31 +-50 +-57 +10 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +42 +12 +-14 +-34 +-53 +-68 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-33 +-52 +-66 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +17 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-57 +10 +44 +50 +17 +-9 +-31 +-50 +-57 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +40 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-11 +-33 +-51 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +39 +10 +-16 +-37 +-55 +-69 +-80 +23 +55 +48 +40 +11 +-16 +-36 +-54 +-68 +-80 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +57 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +46 +51 +18 +-8 +-30 +-48 +-57 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +14 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +40 +10 +-16 +-36 +-54 +-69 +-80 +23 +54 +48 +42 +11 +-15 +-35 +-54 +-68 +-79 +25 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-58 +9 +44 +48 +18 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-58 +8 +44 +47 +16 +-10 +-32 +-50 +-58 +7 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-66 +-78 +24 +56 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +12 +-14 +-34 +-53 +-68 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +27 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-31 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-33 +-51 +-66 +-78 +25 +56 +49 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +43 +13 +-13 +-34 +-52 +-67 +-79 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-58 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-52 +-59 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +23 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +44 +48 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-66 +-77 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-67 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-66 +-77 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-59 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +47 +14 +-11 +-33 +-51 +-59 +7 +40 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +7 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-11 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-60 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-59 +7 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-11 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +47 +15 +-10 +-33 +-51 +-59 +7 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-60 +8 +42 +47 +15 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-67 +-78 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +59 +49 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +49 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +6 +41 +45 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +6 +41 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-59 +6 +42 +46 +15 +-11 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +39 +8 +-16 +-38 +-54 +-70 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-54 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +43 +11 +-14 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-53 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-32 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-66 +-78 +24 +56 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +48 +16 +-10 +-32 +-51 +-57 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-59 +8 +42 +46 +16 +-12 +-33 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-59 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +47 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-33 +-51 +-59 +7 +43 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-11 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +24 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +25 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +43 +13 +-13 +-34 +-53 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-57 +11 +44 +50 +17 +-8 +-31 +-49 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +14 +-10 +-33 +-51 +-59 +9 +42 +48 +39 +9 +-17 +-37 +-55 +-69 +-80 +24 +55 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-67 +-79 +26 +57 +50 +43 +12 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-58 +8 +44 +48 +16 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-58 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +39 +8 +-16 +-38 +-54 +-70 +-80 +23 +56 +48 +42 +11 +-14 +-36 +-53 +-68 +-79 +24 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +57 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-51 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +23 +57 +48 +43 +11 +-14 +-35 +-52 +-68 +-78 +23 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +19 +-8 +-30 +-49 +-56 +11 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +8 +-16 +-37 +-54 +-70 +-80 +23 +56 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +59 +49 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-35 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +19 +-8 +-30 +-49 +-55 +11 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +46 +49 +18 +-9 +-31 +-50 +-57 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +48 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +57 +48 +44 +12 +-14 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +44 +48 +16 +-10 +-32 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +7 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +23 +56 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +18 +-9 +-30 +-50 +-55 +12 +46 +50 +19 +-9 +-30 +-49 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +46 +14 +-11 +-34 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +7 +41 +47 +15 +-10 +-33 +-51 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-66 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +14 +-12 +-34 +-51 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +50 +19 +-8 +-30 +-49 +-55 +11 +46 +49 +18 +-9 +-31 +-50 +-56 +10 +44 +48 +17 +-10 +-31 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-11 +-33 +-51 +-59 +6 +41 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +15 +-11 +-32 +-52 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +15 +-11 +-33 +-52 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +15 +-12 +-33 +-51 +-59 +7 +41 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +46 +15 +-12 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +44 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +6 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +55 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +18 +-9 +-30 +-50 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-33 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-11 +-32 +-52 +-59 +7 +43 +46 +16 +-11 +-32 +-52 +-58 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +15 +-12 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-51 +-66 +-78 +25 +56 +48 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +56 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +18 +-8 +-31 +-49 +-58 +10 +43 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +14 +-11 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +40 +10 +-16 +-36 +-54 +-69 +-80 +22 +54 +48 +42 +12 +-14 +-35 +-54 +-68 +-79 +25 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +42 +12 +-14 +-34 +-53 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +27 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-59 +8 +44 +48 +17 +-10 +-32 +-50 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +47 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +15 +-12 +-33 +-52 +-59 +7 +42 +46 +15 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +47 +40 +9 +-16 +-37 +-54 +-70 +-80 +23 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-79 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +57 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-13 +-35 +-53 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +60 +50 +45 +13 +-12 +-34 +-52 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-11 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +40 +48 +14 +-10 +-33 +-51 +-59 +8 +40 +46 +14 +-11 +-34 +-52 +-60 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +14 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-50 +-66 +-78 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +24 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +10 +42 +48 +16 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-66 +-77 +24 +56 +48 +43 +12 +-14 +-35 +-53 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +49 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +19 +-8 +-30 +-49 +-55 +12 +46 +50 +18 +-9 +-30 +-50 +-56 +10 +45 +48 +18 +-10 +-31 +-50 +-57 +9 +43 +47 +16 +-10 +-32 +-51 +-58 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-69 +-80 +22 +56 +46 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +56 +47 +42 +10 +-14 +-36 +-53 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +59 +50 +45 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +44 +12 +-12 +-34 +-52 +-68 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +57 +50 +44 +12 +-13 +-35 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-68 +-78 +25 +58 +48 +44 +12 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +18 +-8 +-30 +-49 +-56 +11 +46 +49 +18 +-9 +-30 +-50 +-56 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +17 +-10 +-32 +-50 +-57 +9 +44 +48 +16 +-10 +-32 +-51 +-58 +9 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +55 +47 +42 +10 +-14 +-36 +-53 +-68 +-79 +24 +57 +48 +43 +11 +-14 +-36 +-53 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +49 +44 +12 +-13 +-34 +-52 +-68 +-78 +25 +58 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +49 +44 +12 +-12 +-35 +-52 +-67 +-78 +25 +58 +48 +45 +13 +-12 +-34 +-52 +-67 +-78 +24 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +25 +58 +50 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +60 +51 +19 +-8 +-30 +-49 +-55 +12 +47 +50 +19 +-8 +-30 +-49 +-56 +10 +44 +48 +17 +-10 +-32 +-50 +-57 +8 +44 +48 +16 +-10 +-32 +-50 +-58 +8 +44 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +40 +9 +-16 +-37 +-54 +-70 +-80 +22 +56 +47 +42 +10 +-14 +-36 +-53 +-69 +-79 +24 +57 +48 +43 +12 +-13 +-35 +-52 +-68 +-78 +24 +58 +48 +44 +12 +-13 +-35 +-52 +-68 +-78 +26 +59 +50 +44 +13 +-12 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +12 +-13 +-34 +-52 +-67 +-78 +26 +60 +50 +46 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +59 +50 +45 +13 +-12 +-34 +-52 +-68 +-78 +25 +58 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-12 +-34 +-52 +-67 +-78 +26 +59 +50 +44 +12 +-13 +-34 +-52 +-68 +-78 +26 +59 +50 +45 +13 +-12 +-34 +-52 +-67 +-78 +25 +58 +49 +18 +-9 +-30 +-50 +-56 +11 +46 +50 +18 +-8 +-30 +-49 +-56 +10 +45 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-66 +-78 +25 +56 +50 +43 +12 +-14 +-34 +-53 +-67 +-79 +25 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +25 +56 +50 +43 +13 +-14 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +51 +18 +-8 +-31 +-49 +-57 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +39 +10 +-16 +-36 +-54 +-69 +-80 +22 +54 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +56 +50 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-14 +-34 +-52 +-67 +-79 +25 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +17 +-8 +-31 +-49 +-57 +10 +43 +49 +16 +-9 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +39 +10 +-16 +-36 +-55 +-69 +-80 +23 +55 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +55 +50 +42 +12 +-14 +-34 +-53 +-67 +-79 +26 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +57 +50 +43 +13 +-14 +-34 +-53 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +18 +-8 +-31 +-49 +-56 +12 +45 +50 +16 +-9 +-31 +-50 +-58 +10 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +48 +16 +-10 +-32 +-50 +-58 +9 +42 +47 +15 +-10 +-33 +-50 +-59 +7 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +9 +41 +47 +14 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-60 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +38 +9 +-17 +-37 +-55 +-69 +-80 +23 +54 +48 +41 +11 +-15 +-36 +-54 +-68 +-80 +24 +56 +49 +42 +12 +-14 +-34 +-53 +-67 +-79 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +52 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +51 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +18 +-8 +-31 +-49 +-57 +11 +44 +50 +16 +-9 +-32 +-50 +-58 +10 +44 +49 +16 +-9 +-32 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +9 +43 +48 +16 +-10 +-32 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +48 +16 +-10 +-32 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-58 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-58 +9 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +15 +-11 +-33 +-51 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +9 +42 +47 +14 +-11 +-33 +-51 +-58 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +47 +15 +-10 +-33 +-51 +-59 +8 +41 +47 +15 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +40 +46 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +46 +14 +-11 +-33 +-51 +-59 +8 +41 +48 +15 +-11 +-33 +-51 +-58 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +42 +46 +14 +-11 +-33 +-51 +-60 +6 +41 +47 +14 +-11 +-33 +-51 +-59 +7 +40 +46 +14 +-11 +-34 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-58 +9 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +47 +14 +-11 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +48 +15 +-10 +-33 +-50 +-59 +8 +41 +48 +15 +-10 +-33 +-51 +-59 +8 +42 +47 +39 +10 +-16 +-37 +-55 +-69 +-80 +24 +55 +48 +41 +11 +-15 +-35 +-54 +-68 +-79 +24 +56 +49 +42 +12 +-14 +-35 +-53 +-68 +-79 +26 +57 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +25 +57 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-66 +-78 +26 +58 +50 +43 +13 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +25 +56 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-12 +-34 +-52 +-66 +-78 +26 +57 +50 +44 +13 +-13 +-34 +-52 +-67 +-78 +26 +58 +50 +44 +14 +-13 +-34 +-52 +-67 +-78 +27 +58 +51 +44 +14 +-13 +-34 +-52 +-67 +-78 +26 +58 +51 +44 +14 +-12 +-34 +-52 +-58 +10 +45 +48 +17 +-10 +-31 +-50 +-57 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +42 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-12 +-32 +-51 +-59 +7 +42 +46 +16 +-11 +-32 +-51 +-59 +7 +42 +45 +14 +-12 +-33 +-52 +-59 +6 +42 +46 +15 +-11 +-33 +-51 +-59 +7 +42 +46 +15 +-12 +-33 +-52 +-59 +7 +43 +46 +15 +-11 +-32 +-51 +-59 +6 +43 +46 +16 +-11 +-32 +-51 +-58 +7 +42 +46 +15 +-11 +-33 +-52 +-58 +8 +43 +47 +16 +-11 +-32 +-51 +-58 +8 +43 +47 +16 +-10 +-32 +-51 +-58 +8 +43 +46 +16 +-11 +-32 +-51 +-58 +8 +42 From 6ca4c6463e401a9c7bb080010a526b9270dbfda7 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sat, 3 Jan 2015 14:16:05 +0100 Subject: [PATCH 043/133] Removed wrong size-count, sizeof(bigbuf) would always return 40000 in lfops --- armsrc/lfops.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 894adef78..d5b645938 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -793,12 +793,9 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) WDT_HIT(); if (ledcontrol) LED_A_ON(); DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - //make sure buffer has data - if (size < 2000) continue; //fskdemod and get start index WDT_HIT(); - idx = IOdemodFSK(dest,size); + idx = IOdemodFSK(dest,sizeof(BigBuf)); if (idx>0){ //valid tag found @@ -821,7 +818,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); } code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); + code2 = bytebits_to_byte(dest+idx+32,32); version = bytebits_to_byte(dest+idx+27,8); //14,4 facilitycode = bytebits_to_byte(dest+idx+18,8) ; number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 From ae8e8a437237a059e798f443eb6a8f695754051e Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sat, 3 Jan 2015 14:21:07 +0100 Subject: [PATCH 044/133] Corrected indentation to tabs only --- armsrc/lfops.c | 2832 ++++++++++++++++++++++++------------------------ 1 file changed, 1416 insertions(+), 1416 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index d5b645938..847e45250 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -25,40 +25,40 @@ */ void DoAcquisition125k_internal(int trigger_threshold,bool silent) { - uint8_t *dest = (uint8_t *)BigBuf; - int n = sizeof(BigBuf); - int i; + uint8_t *dest = (uint8_t *)BigBuf; + int n = sizeof(BigBuf); + int i; - memset(dest, 0, n); - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - LED_D_ON(); - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - LED_D_OFF(); - if (trigger_threshold != -1 && dest[i] < trigger_threshold) - continue; - else - trigger_threshold = -1; - if (++i >= n) break; - } - } - if(!silent) - { - Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", - dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); - - } + memset(dest, 0, n); + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + LED_D_ON(); + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + LED_D_OFF(); + if (trigger_threshold != -1 && dest[i] < trigger_threshold) + continue; + else + trigger_threshold = -1; + if (++i >= n) break; + } + } + if(!silent) + { + Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", + dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); + + } } /** * Perform sample aquisition. */ void DoAcquisition125k(int trigger_threshold) { - DoAcquisition125k_internal(trigger_threshold, false); + DoAcquisition125k_internal(trigger_threshold, false); } /** @@ -70,31 +70,31 @@ void DoAcquisition125k(int trigger_threshold) **/ void LFSetupFPGAForADC(int divisor, bool lf_field) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else if (divisor == 0) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + else if (divisor == 0) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + else + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); } /** * Initializes the FPGA, and acquires the samples. **/ void AcquireRawAdcSamples125k(int divisor) { - LFSetupFPGAForADC(divisor, true); - // Now call the acquisition routine - DoAcquisition125k_internal(-1,false); + LFSetupFPGAForADC(divisor, true); + // Now call the acquisition routine + DoAcquisition125k_internal(-1,false); } /** * Initializes the FPGA for snoop-mode, and acquires the samples. @@ -102,60 +102,60 @@ void AcquireRawAdcSamples125k(int divisor) void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) { - LFSetupFPGAForADC(divisor, false); - DoAcquisition125k(trigger_threshold); + LFSetupFPGAForADC(divisor, false); + DoAcquisition125k(trigger_threshold); } void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) { - /* Make sure the tag is reset */ - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(2500); + /* Make sure the tag is reset */ + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(2500); - int divisor_used = 95; // 125 KHz - // see if 'h' was specified + int divisor_used = 95; // 125 KHz + // see if 'h' was specified - if (command[strlen((char *) command) - 1] == 'h') - divisor_used = 88; // 134.8 KHz + if (command[strlen((char *) command) - 1] == 'h') + divisor_used = 88; // 134.8 KHz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); - // And a little more time for the tag to fully power up - SpinDelay(2000); + // And a little more time for the tag to fully power up + SpinDelay(2000); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - // now modulate the reader field - while(*command != '\0' && *command != ' ') { - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + // now modulate the reader field + while(*command != '\0' && *command != ' ') { + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - LED_D_ON(); - if(*(command++) == '0') - SpinDelayUs(period_0); - else - SpinDelayUs(period_1); - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + if(*(command++) == '0') + SpinDelayUs(period_0); + else + SpinDelayUs(period_1); + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // now do the read - DoAcquisition125k(-1); + // now do the read + DoAcquisition125k(-1); } /* blank r/w tag data stream @@ -169,230 +169,230 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, */ void ReadTItag(void) { - // some hardcoded initial params - // when we read a TI tag we sample the zerocross line at 2Mhz - // TI tags modulate a 1 as 16 cycles of 123.2Khz - // TI tags modulate a 0 as 16 cycles of 134.2Khz - #define FSAMPLE 2000000 - #define FREQLO 123200 - #define FREQHI 134200 + // some hardcoded initial params + // when we read a TI tag we sample the zerocross line at 2Mhz + // TI tags modulate a 1 as 16 cycles of 123.2Khz + // TI tags modulate a 0 as 16 cycles of 134.2Khz +#define FSAMPLE 2000000 +#define FREQLO 123200 +#define FREQHI 134200 - signed char *dest = (signed char *)BigBuf; - int n = sizeof(BigBuf); -// int *dest = GraphBuffer; -// int n = GraphTraceLen; + signed char *dest = (signed char *)BigBuf; + int n = sizeof(BigBuf); + // int *dest = GraphBuffer; + // int n = GraphTraceLen; - // 128 bit shift register [shift3:shift2:shift1:shift0] - uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; + // 128 bit shift register [shift3:shift2:shift1:shift0] + uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; - int i, cycles=0, samples=0; - // how many sample points fit in 16 cycles of each frequency - uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; - // when to tell if we're close enough to one freq or another - uint32_t threshold = (sampleslo - sampleshi + 1)>>1; + int i, cycles=0, samples=0; + // how many sample points fit in 16 cycles of each frequency + uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; + // when to tell if we're close enough to one freq or another + uint32_t threshold = (sampleslo - sampleshi + 1)>>1; - // TI tags charge at 134.2Khz - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // TI tags charge at 134.2Khz + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - for (i=0; i0) ) { - cycles++; - // after 16 cycles, measure the frequency - if (cycles>15) { - cycles=0; - samples=i-samples; // number of samples in these 16 cycles + for (i=0; i0) ) { + cycles++; + // after 16 cycles, measure the frequency + if (cycles>15) { + cycles=0; + samples=i-samples; // number of samples in these 16 cycles - // TI bits are coming to us lsb first so shift them - // right through our 128 bit right shift register - shift0 = (shift0>>1) | (shift1 << 31); - shift1 = (shift1>>1) | (shift2 << 31); - shift2 = (shift2>>1) | (shift3 << 31); - shift3 >>= 1; + // TI bits are coming to us lsb first so shift them + // right through our 128 bit right shift register + shift0 = (shift0>>1) | (shift1 << 31); + shift1 = (shift1>>1) | (shift2 << 31); + shift2 = (shift2>>1) | (shift3 << 31); + shift3 >>= 1; - // check if the cycles fall close to the number - // expected for either the low or high frequency - if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { - // low frequency represents a 1 - shift3 |= (1<<31); - } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { - // high frequency represents a 0 - } else { - // probably detected a gay waveform or noise - // use this as gaydar or discard shift register and start again - shift3 = shift2 = shift1 = shift0 = 0; - } - samples = i; + // check if the cycles fall close to the number + // expected for either the low or high frequency + if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { + // low frequency represents a 1 + shift3 |= (1<<31); + } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { + // high frequency represents a 0 + } else { + // probably detected a gay waveform or noise + // use this as gaydar or discard shift register and start again + shift3 = shift2 = shift1 = shift0 = 0; + } + samples = i; - // for each bit we receive, test if we've detected a valid tag + // for each bit we receive, test if we've detected a valid tag - // if we see 17 zeroes followed by 6 ones, we might have a tag - // remember the bits are backwards - if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { - // if start and end bytes match, we have a tag so break out of the loop - if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { - cycles = 0xF0B; //use this as a flag (ugly but whatever) - break; - } - } - } - } - } + // if we see 17 zeroes followed by 6 ones, we might have a tag + // remember the bits are backwards + if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { + // if start and end bytes match, we have a tag so break out of the loop + if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { + cycles = 0xF0B; //use this as a flag (ugly but whatever) + break; + } + } + } + } + } - // if flag is set we have a tag - if (cycles!=0xF0B) { - DbpString("Info: No valid tag detected."); - } else { - // put 64 bit data into shift1 and shift0 - shift0 = (shift0>>24) | (shift1 << 8); - shift1 = (shift1>>24) | (shift2 << 8); + // if flag is set we have a tag + if (cycles!=0xF0B) { + DbpString("Info: No valid tag detected."); + } else { + // put 64 bit data into shift1 and shift0 + shift0 = (shift0>>24) | (shift1 << 8); + shift1 = (shift1>>24) | (shift2 << 8); - // align 16 bit crc into lower half of shift2 - shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; + // align 16 bit crc into lower half of shift2 + shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; - // if r/w tag, check ident match - if ( shift3&(1<<15) ) { - DbpString("Info: TI tag is rewriteable"); - // only 15 bits compare, last bit of ident is not valid - if ( ((shift3>>16)^shift0)&0x7fff ) { - DbpString("Error: Ident mismatch!"); - } else { - DbpString("Info: TI tag ident is valid"); - } - } else { - DbpString("Info: TI tag is readonly"); - } + // if r/w tag, check ident match + if ( shift3&(1<<15) ) { + DbpString("Info: TI tag is rewriteable"); + // only 15 bits compare, last bit of ident is not valid + if ( ((shift3>>16)^shift0)&0x7fff ) { + DbpString("Error: Ident mismatch!"); + } else { + DbpString("Info: TI tag ident is valid"); + } + } else { + DbpString("Info: TI tag is readonly"); + } - // WARNING the order of the bytes in which we calc crc below needs checking - // i'm 99% sure the crc algorithm is correct, but it may need to eat the - // bytes in reverse or something - // calculate CRC - uint32_t crc=0; + // WARNING the order of the bytes in which we calc crc below needs checking + // i'm 99% sure the crc algorithm is correct, but it may need to eat the + // bytes in reverse or something + // calculate CRC + uint32_t crc=0; - crc = update_crc16(crc, (shift0)&0xff); - crc = update_crc16(crc, (shift0>>8)&0xff); - crc = update_crc16(crc, (shift0>>16)&0xff); - crc = update_crc16(crc, (shift0>>24)&0xff); - crc = update_crc16(crc, (shift1)&0xff); - crc = update_crc16(crc, (shift1>>8)&0xff); - crc = update_crc16(crc, (shift1>>16)&0xff); - crc = update_crc16(crc, (shift1>>24)&0xff); + crc = update_crc16(crc, (shift0)&0xff); + crc = update_crc16(crc, (shift0>>8)&0xff); + crc = update_crc16(crc, (shift0>>16)&0xff); + crc = update_crc16(crc, (shift0>>24)&0xff); + crc = update_crc16(crc, (shift1)&0xff); + crc = update_crc16(crc, (shift1>>8)&0xff); + crc = update_crc16(crc, (shift1>>16)&0xff); + crc = update_crc16(crc, (shift1>>24)&0xff); - Dbprintf("Info: Tag data: %x%08x, crc=%x", - (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); - if (crc != (shift2&0xffff)) { - Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); - } else { - DbpString("Info: CRC is good"); - } - } + Dbprintf("Info: Tag data: %x%08x, crc=%x", + (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); + if (crc != (shift2&0xffff)) { + Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); + } else { + DbpString("Info: CRC is good"); + } + } } void WriteTIbyte(uint8_t b) { - int i = 0; + int i = 0; - // modulate 8 bits out to the antenna - for (i=0; i<8; i++) - { - if (b&(1<PIO_PDR = GPIO_SSC_DIN; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; + // Set up the synchronous serial port + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DIN; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; - // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long - // 48/2 = 24 MHz clock must be divided by 12 - AT91C_BASE_SSC->SSC_CMR = 12; + // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long + // 48/2 = 24 MHz clock must be divided by 12 + AT91C_BASE_SSC->SSC_CMR = 12; - AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); - AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; - AT91C_BASE_SSC->SSC_TCMR = 0; - AT91C_BASE_SSC->SSC_TFMR = 0; + AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); + AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; + AT91C_BASE_SSC->SSC_TCMR = 0; + AT91C_BASE_SSC->SSC_TFMR = 0; - LED_D_ON(); + LED_D_ON(); - // modulate antenna - HIGH(GPIO_SSC_DOUT); + // modulate antenna + HIGH(GPIO_SSC_DOUT); - // Charge TI tag for 50ms. - SpinDelay(50); + // Charge TI tag for 50ms. + SpinDelay(50); - // stop modulating antenna and listen - LOW(GPIO_SSC_DOUT); + // stop modulating antenna and listen + LOW(GPIO_SSC_DOUT); - LED_D_OFF(); + LED_D_OFF(); - i = 0; - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer - i++; if(i >= TIBUFLEN) break; - } - WDT_HIT(); - } + i = 0; + for(;;) { + if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer + i++; if(i >= TIBUFLEN) break; + } + WDT_HIT(); + } - // return stolen pin to SSP - AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; + // return stolen pin to SSP + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; - char *dest = (char *)BigBuf; - n = TIBUFLEN*32; - // unpack buffer - for (i=TIBUFLEN-1; i>=0; i--) { - for (j=0; j<32; j++) { - if(BigBuf[i] & (1 << j)) { - dest[--n] = 1; - } else { - dest[--n] = -1; - } - } - } + char *dest = (char *)BigBuf; + n = TIBUFLEN*32; + // unpack buffer + for (i=TIBUFLEN-1; i>=0; i--) { + for (j=0; j<32; j++) { + if(BigBuf[i] & (1 << j)) { + dest[--n] = 1; + } else { + dest[--n] = -1; + } + } + } } // arguments: 64bit data split into 32bit idhi:idlo and optional 16bit crc @@ -400,127 +400,127 @@ void AcquireTiType(void) // if not provided a valid crc will be computed from the data and written. void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if(crc == 0) { - crc = update_crc16(crc, (idlo)&0xff); - crc = update_crc16(crc, (idlo>>8)&0xff); - crc = update_crc16(crc, (idlo>>16)&0xff); - crc = update_crc16(crc, (idlo>>24)&0xff); - crc = update_crc16(crc, (idhi)&0xff); - crc = update_crc16(crc, (idhi>>8)&0xff); - crc = update_crc16(crc, (idhi>>16)&0xff); - crc = update_crc16(crc, (idhi>>24)&0xff); - } - Dbprintf("Writing to tag: %x%08x, crc=%x", - (unsigned int) idhi, (unsigned int) idlo, crc); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if(crc == 0) { + crc = update_crc16(crc, (idlo)&0xff); + crc = update_crc16(crc, (idlo>>8)&0xff); + crc = update_crc16(crc, (idlo>>16)&0xff); + crc = update_crc16(crc, (idlo>>24)&0xff); + crc = update_crc16(crc, (idhi)&0xff); + crc = update_crc16(crc, (idhi>>8)&0xff); + crc = update_crc16(crc, (idhi>>16)&0xff); + crc = update_crc16(crc, (idhi>>24)&0xff); + } + Dbprintf("Writing to tag: %x%08x, crc=%x", + (unsigned int) idhi, (unsigned int) idlo, crc); - // TI tags charge at 134.2Khz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - LED_A_ON(); + // TI tags charge at 134.2Khz + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + LED_A_ON(); - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - // writing algorithm: - // a high bit consists of a field off for 1ms and field on for 1ms - // a low bit consists of a field off for 0.3ms and field on for 1.7ms - // initiate a charge time of 50ms (field on) then immediately start writing bits - // start by writing 0xBB (keyword) and 0xEB (password) - // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) - // finally end with 0x0300 (write frame) - // all data is sent lsb firts - // finish with 15ms programming time + // writing algorithm: + // a high bit consists of a field off for 1ms and field on for 1ms + // a low bit consists of a field off for 0.3ms and field on for 1.7ms + // initiate a charge time of 50ms (field on) then immediately start writing bits + // start by writing 0xBB (keyword) and 0xEB (password) + // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) + // finally end with 0x0300 (write frame) + // all data is sent lsb firts + // finish with 15ms programming time - // modulate antenna - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // charge time + // modulate antenna + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // charge time - WriteTIbyte(0xbb); // keyword - WriteTIbyte(0xeb); // password - WriteTIbyte( (idlo )&0xff ); - WriteTIbyte( (idlo>>8 )&0xff ); - WriteTIbyte( (idlo>>16)&0xff ); - WriteTIbyte( (idlo>>24)&0xff ); - WriteTIbyte( (idhi )&0xff ); - WriteTIbyte( (idhi>>8 )&0xff ); - WriteTIbyte( (idhi>>16)&0xff ); - WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo - WriteTIbyte( (crc )&0xff ); // crc lo - WriteTIbyte( (crc>>8 )&0xff ); // crc hi - WriteTIbyte(0x00); // write frame lo - WriteTIbyte(0x03); // write frame hi - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // programming time + WriteTIbyte(0xbb); // keyword + WriteTIbyte(0xeb); // password + WriteTIbyte( (idlo )&0xff ); + WriteTIbyte( (idlo>>8 )&0xff ); + WriteTIbyte( (idlo>>16)&0xff ); + WriteTIbyte( (idlo>>24)&0xff ); + WriteTIbyte( (idhi )&0xff ); + WriteTIbyte( (idhi>>8 )&0xff ); + WriteTIbyte( (idhi>>16)&0xff ); + WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo + WriteTIbyte( (crc )&0xff ); // crc lo + WriteTIbyte( (crc>>8 )&0xff ); // crc hi + WriteTIbyte(0x00); // write frame lo + WriteTIbyte(0x03); // write frame hi + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // programming time - LED_A_OFF(); + LED_A_OFF(); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - DbpString("Now use tiread to check"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + DbpString("Now use tiread to check"); } void SimulateTagLowFrequency(int period, int gap, int ledcontrol) { - int i; - uint8_t *tab = (uint8_t *)BigBuf; + int i; + uint8_t *tab = (uint8_t *)BigBuf; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; #define SHORT_COIL() LOW(GPIO_SSC_DOUT) #define OPEN_COIL() HIGH(GPIO_SSC_DOUT) - i = 0; - for(;;) { - while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } + i = 0; + for(;;) { + while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } - if (ledcontrol) - LED_D_ON(); + if (ledcontrol) + LED_D_ON(); - if(tab[i]) - OPEN_COIL(); - else - SHORT_COIL(); + if(tab[i]) + OPEN_COIL(); + else + SHORT_COIL(); - if (ledcontrol) - LED_D_OFF(); + if (ledcontrol) + LED_D_OFF(); - while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } + while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } - i++; - if(i == period) { - i = 0; - if (gap) { - SHORT_COIL(); - SpinDelayUs(gap); - } - } - } + i++; + if(i == period) { + i = 0; + if (gap) { + SHORT_COIL(); + SpinDelayUs(gap); + } + } + } } #define DEBUG_FRAME_CONTENTS 1 @@ -530,315 +530,315 @@ void SimulateTagLowFrequencyBidir(int divisor, int t0) // compose fc/8 fc/10 waveform static void fc(int c, int *n) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx; + uint8_t *dest = (uint8_t *)BigBuf; + int idx; - // for when we want an fc8 pattern every 4 logical bits - if(c==0) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples - if(c==8) { - for (idx=0; idx<6; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // for when we want an fc8 pattern every 4 logical bits + if(c==0) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples + if(c==8) { + for (idx=0; idx<6; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } - // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples - if(c==10) { - for (idx=0; idx<5; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples + if(c==10) { + for (idx=0; idx<5; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } } // prepare a waveform pattern in the buffer based on the ID given then // simulate a HID tag until the button is pressed void CmdHIDsimTAG(int hi, int lo, int ledcontrol) { - int n=0, i=0; - /* - HID tag bitstream format - The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits - A 1 bit is represented as 6 fc8 and 5 fc10 patterns - A 0 bit is represented as 5 fc10 and 6 fc8 patterns - A fc8 is inserted before every 4 bits - A special start of frame pattern is used consisting a0b0 where a and b are neither 0 - nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) - */ + int n=0, i=0; + /* + HID tag bitstream format + The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits + A 1 bit is represented as 6 fc8 and 5 fc10 patterns + A 0 bit is represented as 5 fc10 and 6 fc8 patterns + A fc8 is inserted before every 4 bits + A special start of frame pattern is used consisting a0b0 where a and b are neither 0 + nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) + */ - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - fc(0,&n); - // special start of frame marker containing invalid bit sequences - fc(8, &n); fc(8, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 - fc(10, &n); fc(10, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + fc(0,&n); + // special start of frame marker containing invalid bit sequences + fc(8, &n); fc(8, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 + fc(10, &n); fc(10, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 - WDT_HIT(); - // manchester encode bits 43 to 32 - for (i=11; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((hi>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 43 to 32 + for (i=11; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((hi>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - WDT_HIT(); - // manchester encode bits 31 to 0 - for (i=31; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((lo>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 31 to 0 + for (i=31; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((lo>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - if (ledcontrol) - LED_A_ON(); - SimulateTagLowFrequency(n, 0, ledcontrol); + if (ledcontrol) + LED_A_ON(); + SimulateTagLowFrequency(n, 0, ledcontrol); - if (ledcontrol) - LED_A_OFF(); + if (ledcontrol) + LED_A_OFF(); } // loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t hi2=0, hi=0, lo=0; + size_t size=0; //, found=0; + uint32_t hi2=0, hi=0, lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + if (size < 2000) continue; + // FSK demodulator - int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); - - WDT_HIT(); + int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); - if (bitLen>0 && lo>0){ - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - if (hi2 != 0){ //extra large HID tags - Dbprintf("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - }else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t bitlen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - bitlen =idx3+19; - fc =0; - cardnum=0; - if(bitlen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(bitlen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(bitlen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - bitlen= 37; - fc =0; - cardnum=0; - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - //Dbprintf("TAG ID: %x%08x (%d)", - // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - // reset - hi2 = hi = lo = 0; - } - WDT_HIT(); - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + WDT_HIT(); + + if (bitLen>0 && lo>0){ + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + if (hi2 != 0){ //extra large HID tags + Dbprintf("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + }else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; + } + bitlen =idx3+19; + fc =0; + cardnum=0; + if(bitlen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + //Dbprintf("TAG ID: %x%08x (%d)", + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + // reset + hi2 = hi = lo = 0; + } + WDT_HIT(); + //SpinDelay(50); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t bitLen=0; - int clk=0, invert=0, errCnt=0; - uint64_t lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + size_t size=0; //, found=0; + uint32_t bitLen=0; + int clk=0, invert=0, errCnt=0; + uint64_t lo=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator - //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); - bitLen=size; - //Dbprintf("DEBUG: Buffer got"); - errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); - //Dbprintf("DEBUG: ASK Got"); - WDT_HIT(); + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + if (size < 2000) continue; + // FSK demodulator + //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); + bitLen=size; + //Dbprintf("DEBUG: Buffer got"); + errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); + //Dbprintf("DEBUG: ASK Got"); + WDT_HIT(); - if (errCnt>=0){ - lo = Em410xDecode(dest,bitLen); - //Dbprintf("DEBUG: EM GOT"); - //printEM410x(lo); - if (lo>0){ - Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - } else{ - //Dbprintf("DEBUG: No Tag"); - } - WDT_HIT(); - lo = 0; - clk=0; - invert=0; - errCnt=0; - size=0; - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + if (errCnt>=0){ + lo = Em410xDecode(dest,bitLen); + //Dbprintf("DEBUG: EM GOT"); + //printEM410x(lo); + if (lo>0){ + Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + } else{ + //Dbprintf("DEBUG: No Tag"); + } + WDT_HIT(); + lo = 0; + clk=0; + invert=0; + errCnt=0; + size=0; + //SpinDelay(50); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; - int idx=0; - uint32_t code=0, code2=0; - uint8_t version=0; - uint8_t facilitycode=0; - uint16_t number=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); - - while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - //fskdemod and get start index - WDT_HIT(); - idx = IOdemodFSK(dest,sizeof(BigBuf)); - if (idx>0){ - //valid tag found + uint8_t *dest = (uint8_t *)BigBuf; + size_t size=0; + int idx=0; + uint32_t code=0, code2=0; + uint8_t version=0; + uint8_t facilitycode=0; + uint16_t number=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - if(findone){ //only print binary if we are doing one - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); - Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); - } - code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); - version = bytebits_to_byte(dest+idx+27,8); //14,4 - facilitycode = bytebits_to_byte(dest+idx+18,8) ; - number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 - - Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - // if we're only looking for one tag - if (findone){ - if (ledcontrol) LED_A_OFF(); - //LED_A_OFF(); - return; - } - code=code2=0; - version=facilitycode=0; - number=0; - idx=0; - } - WDT_HIT(); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + while(!BUTTON_PRESS()) { + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + DoAcquisition125k_internal(-1,true); + //fskdemod and get start index + WDT_HIT(); + idx = IOdemodFSK(dest,sizeof(BigBuf)); + if (idx>0){ + //valid tag found + + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + if(findone){ //only print binary if we are doing one + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); + Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); + } + code = bytebits_to_byte(dest+idx,32); + code2 = bytebits_to_byte(dest+idx+32,32); + version = bytebits_to_byte(dest+idx+27,8); //14,4 + facilitycode = bytebits_to_byte(dest+idx+18,8) ; + number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 + + Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + // if we're only looking for one tag + if (findone){ + if (ledcontrol) LED_A_OFF(); + //LED_A_OFF(); + return; + } + code=code2=0; + version=facilitycode=0; + number=0; + idx=0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } /*------------------------------ @@ -908,307 +908,307 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) // Write one bit to card void T55xxWriteBit(int bit) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - if (bit == 0) - SpinDelayUs(WRITE_0); - else - SpinDelayUs(WRITE_1); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(WRITE_GAP); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + if (bit == 0) + SpinDelayUs(WRITE_0); + else + SpinDelayUs(WRITE_1); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(WRITE_GAP); } // Write one card block in page 0, no lock void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - //unsigned int i; //enio adjustment 12/10/14 - uint32_t i; + //unsigned int i; //enio adjustment 12/10/14 + uint32_t i; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); + + // Data for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); + T55xxWriteBit(Data & i); - // Data - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Data & i); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); - - // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, - // so wait a little more) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, + // so wait a little more) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); } // Read one card block in page 0 void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - uint8_t *dest = (uint8_t *)BigBuf; - //int m=0, i=0; //enio adjustment 12/10/14 - uint32_t m=0, i=0; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); - - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; - i++; - if (i >= m) break; - } - } - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + uint8_t *dest = (uint8_t *)BigBuf; + //int m=0, i=0; //enio adjustment 12/10/14 + uint32_t m=0, i=0; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); + + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); + + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; + i++; + if (i >= m) break; + } + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } // Read card traceability data (page 1) void T55xxReadTrace(void){ - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; - - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(1); //Page 1 - - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; + + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); + + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(1); //Page 1 + + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } /*-------------- Cloning routines -----------*/ // Copy HID id to card and setup block 0 config void CopyHIDtoT55x7(uint32_t hi2, uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format - int last_block = 0; - - if (longFMT){ - // Ensure no more than 84 bits supplied - if (hi2>0xFFFFF) { - DbpString("Tags can only have 84 bits."); - return; - } - // Build the 6 data blocks for supplied 84bit ID - last_block = 6; - data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) - for (int i=0;i<4;i++) { - if (hi2 & (1<<(19-i))) - data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((3-i)*2)); // 0 -> 01 - } - - data2 = 0; - for (int i=0;i<16;i++) { - if (hi2 & (1<<(15-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 + int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format + int last_block = 0; + + if (longFMT){ + // Ensure no more than 84 bits supplied + if (hi2>0xFFFFF) { + DbpString("Tags can only have 84 bits."); + return; + } + // Build the 6 data blocks for supplied 84bit ID + last_block = 6; + data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) + for (int i=0;i<4;i++) { + if (hi2 & (1<<(19-i))) + data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((3-i)*2)); // 0 -> 01 + } + + data2 = 0; + for (int i=0;i<16;i++) { + if (hi2 & (1<<(15-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data3 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(31-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data4 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(15-i))) + data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data4 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data5 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data5 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data6 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data6 |= (1<<((15-i)*2)); // 0 -> 01 + } } - - data3 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(31-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data4 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(15-i))) - data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data4 |= (1<<((15-i)*2)); // 0 -> 01 + else { + // Ensure no more than 44 bits supplied + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + + // Build the 3 data blocks for supplied 44bit ID + last_block = 3; + + data1 = 0x1D000000; // load preamble + + for (int i=0;i<12;i++) { + if (hi & (1<<(11-i))) + data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((11-i)*2)); // 0 -> 01 + } + + data2 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data3 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } } - - data5 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data5 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data6 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data6 |= (1<<((15-i)*2)); // 0 -> 01 + + LED_D_ON(); + // Program the data blocks for supplied ID + // and the block 0 for HID format + T55xxWriteBlock(data1,1,0,0); + T55xxWriteBlock(data2,2,0,0); + T55xxWriteBlock(data3,3,0,0); + + if (longFMT) { // if long format there are 6 blocks + T55xxWriteBlock(data4,4,0,0); + T55xxWriteBlock(data5,5,0,0); + T55xxWriteBlock(data6,6,0,0); } - } - else { - // Ensure no more than 44 bits supplied - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - - // Build the 3 data blocks for supplied 44bit ID - last_block = 3; - - data1 = 0x1D000000; // load preamble - - for (int i=0;i<12;i++) { - if (hi & (1<<(11-i))) - data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((11-i)*2)); // 0 -> 01 - } - - data2 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data3 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - } - - LED_D_ON(); - // Program the data blocks for supplied ID - // and the block 0 for HID format - T55xxWriteBlock(data1,1,0,0); - T55xxWriteBlock(data2,2,0,0); - T55xxWriteBlock(data3,3,0,0); - - if (longFMT) { // if long format there are 6 blocks - T55xxWriteBlock(data4,4,0,0); - T55xxWriteBlock(data5,5,0,0); - T55xxWriteBlock(data6,6,0,0); - } - - // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) - T55xxWriteBlock(T55x7_BITRATE_RF_50 | - T55x7_MODULATION_FSK2a | - last_block << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - - LED_D_OFF(); - - DbpString("DONE!"); + + // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) + T55xxWriteBlock(T55x7_BITRATE_RF_50 | + T55x7_MODULATION_FSK2a | + last_block << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + + LED_D_OFF(); + + DbpString("DONE!"); } void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0; //up to six blocks for long format - + int data1=0, data2=0; //up to six blocks for long format + data1 = hi; // load preamble data2 = lo; @@ -1217,11 +1217,11 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) // and the block 0 for HID format T55xxWriteBlock(data1,1,0,0); T55xxWriteBlock(data2,2,0,0); - + //Config Block T55xxWriteBlock(0x00147040,0,0,0); LED_D_OFF(); - + DbpString("DONE!"); } @@ -1231,151 +1231,151 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) { - int i, id_bit; - uint64_t id = EM410X_HEADER; - uint64_t rev_id = 0; // reversed ID - int c_parity[4]; // column parity - int r_parity = 0; // row parity - uint32_t clock = 0; + int i, id_bit; + uint64_t id = EM410X_HEADER; + uint64_t rev_id = 0; // reversed ID + int c_parity[4]; // column parity + int r_parity = 0; // row parity + uint32_t clock = 0; - // Reverse ID bits given as parameter (for simpler operations) - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - if (i < 32) { - rev_id = (rev_id << 1) | (id_lo & 1); - id_lo >>= 1; - } else { - rev_id = (rev_id << 1) | (id_hi & 1); - id_hi >>= 1; - } - } + // Reverse ID bits given as parameter (for simpler operations) + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + if (i < 32) { + rev_id = (rev_id << 1) | (id_lo & 1); + id_lo >>= 1; + } else { + rev_id = (rev_id << 1) | (id_hi & 1); + id_hi >>= 1; + } + } - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - id_bit = rev_id & 1; + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + id_bit = rev_id & 1; - if (i % 4 == 0) { - // Don't write row parity bit at start of parsing - if (i) - id = (id << 1) | r_parity; - // Start counting parity for new row - r_parity = id_bit; - } else { - // Count row parity - r_parity ^= id_bit; - } + if (i % 4 == 0) { + // Don't write row parity bit at start of parsing + if (i) + id = (id << 1) | r_parity; + // Start counting parity for new row + r_parity = id_bit; + } else { + // Count row parity + r_parity ^= id_bit; + } - // First elements in column? - if (i < 4) - // Fill out first elements - c_parity[i] = id_bit; - else - // Count column parity - c_parity[i % 4] ^= id_bit; + // First elements in column? + if (i < 4) + // Fill out first elements + c_parity[i] = id_bit; + else + // Count column parity + c_parity[i % 4] ^= id_bit; - // Insert ID bit - id = (id << 1) | id_bit; - rev_id >>= 1; - } + // Insert ID bit + id = (id << 1) | id_bit; + rev_id >>= 1; + } - // Insert parity bit of last row - id = (id << 1) | r_parity; + // Insert parity bit of last row + id = (id << 1) | r_parity; - // Fill out column parity at the end of tag - for (i = 0; i < 4; ++i) - id = (id << 1) | c_parity[i]; + // Fill out column parity at the end of tag + for (i = 0; i < 4; ++i) + id = (id << 1) | c_parity[i]; - // Add stop bit - id <<= 1; + // Add stop bit + id <<= 1; - Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); - LED_D_ON(); + Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); + LED_D_ON(); - // Write EM410x ID - T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); - T55xxWriteBlock((uint32_t)id, 2, 0, 0); + // Write EM410x ID + T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); + T55xxWriteBlock((uint32_t)id, 2, 0, 0); - // Config for EM410x (RF/64, Manchester, Maxblock=2) - if (card) { - // Clock rate is stored in bits 8-15 of the card value - clock = (card & 0xFF00) >> 8; - Dbprintf("Clock rate: %d", clock); - switch (clock) - { - case 32: - clock = T55x7_BITRATE_RF_32; - break; - case 16: - clock = T55x7_BITRATE_RF_16; - break; - case 0: - // A value of 0 is assumed to be 64 for backwards-compatibility - // Fall through... - case 64: - clock = T55x7_BITRATE_RF_64; - break; - default: - Dbprintf("Invalid clock rate: %d", clock); - return; - } + // Config for EM410x (RF/64, Manchester, Maxblock=2) + if (card) { + // Clock rate is stored in bits 8-15 of the card value + clock = (card & 0xFF00) >> 8; + Dbprintf("Clock rate: %d", clock); + switch (clock) + { + case 32: + clock = T55x7_BITRATE_RF_32; + break; + case 16: + clock = T55x7_BITRATE_RF_16; + break; + case 0: + // A value of 0 is assumed to be 64 for backwards-compatibility + // Fall through... + case 64: + clock = T55x7_BITRATE_RF_64; + break; + default: + Dbprintf("Invalid clock rate: %d", clock); + return; + } - // Writing configuration for T55x7 tag - T55xxWriteBlock(clock | - T55x7_MODULATION_MANCHESTER | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - } - else - // Writing configuration for T5555(Q5) tag - T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | - T5555_MODULATION_MANCHESTER | - 2 << T5555_MAXBLOCK_SHIFT, - 0, 0, 0); + // Writing configuration for T55x7 tag + T55xxWriteBlock(clock | + T55x7_MODULATION_MANCHESTER | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + } + else + // Writing configuration for T5555(Q5) tag + T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | + T5555_MODULATION_MANCHESTER | + 2 << T5555_MAXBLOCK_SHIFT, + 0, 0, 0); - LED_D_OFF(); - Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", - (uint32_t)(id >> 32), (uint32_t)id); + LED_D_OFF(); + Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", + (uint32_t)(id >> 32), (uint32_t)id); } // Clone Indala 64-bit tag by UID to T55x7 void CopyIndala64toT55x7(int hi, int lo) { - //Program the 2 data blocks for supplied 64bit UID - // and the block 0 for Indala64 format - T55xxWriteBlock(hi,1,0,0); - T55xxWriteBlock(lo,2,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) -// T5567WriteBlock(0x603E1042,0); + //Program the 2 data blocks for supplied 64bit UID + // and the block 0 for Indala64 format + T55xxWriteBlock(hi,1,0,0); + T55xxWriteBlock(lo,2,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) + // T5567WriteBlock(0x603E1042,0); - DbpString("DONE!"); + DbpString("DONE!"); } void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int uid6, int uid7) { - //Program the 7 data blocks for supplied 224bit UID - // and the block 0 for Indala224 format - T55xxWriteBlock(uid1,1,0,0); - T55xxWriteBlock(uid2,2,0,0); - T55xxWriteBlock(uid3,3,0,0); - T55xxWriteBlock(uid4,4,0,0); - T55xxWriteBlock(uid5,5,0,0); - T55xxWriteBlock(uid6,6,0,0); - T55xxWriteBlock(uid7,7,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 7 << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) -// T5567WriteBlock(0x603E10E2,0); + //Program the 7 data blocks for supplied 224bit UID + // and the block 0 for Indala224 format + T55xxWriteBlock(uid1,1,0,0); + T55xxWriteBlock(uid2,2,0,0); + T55xxWriteBlock(uid3,3,0,0); + T55xxWriteBlock(uid4,4,0,0); + T55xxWriteBlock(uid5,5,0,0); + T55xxWriteBlock(uid6,6,0,0); + T55xxWriteBlock(uid7,7,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 7 << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) + // T5567WriteBlock(0x603E10E2,0); - DbpString("DONE!"); + DbpString("DONE!"); } @@ -1384,261 +1384,261 @@ void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int #define max(x,y) ( x GraphBuffer[0]) { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) - break; - i++; + uint8_t BitStream[256]; + uint8_t Blocks[8][16]; + uint8_t *GraphBuffer = (uint8_t *)BigBuf; + int GraphTraceLen = sizeof(BigBuf); + int i, j, lastval, bitidx, half_switch; + int clock = 64; + int tolerance = clock / 8; + int pmc, block_done; + int lc, warnings = 0; + int num_blocks = 0; + int lmin=128, lmax=128; + uint8_t dir; + + AcquireRawAdcSamples125k(0); + + lmin = 64; + lmax = 192; + + i = 2; + + /* Find first local max/min */ + if(GraphBuffer[1] > GraphBuffer[0]) { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) + break; + i++; + } + dir = 0; } - dir = 0; - } - else { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) - break; - i++; + else { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) + break; + i++; + } + dir = 1; } - dir = 1; - } - - lastval = i++; - half_switch = 0; - pmc = 0; - block_done = 0; - - for (bitidx = 0; i < GraphTraceLen; i++) - { - if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) - { - lc = i - lastval; - lastval = i; - - // Switch depending on lc length: - // Tolerance is 1/8 of clock rate (arbitrary) - if (abs(lc-clock/4) < tolerance) { - // 16T0 - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33+16)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else { - pmc = i; - } - } else if (abs(lc-clock/2) < tolerance) { - // 32TO - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else if(half_switch == 1) { - BitStream[bitidx++] = 0; - half_switch = 0; - } - else - half_switch++; - } else if (abs(lc-clock) < tolerance) { - // 64TO - BitStream[bitidx++] = 1; - } else { - // Error - warnings++; - if (warnings > 10) - { - Dbprintf("Error: too many detection errors, aborting."); - return 0; - } - } - - if(block_done == 1) { - if(bitidx == 128) { - for(j=0; j<16; j++) { - Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ - 64*BitStream[j*8+6]+ - 32*BitStream[j*8+5]+ - 16*BitStream[j*8+4]+ - 8*BitStream[j*8+3]+ - 4*BitStream[j*8+2]+ - 2*BitStream[j*8+1]+ - BitStream[j*8]; - } - num_blocks++; - } - bitidx = 0; - block_done = 0; - half_switch = 0; - } - if(i < GraphTraceLen) - { - if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; - else dir = 1; - } - } - if(bitidx==255) - bitidx=0; - warnings = 0; - if(num_blocks == 4) break; - } - memcpy(outBlocks, Blocks, 16*num_blocks); - return num_blocks; + + lastval = i++; + half_switch = 0; + pmc = 0; + block_done = 0; + + for (bitidx = 0; i < GraphTraceLen; i++) + { + if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) + { + lc = i - lastval; + lastval = i; + + // Switch depending on lc length: + // Tolerance is 1/8 of clock rate (arbitrary) + if (abs(lc-clock/4) < tolerance) { + // 16T0 + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33+16)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else { + pmc = i; + } + } else if (abs(lc-clock/2) < tolerance) { + // 32TO + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else if(half_switch == 1) { + BitStream[bitidx++] = 0; + half_switch = 0; + } + else + half_switch++; + } else if (abs(lc-clock) < tolerance) { + // 64TO + BitStream[bitidx++] = 1; + } else { + // Error + warnings++; + if (warnings > 10) + { + Dbprintf("Error: too many detection errors, aborting."); + return 0; + } + } + + if(block_done == 1) { + if(bitidx == 128) { + for(j=0; j<16; j++) { + Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ + 64*BitStream[j*8+6]+ + 32*BitStream[j*8+5]+ + 16*BitStream[j*8+4]+ + 8*BitStream[j*8+3]+ + 4*BitStream[j*8+2]+ + 2*BitStream[j*8+1]+ + BitStream[j*8]; + } + num_blocks++; + } + bitidx = 0; + block_done = 0; + half_switch = 0; + } + if(i < GraphTraceLen) + { + if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; + else dir = 1; + } + } + if(bitidx==255) + bitidx=0; + warnings = 0; + if(num_blocks == 4) break; + } + memcpy(outBlocks, Blocks, 16*num_blocks); + return num_blocks; } int IsBlock0PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled - return 1; - if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? - return 1; - return 0; + // Assume RFU means 0 :) + if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled + return 1; + if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? + return 1; + return 0; } int IsBlock1PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) - if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) - return 1; - - return 0; + // Assume RFU means 0 :) + if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) + if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) + return 1; + + return 0; } #define ALLOC 16 void ReadPCF7931() { - uint8_t Blocks[8][17]; - uint8_t tmpBlocks[4][16]; - int i, j, ind, ind2, n; - int num_blocks = 0; - int max_blocks = 8; - int ident = 0; - int error = 0; - int tries = 0; - - memset(Blocks, 0, 8*17*sizeof(uint8_t)); - - do { - memset(tmpBlocks, 0, 4*16*sizeof(uint8_t)); - n = DemodPCF7931((uint8_t**)tmpBlocks); - if(!n) - error++; - if(error==10 && num_blocks == 0) { - Dbprintf("Error, no tag or bad tag"); - return; - } - else if (tries==20 || error==10) { - Dbprintf("Error reading the tag"); - Dbprintf("Here is the partial content"); - goto end; - } - - for(i=0; i= 0; ind--,ind2--) { - if(ind2 < 0) - ind2 = max_blocks; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { - if(ind2 > max_blocks) - ind2 = 0; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - } - } + else if (tries==20 || error==10) { + Dbprintf("Error reading the tag"); + Dbprintf("Here is the partial content"); + goto end; } - } - } - tries++; - if (BUTTON_PRESS()) return; - } while (num_blocks != max_blocks); + + for(i=0; i= 0; ind--,ind2--) { + if(ind2 < 0) + ind2 = max_blocks; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { + if(ind2 > max_blocks) + ind2 = 0; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + } + } + } + } + } + tries++; + if (BUTTON_PRESS()) return; + } while (num_blocks != max_blocks); end: - Dbprintf("-----------------------------------------"); - Dbprintf("Memory content:"); - Dbprintf("-----------------------------------------"); - for(i=0; i", i); - } - Dbprintf("-----------------------------------------"); - - return ; + Dbprintf("-----------------------------------------"); + Dbprintf("Memory content:"); + Dbprintf("-----------------------------------------"); + for(i=0; i", i); + } + Dbprintf("-----------------------------------------"); + + return ; } @@ -1662,20 +1662,20 @@ uint8_t * fwd_write_ptr; //forwardlink bit pointer //==================================================================== //-------------------------------------------------------------------- uint8_t Prepare_Cmd( uint8_t cmd ) { - //-------------------------------------------------------------------- - - *forward_ptr++ = 0; //start bit - *forward_ptr++ = 0; //second pause for 4050 code - - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - - return 6; //return number of emited bits + //-------------------------------------------------------------------- + + *forward_ptr++ = 0; //start bit + *forward_ptr++ = 0; //second pause for 4050 code + + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + + return 6; //return number of emited bits } //==================================================================== @@ -1685,21 +1685,21 @@ uint8_t Prepare_Cmd( uint8_t cmd ) { //-------------------------------------------------------------------- uint8_t Prepare_Addr( uint8_t addr ) { - //-------------------------------------------------------------------- - - register uint8_t line_parity; - - uint8_t i; - line_parity = 0; - for(i=0;i<6;i++) { - *forward_ptr++ = addr; - line_parity ^= addr; - addr >>= 1; - } - - *forward_ptr++ = (line_parity & 1); - - return 7; //return number of emited bits + //-------------------------------------------------------------------- + + register uint8_t line_parity; + + uint8_t i; + line_parity = 0; + for(i=0;i<6;i++) { + *forward_ptr++ = addr; + line_parity ^= addr; + addr >>= 1; + } + + *forward_ptr++ = (line_parity & 1); + + return 7; //return number of emited bits } //==================================================================== @@ -1709,36 +1709,36 @@ uint8_t Prepare_Addr( uint8_t addr ) { //-------------------------------------------------------------------- uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { - //-------------------------------------------------------------------- - - register uint8_t line_parity; - register uint8_t column_parity; - register uint8_t i, j; - register uint16_t data; - - data = data_low; - column_parity = 0; - - for(i=0; i<4; i++) { - line_parity = 0; - for(j=0; j<8; j++) { - line_parity ^= data; - column_parity ^= (data & 1) << j; - *forward_ptr++ = data; - data >>= 1; + //-------------------------------------------------------------------- + + register uint8_t line_parity; + register uint8_t column_parity; + register uint8_t i, j; + register uint16_t data; + + data = data_low; + column_parity = 0; + + for(i=0; i<4; i++) { + line_parity = 0; + for(j=0; j<8; j++) { + line_parity ^= data; + column_parity ^= (data & 1) << j; + *forward_ptr++ = data; + data >>= 1; + } + *forward_ptr++ = line_parity; + if(i == 1) + data = data_hi; } - *forward_ptr++ = line_parity; - if(i == 1) - data = data_hi; - } - - for(j=0; j<8; j++) { - *forward_ptr++ = column_parity; - column_parity >>= 1; - } - *forward_ptr = 0; - - return 45; //return number of emited bits + + for(j=0; j<8; j++) { + *forward_ptr++ = column_parity; + column_parity >>= 1; + } + *forward_ptr = 0; + + return 45; //return number of emited bits } //==================================================================== @@ -1747,115 +1747,115 @@ uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { // fwd_bit_count set with number of bits to be sent //==================================================================== void SendForward(uint8_t fwd_bit_count) { - - fwd_write_ptr = forwardLink_data; - fwd_bit_sz = fwd_bit_count; - - LED_D_ON(); - - //Field on - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // force 1st mod pulse (start gap must be longer for 4305) - fwd_bit_sz--; //prepare next bit modulation - fwd_write_ptr++; - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(16*8); //16 cycles on (8us each) - - // now start writting - while(fwd_bit_sz-- > 0) { //prepare next bit modulation - if(((*fwd_write_ptr++) & 1) == 1) - SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) - else { - //These timings work for 4469/4269/4305 (with the 55*8 above) - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(23*8); //16-4 cycles off (8us each) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(9*8); //16 cycles on (8us each) + + fwd_write_ptr = forwardLink_data; + fwd_bit_sz = fwd_bit_count; + + LED_D_ON(); + + //Field on + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // force 1st mod pulse (start gap must be longer for 4305) + fwd_bit_sz--; //prepare next bit modulation + fwd_write_ptr++; + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(16*8); //16 cycles on (8us each) + + // now start writting + while(fwd_bit_sz-- > 0) { //prepare next bit modulation + if(((*fwd_write_ptr++) & 1) == 1) + SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) + else { + //These timings work for 4469/4269/4305 (with the 55*8 above) + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(23*8); //16-4 cycles off (8us each) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(9*8); //16 cycles on (8us each) + } } - } } void EM4xLogin(uint32_t Password) { - - uint8_t fwd_bit_count; - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); - fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); - - SendForward(fwd_bit_count); - - //Wait for command to complete - SpinDelay(20); - + + uint8_t fwd_bit_count; + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); + fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); + + SendForward(fwd_bit_count); + + //Wait for command to complete + SpinDelay(20); + } void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - - uint8_t fwd_bit_count; - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; - - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); - fwd_bit_count += Prepare_Addr( Address ); - - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - SendForward(fwd_bit_count); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; + + uint8_t fwd_bit_count; + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; + + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); + fwd_bit_count += Prepare_Addr( Address ); + + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + SendForward(fwd_bit_count); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } void EM4xWriteWord(uint32_t Data, uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - - uint8_t fwd_bit_count; - - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); - fwd_bit_count += Prepare_Addr( Address ); - fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); - - SendForward(fwd_bit_count); - - //Wait for write to complete - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + + uint8_t fwd_bit_count; + + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); + fwd_bit_count += Prepare_Addr( Address ); + fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); + + SendForward(fwd_bit_count); + + //Wait for write to complete + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } From 854b9a233fee4ca8338d7938ef1633b9ee9075d5 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sat, 3 Jan 2015 14:29:07 +0100 Subject: [PATCH 045/133] Removed unused variable --- armsrc/lfops.c | 1 - 1 file changed, 1 deletion(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 847e45250..ab196325f 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -780,7 +780,6 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; int idx=0; uint32_t code=0, code2=0; uint8_t version=0; From 3400a4358db11337382065c26e58539d28ade5ef Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sat, 3 Jan 2015 14:29:22 +0100 Subject: [PATCH 046/133] Fixed indentation --- common/lfdemod.c | 1170 +++++++++++++++++++++++----------------------- 1 file changed, 585 insertions(+), 585 deletions(-) diff --git a/common/lfdemod.c b/common/lfdemod.c index a03e7f024..f88db18b2 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -16,66 +16,66 @@ //takes 1s and 0s and searches for EM410x format - output EM ID uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) { - //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future - // otherwise could be a void with no arguments - //set defaults - int high=0, low=128; - uint64_t lo=0; //hi=0, + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + int high=0, low=128; + uint64_t lo=0; //hi=0, - uint32_t i = 0; - uint32_t initLoopMax = 65; - if (initLoopMax>BitLen) initLoopMax=BitLen; + uint32_t i = 0; + uint32_t initLoopMax = 65; + if (initLoopMax>BitLen) initLoopMax=BitLen; - for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values - { - if (BitStream[i] > high) - high = BitStream[i]; - else if (BitStream[i] < low) - low = BitStream[i]; - } - if (((high !=1)||(low !=0))){ //allow only 1s and 0s - // PrintAndLog("no data found"); - return 0; - } - uint8_t parityTest=0; - // 111111111 bit pattern represent start of frame - uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; - uint32_t idx = 0; - uint32_t ii=0; - uint8_t resetCnt = 0; - while( (idx + 64) < BitLen) { - restart: - // search for a start of frame marker - if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=9;//sizeof(frame_marker_mask); - for (i=0; i<10;i++){ - for(ii=0; ii<5; ++ii){ - parityTest += BitStream[(i*5)+ii+idx]; - } - if (parityTest== ((parityTest>>1)<<1)){ - parityTest=0; - for (ii=0; ii<4;++ii){ - //hi = (hi<<1)|(lo>>31); - lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); - } - //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); - }else {//parity failed - //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); - parityTest=0; - idx-=8; - if (resetCnt>5)return 0; - resetCnt++; - goto restart;//continue; - } - } - //skip last 5 bit parity test for simplicity. - return lo; - }else{ - idx++; + for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values + { + if (BitStream[i] > high) + high = BitStream[i]; + else if (BitStream[i] < low) + low = BitStream[i]; } - } - return 0; + if (((high !=1)||(low !=0))){ //allow only 1s and 0s + // PrintAndLog("no data found"); + return 0; + } + uint8_t parityTest=0; + // 111111111 bit pattern represent start of frame + uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t ii=0; + uint8_t resetCnt = 0; + while( (idx + 64) < BitLen) { +restart: + // search for a start of frame marker + if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=9;//sizeof(frame_marker_mask); + for (i=0; i<10;i++){ + for(ii=0; ii<5; ++ii){ + parityTest += BitStream[(i*5)+ii+idx]; + } + if (parityTest== ((parityTest>>1)<<1)){ + parityTest=0; + for (ii=0; ii<4;++ii){ + //hi = (hi<<1)|(lo>>31); + lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); + } + //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); + }else {//parity failed + //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); + parityTest=0; + idx-=8; + if (resetCnt>5)return 0; + resetCnt++; + goto restart;//continue; + } + } + //skip last 5 bit parity test for simplicity. + return lo; + }else{ + idx++; + } + } + return 0; } //by marshmellow @@ -84,125 +84,125 @@ uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) //prints binary found and saves in graphbuffer for further commands int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) { - int i; - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default + int i; + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert=0; - uint32_t initLoopMax = 200; - if (initLoopMax>*BitLen) initLoopMax=*BitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158) ){ //throw away static - //PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; - - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - int iii = 0; - uint32_t gLen = *BitLen; - if (gLen > 3000) gLen=3000; - uint8_t errCnt =0; - uint32_t bestStart = *BitLen; - uint32_t bestErrCnt = (*BitLen/1000); - uint32_t maxErr = (*BitLen/1000); - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - errCnt=0; - //loop through to see if this start location works - for (i = iii; i < *BitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over - } - } - if ((i-iii) >(400 * *clk)) break; //got plenty of bits - } - //we got more than 64 good bits and not all errors - if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt*BitLen) initLoopMax=*BitLen; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; } - } - if (bestErrCnt= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BinStream[bitnum] = *invert; - bitnum++; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BinStream[bitnum] = 1-*invert; - bitnum++; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BinStream[bitnum]=77; - bitnum++; - } - - lastBit+=*clk;//skip over error - } - } - if (bitnum >=400) break; + if ((high < 158) ){ //throw away static + //PrintAndLog("no data found"); + return -2; } - *BitLen=bitnum; - } else{ - *invert=bestStart; - *clk=iii; - return -1; - } - return bestErrCnt; + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; + + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + int iii = 0; + uint32_t gLen = *BitLen; + if (gLen > 3000) gLen=3000; + uint8_t errCnt =0; + uint32_t bestStart = *BitLen; + uint32_t bestErrCnt = (*BitLen/1000); + uint32_t maxErr = (*BitLen/1000); + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + errCnt=0; + //loop through to see if this start location works + for (i = iii; i < *BitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over + } + } + if ((i-iii) >(400 * *clk)) break; //got plenty of bits + } + //we got more than 64 good bits and not all errors + if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BinStream[bitnum] = *invert; + bitnum++; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BinStream[bitnum] = 1-*invert; + bitnum++; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BinStream[bitnum]=77; + bitnum++; + } + + lastBit+=*clk;//skip over error + } + } + if (bitnum >=400) break; + } + *BitLen=bitnum; + } else{ + *invert=bestStart; + *clk=iii; + return -1; + } + return bestErrCnt; } //by marshmellow @@ -210,46 +210,46 @@ int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) //run through 2 times and take least errCnt int manrawdecode(uint8_t * BitStream, int *bitLen) { - int bitnum=0; - int errCnt =0; - int i=1; - int bestErr = 1000; - int bestRun = 0; - int ii=1; - for (ii=1;ii<3;++ii){ - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - } else { - errCnt++; - } - if(bitnum>300) break; - } - if (bestErr>errCnt){ - bestErr=errCnt; - bestRun=ii; - } - errCnt=0; - } - errCnt=bestErr; - if (errCnt<20){ - ii=bestRun; - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - BitStream[bitnum++]=0; - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - BitStream[bitnum++]=1; - } else { - BitStream[bitnum++]=77; - //errCnt++; - } - if(bitnum>300) break; - } - *bitLen=bitnum; - } - return errCnt; + int bitnum=0; + int errCnt =0; + int i=1; + int bestErr = 1000; + int bestRun = 0; + int ii=1; + for (ii=1;ii<3;++ii){ + i=1; + for (i=i+ii;i<*bitLen-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + } else { + errCnt++; + } + if(bitnum>300) break; + } + if (bestErr>errCnt){ + bestErr=errCnt; + bestRun=ii; + } + errCnt=0; + } + errCnt=bestErr; + if (errCnt<20){ + ii=bestRun; + i=1; + for (i=i+ii;i<*bitLen-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + BitStream[bitnum++]=0; + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + BitStream[bitnum++]=1; + } else { + BitStream[bitnum++]=77; + //errCnt++; + } + if(bitnum>300) break; + } + *bitLen=bitnum; + } + return errCnt; } @@ -257,23 +257,23 @@ int manrawdecode(uint8_t * BitStream, int *bitLen) //take 01 or 10 = 0 and 11 or 00 = 1 int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) { - uint8_t bitnum=0; - uint32_t errCnt =0; - uint32_t i=1; - i=offset; - for (;i<*bitLen-2;i+=2){ - if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ - BitStream[bitnum++]=1; - } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ - BitStream[bitnum++]=0; - } else { - BitStream[bitnum++]=77; - errCnt++; + uint8_t bitnum=0; + uint32_t errCnt =0; + uint32_t i=1; + i=offset; + for (;i<*bitLen-2;i+=2){ + if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ + BitStream[bitnum++]=1; + } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ + BitStream[bitnum++]=0; + } else { + BitStream[bitnum++]=77; + errCnt++; + } + if(bitnum>250) break; } - if(bitnum>250) break; - } - *bitLen=bitnum; - return errCnt; + *bitLen=bitnum; + return errCnt; } //by marshmellow @@ -282,352 +282,352 @@ int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) //prints binary found and saves in graphbuffer for further commands int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) { - uint32_t i; - // int invert=0; //invert default - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default - uint8_t BitStream[502] = {0}; + uint32_t i; + // int invert=0; //invert default + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default + uint8_t BitStream[502] = {0}; - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert =0; - uint32_t initLoopMax = 200; - if (initLoopMax>*bitLen) initLoopMax=*bitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158)){ //throw away static - // PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + if (*clk<8) *clk =64; + if (*clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert =0; + uint32_t initLoopMax = 200; + if (initLoopMax>*bitLen) initLoopMax=*bitLen; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 158)){ //throw away static + // PrintAndLog("no data found"); + return -2; + } + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - uint32_t iii = 0; - uint32_t gLen = *bitLen; - if (gLen > 500) gLen=500; - uint8_t errCnt =0; - uint32_t bestStart = *bitLen; - uint32_t bestErrCnt = (*bitLen/1000); - uint8_t midBit=0; - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - //loop through to see if this start location works - for (i = iii; i < *bitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BitStream[bitnum] = *invert; - bitnum++; - midBit=0; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BitStream[bitnum] = 1-*invert; - bitnum++; - midBit=0; - } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= 1-*invert; - bitnum++; - } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= *invert; - bitnum++; - } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ - //no mid bar found - midBit=1; - BitStream[bitnum]= BitStream[bitnum-1]; - bitnum++; - } else { - //mid value found or no bar supposed to be here + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint32_t iii = 0; + uint32_t gLen = *bitLen; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + uint32_t bestStart = *bitLen; + uint32_t bestErrCnt = (*bitLen/1000); + uint8_t midBit=0; + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *bitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BitStream[bitnum] = *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BitStream[bitnum] = 1-*invert; + bitnum++; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= 1-*invert; + bitnum++; + } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= *invert; + bitnum++; + } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ + //no mid bar found + midBit=1; + BitStream[bitnum]= BitStream[bitnum-1]; + bitnum++; + } else { + //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BitStream[bitnum]=77; - bitnum++; + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BitStream[bitnum]=77; + bitnum++; + } + + + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over + errCnt=0; + bitnum=0;//start over + break; + } + } + } + if (bitnum>500) break; } - - - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over - errCnt=0; - bitnum=0;//start over - break; + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { + //possible good read + if (errCnt==0) break; //great read - finish + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt500) break; - } - //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { - //possible good read - if (errCnt==0) break; //great read - finish - if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish - if (errCnt=gLen){ //exhausted test + //if there was a ok test go back to that one and re-run the best run (then dump after that run) + if (bestErrCnt < (*bitLen/1000)) iii=bestStart; } - } } - if (iii>=gLen){ //exhausted test - //if there was a ok test go back to that one and re-run the best run (then dump after that run) - if (bestErrCnt < (*bitLen/1000)) iii=bestStart; - } - } - if (bitnum>16){ - - // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to BinStream - // ClearGraph(0); - for (i=0; i < bitnum; ++i){ - BinStream[i]=BitStream[i]; - } - *bitLen=bitnum; - // RepaintGraphWindow(); - //output - // if (errCnt>0){ - // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - // } - // PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - // printBitStream2(BitStream,bitnum); - //int errCnt=0; - //errCnt=manrawdemod(BitStream,bitnum); + if (bitnum>16){ - // Em410xDecode(Cmd); - } else return -1; - return errCnt; + // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to BinStream + // ClearGraph(0); + for (i=0; i < bitnum; ++i){ + BinStream[i]=BitStream[i]; + } + *bitLen=bitnum; + // RepaintGraphWindow(); + //output + // if (errCnt>0){ + // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + // } + // PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + // printBitStream2(BitStream,bitnum); + //int errCnt=0; + //errCnt=manrawdemod(BitStream,bitnum); + + // Em410xDecode(Cmd); + } else return -1; + return errCnt; } //translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow) { - uint32_t last_transition = 0; - uint32_t idx = 1; - uint32_t maxVal=0; - if (fchigh==0) fchigh=10; - if (fclow==0) fclow=8; - // we do care about the actual theshold value as sometimes near the center of the - // wave we may get static that changes direction of wave for one value - // if our value is too low it might affect the read. and if our tag or - // antenna is weak a setting too high might not see anything. [marshmellow] - if (size<100) return 0; - for(idx=1; idx<100; idx++){ - if(maxVal1 transition - if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise - //do nothing with extra garbage - } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves - dest[numBits]=1; - } else { //9+ = 10 waves - dest[numBits]=0; - } - last_transition = idx; - numBits++; - } - } - return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 + size_t numBits = 0; + // count cycles between consecutive lo-hi transitions, there should be either 8 (fc/8) + // or 10 (fc/10) cycles but in practice due to noise etc we may end up with with anywhere + // between 7 to 11 cycles so fuzz it by treat anything <9 as 8 and anything else as 10 + for(idx = 1; idx < size; idx++) { + // threshold current value + + if (dest[idx] < threshold_value) dest[idx] = 0; + else dest[idx] = 1; + + // Check for 0->1 transition + if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition + if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise + //do nothing with extra garbage + } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves + dest[numBits]=1; + } else { //9+ = 10 waves + dest[numBits]=0; + } + last_transition = idx; + numBits++; + } + } + return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 } uint32_t myround2(float f) { - if (f >= 2000) return 2000;//something bad happened - return (uint32_t) (f + (float)0.5); + if (f >= 2000) return 2000;//something bad happened + return (uint32_t) (f + (float)0.5); } //translate 11111100000 to 10 size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert,uint8_t fchigh,uint8_t fclow )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, { - uint8_t lastval=dest[0]; - uint32_t idx=0; - size_t numBits=0; - uint32_t n=1; + uint8_t lastval=dest[0]; + uint32_t idx=0; + size_t numBits=0; + uint32_t n=1; - for( idx=1; idx < size; idx++) { + for( idx=1; idx < size; idx++) { - if (dest[idx]==lastval) { - n++; - continue; - } - //if lastval was 1, we have a 1->0 crossing - if ( dest[idx-1]==1 ) { - n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); - //n=(n+1) / h2l_crossing_value; - } else {// 0->1 crossing - n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor - //n=(n+1) / l2h_crossing_value; - } - if (n == 0) n = 1; + if (dest[idx]==lastval) { + n++; + continue; + } + //if lastval was 1, we have a 1->0 crossing + if ( dest[idx-1]==1 ) { + n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); + //n=(n+1) / h2l_crossing_value; + } else {// 0->1 crossing + n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor + //n=(n+1) / l2h_crossing_value; + } + if (n == 0) n = 1; - if(n < maxConsequtiveBits) //Consecutive - { - if(invert==0){ //invert bits - memset(dest+numBits, dest[idx-1] , n); - }else{ - memset(dest+numBits, dest[idx-1]^1 , n); - } - numBits += n; - } - n=0; - lastval=dest[idx]; - }//end for - return numBits; + if(n < maxConsequtiveBits) //Consecutive + { + if(invert==0){ //invert bits + memset(dest+numBits, dest[idx-1] , n); + }else{ + memset(dest+numBits, dest[idx-1]^1 , n); + } + numBits += n; + } + n=0; + lastval=dest[idx]; + }//end for + return numBits; } //by marshmellow (from holiman's base) // full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod) int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow) { - // FSK demodulator - size = fsk_wave_demod(dest, size, fchigh, fclow); - size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); - return size; + // FSK demodulator + size = fsk_wave_demod(dest, size, fchigh, fclow); + size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); + return size; } // loop to get raw HID waveform then FSK demodulate the TAG ID from it int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { - - size_t idx=0; //, found=0; //size=0, - // FSK demodulator - size = fskdemod(dest, size,50,0,10,8); - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; - int numshifts = 0; - idx = 0; - //one scan - while( idx + sizeof(frame_marker_mask) < size) { - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - *hi2 = (*hi2<<1)|(*hi>>31); - *hi = (*hi<<1)|(*lo>>31); - //Then, shift in a 0 or one into low - if (dest[idx] && !dest[idx+1]) // 1 0 - *lo=(*lo<<1)|0; - else // 0 1 - *lo=(*lo<<1)|1; - numshifts++; - idx += 2; - } - // Hopefully, we read a tag and hit upon the next frame marker - if(idx + sizeof(frame_marker_mask) < size) - { - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - //good return - return idx; - } - } - // reset - *hi2 = *hi = *lo = 0; - numshifts = 0; - }else { - idx++; - } - } - return -1; + size_t idx=0; //, found=0; //size=0, + // FSK demodulator + size = fskdemod(dest, size,50,0,10,8); + + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; + int numshifts = 0; + idx = 0; + //one scan + while( idx + sizeof(frame_marker_mask) < size) { + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=sizeof(frame_marker_mask); + while(dest[idx] != dest[idx+1] && idx < size-2) + { + // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|0; + else // 0 1 + *lo=(*lo<<1)|1; + numshifts++; + idx += 2; + } + // Hopefully, we read a tag and hit upon the next frame marker + if(idx + sizeof(frame_marker_mask) < size) + { + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + //good return + return idx; + } + } + // reset + *hi2 = *hi = *lo = 0; + numshifts = 0; + }else { + idx++; + } + } + return -1; } uint32_t bytebits_to_byte(uint8_t* src, int numbits) { - uint32_t num = 0; - for(int i = 0 ; i < numbits ; i++) - { - num = (num << 1) | (*src); - src++; - } - return num; + uint32_t num = 0; + for(int i = 0 ; i < numbits ; i++) + { + num = (num << 1) | (*src); + src++; + } + return num; } int IOdemodFSK(uint8_t *dest, size_t size) { - uint32_t idx=0; - //make sure buffer has data - if (size < 66) return -1; - //test samples are not just noise - uint8_t testMax=0; - for(idx=0;idx<65;idx++){ - if (testMax170){ - // FSK demodulator - size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert - if (size < 65) return -1; //did we get a good demod? - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 65); idx++) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - //frame marker found - if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ - //confirmed proper separator bits found - //return start position - return (int) idx; - } - } - } - } - return 0; + uint32_t idx=0; + //make sure buffer has data + if (size < 66) return -1; + //test samples are not just noise + uint8_t testMax=0; + for(idx=0;idx<65;idx++){ + if (testMax170){ + // FSK demodulator + size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert + if (size < 65) return -1; //did we get a good demod? + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 65); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + //frame marker found + if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ + //confirmed proper separator bits found + //return start position + return (int) idx; + } + } + } + } + return 0; } // by marshmellow @@ -635,67 +635,67 @@ int IOdemodFSK(uint8_t *dest, size_t size) // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(uint8_t dest[], size_t size, int clock) { - int i=0; - int peak=0; - int low=128; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 256; //don't need to loop through entire array... - if (sizepeak){ - peak = dest[i]; - } - if(dest[i]=peak) || (dest[ii]<=low)){ - errCnt[clkCnt]=0; - // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ - if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt[clkCnt]++; - } + //get high and low peak + for (i=0;ipeak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + errCnt[clkCnt]=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt[clkCnt]++; + } + } + //if we found no errors this is correct one - return this clock + if(errCnt[clkCnt]==0) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCnt[clkCnt] Date: Sat, 3 Jan 2015 14:36:38 +0100 Subject: [PATCH 047/133] Set lower threshold for lf iodemod, it had too high threshold for filtering out noise. Now it works better at least with my antenna/setup --- common/lfdemod.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/lfdemod.c b/common/lfdemod.c index f88db18b2..79c99f733 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -602,7 +602,7 @@ int IOdemodFSK(uint8_t *dest, size_t size) } idx=0; //if not just noise - if (testMax>170){ + if (testMax>20){ // FSK demodulator size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert if (size < 65) return -1; //did we get a good demod? From 2e9d4b3ff492826eeaa7c5eefb905fcff3eb003c Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sat, 3 Jan 2015 15:11:48 +0100 Subject: [PATCH 048/133] Some work on iclass, started on some better support in 'hf iclass list' and also fixes to 'hf iclass reader' so it exits better when the button is pressed --- armsrc/iclass.c | 3 +++ client/cmdhficlass.c | 40 +++++++++++++++++++++++++++++++--------- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 28bdb3bcf..2b1230f5a 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -1551,6 +1551,9 @@ void ReaderIClass(uint8_t arg0) { break; } } + + cmd_send(CMD_ACK,0,0,0,card_data, 0); + LED_A_OFF(); } diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index 583d518e6..19ec57d26 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -42,6 +42,23 @@ int xorbits_8(uint8_t val) return res & 1; } +void explain(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) +{ + + switch(cmd[0]) + { + case 0x0a: snprintf(exp,size,"WUP"); break; + case 0x0f: snprintf(exp,size,"SOF"); break; + case 0x0c: snprintf(exp,size,"Read config"); break; + case 0x81: snprintf(exp,size,"SELECT"); break; + case 0x88: snprintf(exp,size,"Read E-purse (CC)"); break; + case 0x05: snprintf(exp,size,"Reader challenge"); break; + case 0x00: snprintf(exp,size,"End"); break; + default: snprintf(exp,size,"?"); break; + } + return; +} + int CmdHFiClassList(const char *Cmd) { bool ShowWaitCycles = false; @@ -67,8 +84,8 @@ int CmdHFiClassList(const char *Cmd) PrintAndLog("Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer"); PrintAndLog("All times are in carrier periods (1/13.56Mhz)"); PrintAndLog(""); - PrintAndLog(" Start | End | Src | Data (! denotes parity error) | CRC "); - PrintAndLog("-----------|-----------|-----|-----------------------------------------------------------------------"); + PrintAndLog(" Start | End | Src | Data (! denotes parity error) | CRC | Explanation|"); + PrintAndLog("-----------|-----------|-----|-------------------------------------------------------------------------------------"); uint16_t tracepos = 0; uint16_t duration; @@ -78,7 +95,7 @@ int CmdHFiClassList(const char *Cmd) uint32_t timestamp; uint32_t first_timestamp; uint32_t EndOfTransmissionTimestamp; - + char explanation[20] = {0}; for (;;) { if(tracepos >= TRACE_SIZE) { @@ -135,7 +152,7 @@ int CmdHFiClassList(const char *Cmd) } - char *crc = ""; + char *crc = " "; if (data_len > 2) { uint8_t b1, b2; if(!isResponse && data_len == 4 ) { @@ -156,20 +173,21 @@ int CmdHFiClassList(const char *Cmd) } EndOfTransmissionTimestamp = timestamp + duration; - + explain(explanation,sizeof(explanation),frame,data_len); int num_lines = (data_len - 1)/16 + 1; for (int j = 0; j < num_lines; j++) { if (j == 0) { - PrintAndLog(" %9d | %9d | %s | %-64s| %s", + PrintAndLog(" %9d | %9d | %s | %-64s| %s| %s", (timestamp - first_timestamp), (EndOfTransmissionTimestamp - first_timestamp), (isResponse ? "Tag" : "Rdr"), line[j], - (j == num_lines-1)?crc:""); + (j == num_lines-1)?crc:" ", + explanation); } else { PrintAndLog(" | | | %-64s| %s", line[j], - (j == num_lines-1)?crc:""); + (j == num_lines-1)?crc:" "); } } @@ -322,7 +340,11 @@ int CmdHFiClassReader(const char *Cmd) uint8_t * data = resp.d.asBytes; PrintAndLog("isOk:%02x", isOK); - + if( isOK == 0){ + //Aborted + PrintAndLog("Quitting..."); + return 0; + } if(isOK > 0) { PrintAndLog("CSN: %s",sprint_hex(data,8)); From c8dd9b092edd38d71c179c5691a6f22f20b0a016 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sun, 4 Jan 2015 14:53:26 +0100 Subject: [PATCH 049/133] Some work on iclass dump and iclass list, now the dumping is a lot more stable. I think the comms should be measured and tuned a bit more, right now it kind of works thanks to retry-functionality, but the retries are probably not needed if we are a bit more careful about timing, so we don't send commands too fast for the tag to handle --- armsrc/iclass.c | 298 ++++++++++++++++++++++--------------------- client/cmdhficlass.c | 37 ++++-- include/usb_cmd.h | 3 +- 3 files changed, 181 insertions(+), 157 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 2b1230f5a..cb5416a03 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -1474,100 +1474,133 @@ void setupIclassReader() } +size_t sendCmdGetResponseWithRetries(uint8_t* command, size_t cmdsize, uint8_t* resp, uint8_t expected_size, uint8_t retries) +{ + while(retries-- > 0) + { + ReaderTransmitIClass(command, cmdsize); + if(expected_size == ReaderReceiveIClass(resp)){ + return 0; + } + } + return 1;//Error +} + +/** + * @brief Talks to an iclass tag, sends the commands to get CSN and CC. + * @param card_data where the CSN and CC are stored for return + * @return 0 = fail + * 1 = Got CSN + * 2 = Got CSN and CC + */ +uint8_t handshakeIclassTag(uint8_t *card_data) +{ + static uint8_t act_all[] = { 0x0a }; + static uint8_t identify[] = { 0x0c }; + static uint8_t select[] = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + static uint8_t readcheck_cc[]= { 0x88, 0x02 }; + uint8_t *resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + + uint8_t read_status = 0; + + // Send act_all + ReaderTransmitIClass(act_all, 1); + // Card present? + if(!ReaderReceiveIClass(resp)) return read_status;//Fail + //Send Identify + ReaderTransmitIClass(identify, 1); + //We expect a 10-byte response here, 8 byte anticollision-CSN and 2 byte CRC + uint8_t len = ReaderReceiveIClass(resp); + if(len != 10) return read_status;//Fail + + //Copy the Anti-collision CSN to our select-packet + memcpy(&select[1],resp,8); + //Select the card + ReaderTransmitIClass(select, sizeof(select)); + //We expect a 10-byte response here, 8 byte CSN and 2 byte CRC + len = ReaderReceiveIClass(resp); + if(len != 10) return read_status;//Fail + + //Success - level 1, we got CSN + //Save CSN in response data + memcpy(card_data,resp,8); + + //Flag that we got to at least stage 1, read CSN + read_status = 1; + + // Card selected, now read e-purse (cc) + ReaderTransmitIClass(readcheck_cc, sizeof(readcheck_cc)); + if(ReaderReceiveIClass(resp) == 8) { + //Save CC (e-purse) in response data + memcpy(card_data+8,resp,8); + + //Got both + read_status = 2; + } + + return read_status; +} + // Reader iClass Anticollission void ReaderIClass(uint8_t arg0) { - uint8_t act_all[] = { 0x0a }; - uint8_t identify[] = { 0x0c }; - uint8_t select[] = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - uint8_t readcheck_cc[]= { 0x88, 0x02 }; uint8_t card_data[24]={0}; uint8_t last_csn[8]={0}; - - uint8_t *resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); int read_status= 0; bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE; + bool get_cc = arg0 & FLAG_ICLASS_READER_GET_CC; setupIclassReader(); size_t datasize = 0; while(!BUTTON_PRESS()) { - WDT_HIT(); - // Send act_all - ReaderTransmitIClass(act_all, 1); - // Card present? - if(ReaderReceiveIClass(resp)) { + if(traceLen > TRACE_SIZE) { + DbpString("Trace full"); + break; + } + WDT_HIT(); - ReaderTransmitIClass(identify, 1); + read_status = handshakeIclassTag(card_data); - if(ReaderReceiveIClass(resp) == 10) { - //Copy the Anti-collision CSN to our select-packet - memcpy(&select[1],resp,8); - //Dbprintf("Anti-collision CSN: %02x %02x %02x %02x %02x %02x %02x %02x",resp[0], resp[1], resp[2], - // resp[3], resp[4], resp[5], - // resp[6], resp[7]); - //Select the card - ReaderTransmitIClass(select, sizeof(select)); + if(read_status == 0) continue; + if(read_status == 1) datasize = 8; + if(read_status == 2) datasize = 16; - if(ReaderReceiveIClass(resp) == 10) { - //Save CSN in response data - memcpy(card_data,resp,8); - datasize += 8; - //Flag that we got to at least stage 1, read CSN - read_status = 1; + LED_B_ON(); + //Send back to client, but don't bother if we already sent this + if(memcmp(last_csn, card_data, 8) != 0) + { - // Card selected - //Dbprintf("Readcheck on Sector 2"); - ReaderTransmitIClass(readcheck_cc, sizeof(readcheck_cc)); - if(ReaderReceiveIClass(resp) == 8) { - //Save CC (e-purse) in response data - memcpy(card_data+8,resp,8); - datasize += 8; - //Got both - read_status = 2; - } - - LED_B_ON(); - //Send back to client, but don't bother if we already sent this - if(memcmp(last_csn, card_data, 8) != 0) - cmd_send(CMD_ACK,read_status,0,0,card_data,datasize); - - //Save that we already sent this.... - if(read_status == 2) - memcpy(last_csn, card_data, 8); - - LED_B_OFF(); - - if(abort_after_read) break; - } - } - } - - if(traceLen > TRACE_SIZE) { - DbpString("Trace full"); - break; - } + if(!get_cc || (get_cc && read_status == 2)) + { + cmd_send(CMD_ACK,read_status,0,0,card_data,datasize); + if(abort_after_read) { + LED_A_OFF(); + return; + } + //Save that we already sent this.... + memcpy(last_csn, card_data, 8); + } + //If 'get_cc' was specified and we didn't get a CC, we'll just keep trying... + } + LED_B_OFF(); } - cmd_send(CMD_ACK,0,0,0,card_data, 0); - LED_A_OFF(); } void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { - uint8_t act_all[] = { 0x0a }; - uint8_t identify[] = { 0x0c }; - uint8_t select[] = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - uint8_t readcheck_cc[]= { 0x88, 0x02 }; + + uint8_t card_data[24]={0}; + uint8_t check[] = { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; uint8_t read[] = { 0x0c, 0x00, 0x00, 0x00 }; uint16_t crc = 0; uint8_t cardsize=0; - bool read_success=false; uint8_t mem=0; static struct memory_t{ @@ -1583,102 +1616,73 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { setupIclassReader(); - for(int i=0;i<1;i++) { + while(!BUTTON_PRESS()) { if(traceLen > TRACE_SIZE) { DbpString("Trace full"); break; } - if (BUTTON_PRESS()) break; - // Send act_all - ReaderTransmitIClass(act_all, 1); - // Card present? - if(ReaderReceiveIClass(resp)) { - ReaderTransmitIClass(identify, 1); - if(ReaderReceiveIClass(resp) == 10) { - // Select card - memcpy(&select[1],resp,8); - ReaderTransmitIClass(select, sizeof(select)); + uint8_t read_status = handshakeIclassTag(card_data); + if(read_status < 2) continue; - if(ReaderReceiveIClass(resp) == 10) { - Dbprintf(" Selected CSN: %02x %02x %02x %02x %02x %02x %02x %02x", - resp[0], resp[1], resp[2], - resp[3], resp[4], resp[5], - resp[6], resp[7]); - } - // Card selected - Dbprintf("Readcheck on Sector 2"); - ReaderTransmitIClass(readcheck_cc, sizeof(readcheck_cc)); - if(ReaderReceiveIClass(resp) == 8) { - Dbprintf(" CC: %02x %02x %02x %02x %02x %02x %02x %02x", - resp[0], resp[1], resp[2], - resp[3], resp[4], resp[5], - resp[6], resp[7]); - }else return; - Dbprintf("Authenticate"); - //for now replay captured auth (as cc not updated) - memcpy(check+5,MAC,4); - //Dbprintf(" AA: %02x %02x %02x %02x", - // check[5], check[6], check[7],check[8]); - ReaderTransmitIClass(check, sizeof(check)); - if(ReaderReceiveIClass(resp) == 4) { - Dbprintf(" AR: %02x %02x %02x %02x", - resp[0], resp[1], resp[2],resp[3]); - }else { - Dbprintf("Error: Authentication Fail!"); - return; - } - Dbprintf("Dump Contents"); - //first get configuration block - read_success=false; - read[1]=1; - uint8_t *blockno=&read[1]; - crc = iclass_crc16((char *)blockno,1); - read[2] = crc >> 8; - read[3] = crc & 0xff; - while(!read_success){ - ReaderTransmitIClass(read, sizeof(read)); - if(ReaderReceiveIClass(resp) == 10) { - read_success=true; - mem=resp[5]; - memory.k16= (mem & 0x80); - memory.book= (mem & 0x20); - memory.k2= (mem & 0x8); - memory.lockauth= (mem & 0x2); - memory.keyaccess= (mem & 0x1); + //for now replay captured auth (as cc not updated) + memcpy(check+5,MAC,4); + + if(sendCmdGetResponseWithRetries(check, sizeof(check),resp, 4, 5)) + { + Dbprintf("Error: Authentication Fail!"); + continue; + } + + //first get configuration block + read[1]=1; + uint8_t *blockno=&read[1]; + crc = iclass_crc16((char *)blockno,1); + read[2] = crc >> 8; + read[3] = crc & 0xff; + + if(sendCmdGetResponseWithRetries(read, sizeof(read),resp, 10, 10)) + { + Dbprintf("Dump config block failed"); + continue; + } + + mem=resp[5]; + memory.k16= (mem & 0x80); + memory.book= (mem & 0x20); + memory.k2= (mem & 0x8); + memory.lockauth= (mem & 0x2); + memory.keyaccess= (mem & 0x1); + + cardsize = memory.k16 ? 255 : 32; + WDT_HIT(); + + //then loop around remaining blocks + for(char block=0; block < cardsize; block++){ + + read[1]= block; + crc = iclass_crc16(&block ,1); + read[2] = crc >> 8; + read[3] = crc & 0xff; + + if(!sendCmdGetResponseWithRetries(read, sizeof(read), resp, 10, 10)) + { + Dbprintf(" %02x: %02x %02x %02x %02x %02x %02x %02x %02x", + block, resp[0], resp[1], resp[2], + resp[3], resp[4], resp[5], + resp[6], resp[7]); + + }else{ + Dbprintf("Failed to dump block %d", block); - } - } - if (memory.k16){ - cardsize=255; - }else cardsize=32; - //then loop around remaining blocks - for(uint8_t j=0; j> 8; - read[3] = crc & 0xff; - while(!read_success){ - ReaderTransmitIClass(read, sizeof(read)); - if(ReaderReceiveIClass(resp) == 10) { - read_success=true; - Dbprintf(" %02x: %02x %02x %02x %02x %02x %02x %02x %02x", - j, resp[0], resp[1], resp[2], - resp[3], resp[4], resp[5], - resp[6], resp[7]); - } - } - } } } + //If we got here, let's break + break; WDT_HIT(); } - LED_A_OFF(); } diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index 19ec57d26..f6261f332 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -42,19 +42,38 @@ int xorbits_8(uint8_t val) return res & 1; } +#define ICLASS_CMD_ACTALL 0x0A +#define ICLASS_CMD_IDENTIFY 0x0C +#define ICLASS_CMD_READ 0x0C + +#define ICLASS_CMD_SELECT 0x81 +#define ICLASS_CMD_PAGESEL 0x84 +#define ICLASS_CMD_READCHECK 0x88 +#define ICLASS_CMD_CHECK 0x05 +#define ICLASS_CMD_SOF 0x0F +#define ICLASS_CMD_HALT 0x00 + + void explain(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) { + if(cmdsize > 1 && cmd[0] == ICLASS_CMD_READ) + { + snprintf(exp,size,"READ(%d)",cmd[1]); + return; + } + switch(cmd[0]) { - case 0x0a: snprintf(exp,size,"WUP"); break; - case 0x0f: snprintf(exp,size,"SOF"); break; - case 0x0c: snprintf(exp,size,"Read config"); break; - case 0x81: snprintf(exp,size,"SELECT"); break; - case 0x88: snprintf(exp,size,"Read E-purse (CC)"); break; - case 0x05: snprintf(exp,size,"Reader challenge"); break; - case 0x00: snprintf(exp,size,"End"); break; - default: snprintf(exp,size,"?"); break; + case ICLASS_CMD_ACTALL: snprintf(exp,size,"ACTALL"); break; + case ICLASS_CMD_IDENTIFY: snprintf(exp,size,"IDENTIFY"); break; + case ICLASS_CMD_SELECT: snprintf(exp,size,"SELECT"); break; + case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL"); break; + case ICLASS_CMD_READCHECK: snprintf(exp,size,"READCHECK"); break; + case ICLASS_CMD_CHECK: snprintf(exp,size,"CHECK"); break; + case ICLASS_CMD_SOF: snprintf(exp,size,"SOF"); break; + case ICLASS_CMD_HALT: snprintf(exp,size,"HALT"); break; + default: snprintf(exp,size,"?"); break; } return; } @@ -447,7 +466,7 @@ int CmdHFiClassReader_Dump(const char *Cmd) UsbCommand c = {CMD_READER_ICLASS, {0}}; - c.arg[0] = FLAG_ICLASS_READER_ONLY_ONCE; + c.arg[0] = FLAG_ICLASS_READER_ONLY_ONCE| FLAG_ICLASS_READER_GET_CC; if(!fake_dummy_test) SendCommand(&c); diff --git a/include/usb_cmd.h b/include/usb_cmd.h index 3e00c0a64..4d50de594 100644 --- a/include/usb_cmd.h +++ b/include/usb_cmd.h @@ -167,7 +167,8 @@ typedef struct { //Iclass reader flags -#define FLAG_ICLASS_READER_ONLY_ONCE 0x01 +#define FLAG_ICLASS_READER_ONLY_ONCE 0x01 +#define FLAG_ICLASS_READER_GET_CC 0x02 // CMD_DEVICE_INFO response packet has flags in arg[0], flag definitions: /* Whether a bootloader that understands the common_area is present */ From 4c3de57ad2c0ac268c9eccaf46a2dbf58fb0d313 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sun, 4 Jan 2015 21:22:54 +0100 Subject: [PATCH 050/133] Reworked how 'hf 14a list' and 'hf iclass list' works, to use the same method. Now. use 'hf list 14a' and 'hf list iclass' instead. Plus, the output is now annotated (although the annotation-engine could use a bit more love from someone more familiar with the available commands --- client/cmdhf.c | 279 ++++++++++++++++++++++++++++++++++++++++++- client/cmdhf.h | 2 +- client/cmdhf14a.c | 144 +--------------------- client/cmdhficlass.c | 148 +---------------------- 4 files changed, 283 insertions(+), 290 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index d955fc832..9e8a21057 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -9,6 +9,7 @@ //----------------------------------------------------------------------------- #include +#include //#include "proxusb.h" #include "proxmark3.h" #include "graph.h" @@ -31,6 +32,279 @@ int CmdHFTune(const char *Cmd) SendCommand(&c); return 0; } +// for the time being. Need better Bigbuf handling. +#define TRACE_SIZE 3000 + +#define ICLASS_CMD_ACTALL 0x0A +#define ICLASS_CMD_IDENTIFY 0x0C +#define ICLASS_CMD_READ 0x0C +#define ICLASS_CMD_SELECT 0x81 +#define ICLASS_CMD_PAGESEL 0x84 +#define ICLASS_CMD_READCHECK 0x88 +#define ICLASS_CMD_CHECK 0x05 +#define ICLASS_CMD_SOF 0x0F +#define ICLASS_CMD_HALT 0x00 + +#define iso14443_CMD_WUPA 0x52 +#define iso14443_CMD_SELECT 0x93 +#define iso14443_CMD_SELECT_2 0x95 +#define iso14443_CMD_REQ 0x26 +#define iso14443_CMD_READBLOCK 0x30 +#define iso14443_CMD_WRITEBLOCK 0xA0 +#define iso14443_CMD_INC 0xC0 +#define iso14443_CMD_DEC 0xC1 +#define iso14443_CMD_RESTORE 0xC2 +#define iso14443_CMD_TRANSFER 0xB0 +#define iso14443_CMD_HALT 0x50 +#define iso14443_CMD_RATS 0xE0 + + +void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) +{ + switch(cmd[0]) + { + case iso14443_CMD_WUPA: snprintf(exp,size,"WUPA"); break; + case iso14443_CMD_SELECT:{ + if(cmdsize > 2) + { + snprintf(exp,size,"SELECT_UID"); break; + }else + { + snprintf(exp,size,"SELECT_ALL"); break; + } + } + case iso14443_CMD_SELECT_2: snprintf(exp,size,"SELECT_2"); break; + case iso14443_CMD_REQ: snprintf(exp,size,"REW"); break; + case iso14443_CMD_READBLOCK: snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break; + case iso14443_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break; + case iso14443_CMD_INC: snprintf(exp,size,"INC(%d)",cmd[1]); break; + case iso14443_CMD_DEC: snprintf(exp,size,"DEC(%d)",cmd[1]); break; + case iso14443_CMD_RESTORE: snprintf(exp,size,"RESTORE(%d)",cmd[1]); break; + case iso14443_CMD_TRANSFER: snprintf(exp,size,"TRANSFER(%d)",cmd[1]); break; + case iso14443_CMD_HALT: snprintf(exp,size,"HALT"); break; + case iso14443_CMD_RATS: snprintf(exp,size,"RATS"); break; + default: snprintf(exp,size,"?"); break; + } + return; +} + +void annotateIclass(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) +{ + + if(cmdsize > 1 && cmd[0] == ICLASS_CMD_READ) + { + snprintf(exp,size,"READ(%d)",cmd[1]); + return; + } + + switch(cmd[0]) + { + case ICLASS_CMD_ACTALL: snprintf(exp,size,"ACTALL"); break; + case ICLASS_CMD_IDENTIFY: snprintf(exp,size,"IDENTIFY"); break; + case ICLASS_CMD_SELECT: snprintf(exp,size,"SELECT"); break; + case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL"); break; + case ICLASS_CMD_READCHECK: snprintf(exp,size,"READCHECK"); break; + case ICLASS_CMD_CHECK: snprintf(exp,size,"CHECK"); break; + case ICLASS_CMD_SOF: snprintf(exp,size,"SOF"); break; + case ICLASS_CMD_HALT: snprintf(exp,size,"HALT"); break; + default: snprintf(exp,size,"?"); break; + } + return; +} + + + +uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool showWaitCycles) +{ + bool isResponse; + uint16_t duration, data_len,parity_len; + + uint32_t timestamp, first_timestamp, EndOfTransmissionTimestamp; + char explanation[30] = {0}; + + first_timestamp = *((uint32_t *)(trace)); + timestamp = *((uint32_t *)(trace + tracepos)); + // Break and stick with current result if buffer was not completely full + if (timestamp == 0x44444444) return TRACE_SIZE; + + tracepos += 4; + duration = *((uint16_t *)(trace + tracepos)); + tracepos += 2; + data_len = *((uint16_t *)(trace + tracepos)); + tracepos += 2; + + if (data_len & 0x8000) { + data_len &= 0x7fff; + isResponse = true; + } else { + isResponse = false; + } + parity_len = (data_len-1)/8 + 1; + + if (tracepos + data_len + parity_len >= TRACE_SIZE) { + return TRACE_SIZE; + } + + uint8_t *frame = trace + tracepos; + tracepos += data_len; + uint8_t *parityBytes = trace + tracepos; + tracepos += parity_len; + + //--- Draw the data column + char line[16][110]; + for (int j = 0; j < data_len; j++) { + int oddparity = 0x01; + int k; + + for (k=0 ; k<8 ; k++) { + oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); + } + + uint8_t parityBits = parityBytes[j>>3]; + + if (isResponse && (oddparity != ((parityBits >> (7-(j&0x0007))) & 0x01))) { + sprintf(line[j/16]+((j%16)*4), "%02x! ", frame[j]); + } else { + sprintf(line[j/16]+((j%16)*4), "%02x ", frame[j]); + } + } + //--- Draw the CRC column + bool crcError = false; + + if (data_len > 2) { + uint8_t b1, b2; + if(iclass) + { + if(!isResponse && data_len == 4 ) { + // Rough guess that this is a command from the reader + // For iClass the command byte is not part of the CRC + ComputeCrc14443(CRC_ICLASS, &frame[1], data_len-3, &b1, &b2); + } + else { + // For other data.. CRC might not be applicable (UPDATE commands etc.) + ComputeCrc14443(CRC_ICLASS, frame, data_len-2, &b1, &b2); + } + + if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { + crcError = true; + } + + }else{//Iso 14443a + + ComputeCrc14443(CRC_14443_A, frame, data_len-2, &b1, &b2); + + if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { + if(!(isResponse & (data_len < 6))) + { + crcError = true; + } + } + } + + } + char *crc = crcError ? "!crc" :" "; + + EndOfTransmissionTimestamp = timestamp + duration; + + if(!isResponse) + { + if(iclass) annotateIclass(explanation,sizeof(explanation),frame,data_len); + else annotateIso14443a(explanation,sizeof(explanation),frame,data_len); + } + + int num_lines = (data_len - 1)/16 + 1; + for (int j = 0; j < num_lines; j++) { + if (j == 0) { + PrintAndLog(" %9d | %9d | %s | %-64s| %s| %s", + (timestamp - first_timestamp), + (EndOfTransmissionTimestamp - first_timestamp), + (isResponse ? "Tag" : "Rdr"), + line[j], + (j == num_lines-1) ? crc : " ", + (j == num_lines-1) ? explanation : ""); + } else { + PrintAndLog(" | | | %-64s| %s| %s", + line[j], + (j == num_lines-1)?crc:" ", + (j == num_lines-1) ? explanation : ""); + } + } + + bool next_isResponse = *((uint16_t *)(trace + tracepos + 6)) & 0x8000; + + if (showWaitCycles && !isResponse && next_isResponse) { + uint32_t next_timestamp = *((uint32_t *)(trace + tracepos)); + if (next_timestamp != 0x44444444) { + PrintAndLog(" %9d | %9d | %s | fdt (Frame Delay Time): %d", + (EndOfTransmissionTimestamp - first_timestamp), + (next_timestamp - first_timestamp), + " ", + (next_timestamp - EndOfTransmissionTimestamp)); + } + } + return tracepos; +} + +int CmdHFList(const char *Cmd) +{ + bool showWaitCycles = false; + char type[40] = {0}; + int tlen = param_getstr(Cmd,0,type); + char param = param_getchar(Cmd, 1); + bool errors = false; + bool iclass = false; + //Validate params + if(tlen == 0 || (strcmp(type, "iclass") != 0 && strcmp(type,"14a") != 0)) + { + errors = true; + } + if(param == 'h' || (param !=0 && param != 'f')) + { + errors = true; + } + + if (errors) { + PrintAndLog("List protocol data in trace buffer."); + PrintAndLog("Usage: hf list [14a|iclass] [f]"); + PrintAndLog(" - interpret data as iso14443a communications"); + PrintAndLog(" iclass - interpret data as iclass communications"); + PrintAndLog(" f - show frame delay times as well"); + PrintAndLog(""); + PrintAndLog("example: hf list 14a f"); + PrintAndLog("example: hf list iclass"); + return 0; + } + if(strcmp(type, "iclass") == 0) + { + iclass = true; + } + + if (param == 'f') { + showWaitCycles = true; + } + + + uint8_t trace[TRACE_SIZE]; + uint16_t tracepos = 0; + GetFromBigBuf(trace, TRACE_SIZE, 0); + WaitForResponse(CMD_ACK, NULL); + + PrintAndLog("Recorded Activity"); + PrintAndLog(""); + PrintAndLog("Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer"); + PrintAndLog("iso14443a - All times are in carrier periods (1/13.56Mhz)"); + PrintAndLog("iClass - Timings are not as accurate"); + PrintAndLog(""); + PrintAndLog(" Start | End | Src | Data (! denotes parity error) | CRC | Annotation |"); + PrintAndLog("-----------|-----------|-----|-----------------------------------------------------------------|-----|--------------------|"); + + while(tracepos < TRACE_SIZE) + { + tracepos = printTraceLine(tracepos, trace, iclass, showWaitCycles); + } + return 0; +} + static command_t CommandTable[] = { @@ -41,9 +315,10 @@ static command_t CommandTable[] = {"epa", CmdHFEPA, 1, "{ German Identification Card... }"}, {"legic", CmdHFLegic, 0, "{ LEGIC RFIDs... }"}, {"iclass", CmdHFiClass, 1, "{ ICLASS RFIDs... }"}, - {"mf", CmdHFMF, 1, "{ MIFARE RFIDs... }"}, + {"mf", CmdHFMF, 1, "{ MIFARE RFIDs... }"}, {"tune", CmdHFTune, 0, "Continuously measure HF antenna tuning"}, - {NULL, NULL, 0, NULL} + {"list", CmdHFList, 1, "List protocol data in trace buffer"}, + {NULL, NULL, 0, NULL} }; int CmdHF(const char *Cmd) diff --git a/client/cmdhf.h b/client/cmdhf.h index ff20a950a..026357b5a 100644 --- a/client/cmdhf.h +++ b/client/cmdhf.h @@ -13,5 +13,5 @@ int CmdHF(const char *Cmd); int CmdHFTune(const char *Cmd); - +int CmdHFList(const char *Cmd); #endif diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index c99760765..36ffe1b80 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -29,145 +29,7 @@ static void waitCmd(uint8_t iLen); int CmdHF14AList(const char *Cmd) { - bool ShowWaitCycles = false; - char param = param_getchar(Cmd, 0); - - if (param == 'h' || (param != 0 && param != 'f')) { - PrintAndLog("List data in trace buffer."); - PrintAndLog("Usage: hf 14a list [f]"); - PrintAndLog("f - show frame delay times as well"); - PrintAndLog("sample: hf 14a list f"); - return 0; - } - - if (param == 'f') { - ShowWaitCycles = true; - } - -// for the time being. Need better Bigbuf handling. -#define TRACE_SIZE 3000 - - uint8_t trace[TRACE_SIZE]; - GetFromBigBuf(trace, TRACE_SIZE, 0); - WaitForResponse(CMD_ACK, NULL); - - PrintAndLog("Recorded Activity"); - PrintAndLog(""); - PrintAndLog("Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer"); - PrintAndLog("All times are in carrier periods (1/13.56Mhz)"); - PrintAndLog(""); - PrintAndLog(" Start | End | Src | Data (! denotes parity error) | CRC "); - PrintAndLog("-----------|-----------|-----|-----------------------------------------------------------------------"); - - uint16_t tracepos = 0; - uint16_t duration; - uint16_t data_len; - uint16_t parity_len; - bool isResponse; - uint32_t timestamp; - uint32_t first_timestamp; - uint32_t EndOfTransmissionTimestamp; - - for (;;) { - - if(tracepos >= TRACE_SIZE) { - break; - } - - timestamp = *((uint32_t *)(trace + tracepos)); - if(tracepos == 0) { - first_timestamp = timestamp; - } - - // Break and stick with current result if buffer was not completely full - if (timestamp == 0x44444444) break; - - tracepos += 4; - duration = *((uint16_t *)(trace + tracepos)); - tracepos += 2; - data_len = *((uint16_t *)(trace + tracepos)); - tracepos += 2; - - if (data_len & 0x8000) { - data_len &= 0x7fff; - isResponse = true; - } else { - isResponse = false; - } - - parity_len = (data_len-1)/8 + 1; - - if (tracepos + data_len + parity_len >= TRACE_SIZE) { - break; - } - - uint8_t *frame = trace + tracepos; - tracepos += data_len; - uint8_t *parityBytes = trace + tracepos; - tracepos += parity_len; - - char line[16][110]; - for (int j = 0; j < data_len; j++) { - int oddparity = 0x01; - int k; - - for (k=0;k<8;k++) { - oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); - } - - uint8_t parityBits = parityBytes[j>>3]; - if (isResponse && (oddparity != ((parityBits >> (7-(j&0x0007))) & 0x01))) { - sprintf(line[j/16]+((j%16)*4), "%02x! ", frame[j]); - } else { - sprintf(line[j/16]+((j%16)*4), "%02x ", frame[j]); - } - - } - - char crc[5] = ""; - if (data_len > 2) { - uint8_t b1, b2; - ComputeCrc14443(CRC_14443_A, frame, data_len-2, &b1, &b2); - if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { - sprintf(crc, (isResponse & (data_len < 6)) ? "" : "!crc"); - } else { - sprintf(crc, ""); - } - } - - EndOfTransmissionTimestamp = timestamp + duration; - - int num_lines = (data_len - 1)/16 + 1; - for (int j = 0; j < num_lines; j++) { - if (j == 0) { - PrintAndLog(" %9d | %9d | %s | %-64s| %s", - (timestamp - first_timestamp), - (EndOfTransmissionTimestamp - first_timestamp), - (isResponse ? "Tag" : "Rdr"), - line[j], - (j == num_lines-1)?crc:""); - } else { - PrintAndLog(" | | | %-64s| %s", - line[j], - (j == num_lines-1)?crc:""); - } - } - - bool next_isResponse = *((uint16_t *)(trace + tracepos + 6)) & 0x8000; - - if (ShowWaitCycles && !isResponse && next_isResponse) { - uint32_t next_timestamp = *((uint32_t *)(trace + tracepos)); - if (next_timestamp != 0x44444444) { - PrintAndLog(" %9d | %9d | %s | fdt (Frame Delay Time): %d", - (EndOfTransmissionTimestamp - first_timestamp), - (next_timestamp - first_timestamp), - " ", - (next_timestamp - EndOfTransmissionTimestamp)); - } - } - - } - + PrintAndLog("Deprecated command, use 'hf list 14a' instead"); return 0; } @@ -510,7 +372,7 @@ int CmdHF14ASnoop(const char *Cmd) { if (param_getchar(Cmd, 0) == 'h') { PrintAndLog("It get data from the field and saves it into command buffer."); - PrintAndLog("Buffer accessible from command hf 14a list."); + PrintAndLog("Buffer accessible from command hf list 14a."); PrintAndLog("Usage: hf 14a snoop [c][r]"); PrintAndLog("c - triggered by first data from card"); PrintAndLog("r - triggered by first 7-bit request from reader (REQ,WUP,...)"); @@ -671,7 +533,7 @@ static void waitCmd(uint8_t iSelect) static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, - {"list", CmdHF14AList, 0, "List ISO 14443a history"}, + {"list", CmdHF14AList, 0, "[Deprecated] List ISO 14443a history"}, {"reader", CmdHF14AReader, 0, "Act like an ISO14443 Type A reader"}, {"cuids", CmdHF14ACUIDs, 0, " Collect n>0 ISO14443 Type A UIDs in one go"}, {"sim", CmdHF14ASim, 0, " -- Fake ISO 14443a tag"}, diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index f6261f332..5146401bb 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -80,151 +80,7 @@ void explain(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) int CmdHFiClassList(const char *Cmd) { - bool ShowWaitCycles = false; - char param = param_getchar(Cmd, 0); - - if (param != 0) { - PrintAndLog("List data in trace buffer."); - PrintAndLog("Usage: hf iclass list"); - PrintAndLog("h - help"); - PrintAndLog("sample: hf iclass list"); - return 0; - } - -// for the time being. Need better Bigbuf handling. -#define TRACE_SIZE 3000 - - uint8_t trace[TRACE_SIZE]; - GetFromBigBuf(trace, TRACE_SIZE, 0); - WaitForResponse(CMD_ACK, NULL); - - PrintAndLog("Recorded Activity"); - PrintAndLog(""); - PrintAndLog("Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer"); - PrintAndLog("All times are in carrier periods (1/13.56Mhz)"); - PrintAndLog(""); - PrintAndLog(" Start | End | Src | Data (! denotes parity error) | CRC | Explanation|"); - PrintAndLog("-----------|-----------|-----|-------------------------------------------------------------------------------------"); - - uint16_t tracepos = 0; - uint16_t duration; - uint16_t data_len; - uint16_t parity_len; - bool isResponse; - uint32_t timestamp; - uint32_t first_timestamp; - uint32_t EndOfTransmissionTimestamp; - char explanation[20] = {0}; - for (;;) { - - if(tracepos >= TRACE_SIZE) { - break; - } - - timestamp = *((uint32_t *)(trace + tracepos)); - if(tracepos == 0) { - first_timestamp = timestamp; - } - - // Break and stick with current result if buffer was not completely full - if (timestamp == 0x44444444) break; - - tracepos += 4; - duration = *((uint16_t *)(trace + tracepos)); - tracepos += 2; - data_len = *((uint16_t *)(trace + tracepos)); - tracepos += 2; - - if (data_len & 0x8000) { - data_len &= 0x7fff; - isResponse = true; - } else { - isResponse = false; - } - - parity_len = (data_len-1)/8 + 1; - - if (tracepos + data_len + parity_len >= TRACE_SIZE) { - break; - } - - uint8_t *frame = trace + tracepos; - tracepos += data_len; - uint8_t *parityBytes = trace + tracepos; - tracepos += parity_len; - - char line[16][110]; - for (int j = 0; j < data_len; j++) { - int oddparity = 0x01; - int k; - - for (k=0;k<8;k++) { - oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); - } - - uint8_t parityBits = parityBytes[j>>3]; - if (isResponse && (oddparity != ((parityBits >> (7-(j&0x0007))) & 0x01))) { - sprintf(line[j/16]+((j%16)*4), "%02x! ", frame[j]); - } else { - sprintf(line[j/16]+((j%16)*4), "%02x ", frame[j]); - } - - } - - char *crc = " "; - if (data_len > 2) { - uint8_t b1, b2; - if(!isResponse && data_len == 4 ) { - // Rough guess that this is a command from the reader - // For iClass the command byte is not part of the CRC - ComputeCrc14443(CRC_ICLASS, &frame[1], data_len-3, &b1, &b2); - if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { - crc = "!crc"; - } - } - else { - // For other data.. CRC might not be applicable (UPDATE commands etc.) - ComputeCrc14443(CRC_ICLASS, frame, data_len-2, &b1, &b2); - if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { - crc = "!crc"; - } - } - } - - EndOfTransmissionTimestamp = timestamp + duration; - explain(explanation,sizeof(explanation),frame,data_len); - int num_lines = (data_len - 1)/16 + 1; - for (int j = 0; j < num_lines; j++) { - if (j == 0) { - PrintAndLog(" %9d | %9d | %s | %-64s| %s| %s", - (timestamp - first_timestamp), - (EndOfTransmissionTimestamp - first_timestamp), - (isResponse ? "Tag" : "Rdr"), - line[j], - (j == num_lines-1)?crc:" ", - explanation); - } else { - PrintAndLog(" | | | %-64s| %s", - line[j], - (j == num_lines-1)?crc:" "); - } - } - - bool next_isResponse = *((uint16_t *)(trace + tracepos + 6)) & 0x8000; - - if (ShowWaitCycles && !isResponse && next_isResponse) { - uint32_t next_timestamp = *((uint32_t *)(trace + tracepos)); - if (next_timestamp != 0x44444444) { - PrintAndLog(" %9d | %9d | %s | fdt (Frame Delay Time): %d", - (EndOfTransmissionTimestamp - first_timestamp), - (next_timestamp - first_timestamp), - " ", - (next_timestamp - EndOfTransmissionTimestamp)); - } - } - - } - + PrintAndLog("Deprecated command, use 'hf list iclass' instead"); return 0; } @@ -619,7 +475,7 @@ int CmdHFiClass_iso14443A_write(const char *Cmd) static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, - {"list", CmdHFiClassList, 0, "List iClass history"}, + {"list", CmdHFiClassList, 0, "[Deprecated] List iClass history"}, {"snoop", CmdHFiClassSnoop, 0, "Eavesdrop iClass communication"}, {"sim", CmdHFiClassSim, 0, "Simulate iClass tag"}, {"reader",CmdHFiClassReader, 0, "Read an iClass tag"}, From 337818f7ab35b1e51e33bd7903877c1cdc7da600 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sun, 4 Jan 2015 21:26:10 +0100 Subject: [PATCH 051/133] Minor dox --- client/cmdhf.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 9e8a21057..85cc54258 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -99,15 +99,15 @@ void annotateIclass(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) switch(cmd[0]) { - case ICLASS_CMD_ACTALL: snprintf(exp,size,"ACTALL"); break; + case ICLASS_CMD_ACTALL: snprintf(exp,size,"ACTALL"); break; case ICLASS_CMD_IDENTIFY: snprintf(exp,size,"IDENTIFY"); break; - case ICLASS_CMD_SELECT: snprintf(exp,size,"SELECT"); break; - case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL"); break; - case ICLASS_CMD_READCHECK: snprintf(exp,size,"READCHECK"); break; - case ICLASS_CMD_CHECK: snprintf(exp,size,"CHECK"); break; - case ICLASS_CMD_SOF: snprintf(exp,size,"SOF"); break; - case ICLASS_CMD_HALT: snprintf(exp,size,"HALT"); break; - default: snprintf(exp,size,"?"); break; + case ICLASS_CMD_SELECT: snprintf(exp,size,"SELECT"); break; + case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL"); break; + case ICLASS_CMD_READCHECK: snprintf(exp,size,"READCHECK"); break; + case ICLASS_CMD_CHECK: snprintf(exp,size,"CHECK"); break; + case ICLASS_CMD_SOF: snprintf(exp,size,"SOF"); break; + case ICLASS_CMD_HALT: snprintf(exp,size,"HALT"); break; + default: snprintf(exp,size,"?"); break; } return; } @@ -266,9 +266,9 @@ int CmdHFList(const char *Cmd) if (errors) { PrintAndLog("List protocol data in trace buffer."); PrintAndLog("Usage: hf list [14a|iclass] [f]"); - PrintAndLog(" - interpret data as iso14443a communications"); + PrintAndLog(" 14a - interpret data as iso14443a communications"); PrintAndLog(" iclass - interpret data as iclass communications"); - PrintAndLog(" f - show frame delay times as well"); + PrintAndLog(" f - show frame delay times as well"); PrintAndLog(""); PrintAndLog("example: hf list 14a f"); PrintAndLog("example: hf list iclass"); From 39d3ce5dd66a1e3e135331db444f38b2ed32691a Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Sun, 4 Jan 2015 22:10:25 +0100 Subject: [PATCH 052/133] Moved iclass crc to be based on a lookup table --- armsrc/iclass.c | 24 ++++++++++++++++-------- common/iso15693tools.c | 4 ++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index cb5416a03..3844ab143 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -1595,6 +1595,15 @@ void ReaderIClass(uint8_t arg0) { void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { uint8_t card_data[24]={0}; + uint16_t block_crc_LUT[255] = {0}; + + {//Generate a lookup table for block crc + for(int block = 0; block < 255; block++){ + char bl = block; + block_crc_LUT[block] = iclass_crc16(&bl ,1); + } + } + //Dbprintf("Lookup table: %02x %02x %02x" ,block_crc_LUT[0],block_crc_LUT[1],block_crc_LUT[2]); uint8_t check[] = { 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; uint8_t read[] = { 0x0c, 0x00, 0x00, 0x00 }; @@ -1618,12 +1627,13 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { while(!BUTTON_PRESS()) { + WDT_HIT(); + if(traceLen > TRACE_SIZE) { DbpString("Trace full"); break; } - uint8_t read_status = handshakeIclassTag(card_data); if(read_status < 2) continue; @@ -1636,16 +1646,15 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { continue; } - //first get configuration block + //first get configuration block (block 1) + crc = block_crc_LUT[1]; read[1]=1; - uint8_t *blockno=&read[1]; - crc = iclass_crc16((char *)blockno,1); read[2] = crc >> 8; read[3] = crc & 0xff; if(sendCmdGetResponseWithRetries(read, sizeof(read),resp, 10, 10)) { - Dbprintf("Dump config block failed"); + Dbprintf("Dump config (block 1) failed"); continue; } @@ -1660,10 +1669,10 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { WDT_HIT(); //then loop around remaining blocks - for(char block=0; block < cardsize; block++){ + for(int block=0; block < cardsize; block++){ read[1]= block; - crc = iclass_crc16(&block ,1); + crc = block_crc_LUT[block]; read[2] = crc >> 8; read[3] = crc & 0xff; @@ -1681,7 +1690,6 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { } //If we got here, let's break break; - WDT_HIT(); } LED_A_OFF(); } diff --git a/common/iso15693tools.c b/common/iso15693tools.c index 0f7a250bf..26e636ca7 100644 --- a/common/iso15693tools.c +++ b/common/iso15693tools.c @@ -66,11 +66,11 @@ char* Iso15693sprintUID(char *target,uint8_t *uid) { return target; } -unsigned short iclass_crc16(char *data_p, unsigned short length) +uint16_t iclass_crc16(char *data_p, unsigned short length) { unsigned char i; unsigned int data; - unsigned int crc = 0xffff; + uint16_t crc = 0xffff; if (length == 0) return (~crc); From 6f101995b633112d092b4f61b9fb2345f85ba353 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 5 Jan 2015 09:16:06 +0100 Subject: [PATCH 053/133] Added loclass-functionality into the pm3,the functionality provided by loclass can now be invoked directly from the pm3. Also fixed some issues with how prnlog called PrintAndLog, and added some testdata for the loclass self-tests --- client/cmdhficlass.c | 99 ++++++++++++++++++--------------- client/loclass/elite_crack.c | 17 ++++-- client/loclass/fileutils.c | 8 +-- client/loclass/fileutils.h | 1 + client/loclass/iclass_dump.bin | Bin 0 -> 3024 bytes 5 files changed, 72 insertions(+), 53 deletions(-) create mode 100644 client/loclass/iclass_dump.bin diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index 5146401bb..dba4f1132 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -42,42 +42,6 @@ int xorbits_8(uint8_t val) return res & 1; } -#define ICLASS_CMD_ACTALL 0x0A -#define ICLASS_CMD_IDENTIFY 0x0C -#define ICLASS_CMD_READ 0x0C - -#define ICLASS_CMD_SELECT 0x81 -#define ICLASS_CMD_PAGESEL 0x84 -#define ICLASS_CMD_READCHECK 0x88 -#define ICLASS_CMD_CHECK 0x05 -#define ICLASS_CMD_SOF 0x0F -#define ICLASS_CMD_HALT 0x00 - - -void explain(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) -{ - - if(cmdsize > 1 && cmd[0] == ICLASS_CMD_READ) - { - snprintf(exp,size,"READ(%d)",cmd[1]); - return; - } - - switch(cmd[0]) - { - case ICLASS_CMD_ACTALL: snprintf(exp,size,"ACTALL"); break; - case ICLASS_CMD_IDENTIFY: snprintf(exp,size,"IDENTIFY"); break; - case ICLASS_CMD_SELECT: snprintf(exp,size,"SELECT"); break; - case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL"); break; - case ICLASS_CMD_READCHECK: snprintf(exp,size,"READCHECK"); break; - case ICLASS_CMD_CHECK: snprintf(exp,size,"CHECK"); break; - case ICLASS_CMD_SOF: snprintf(exp,size,"SOF"); break; - case ICLASS_CMD_HALT: snprintf(exp,size,"HALT"); break; - default: snprintf(exp,size,"?"); break; - } - return; -} - int CmdHFiClassList(const char *Cmd) { PrintAndLog("Deprecated command, use 'hf list iclass' instead"); @@ -470,19 +434,64 @@ int CmdHFiClass_iso14443A_write(const char *Cmd) } return 0; } +int CmdHFiClass_loclass(const char *Cmd) +{ + char opt = param_getchar(Cmd, 0); + if (strlen(Cmd)<1 || opt == 'h') { + PrintAndLog("Usage: hf iclass loclass [options]"); + PrintAndLog("Options:"); + PrintAndLog("h Show this help"); + PrintAndLog("t Perform self-test"); + PrintAndLog("f Bruteforce iclass dumpfile"); + PrintAndLog(" An iclass dumpfile is assumed to consist of an arbitrary number of"); + PrintAndLog(" malicious CSNs, and their protocol responses"); + PrintAndLog(" The the binary format of the file is expected to be as follows: "); + PrintAndLog(" <8 byte CSN><8 byte CC><4 byte NR><4 byte MAC>"); + PrintAndLog(" <8 byte CSN><8 byte CC><4 byte NR><4 byte MAC>"); + PrintAndLog(" <8 byte CSN><8 byte CC><4 byte NR><4 byte MAC>"); + PrintAndLog(" ... totalling N*24 bytes"); + return 0; + } + char fileName[255] = {0}; + if(opt == 'f') + { + if(param_getstr(Cmd, 1, fileName) > 0) + { + return bruteforceFileNoKeys(fileName); + }else + { + PrintAndLog("You must specify a filename"); + } + } + else if(opt == 't') + { + int errors = testCipherUtils(); + errors += testMAC(); + errors += doKeyTests(0); + errors += testElite(); + if(errors) + { + prnlog("OBS! There were errors!!!"); + } + return errors; + } + + return 0; +} static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help"}, - {"list", CmdHFiClassList, 0, "[Deprecated] List iClass history"}, - {"snoop", CmdHFiClassSnoop, 0, "Eavesdrop iClass communication"}, - {"sim", CmdHFiClassSim, 0, "Simulate iClass tag"}, - {"reader",CmdHFiClassReader, 0, "Read an iClass tag"}, - {"replay",CmdHFiClassReader_Replay, 0, "Read an iClass tag via Reply Attack"}, - {"dump", CmdHFiClassReader_Dump, 0, "Authenticate and Dump iClass tag"}, - {"write", CmdHFiClass_iso14443A_write, 0, "Authenticate and Write iClass block"}, - {NULL, NULL, 0, NULL} + {"help", CmdHelp, 1, "This help"}, + {"list", CmdHFiClassList, 0, "[Deprecated] List iClass history"}, + {"snoop", CmdHFiClassSnoop, 0, "Eavesdrop iClass communication"}, + {"sim", CmdHFiClassSim, 0, "Simulate iClass tag"}, + {"reader",CmdHFiClassReader, 0, "Read an iClass tag"}, + {"replay",CmdHFiClassReader_Replay, 0, "Read an iClass tag via Reply Attack"}, + {"dump", CmdHFiClassReader_Dump, 0, "Authenticate and Dump iClass tag"}, + {"write", CmdHFiClass_iso14443A_write, 0, "Authenticate and Write iClass block"}, + {"loclass", CmdHFiClass_loclass, 1, "Use loclass to perform bruteforce of reader attack dump"}, + {NULL, NULL, 0, NULL} }; int CmdHFiClass(const char *Cmd) diff --git a/client/loclass/elite_crack.c b/client/loclass/elite_crack.c index 7dc60396f..f0eb964bc 100644 --- a/client/loclass/elite_crack.c +++ b/client/loclass/elite_crack.c @@ -526,7 +526,7 @@ int bruteforceFile(const char *filename, uint16_t keytable[]) fseek(f, 0, SEEK_SET); uint8_t *dump = malloc(fsize); - size_t bytes_read = fread(dump, fsize, 1, f); + size_t bytes_read = fread(dump, 1, fsize, f); fclose(f); if (bytes_read < fsize) @@ -577,9 +577,18 @@ int _testBruteforce() **** The 64-bit HS Custom Key Value = 5B7C62C491C11B39 **** **/ uint16_t keytable[128] = {0}; - //save some time... - startvalue = 0x7B0000; - errors |= bruteforceFile("iclass_dump.bin",keytable); + + //Test a few variants + if(fileExists("iclass_dump.bin")) + { + errors |= bruteforceFile("iclass_dump.bin",keytable); + }else if(fileExists("loclass/iclass_dump.bin")){ + errors |= bruteforceFile("loclass/iclass_dump.bin",keytable); + }else if(fileExists("client/loclass/iclass_dump.bin")){ + errors |= bruteforceFile("client/loclass/iclass_dump.bin",keytable); + }else{ + prnlog("Error: The file iclass_dump.bin was not found!"); + } } return errors; } diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index 255aa3137..9ea9d1454 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -57,11 +57,11 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si */ void prnlog(char *fmt, ...) { - + char buffer[2048] = {0}; va_list args; va_start(args,fmt); - PrintAndLog(fmt, args); - //vprintf(fmt,args); + vsprintf (buffer,fmt, args); va_end(args); - //printf("\n"); + PrintAndLog(buffer); + } diff --git a/client/loclass/fileutils.h b/client/loclass/fileutils.h index a0f5a799e..e02079d52 100644 --- a/client/loclass/fileutils.h +++ b/client/loclass/fileutils.h @@ -21,4 +21,5 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si * @param fmt */ void prnlog(char *fmt, ...); +int fileExists(const char *filename); #endif // FILEUTILS_H diff --git a/client/loclass/iclass_dump.bin b/client/loclass/iclass_dump.bin new file mode 100644 index 0000000000000000000000000000000000000000..bfecd1bae95d3d2681ad38183b22f1408cfc285f GIT binary patch literal 3024 zcmY+@YdqBX9tZH>|381j7-nR$ZdtUf+m8D!LJ7If(8wq!EMqjQnOTNaOU9;i9BI8e z*=$Q{B&=IuC5!AOlyx?h3|VT(tnS2nd3=>HeB zho9Kh%UB{&Y44%?`3HKUC;1#gQ*#5lLt8LKW32TuL8q@k@3_-R$?9K>;QnN0|V6VPL_C%Phi{pS%oWDoR2N^{xo9{w>XgzW=8tN5kbyoW!X6vFa`-VxV1 z7Moz%O@xJcL66pW$Tj1X$_O_%DRk1_k|vYIn@h;X?hiD zuhgFi!Q!qcd1z7VZ=16DHgfD`CGYEZFv*YLN^u%(9rm|>vB`aW#(|@vNqYxfLj6?> zZGAgSrfa^19wDRWHl#Y%BTU5zdVx6P{_v5(tGFtrz>x$=6l7A6o)K{qNKKOS!; zH^EbclhBVaznk;^Q!NzpAr#P`pvJlXvPWZZk!T#c4>fy5?{(9picmBL{lkpc?KWOo zI9V)w1fBD1hk=V>QXiIbSZV)t{pY{k8JpQih{Yo?FO;;5E`4nK2y0`NgFV46e|6}MMMfJ4gpOqAqN7t6o>f zs?cu#L(r=hZg$Jlc|FM2FBW=$+6Fby;{814@2lk3gVl?Q9i7Se-rY()@2pulBgMLp zh@9-JuxHqP=c57r=sCpY*g)TI`NDnM4$~%Lr$;(;pZTIj3Nc=d%xu4hKJ9bWyLj+9?dX?TK#o3C9b>!rh4}GmY?|Jl^YaXI# zsz7(oc618QXsX62G#vUemRLY9$alx7nizCb%+&hq;`1`(?0pn^qM!BkU!G752tIEa zdi24;XCGTKN|BGJ1Ul_LyJmg)9+%|lErRa-+gF1#O|_Y5i_S~v6+^i{Uy_|)K%&FX zp*I*&wVeyt8b~O32K~F{dcmH*Gbre@BeT$JB2O$U=n^-y%a;dzl_gHiJKQ^sG9?4h z;|z1w2KmollSOIwpkF&^pDzqN?urbJ2cbvA=o!cGg6?1$X?LNMS9leX-0?n?n(;gI z(N!<4=viSk3JeZ~KI4&|yWnL!j#z=g(7DlDAMXpMokU?lLD1J8NM3Rz0!tJe8UUSP zwow|MCnu1}_8#b7jIa?bua-it=ll|2$WVEUg=$Yd^CZ*I^CCR@X(IUUNt#RQqhOr`Tf^Xv()?bn4R+(=nw6CORJZ={(&5wi=Z!* z(p_@x%Tkep%h%AyY7PFVYHZy^YU&!$1>a<2i?X^dlAGfx=nY$wlb9#>^&m|O1v)Vm zB?=gtb4BVJWaySby0^E)6QL+Rfq>rZB^am=rRX75k|Fd+np|<4ewRQRAH0J8@|>*V z)dBTsBu;q>J>yQHZBP2YP9Zy+O6Zh|xHL}7Trb+YCkA>OA*jEqvrUfNoC={2EU0IF zr9G{Oj17mNZ Date: Mon, 5 Jan 2015 15:51:27 +0100 Subject: [PATCH 054/133] CHG: generic code clean up. Removal of commented code. CHG: USB_CMD_DATA_SIZE is now used as maxsize for transfer of data between client and pm3device CHG: suggested a fix for the underscore problem in ioclass\fileutils.c ADD: tnp3xx support ADD: nxp tag idents. ADD: identifiction of chinese backdoor commands to hf 14a reader. --- armsrc/Makefile | 3 +- armsrc/appmain.c | 119 ++++++++++++------------- armsrc/apps.h | 3 +- armsrc/epa.c | 18 ++-- armsrc/hitag2.c | 16 ++-- armsrc/iclass.c | 15 +--- armsrc/iso14443.c | 6 +- armsrc/iso14443a.c | 46 ++++------ armsrc/iso15693.c | 175 +++++++++++++------------------------ armsrc/lfops.c | 10 +-- armsrc/mifarecmd.c | 108 +++++++++++------------ armsrc/mifaresniff.c | 1 - armsrc/mifareutil.c | 32 ++----- client/cmddata.c | 51 ++++------- client/cmdhf.c | 1 - client/cmdhf14a.c | 6 +- client/cmdhf14b.c | 64 +++++++++++++- client/cmdhf14b.h | 1 + client/cmdhf15.c | 41 +++++++-- client/cmdhfepa.c | 2 +- client/cmdhficlass.c | 1 - client/cmdhflegic.c | 2 - client/cmdhfmf.c | 61 ++++++------- client/cmdhfmf.h | 1 - client/cmdlf.c | 109 +++++++++++------------ client/cmdlfem4x.c | 91 ++++++++++--------- client/cmdlfhid.c | 4 +- client/cmdlfhitag.c | 7 +- client/cmdlfio.c | 12 +-- client/cmdlfpcf7931.c | 1 - client/cmdlft55xx.c | 1 - client/cmdlfti.c | 1 - client/cmdmain.c | 78 +---------------- client/data.c | 17 ---- client/flash.c | 18 ---- client/loclass/fileutils.c | 6 ++ client/mifarehost.c | 22 ++--- client/mifarehost.h | 1 - client/proxmark3.c | 40 +-------- include/usb_cmd.h | 27 ++++-- 40 files changed, 518 insertions(+), 700 deletions(-) diff --git a/armsrc/Makefile b/armsrc/Makefile index 6f0a2aefd..f87cf0a19 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -24,7 +24,8 @@ THUMBSRC = start.c \ $(SRC_LCD) \ $(SRC_ISO15693) \ $(SRC_LF) \ - appmain.c printf.c \ + appmain.c \ + printf.c \ util.c \ string.c \ usb_cdc.c \ diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 57c485e87..3c92a7fd2 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -82,40 +82,12 @@ void DbpString(char *str) { byte_t len = strlen(str); cmd_send(CMD_DEBUG_PRINT_STRING,len,0,0,(byte_t*)str,len); -// /* this holds up stuff unless we're connected to usb */ -// if (!UsbConnected()) -// return; -// -// UsbCommand c; -// c.cmd = CMD_DEBUG_PRINT_STRING; -// c.arg[0] = strlen(str); -// if(c.arg[0] > sizeof(c.d.asBytes)) { -// c.arg[0] = sizeof(c.d.asBytes); -// } -// memcpy(c.d.asBytes, str, c.arg[0]); -// -// UsbSendPacket((uint8_t *)&c, sizeof(c)); -// // TODO fix USB so stupid things like this aren't req'd -// SpinDelay(50); } #if 0 void DbpIntegers(int x1, int x2, int x3) { cmd_send(CMD_DEBUG_PRINT_INTEGERS,x1,x2,x3,0,0); -// /* this holds up stuff unless we're connected to usb */ -// if (!UsbConnected()) -// return; -// -// UsbCommand c; -// c.cmd = CMD_DEBUG_PRINT_INTEGERS; -// c.arg[0] = x1; -// c.arg[1] = x2; -// c.arg[2] = x3; -// -// UsbSendPacket((uint8_t *)&c, sizeof(c)); -// // XXX -// SpinDelay(50); } #endif @@ -332,7 +304,7 @@ extern struct version_information version_information; extern char *_bootphase1_version_pointer, _flash_start, _flash_end; void SendVersion(void) { - char temp[256]; /* Limited data payload in USB packets */ + char temp[512]; /* Limited data payload in USB packets */ DbpString("Prox/RFID mark3 RFID instrument"); /* Try to find the bootrom version information. Expect to find a pointer at @@ -381,13 +353,13 @@ void SamyRun() int selected = 0; int playing = 0; + int cardRead = 0; // Turn on selected LED LED(selected + 1, 0); for (;;) { -// UsbPoll(FALSE); usb_poll(); WDT_HIT(); @@ -396,7 +368,7 @@ void SamyRun() SpinDelay(300); // Button was held for a second, begin recording - if (button_pressed > 0) + if (button_pressed > 0 && cardRead == 0) { LEDsoff(); LED(selected + 1, 0); @@ -422,6 +394,40 @@ void SamyRun() // If we were previously playing, set playing off // so next button push begins playing what we recorded playing = 0; + + cardRead = 1; + + } + + else if (button_pressed > 0 && cardRead == 1) + { + LEDsoff(); + LED(selected + 1, 0); + LED(LED_ORANGE, 0); + + // record + Dbprintf("Cloning %x %x %x", selected, high[selected], low[selected]); + + // wait for button to be released + while(BUTTON_PRESS()) + WDT_HIT(); + + /* need this delay to prevent catching some weird data */ + SpinDelay(500); + + CopyHIDtoT55x7(high[selected], low[selected], 0, 0); + Dbprintf("Cloned %x %x %x", selected, high[selected], low[selected]); + + LEDsoff(); + LED(selected + 1, 0); + // Finished recording + + // If we were previously playing, set playing off + // so next button push begins playing what we recorded + playing = 0; + + cardRead = 0; + } // Change where to record (or begin playing) @@ -635,18 +641,18 @@ void UsbPacketReceived(uint8_t *packet, int len) cmd_send(CMD_ACK,0,0,0,0,0); break; case CMD_HID_DEMOD_FSK: - CmdHIDdemodFSK(c->arg[0], 0, 0, 1); // Demodulate HID tag + CmdHIDdemodFSK(c->arg[0], 0, 0, 1); break; case CMD_HID_SIM_TAG: - CmdHIDsimTAG(c->arg[0], c->arg[1], 1); // Simulate HID tag by ID + CmdHIDsimTAG(c->arg[0], c->arg[1], 1); break; - case CMD_HID_CLONE_TAG: // Clone HID tag by ID to T55x7 + case CMD_HID_CLONE_TAG: CopyHIDtoT55x7(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes[0]); break; case CMD_IO_DEMOD_FSK: - CmdIOdemodFSK(c->arg[0], 0, 0, 1); // Demodulate IO tag + CmdIOdemodFSK(c->arg[0], 0, 0, 1); break; - case CMD_IO_CLONE_TAG: // Clone IO tag by ID to T55x7 + case CMD_IO_CLONE_TAG: CopyIOtoT55x7(c->arg[0], c->arg[1], c->d.asBytes[0]); break; case CMD_EM410X_DEMOD: @@ -669,10 +675,10 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_LF_SIMULATE_BIDIR: SimulateTagLowFrequencyBidir(c->arg[0], c->arg[1]); break; - case CMD_INDALA_CLONE_TAG: // Clone Indala 64-bit tag by UID to T55x7 + case CMD_INDALA_CLONE_TAG: CopyIndala64toT55x7(c->arg[0], c->arg[1]); break; - case CMD_INDALA_CLONE_TAG_L: // Clone Indala 224-bit tag by UID to T55x7 + case CMD_INDALA_CLONE_TAG_L: CopyIndala224toT55x7(c->d.asDwords[0], c->d.asDwords[1], c->d.asDwords[2], c->d.asDwords[3], c->d.asDwords[4], c->d.asDwords[5], c->d.asDwords[6]); break; case CMD_T55XX_READ_BLOCK: @@ -681,13 +687,12 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_T55XX_WRITE_BLOCK: T55xxWriteBlock(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes[0]); break; - case CMD_T55XX_READ_TRACE: // Clone HID tag by ID to T55x7 + case CMD_T55XX_READ_TRACE: T55xxReadTrace(); break; - case CMD_PCF7931_READ: // Read PCF7931 tag + case CMD_PCF7931_READ: ReadPCF7931(); cmd_send(CMD_ACK,0,0,0,0,0); -// UsbSendPacket((uint8_t*)&ack, sizeof(ack)); break; case CMD_EM4X_READ_WORD: EM4xReadWord(c->arg[1], c->arg[2],c->d.asBytes[0]); @@ -733,7 +738,7 @@ void UsbPacketReceived(uint8_t *packet, int len) ReaderIso15693(c->arg[0]); break; case CMD_SIMTAG_ISO_15693: - SimTagIso15693(c->arg[0]); + SimTagIso15693(c->arg[0], c->d.asBytes); break; #endif @@ -782,6 +787,7 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_SIMULATE_TAG_ISO_14443a: SimulateIso14443aTag(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); // ## Simulate iso14443a tag - pass tag type & UID break; + case CMD_EPA_PACE_COLLECT_NONCE: EPA_PACE_Collect_Nonce(c); break; @@ -838,12 +844,15 @@ void UsbPacketReceived(uint8_t *packet, int len) break; // Work with "magic Chinese" card - case CMD_MIFARE_EML_CSETBLOCK: + case CMD_MIFARE_CSETBLOCK: MifareCSetBlock(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); break; - case CMD_MIFARE_EML_CGETBLOCK: + case CMD_MIFARE_CGETBLOCK: MifareCGetBlock(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); break; + case CMD_MIFARE_CIDENT: + MifareCIdent(); + break; // mifare sniffer case CMD_MIFARE_SNIFFER: @@ -894,18 +903,6 @@ void UsbPacketReceived(uint8_t *packet, int len) break; case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K: -// UsbCommand n; -// if(c->cmd == CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K) { -// n.cmd = CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K; -// } else { -// n.cmd = CMD_DOWNLOADED_RAW_BITS_TI_TYPE; -// } -// n.arg[0] = c->arg[0]; - // memcpy(n.d.asBytes, BigBuf+c->arg[0], 48); // 12*sizeof(uint32_t) - // LED_B_ON(); - // usb_write((uint8_t *)&n, sizeof(n)); - // UsbSendPacket((uint8_t *)&n, sizeof(n)); - // LED_B_OFF(); LED_B_ON(); for(size_t i=0; iarg[1]; i += USB_CMD_DATA_SIZE) { @@ -919,9 +916,7 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_DOWNLOADED_SIM_SAMPLES_125K: { uint8_t *b = (uint8_t *)BigBuf; - memcpy(b+c->arg[0], c->d.asBytes, 48); - //Dbprintf("copied 48 bytes to %i",b+c->arg[0]); -// UsbSendPacket((uint8_t*)&ack, sizeof(ack)); + memcpy(b+c->arg[0], c->d.asBytes, USB_CMD_DATA_SIZE); cmd_send(CMD_ACK,0,0,0,0,0); break; } @@ -979,7 +974,6 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_DEVICE_INFO: { uint32_t dev_info = DEVICE_INFO_FLAG_OSIMAGE_PRESENT | DEVICE_INFO_FLAG_CURRENT_MODE_OS; if(common_area.flags.bootrom_present) dev_info |= DEVICE_INFO_FLAG_BOOTROM_PRESENT; -// UsbSendPacket((uint8_t*)&c, sizeof(c)); cmd_send(CMD_DEVICE_INFO,dev_info,0,0,0,0); break; } @@ -1006,9 +1000,8 @@ void __attribute__((noreturn)) AppMain(void) LED_B_OFF(); LED_A_OFF(); - // Init USB device` + // Init USB device usb_enable(); -// UsbStart(); // The FPGA gets its clock from us from PCK0 output, so set that up. AT91C_BASE_PIOA->PIO_BSR = GPIO_PCK0; @@ -1044,8 +1037,6 @@ void __attribute__((noreturn)) AppMain(void) UsbPacketReceived(rx,rx_len); } } -// UsbPoll(FALSE); - WDT_HIT(); #ifdef WITH_LF diff --git a/armsrc/apps.h b/armsrc/apps.h index ed51c7b94..eafee559a 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -192,12 +192,13 @@ void MifareEMemGet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain) void MifareECardLoad(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain); void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain); // Work with "magic Chinese" card void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain); +void MifareCIdent(); // is "magic chinese" card? /// iso15693.h void RecordRawAdcSamplesIso15693(void); void AcquireRawAdcSamplesIso15693(void); void ReaderIso15693(uint32_t parameter); // Simulate an ISO15693 reader - greg -void SimTagIso15693(uint32_t parameter); // simulate an ISO15693 tag - greg +void SimTagIso15693(uint32_t parameter, uint8_t *uid); // simulate an ISO15693 tag - greg void BruteforceIso15693Afi(uint32_t speed); // find an AFI of a tag - atrox void DirectTag15693Command(uint32_t datalen,uint32_t speed, uint32_t recv, uint8_t data[]); // send arbitrary commands from CLI - atrox void SetDebugIso15693(uint32_t flag); diff --git a/armsrc/epa.c b/armsrc/epa.c index fb19656d1..bec79e61d 100644 --- a/armsrc/epa.c +++ b/armsrc/epa.c @@ -185,6 +185,7 @@ int EPA_Read_CardAccess(uint8_t *buffer, size_t max_length) || response_apdu[rapdu_length - 4] != 0x90 || response_apdu[rapdu_length - 3] != 0x00) { + Dbprintf("epa - no select cardaccess"); return -1; } @@ -196,6 +197,7 @@ int EPA_Read_CardAccess(uint8_t *buffer, size_t max_length) || response_apdu[rapdu_length - 4] != 0x90 || response_apdu[rapdu_length - 3] != 0x00) { + Dbprintf("epa - no read cardaccess"); return -1; } @@ -223,7 +225,6 @@ static void EPA_PACE_Collect_Nonce_Abort(uint8_t step, int func_return) // send the USB packet cmd_send(CMD_ACK,step,func_return,0,0,0); -//UsbSendPacket((void *)ack, sizeof(UsbCommand)); } //----------------------------------------------------------------------------- @@ -243,7 +244,7 @@ void EPA_PACE_Collect_Nonce(UsbCommand *c) */ // return value of a function - int func_return; + int func_return = 0; // // initialize ack with 0s // memset(ack->arg, 0, 12); @@ -301,7 +302,6 @@ void EPA_PACE_Collect_Nonce(UsbCommand *c) // save received information // ack->arg[1] = func_return; // memcpy(ack->d.asBytes, nonce, func_return); -// UsbSendPacket((void *)ack, sizeof(UsbCommand)); cmd_send(CMD_ACK,0,func_return,0,nonce,func_return); } @@ -416,25 +416,27 @@ int EPA_PACE_MSE_Set_AT(pace_version_info_t pace_version_info, uint8_t password) //----------------------------------------------------------------------------- int EPA_Setup() { - // return code + int return_code = 0; - // card UID uint8_t uid[10]; - // card select information + uint8_t pps_response[3]; + uint8_t pps_response_par[1]; iso14a_card_select_t card_select_info; + // power up the field iso14443a_setup(FPGA_HF_ISO14443A_READER_MOD); + iso14a_set_timeout(10500); + // select the card return_code = iso14443a_select_card(uid, &card_select_info, NULL); if (return_code != 1) { + Dbprintf("Epa: Can't select card"); return 1; } // send the PPS request ReaderTransmit((uint8_t *)pps, sizeof(pps), NULL); - uint8_t pps_response[3]; - uint8_t pps_response_par[1]; return_code = ReaderReceive(pps_response, pps_response_par); if (return_code != 3 || pps_response[0] != 0xD0) { return return_code == 0 ? 2 : return_code; diff --git a/armsrc/hitag2.c b/armsrc/hitag2.c index 839240bd3..27a5d5085 100644 --- a/armsrc/hitag2.c +++ b/armsrc/hitag2.c @@ -990,18 +990,18 @@ void SimulateHitagTag(bool tag_mem_supplied, byte_t* data) { // Disable timer during configuration AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS; - // Capture mode, defaul timer source = MCK/2 (TIMER_CLOCK1), TIOA is external trigger, + // Capture mode, default timer source = MCK/2 (TIMER_CLOCK1), TIOA is external trigger, // external trigger rising edge, load RA on rising edge of TIOA. AT91C_BASE_TC1->TC_CMR = AT91C_TC_CLKS_TIMER_DIV1_CLOCK | AT91C_TC_ETRGEDG_RISING | AT91C_TC_ABETRG | AT91C_TC_LDRA_RISING; - // Enable and reset counter - AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG; - // Reset the received frame, frame count and timing info memset(rx,0x00,sizeof(rx)); frame_count = 0; response = 0; overflow = 0; + + // Enable and reset counter + AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKEN | AT91C_TC_SWTRG; while(!BUTTON_PRESS()) { // Watchdog hit @@ -1105,9 +1105,9 @@ void SimulateHitagTag(bool tag_mem_supplied, byte_t* data) { AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS; AT91C_BASE_TC0->TC_CCR = AT91C_TC_CLKDIS; FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); -// Dbprintf("frame received: %d",frame_count); -// Dbprintf("Authentication Attempts: %d",(auth_table_len/8)); -// DbpString("All done"); + + DbpString("Sim Stopped"); + } void ReaderHitag(hitag_function htf, hitag_data* htd) { @@ -1158,7 +1158,7 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { case RHT2F_CRYPTO: { DbpString("Authenticating using key:"); - memcpy(key,htd->crypto.key,4); + memcpy(key,htd->crypto.key,4); //HACK; 4 or 6?? I read both in the code. Dbhexdump(6,key,false); blocknr = 0; bQuiet = false; diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 3844ab143..625cf39bb 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -433,7 +433,6 @@ static RAMFUNC int ManchesterDecoding(int v) else { modulation = bit & Demod.syncBit; modulation |= ((bit << 1) ^ ((Demod.buffer & 0x08) >> 3)) & Demod.syncBit; - //modulation = ((bit << 1) ^ ((Demod.buffer & 0x08) >> 3)) & Demod.syncBit; Demod.samples += 4; @@ -842,10 +841,7 @@ static int GetIClassCommandFromReader(uint8_t *received, int *len, int maxLen) } if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { uint8_t b = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - /*if(OutOfNDecoding((b & 0xf0) >> 4)) { - *len = Uart.byteCnt; - return TRUE; - }*/ + if(OutOfNDecoding(b & 0x0f)) { *len = Uart.byteCnt; return TRUE; @@ -1001,8 +997,6 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain */ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader_mac_buf) { - - // CSN followed by two CRC bytes uint8_t response2[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; uint8_t response3[] = { 0,0,0,0,0,0,0,0,0,0}; @@ -1106,6 +1100,7 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader //Signal tracer // Can be used to get a trigger for an oscilloscope.. LED_C_OFF(); + if(!GetIClassCommandFromReader(receivedCmd, &len, 100)) { buttonPressed = true; break; @@ -1368,7 +1363,6 @@ void ReaderTransmitIClass(uint8_t* frame, int len) int samples = 0; // This is tied to other size changes - // uint8_t* frame_addr = ((uint8_t*)BigBuf) + 2024; CodeIClassCommand(frame,len); // Select the card @@ -1423,10 +1417,7 @@ static int GetIClassAnswer(uint8_t *receivedResponse, int maxLen, int *samples, b = (uint8_t)AT91C_BASE_SSC->SSC_RHR; skip = !skip; if(skip) continue; - /*if(ManchesterDecoding((b>>4) & 0xf)) { - *samples = ((c - 1) << 3) + 4; - return TRUE; - }*/ + if(ManchesterDecoding(b & 0x0f)) { *samples = c << 3; return TRUE; diff --git a/armsrc/iso14443.c b/armsrc/iso14443.c index 7a445bcb8..e9483189d 100644 --- a/armsrc/iso14443.c +++ b/armsrc/iso14443.c @@ -293,8 +293,7 @@ static int GetIso14443CommandFromReader(uint8_t *received, int *len, int maxLen) // only, since we are receiving, not transmitting). // Signal field is off with the appropriate LED LED_D_OFF(); - FpgaWriteConfWord( - FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_NO_MODULATION); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_NO_MODULATION); // Now run a `software UART' on the stream of incoming samples. @@ -401,8 +400,7 @@ void SimulateIso14443Tag(void) // Modulate BPSK // Signal field is off with the appropriate LED LED_D_OFF(); - FpgaWriteConfWord( - FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_MODULATE_BPSK); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR | FPGA_HF_SIMULATOR_MODULATE_BPSK); AT91C_BASE_SSC->SSC_THR = 0xff; FpgaSetupSsc(); diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index a4632aa54..c2f809fee 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -144,7 +144,6 @@ const uint8_t OddByteParity[256] = { 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1 }; - void iso14a_set_trigger(bool enable) { trigger = enable; } @@ -310,6 +309,7 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) Uart.twoBits = (Uart.twoBits << 8) | bit; if (Uart.state == STATE_UNSYNCD) { // not yet synced + if (Uart.highCnt < 7) { // wait for a stable unmodulated signal if (Uart.twoBits == 0xffff) { Uart.highCnt++; @@ -399,7 +399,7 @@ static RAMFUNC bool MillerDecoding(uint8_t bit, uint32_t non_real_time) if (Uart.len) { return TRUE; // we are finished with decoding the raw data sequence } else { - UartReset(); // Nothing received - try again + UartReset(); // Nothing receiver - start over } } if (Uart.state == STATE_START_OF_COMMUNICATION) { // error - must not follow directly after SOC @@ -473,7 +473,6 @@ void DemodReset() Demod.endTime = 0; } - void DemodInit(uint8_t *data, uint8_t *parity) { Demod.output = data; @@ -763,7 +762,6 @@ static void CodeIso14443aAsTagPar(const uint8_t *cmd, uint16_t len, uint8_t *par // Send startbit ToSend[++ToSendMax] = SEC_D; - LastProxToAirDuration = 8 * ToSendMax - 4; for(uint16_t i = 0; i < len; i++) { @@ -990,6 +988,12 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) response1[1] = 0x00; sak = 0x28; } break; + case 5: { // MIFARE TNP3XXX + // Says: I am a toy + response1[0] = 0x01; + response1[1] = 0x0f; + sak = 0x01; + } break; default: { Dbprintf("Error: unkown tagtype (%d)",tagType); return; @@ -1123,7 +1127,7 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) // We already responded, do not send anything with the EmSendCmd14443aRaw() that is called below p_response = NULL; } else if(receivedCmd[0] == 0x50) { // Received a HALT -// DbpString("Reader requested we HALT!:"); + if (tracing) { LogTrace(receivedCmd, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.endTime*16 - DELAY_AIR2ARM_AS_TAG, Uart.parity, TRUE); } @@ -1228,6 +1232,7 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) // do the tracing for the previous reader request and this tag answer: uint8_t par[MAX_PARITY_SIZE]; GetParity(p_response->response, p_response->response_n, par); + EmLogTrace(Uart.output, Uart.len, Uart.startTime*16 - DELAY_AIR2ARM_AS_TAG, @@ -1308,13 +1313,6 @@ static void TransmitFor14443a(const uint8_t *cmd, uint16_t len, uint32_t *timing // clear TXRDY AT91C_BASE_SSC->SSC_THR = SEC_Y; - // for(uint16_t c = 0; c < 10;) { // standard delay for each transfer (allow tag to be ready after last transmission) - // if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { - // AT91C_BASE_SSC->SSC_THR = SEC_Y; - // c++; - // } - // } - uint16_t c = 0; for(;;) { if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { @@ -1327,7 +1325,6 @@ static void TransmitFor14443a(const uint8_t *cmd, uint16_t len, uint32_t *timing } NextTransferTime = MAX(NextTransferTime, LastTimeProxToAirStart + REQUEST_GUARD_TIME); - } @@ -1669,7 +1666,6 @@ static int GetIso14443aAnswerFromTag(uint8_t *receivedResponse, uint8_t *receive void ReaderTransmitBitsPar(uint8_t* frame, uint16_t bits, uint8_t *par, uint32_t *timing) { - CodeIso14443aBitsAsReaderPar(frame, bits, par); // Send command to tag @@ -1744,7 +1740,6 @@ int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, u // Receive the ATQA if(!ReaderReceive(resp, resp_par)) return 0; - //Dbprintf("atqa: %02x %02x",resp[1],resp[0]); if(p_hi14a_card) { memcpy(p_hi14a_card->atqa, resp, 2); @@ -1800,7 +1795,6 @@ int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, u memcpy(uid_resp, resp, 4); } uid_resp_len = 4; - //Dbprintf("uid: %02x %02x %02x %02x",uid_resp[0],uid_resp[1],uid_resp[2],uid_resp[3]); // calculate crypto UID. Always use last 4 Bytes. if(cuid_ptr) { @@ -1822,11 +1816,6 @@ int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, u if ((sak & 0x04) /* && uid_resp[0] == 0x88 */) { // Remove first byte, 0x88 is not an UID byte, it CT, see page 3 of: // http://www.nxp.com/documents/application_note/AN10927.pdf - // This was earlier: - //memcpy(uid_resp, uid_resp + 1, 3); - // But memcpy should not be used for overlapping arrays, - // and memmove appears to not be available in the arm build. - // Therefore: uid_resp[0] = uid_resp[1]; uid_resp[1] = uid_resp[2]; uid_resp[2] = uid_resp[3]; @@ -1849,9 +1838,8 @@ int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, u p_hi14a_card->ats_len = 0; } - if( (sak & 0x20) == 0) { - return 2; // non iso14443a compliant tag - } + // non iso14443a compliant tag + if( (sak & 0x20) == 0) return 2; // Request for answer to select AppendCrc14443a(rats, 2); @@ -1859,6 +1847,7 @@ int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, u if (!(len = ReaderReceive(resp, resp_par))) return 0; + if(p_hi14a_card) { memcpy(p_hi14a_card->ats, resp, sizeof(p_hi14a_card->ats)); p_hi14a_card->ats_len = len; @@ -1866,7 +1855,6 @@ int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, u // reset the PCB block number iso14_pcb_blocknum = 0; - return 1; } @@ -1957,7 +1945,7 @@ void ReaderIso14443a(UsbCommand *c) } if(param & ISO14A_SET_TIMEOUT) { - iso14a_timeout = c->arg[2]; + iso14a_set_timeout(c->arg[2]); } if(param & ISO14A_APDU) { @@ -2047,8 +2035,8 @@ void ReaderMifare(bool first_try) uint32_t nt = 0; uint32_t previous_nt = 0; static uint32_t nt_attacked = 0; - byte_t par_list[8] = {0,0,0,0,0,0,0,0}; - byte_t ks_list[8] = {0,0,0,0,0,0,0,0}; + byte_t par_list[8] = {0x00}; + byte_t ks_list[8] = {0x00}; static uint32_t sync_time; static uint32_t sync_cycles; @@ -2057,8 +2045,6 @@ void ReaderMifare(bool first_try) uint16_t consecutive_resyncs = 0; int isOK = 0; - - if (first_try) { mf_nr_ar3 = 0; iso14443a_setup(FPGA_HF_ISO14443A_READER_MOD); diff --git a/armsrc/iso15693.c b/armsrc/iso15693.c index ed7beb6fb..ec8120b9d 100644 --- a/armsrc/iso15693.c +++ b/armsrc/iso15693.c @@ -263,13 +263,10 @@ static void TransmitTo15693Tag(const uint8_t *cmd, int len, int *samples, int *w //----------------------------------------------------------------------------- static void TransmitTo15693Reader(const uint8_t *cmd, int len, int *samples, int *wait) { - int c; - -// FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_TX); - FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR); // No requirement to energise my coils + int c = 0; + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K); if(*wait < 10) { *wait = 10; } - c = 0; for(;;) { if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) { AT91C_BASE_SSC->SSC_THR = cmd[c]; @@ -464,8 +461,7 @@ static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int AT91C_BASE_SSC->SSC_THR = 0x43; } if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) { - int8_t b; - b = (int8_t)AT91C_BASE_SSC->SSC_RHR; + int8_t b = (int8_t)AT91C_BASE_SSC->SSC_RHR; // The samples are correlations against I and Q versions of the // tone that the tag AM-modulates, so every other sample is I, @@ -600,10 +596,10 @@ static void BuildIdentifyRequest(void); //----------------------------------------------------------------------------- void AcquireRawAdcSamplesIso15693(void) { - int c = 0; uint8_t *dest = (uint8_t *)BigBuf; - int getNext = 0; + int c = 0; + int getNext = 0; int8_t prev = 0; FpgaDownloadAndGo(FPGA_BITSTREAM_HF); @@ -682,10 +678,10 @@ void AcquireRawAdcSamplesIso15693(void) void RecordRawAdcSamplesIso15693(void) { - int c = 0; - uint8_t *dest = (uint8_t *)BigBuf; - int getNext = 0; + uint8_t *dest = (uint8_t *)BigBuf; + int c = 0; + int getNext = 0; int8_t prev = 0; FpgaDownloadAndGo(FPGA_BITSTREAM_HF); @@ -836,24 +832,25 @@ static void BuildReadBlockRequest(uint8_t *uid, uint8_t blockNumber ) } // Now the VICC>VCD responses when we are simulating a tag - static void BuildInventoryResponse(void) + static void BuildInventoryResponse( uint8_t *uid) { uint8_t cmd[12]; uint16_t crc; // one sub-carrier, inventory, 1 slot, fast rate // AFI is at bit 5 (1<<4) when doing an INVENTORY - cmd[0] = 0; //(1 << 2) | (1 << 5) | (1 << 1); - cmd[1] = 0; + //(1 << 2) | (1 << 5) | (1 << 1); + cmd[0] = 0; // + cmd[1] = 0; // DSFID (data storage format identifier). 0x00 = not supported // 64-bit UID - cmd[2] = 0x32; - cmd[3]= 0x4b; - cmd[4] = 0x03; - cmd[5] = 0x01; - cmd[6] = 0x00; - cmd[7] = 0x10; - cmd[8] = 0x05; - cmd[9]= 0xe0; + cmd[2] = uid[7]; //0x32; + cmd[3] = uid[6]; //0x4b; + cmd[4] = uid[5]; //0x03; + cmd[5] = uid[4]; //0x01; + cmd[6] = uid[3]; //0x00; + cmd[7] = uid[2]; //0x10; + cmd[8] = uid[1]; //0x05; + cmd[9] = uid[0]; //0xe0; //Now the CRC crc = Crc(cmd, 10); cmd[10] = crc & 0xff; @@ -1002,23 +999,27 @@ void ReaderIso15693(uint32_t parameter) LED_C_OFF(); LED_D_OFF(); -//DbpString(parameter); - - //uint8_t *answer0 = (((uint8_t *)BigBuf) + 3560); // allow 100 bytes per reponse (way too much) uint8_t *answer1 = (((uint8_t *)BigBuf) + 3660); // uint8_t *answer2 = (((uint8_t *)BigBuf) + 3760); uint8_t *answer3 = (((uint8_t *)BigBuf) + 3860); - //uint8_t *TagUID= (((uint8_t *)BigBuf) + 3960); // where we hold the uid for hi15reader -// int answerLen0 = 0; + int answerLen1 = 0; int answerLen2 = 0; int answerLen3 = 0; - int i=0; // counter + int i = 0; + int samples = 0; + int tsamples = 0; + int wait = 0; + int elapsed = 0; + uint8_t TagUID[8] = {0x00}; + // Blank arrays - memset(BigBuf + 3660, 0, 300); + memset(BigBuf + 3660, 0x00, 300); FpgaDownloadAndGo(FPGA_BITSTREAM_HF); + + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); // Setup SSC FpgaSetupSsc(); @@ -1026,9 +1027,6 @@ void ReaderIso15693(uint32_t parameter) FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); SpinDelay(200); - SetAdcMuxFor(GPIO_MUXSEL_HIPKD); - FpgaSetupSsc(); - // Give the tags time to energize FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); SpinDelay(200); @@ -1038,44 +1036,19 @@ void ReaderIso15693(uint32_t parameter) LED_C_OFF(); LED_D_OFF(); - int samples = 0; - int tsamples = 0; - int wait = 0; - int elapsed = 0; - // FIRST WE RUN AN INVENTORY TO GET THE TAG UID // THIS MEANS WE CAN PRE-BUILD REQUESTS TO SAVE CPU TIME - uint8_t TagUID[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // where we hold the uid for hi15reader - -// BuildIdentifyRequest(); -// //TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait); -// TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 -// // Now wait for a response -// responseLen0 = GetIso15693AnswerFromTag(receivedAnswer0, 100, &samples, &elapsed) ; -// if (responseLen0 >=12) // we should do a better check than this -// { -// // really we should check it is a valid mesg -// // but for now just grab what we think is the uid -// TagUID[0] = receivedAnswer0[2]; -// TagUID[1] = receivedAnswer0[3]; -// TagUID[2] = receivedAnswer0[4]; -// TagUID[3] = receivedAnswer0[5]; -// TagUID[4] = receivedAnswer0[6]; -// TagUID[5] = receivedAnswer0[7]; -// TagUID[6] = receivedAnswer0[8]; // IC Manufacturer code -// DbpIntegers(TagUID[6],TagUID[5],TagUID[4]); -//} // Now send the IDENTIFY command BuildIdentifyRequest(); - //TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait); - TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 + + TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); + // Now wait for a response answerLen1 = GetIso15693AnswerFromTag(answer1, 100, &samples, &elapsed) ; if (answerLen1 >=12) // we should do a better check than this { - TagUID[0] = answer1[2]; TagUID[1] = answer1[3]; TagUID[2] = answer1[4]; @@ -1085,23 +1058,6 @@ void ReaderIso15693(uint32_t parameter) TagUID[6] = answer1[8]; // IC Manufacturer code TagUID[7] = answer1[9]; // always E0 - // Now send the SELECT command - // since the SELECT command is optional, we should not rely on it. -//// BuildSelectRequest(TagUID); -// TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 - // Now wait for a response -/// answerLen2 = GetIso15693AnswerFromTag(answer2, 100, &samples, &elapsed); - - // Now send the MULTI READ command -// BuildArbitraryRequest(*TagUID,parameter); -/// BuildArbitraryCustomRequest(TagUID,parameter); -// BuildReadBlockRequest(*TagUID,parameter); -// BuildSysInfoRequest(*TagUID); - //TransmitTo15693Tag(ToSend,ToSendMax+3,&tsamples, &wait); -/// TransmitTo15693Tag(ToSend,ToSendMax,&tsamples, &wait); // No longer ToSendMax+3 - // Now wait for a response -/// answerLen3 = GetIso15693AnswerFromTag(answer3, 100, &samples, &elapsed) ; - } Dbprintf("%d octets read from IDENTIFY request:", answerLen1); @@ -1110,9 +1066,9 @@ void ReaderIso15693(uint32_t parameter) // UID is reverse if (answerLen1>=12) - //Dbprintf("UID = %*D",8,TagUID," "); - Dbprintf("UID = %02hX%02hX%02hX%02hX%02hX%02hX%02hX%02hX",TagUID[7],TagUID[6],TagUID[5], - TagUID[4],TagUID[3],TagUID[2],TagUID[1],TagUID[0]); + Dbprintf("UID = %02hX%02hX%02hX%02hX%02hX%02hX%02hX%02hX", + TagUID[7],TagUID[6],TagUID[5],TagUID[4], + TagUID[3],TagUID[2],TagUID[1],TagUID[0]); Dbprintf("%d octets read from SELECT request:", answerLen2); @@ -1123,7 +1079,6 @@ void ReaderIso15693(uint32_t parameter) DbdecodeIso15693Answer(answerLen3,answer3); Dbhexdump(answerLen3,answer3,true); - // read all pages if (answerLen1>=12 && DEBUG) { i=0; @@ -1141,13 +1096,6 @@ void ReaderIso15693(uint32_t parameter) } } -// str2[0]=0; -// for(i = 0; i < responseLen3; i++) { -// itoa(str1,receivedAnswer3[i]); -// strncat(str2,str1,8); -// } -// DbpString(str2); - LED_A_OFF(); LED_B_OFF(); LED_C_OFF(); @@ -1156,32 +1104,31 @@ void ReaderIso15693(uint32_t parameter) // Simulate an ISO15693 TAG, perform anti-collision and then print any reader commands // all demodulation performed in arm rather than host. - greg -void SimTagIso15693(uint32_t parameter) +void SimTagIso15693(uint32_t parameter, uint8_t *uid) { LED_A_ON(); LED_B_ON(); LED_C_OFF(); LED_D_OFF(); - uint8_t *answer1 = (((uint8_t *)BigBuf) + 3660); // + uint8_t *buf = (((uint8_t *)BigBuf) + 3660); // + int answerLen1 = 0; + int samples = 0; + int tsamples = 0; + int wait = 0; + int elapsed = 0; - // Blank arrays - memset(answer1, 0, 100); + memset(buf, 0x00, 100); FpgaDownloadAndGo(FPGA_BITSTREAM_HF); - // Setup SSC + + SetAdcMuxFor(GPIO_MUXSEL_HIPKD); + FpgaSetupSsc(); // Start from off (no field generated) FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(200); - - SetAdcMuxFor(GPIO_MUXSEL_HIPKD); - FpgaSetupSsc(); - - // Give the tags time to energize -// FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_READER_RX_XCORR); // NO GOOD FOR SIM TAG!!!! SpinDelay(200); LED_A_OFF(); @@ -1189,24 +1136,26 @@ void SimTagIso15693(uint32_t parameter) LED_C_ON(); LED_D_OFF(); - int samples = 0; - int tsamples = 0; - int wait = 0; - int elapsed = 0; - - answerLen1 = GetIso15693AnswerFromSniff(answer1, 100, &samples, &elapsed) ; + // Listen to reader + answerLen1 = GetIso15693AnswerFromSniff(buf, 100, &samples, &elapsed) ; if (answerLen1 >=1) // we should do a better check than this { // Build a suitable reponse to the reader INVENTORY cocmmand - BuildInventoryResponse(); + // not so obsvious, but in the call to BuildInventoryResponse, the command is copied to the global ToSend buffer used below. + + BuildInventoryResponse(uid); + TransmitTo15693Reader(ToSend,ToSendMax, &tsamples, &wait); } Dbprintf("%d octets read from reader command: %x %x %x %x %x %x %x %x %x", answerLen1, - answer1[0], answer1[1], answer1[2], - answer1[3], answer1[4], answer1[5], - answer1[6], answer1[7], answer1[8]); + buf[0], buf[1], buf[2], buf[3], + buf[4], buf[5], buf[6], buf[7], buf[8]); + + Dbprintf("Simulationg uid: %x %x %x %x %x %x %x %x", + uid[0], uid[1], uid[2], uid[3], + uid[4], uid[5], uid[6], uid[7]); LED_A_OFF(); LED_B_OFF(); @@ -1275,12 +1224,8 @@ void DirectTag15693Command(uint32_t datalen,uint32_t speed, uint32_t recv, uint8 recvlen=SendDataTag(data,datalen,1,speed,(recv?&recvbuf:NULL)); if (recv) { -// n.cmd=/* CMD_ISO_15693_COMMAND_DONE */ CMD_ACK; -// n.arg[0]=recvlen>48?48:recvlen; -// memcpy(n.d.asBytes, recvbuf, 48); LED_B_ON(); cmd_send(CMD_ACK,recvlen>48?48:recvlen,0,0,recvbuf,48); -// UsbSendPacket((uint8_t *)&n, sizeof(n)); LED_B_OFF(); if (DEBUG) { diff --git a/armsrc/lfops.c b/armsrc/lfops.c index ab196325f..edddb1c60 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -179,8 +179,6 @@ void ReadTItag(void) signed char *dest = (signed char *)BigBuf; int n = sizeof(BigBuf); - // int *dest = GraphBuffer; - // int n = GraphTraceLen; // 128 bit shift register [shift3:shift2:shift1:shift0] uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; @@ -625,6 +623,7 @@ void CmdHIDsimTAG(int hi, int lo, int ledcontrol) if (ledcontrol) LED_A_ON(); + SimulateTagLowFrequency(n, 0, ledcontrol); if (ledcontrol) @@ -718,7 +717,6 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) hi2 = hi = lo = 0; } WDT_HIT(); - //SpinDelay(50); } DbpString("Stopped"); if (ledcontrol) LED_A_OFF(); @@ -1337,7 +1335,6 @@ void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) // Clone Indala 64-bit tag by UID to T55x7 void CopyIndala64toT55x7(int hi, int lo) { - //Program the 2 data blocks for supplied 64bit UID // and the block 0 for Indala64 format T55xxWriteBlock(hi,1,0,0); @@ -1351,12 +1348,10 @@ void CopyIndala64toT55x7(int hi, int lo) // T5567WriteBlock(0x603E1042,0); DbpString("DONE!"); - } void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int uid6, int uid7) { - //Program the 7 data blocks for supplied 224bit UID // and the block 0 for Indala224 format T55xxWriteBlock(uid1,1,0,0); @@ -1375,7 +1370,6 @@ void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int // T5567WriteBlock(0x603E10E2,0); DbpString("DONE!"); - } @@ -1525,7 +1519,6 @@ int IsBlock1PCF7931(uint8_t *Block) { return 0; } - #define ALLOC 16 void ReadPCF7931() { @@ -1785,6 +1778,7 @@ void SendForward(uint8_t fwd_bit_count) { } } + void EM4xLogin(uint32_t Password) { uint8_t fwd_bit_count; diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index 344b0f3ed..8541553ba 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -2,6 +2,9 @@ // Merlok - June 2011, 2012 // Gerhard de Koning Gans - May 2008 // Hagen Fritsch - June 2010 +// Midnitesnake - Dec 2013 +// Andy Davies - Apr 2014 +// Iceman - May 2014 // // This code is licensed to you under the terms of the GNU GPL, version 2 or, // at your option, any later version. See the LICENSE.txt file for the text of @@ -36,8 +39,6 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) // clear trace iso14a_clear_trace(); -// iso14a_set_tracing(false); - iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); LED_A_ON(); @@ -81,8 +82,6 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); -// iso14a_set_tracing(TRUE); - } void MifareUReadBlock(uint8_t arg0,uint8_t *datain) @@ -129,14 +128,10 @@ void MifareUReadBlock(uint8_t arg0,uint8_t *datain) LED_B_ON(); cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); LED_B_OFF(); - - - // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); } - //----------------------------------------------------------------------------- // Select, Authenticate, Read a MIFARE tag. // read sector (data = 4 x 16 bytes = 64 bytes, or 16 x 16 bytes = 256 bytes) @@ -150,7 +145,7 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) ui64Key = bytes_to_num(datain, 6); // variables - byte_t isOK; + byte_t isOK = 0; byte_t dataoutbuf[16 * 16]; uint8_t uid[10]; uint32_t cuid; @@ -160,7 +155,6 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) // clear trace iso14a_clear_trace(); -// iso14a_set_tracing(false); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); @@ -192,7 +186,6 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); } - // ----------------------------- crypto1 destroy crypto1_destroy(pcs); @@ -205,7 +198,6 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); -// iso14a_set_tracing(TRUE); } @@ -288,7 +280,6 @@ void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) // clear trace iso14a_clear_trace(); -// iso14a_set_tracing(false); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); @@ -334,11 +325,8 @@ void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); -// iso14a_set_tracing(TRUE); - } - void MifareUWriteBlock(uint8_t arg0, uint8_t *datain) { // params @@ -355,7 +343,6 @@ void MifareUWriteBlock(uint8_t arg0, uint8_t *datain) // clear trace iso14a_clear_trace(); - // iso14a_set_tracing(false); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); @@ -396,7 +383,6 @@ void MifareUWriteBlock(uint8_t arg0, uint8_t *datain) // iso14a_set_tracing(TRUE); } - void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain) { // params @@ -412,7 +398,6 @@ void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain) // clear trace iso14a_clear_trace(); - // iso14a_set_tracing(false); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); @@ -446,15 +431,11 @@ void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain) cmd_send(CMD_ACK,isOK,0,0,0,0); LED_B_OFF(); - // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); -// iso14a_set_tracing(TRUE); - } - // Return 1 if the nonce is invalid else return 0 int valid_nonce(uint32_t Nt, uint32_t NtEnc, uint32_t Ks1, uint8_t *parity) { return ((oddparity((Nt >> 24) & 0xFF) == ((parity[0]) ^ oddparity((NtEnc >> 24) & 0xFF) ^ BIT(Ks1,16))) & \ @@ -510,6 +491,7 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat // statistics on nonce distance if (calibrate) { // for first call only. Otherwise reuse previous calibration LED_B_ON(); + WDT_HIT(); davg = dmax = 0; dmin = 2000; @@ -733,7 +715,6 @@ void MifareChkKeys(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) cmd_send(CMD_ACK,isOK,0,0,datain + i * 6,6); LED_B_OFF(); - // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); @@ -750,7 +731,6 @@ void MifareSetDbgLvl(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai Dbprintf("Debug level: %d", MF_DBGLEVEL); } - //----------------------------------------------------------------------------- // Work with emulator memory // @@ -759,23 +739,19 @@ void MifareEMemClr(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain) emlClearMem(); } - void MifareEMemSet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){ emlSetMem(datain, arg0, arg1); // data, block num, blocks count } - void MifareEMemGet(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){ - - byte_t buf[48]; + byte_t buf[USB_CMD_DATA_SIZE]; emlGetMem(buf, arg0, arg1); // data, block num, blocks count (max 4) LED_B_ON(); - cmd_send(CMD_ACK,arg0,arg1,0,buf,48); + cmd_send(CMD_ACK,arg0,arg1,0,buf,USB_CMD_DATA_SIZE); LED_B_OFF(); } - //----------------------------------------------------------------------------- // Load a card into the emulator memory // @@ -884,32 +860,26 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai // variables byte_t isOK = 0; - uint8_t uid[10]; - uint8_t d_block[18]; + uint8_t uid[10] = {0x00}; + uint8_t d_block[18] = {0x00}; uint32_t cuid; - memset(uid, 0x00, 10); uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + // reset FPGA and LED if (workFlags & 0x08) { - // clear trace - iso14a_clear_trace(); - iso14a_set_tracing(TRUE); - - iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - LED_A_ON(); LED_B_OFF(); LED_C_OFF(); - SpinDelay(300); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(100); - FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); + iso14a_clear_trace(); + iso14a_set_tracing(TRUE); + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); } while (true) { + // get UID from chip if (workFlags & 0x01) { if(!iso14443a_select_card(uid, NULL, &cuid)) { @@ -988,7 +958,6 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai LED_B_OFF(); if ((workFlags & 0x10) || (!isOK)) { - // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); } @@ -1011,28 +980,20 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai // variables byte_t isOK = 0; - uint8_t data[18]; + uint8_t data[18] = {0x00}; uint32_t cuid = 0; - memset(data, 0x00, 18); uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; if (workFlags & 0x08) { - // clear trace - iso14a_clear_trace(); - iso14a_set_tracing(TRUE); - - iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - LED_A_ON(); LED_B_OFF(); LED_C_OFF(); - SpinDelay(300); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(100); - FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_ISO14443A | FPGA_HF_ISO14443A_READER_MOD); + iso14a_clear_trace(); + iso14a_set_tracing(TRUE); + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); } while (true) { @@ -1073,9 +1034,40 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai LED_B_OFF(); if ((workFlags & 0x10) || (!isOK)) { - // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); } } +void MifareCIdent(){ + + // card commands + uint8_t wupC1[] = { 0x40 }; + uint8_t wupC2[] = { 0x43 }; + + // variables + byte_t isOK = 1; + + uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + + ReaderTransmitBitsPar(wupC1,7,0, NULL); + if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { + isOK = 0; + }; + + ReaderTransmit(wupC2, sizeof(wupC2), NULL); + if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { + isOK = 0; + }; + + if (mifare_classic_halt(NULL, 0)) { + isOK = 0; + }; + + cmd_send(CMD_ACK,isOK,0,0,0,0); +} + + // +// DESFIRE +// diff --git a/armsrc/mifaresniff.c b/armsrc/mifaresniff.c index 910ea74d5..fed127725 100644 --- a/armsrc/mifaresniff.c +++ b/armsrc/mifaresniff.c @@ -11,7 +11,6 @@ #include "mifaresniff.h" #include "apps.h" - static int sniffState = SNF_INIT; static uint8_t sniffUIDType; static uint8_t sniffUID[8]; diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index 5122d0ec1..7c8565571 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -54,10 +54,12 @@ void mf_crypto1_encrypt(struct Crypto1State *pcs, uint8_t *data, uint16_t len, u uint8_t bt = 0; int i; par[0] = 0; + for (i = 0; i < len; i++) { bt = data[i]; data[i] = crypto1_byte(pcs, 0x00, 0) ^ data[i]; - if((i&0x0007) == 0) par[i>>3] = 0; + if((i&0x0007) == 0) + par[i>>3] = 0; par[i>>3] |= (((filter(pcs->odd) ^ oddparity(bt)) & 0x01)<<(7-(i&0x0007))); } return; @@ -81,9 +83,7 @@ int mifare_sendcmd_short(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t* data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing) { - uint8_t dcmd[8];//, ecmd[4]; - //uint32_t par=0; - + uint8_t dcmd[8]; dcmd[0] = cmd; dcmd[1] = data[0]; dcmd[2] = data[1]; @@ -91,10 +91,6 @@ int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint dcmd[4] = data[3]; dcmd[5] = data[4]; AppendCrc14443a(dcmd, 6); - //Dbprintf("Data command: %02x", dcmd[0]); - //Dbprintf("Data R: %02x %02x %02x %02x %02x %02x %02x", dcmd[1],dcmd[2],dcmd[3],dcmd[4],dcmd[5],dcmd[6],dcmd[7]); - - //memcpy(ecmd, dcmd, sizeof(dcmd)); ReaderTransmit(dcmd, sizeof(dcmd), NULL); int len = ReaderReceive(answer, answer_parity); if(!len) @@ -165,7 +161,7 @@ int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockN int len; uint32_t pos; uint8_t tmp4[4]; - uint8_t par[1] = {0}; + uint8_t par[1] = {0x00}; byte_t nr[4]; uint32_t nt, ntpp; // Supplied tag nonce @@ -210,7 +206,6 @@ int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockN if (ntptr) *ntptr = nt; - // Generate (encrypted) nr+parity by loading it into the cipher (Nr) par[0] = 0; for (pos = 0; pos < 4; pos++) @@ -292,6 +287,7 @@ int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + // command MIFARE_CLASSIC_READBLOCK len = mifare_sendcmd_short(NULL, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL); if (len == 1) { @@ -318,7 +314,7 @@ int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t *blockData) { // variables - int len, i; + uint16_t len, i; uint32_t pos; uint8_t par[3] = {0}; // enough for 18 Bytes to send byte_t res; @@ -367,7 +363,6 @@ int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) // variables uint16_t len; uint8_t par[3] = {0}; // enough for 18 parity bits - uint8_t d_block[18]; uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; @@ -400,7 +395,6 @@ int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) { uint16_t len; - uint8_t d_block[8]; uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; @@ -418,16 +412,12 @@ int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *bloc if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Send Error: %02x %d", receivedAnswer[0],len); return 1; } - - return 0; + return 0; } int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) { - // variables uint16_t len; - - // Mifare HALT uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; @@ -443,8 +433,6 @@ int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) int mifare_ultra_halt(uint32_t uid) { uint16_t len; - - // Mifare HALT uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; @@ -481,19 +469,16 @@ uint8_t FirstBlockOfSector(uint8_t sectorNo) // work with emulator memory void emlSetMem(uint8_t *data, int blockNum, int blocksCount) { uint8_t* emCARD = get_bigbufptr_emlcardmem(); - memcpy(emCARD + blockNum * 16, data, blocksCount * 16); } void emlGetMem(uint8_t *data, int blockNum, int blocksCount) { uint8_t* emCARD = get_bigbufptr_emlcardmem(); - memcpy(data, emCARD + blockNum * 16, blocksCount * 16); } void emlGetMemBt(uint8_t *data, int bytePtr, int byteCount) { uint8_t* emCARD = get_bigbufptr_emlcardmem(); - memcpy(data, emCARD + bytePtr, byteCount); } @@ -522,7 +507,6 @@ int emlGetValBl(uint32_t *blReg, uint8_t *blBlock, int blockNum) { memcpy(blReg, data, 4); *blBlock = data[12]; - return 0; } diff --git a/client/cmddata.c b/client/cmddata.c index d8a0fcf6b..38917a33c 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -329,7 +329,7 @@ int CmdBiphaseDecodeRaw(const char *Cmd) //prints binary found and saves in graphbuffer for further commands int Cmdaskrawdemod(const char *Cmd) { - uint32_t i; + int invert=0; int clk=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; @@ -340,7 +340,7 @@ int Cmdaskrawdemod(const char *Cmd) } int BitLen = getFromGraphBuf(BitStream); int errCnt=0; - errCnt = askrawdemod(BitStream, &BitLen,&clk,&invert); + errCnt = askrawdemod(BitStream, &BitLen, &clk, &invert); if (errCnt==-1){ //throw away static - allow 1 and -1 (in case of threshold command first) PrintAndLog("no data found"); return 0; @@ -349,19 +349,14 @@ int Cmdaskrawdemod(const char *Cmd) PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); //move BitStream back to GraphBuffer - - ClearGraph(0); - for (i=0; i < BitLen; ++i){ - GraphBuffer[i]=BitStream[i]; - } - GraphTraceLen=BitLen; - RepaintGraphWindow(); - - //output + setGraphBuf(BitStream, BitLen); + if (errCnt>0){ PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); } + PrintAndLog("ASK demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits printBitStream(BitStream,BitLen); @@ -477,10 +472,6 @@ int CmdBitstream(const char *Cmd) bit ^= 1; AppendGraph(0, clock, bit); - // for (j = 0; j < (int)(clock/2); j++) - // GraphBuffer[(i * clock) + j] = bit ^ 1; - // for (j = (int)(clock/2); j < clock; j++) - // GraphBuffer[(i * clock) + j] = bit; } RepaintGraphWindow(); @@ -510,8 +501,6 @@ int CmdDec(const char *Cmd) int CmdDetectClockRate(const char *Cmd) { GetClock("",0,0); - //int clock = DetectASKClock(0); - //PrintAndLog("Auto-detected clock rate: %d", clock); return 0; } @@ -773,8 +762,7 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating PrintAndLog("actual data bits start at sample %d", maxPos); PrintAndLog("length %d/%d", highLen, lowLen); - uint8_t bits[46]; - bits[sizeof(bits)-1] = '\0'; + uint8_t bits[46] = {0x00}; // find bit pairs and manchester decode them for (i = 0; i < arraylen(bits) - 1; ++i) { @@ -881,22 +869,21 @@ int CmdHpf(const char *Cmd) int CmdSamples(const char *Cmd) { - int cnt = 0; - int n; - uint8_t got[40000]; + uint8_t got[40000] = {0x00}; - n = strtol(Cmd, NULL, 0); - if (n == 0) n = 6000; - if (n > sizeof(got)) n = sizeof(got); + int n = strtol(Cmd, NULL, 0); + if (n == 0) + n = 20000; + + if (n > sizeof(got)) + n = sizeof(got); - PrintAndLog("Reading %d samples\n", n); + PrintAndLog("Reading %d samples from device memory\n", n); GetFromBigBuf(got,n,0); WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; + for (int j = 0; j < n; ++j) { + GraphBuffer[j] = ((int)got[j]) - 128; } - - PrintAndLog("Done!\n"); GraphTraceLen = n; RepaintGraphWindow(); return 0; @@ -1340,8 +1327,8 @@ static command_t CommandTable[] = {"help", CmdHelp, 1, "This help"}, {"amp", CmdAmp, 1, "Amplify peaks"}, {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, - {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, - {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, + {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert <0|1>] -- Attempt to demodulate ASK/Manchester tags and output binary"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert <0|1>] -- Attempt to demodulate ASK tags and output binary"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, diff --git a/client/cmdhf.c b/client/cmdhf.c index 85cc54258..550f8e86d 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -10,7 +10,6 @@ #include #include -//#include "proxusb.h" #include "proxmark3.h" #include "graph.h" #include "ui.h" diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 36ffe1b80..673737e2f 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -67,6 +67,7 @@ int CmdHF14AReader(const char *Cmd) switch (card.sak) { case 0x00: PrintAndLog("TYPE : NXP MIFARE Ultralight | Ultralight C"); break; + case 0x01: PrintAndLog("TYPE : NXP TNP3xxx Activision Game Appliance"); break; case 0x04: PrintAndLog("TYPE : NXP MIFARE (various !DESFire !DESFire EV1)"); break; case 0x08: PrintAndLog("TYPE : NXP MIFARE CLASSIC 1k | Plus 2k SL1"); break; case 0x09: PrintAndLog("TYPE : NXP MIFARE Mini 0.3k"); break; @@ -301,6 +302,7 @@ int CmdHF14ASim(const char *Cmd) PrintAndLog(" 2 = MIFARE Ultralight"); PrintAndLog(" 3 = MIFARE DESFIRE"); PrintAndLog(" 4 = ISO/IEC 14443-4"); + PrintAndLog(" 5 = MIFARE TNP3XXX"); PrintAndLog(""); return 1; } @@ -328,10 +330,6 @@ int CmdHF14ASim(const char *Cmd) // At lease save the mandatory first part of the UID c.arg[0] = long_uid & 0xffffffff; - - // At lease save the mandatory first part of the UID - c.arg[0] = long_uid & 0xffffffff; - if (c.arg[1] == 0) { PrintAndLog("Emulating ISO/IEC 14443 type A tag with UID %01d %08x %08x",c.arg[0],c.arg[1],c.arg[2]); } diff --git a/client/cmdhf14b.c b/client/cmdhf14b.c index c42d54c58..7e4cbd009 100644 --- a/client/cmdhf14b.c +++ b/client/cmdhf14b.c @@ -14,15 +14,16 @@ #include #include #include "iso14443crc.h" -//#include "proxusb.h" #include "proxmark3.h" #include "data.h" #include "graph.h" +#include "util.h" #include "ui.h" #include "cmdparser.h" #include "cmdhf14b.h" #include "cmdmain.h" + static int CmdHelp(const char *Cmd); int CmdHF14BDemod(const char *Cmd) @@ -387,6 +388,66 @@ int CmdHF14BCmdRaw (const char *cmd) { return 0; } +int CmdHF14BWrite( const char *Cmd){ + +/* + * For SRIX4K blocks 00 - 7F + * hf 14b raw -c -p 09 $srix4kwblock $srix4kwdata + * + * For SR512 blocks 00 - 0F + * hf 14b raw -c -p 09 $sr512wblock $sr512wdata + * + * Special block FF = otp_lock_reg block. + * Data len 4 bytes- + */ + char cmdp = param_getchar(Cmd, 0); + uint8_t blockno = -1; + uint8_t data[4] = {0x00}; + bool isSrix4k = true; + char str[20]; + + if (cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: hf 14b write <1|2> "); + PrintAndLog(""); + PrintAndLog(" sample: hf 14b write 1 127 11223344"); + PrintAndLog(" sample: hf 14b write 1 255 11223344"); + PrintAndLog(" sample: hf 14b write 2 15 11223344"); + PrintAndLog(" sample: hf 14b write 2 255 11223344"); + return 0; + } + + if ( param_getchar(Cmd, 0) == '2' ) + isSrix4k = false; + + blockno = param_get8(Cmd, 1); + + if ( isSrix4k ){ + if ( blockno > 0x7f && blockno != 0xff ){ + PrintAndLog("Block number out of range"); + return 0; + } + } else { + if ( blockno > 0x0f && blockno != 0xff ){ + PrintAndLog("Block number out of range"); + return 0; + } + } + + if (param_gethex(Cmd, 2, data, 8)) { + PrintAndLog("Data must include 8 HEX symbols"); + return 0; + } + + if ( blockno == 0xff) + PrintAndLog("Writing to special block %02X [ %s]", blockno, sprint_hex(data,4) ); + else + PrintAndLog("Writing to block %02X [ %s]", blockno, sprint_hex(data,4) ); + + sprintf(str, "-c -p 09 %02x %02x%02x%02x%02x", blockno, data[0], data[1], data[2], data[3]); + CmdHF14BCmdRaw(str); + return 0; +} + static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, @@ -399,6 +460,7 @@ static command_t CommandTable[] = {"sri512read", CmdSri512Read, 0, "Read contents of a SRI512 tag"}, {"srix4kread", CmdSrix4kRead, 0, "Read contents of a SRIX4K tag"}, {"raw", CmdHF14BCmdRaw, 0, "Send raw hex data to tag"}, + {"write", CmdHF14BWrite, 0, "Write data to a SRI512 | SRIX4K tag"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmdhf14b.h b/client/cmdhf14b.h index 50d647628..cc8b9dbd8 100644 --- a/client/cmdhf14b.h +++ b/client/cmdhf14b.h @@ -21,5 +21,6 @@ int CmdHFSimlisten(const char *Cmd); int CmdHF14BSnoop(const char *Cmd); int CmdSri512Read(const char *Cmd); int CmdSrix4kRead(const char *Cmd); +int CmdHF14BWrite( const char *cmd); #endif diff --git a/client/cmdhf15.c b/client/cmdhf15.c index 2239e9e46..b1e04e9ab 100644 --- a/client/cmdhf15.c +++ b/client/cmdhf15.c @@ -26,11 +26,12 @@ #include #include #include -//#include "proxusb.h" + #include "proxmark3.h" #include "data.h" #include "graph.h" #include "ui.h" +#include "util.h" #include "cmdparser.h" #include "cmdhf15.h" #include "iso15693tools.h" @@ -58,8 +59,10 @@ const productName uidmapping[] = { { 0xE001000000000000LL, 16, "Motorola" }, { 0xE002000000000000LL, 16, "ST Microelectronics" }, { 0xE003000000000000LL, 16, "Hitachi" }, - { 0xE004000000000000LL, 16, "Philips" }, - { 0xE004010000000000LL, 24, "Philips; IC SL2 ICS20" }, + { 0xE004000000000000LL, 16, "NXP(Philips)" }, + { 0xE004010000000000LL, 24, "NXP(Philips); IC SL2 ICS20/ICS21(SLI) ICS2002/ICS2102(SLIX)" }, + { 0xE004020000000000LL, 24, "NXP(Philips); IC SL2 ICS53/ICS54(SLI-S) ICS5302/ICS5402(SLIX-S)" }, + { 0xE004030000000000LL, 24, "NXP(Philips); IC SL2 ICS50/ICS51(SLI-L) ICS5002/ICS5102(SLIX-L)" }, { 0xE005000000000000LL, 16, "Infineon" }, { 0xE005400000000000LL, 24, "Infineon; 56x32bit" }, { 0xE006000000000000LL, 16, "Cylinc" }, @@ -273,7 +276,28 @@ int CmdHF15Reader(const char *Cmd) // Simulation is still not working very good int CmdHF15Sim(const char *Cmd) { - UsbCommand c = {CMD_SIMTAG_ISO_15693, {strtol(Cmd, NULL, 0), 0, 0}}; + char cmdp = param_getchar(Cmd, 0); + uint8_t uid[8] = {0x00}; + + //E0 16 24 00 00 00 00 00 + if (cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: hf 15 sim "); + PrintAndLog(""); + PrintAndLog(" sample: hf 15 sim E016240000000000"); + return 0; + } + + if (param_gethex(Cmd, 0, uid, 16)) { + PrintAndLog("UID must include 16 HEX symbols"); + return 0; + } + + PrintAndLog("Starting simulating UID %02X %02X %02X %02X %02X %02X %02X %02X", + uid[0],uid[1],uid[2],uid[3],uid[4], uid[5], uid[6], uid[7]); + + UsbCommand c = {CMD_SIMTAG_ISO_15693, {0, 0, 0}}; + memcpy(c.d.asBytes,uid,8); + SendCommand(&c); return 0; } @@ -324,7 +348,7 @@ int CmdHF15DumpMem(const char*Cmd) { if (!(recv[0] & ISO15_RES_ERROR)) { retry=0; *output=0; // reset outputstring - sprintf(output, "Block %2i ",blocknum); + sprintf(output, "Block %02x ",blocknum); for ( int i=1; i"); - PrintAndLog(" 0..no debugging output 1..turn debugging on"); + PrintAndLog("Usage: hf 15 cmd debug <0|1>"); + PrintAndLog(" 0 no debugging"); + PrintAndLog(" 1 turn debugging on"); return 0; } @@ -536,7 +561,7 @@ int CmdHF15CmdRaw (const char *cmd) { int prepareHF15Cmd(char **cmd, UsbCommand *c, uint8_t iso15cmd[], int iso15cmdlen) { int temp; uint8_t *req=c->d.asBytes; - uint8_t uid[8] = {0}; + uint8_t uid[8] = {0x00}; uint32_t reqlen=0; // strip diff --git a/client/cmdhfepa.c b/client/cmdhfepa.c index 8f6a6af2d..3286ceb9c 100644 --- a/client/cmdhfepa.c +++ b/client/cmdhfepa.c @@ -45,7 +45,7 @@ int CmdHFEPACollectPACENonces(const char *Cmd) SendCommand(&c); UsbCommand resp; - WaitForResponse(CMD_ACK,&resp); + WaitForResponse(CMD_ACK,&resp); // check if command failed if (resp.arg[0] != 0) { diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index dba4f1132..b097eea88 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -16,7 +16,6 @@ #include #include "iso14443crc.h" // Can also be used for iClass, using 0xE012 as CRC-type #include "data.h" -//#include "proxusb.h" #include "proxmark3.h" #include "ui.h" #include "cmdparser.h" diff --git a/client/cmdhflegic.c b/client/cmdhflegic.c index 8366b09bd..bf874b624 100644 --- a/client/cmdhflegic.c +++ b/client/cmdhflegic.c @@ -10,7 +10,6 @@ #include #include -//#include "proxusb.h" #include "proxmark3.h" #include "data.h" #include "ui.h" @@ -266,7 +265,6 @@ int CmdLegicSave(const char *Cmd) int remainder = requested % 8; requested = requested + 8 - remainder; } - if (offset + requested > sizeof(got)) { PrintAndLog("Tried to read past end of buffer, + > 1024"); return 0; diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 6d0bebd7f..121736e99 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -36,7 +36,6 @@ start: //flush queue while (ukbhit()) getchar(); - // wait cycle while (true) { printf("."); @@ -78,6 +77,7 @@ start: num_to_bytes(r_key, 6, keyBlock); isOK = mfCheckKeys(0, 0, 1, keyBlock, &r_key); } + if (!isOK) PrintAndLog("Found valid key:%012"llx, r_key); else @@ -88,6 +88,7 @@ start: goto start; } + PrintAndLog(""); return 0; } @@ -437,7 +438,6 @@ int CmdHF14AMfRdSc(const char *Cmd) return 0; } - uint8_t FirstBlockOfSector(uint8_t sectorNo) { if (sectorNo < 32) { @@ -447,7 +447,6 @@ uint8_t FirstBlockOfSector(uint8_t sectorNo) } } - uint8_t NumBlocksPerSector(uint8_t sectorNo) { if (sectorNo < 32) { @@ -457,7 +456,6 @@ uint8_t NumBlocksPerSector(uint8_t sectorNo) } } - int CmdHF14AMfDump(const char *Cmd) { uint8_t sectorNo, blockNo; @@ -497,8 +495,7 @@ int CmdHF14AMfDump(const char *Cmd) return 1; } - // Read key file - + // Read keys A from file for (sectorNo=0; sectorNo #include #include -//#include "proxusb.h" #include "proxmark3.h" #include "data.h" #include "graph.h" @@ -77,22 +76,18 @@ int CmdFlexdemod(const char *Cmd) GraphBuffer[start] = 2; GraphBuffer[start+1] = -2; + uint8_t bits[64] = {0x00}; - uint8_t bits[64]; - - int bit; + int bit, sum; i = start; for (bit = 0; bit < 64; bit++) { - int j; - int sum = 0; - for (j = 0; j < 16; j++) { + sum = 0; + for (int j = 0; j < 16; j++) { sum += GraphBuffer[i++]; } - if (sum > 0) { - bits[bit] = 1; - } else { - bits[bit] = 0; - } + + bits[bit] = (sum > 0) ? 1 : 0; + PrintAndLog("bit %d sum %d", bit, sum); } @@ -110,15 +105,14 @@ int CmdFlexdemod(const char *Cmd) } } + // HACK writing back to graphbuffer. GraphTraceLen = 32*64; i = 0; int phase = 0; for (bit = 0; bit < 64; bit++) { - if (bits[bit] == 0) { - phase = 0; - } else { - phase = 1; - } + + phase = (bits[bit] == 0) ? 0 : 1; + int j; for (j = 0; j < 32; j++) { GraphBuffer[i++] = phase; @@ -137,8 +131,10 @@ int CmdIndalaDemod(const char *Cmd) int state = -1; int count = 0; int i, j; + // worst case with GraphTraceLen=64000 is < 4096 // under normal conditions it's < 2048 + uint8_t rawbits[4096]; int rawbit = 0; int worst = 0, worstPos = 0; @@ -171,10 +167,14 @@ int CmdIndalaDemod(const char *Cmd) count = 0; } } + if (rawbit>0){ PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); - } else return 0; + } else { + return 0; + } + // Finding the start of a UID int uidlen, long_wait; if (strcmp(Cmd, "224") == 0) { @@ -184,6 +184,7 @@ int CmdIndalaDemod(const char *Cmd) uidlen = 64; long_wait = 29; } + int start; int first = 0; for (start = 0; start <= rawbit - uidlen; start++) { @@ -197,6 +198,7 @@ int CmdIndalaDemod(const char *Cmd) break; } } + if (start == rawbit - uidlen + 1) { PrintAndLog("nothing to wait for"); return 0; @@ -210,12 +212,12 @@ int CmdIndalaDemod(const char *Cmd) } // Dumping UID - uint8_t bits[224]; - char showbits[225]; - showbits[uidlen]='\0'; + uint8_t bits[224] = {0x00}; + char showbits[225] = {0x00}; int bit; i = start; int times = 0; + if (uidlen > rawbit) { PrintAndLog("Warning: not enough raw bits to get a full UID"); for (bit = 0; bit < rawbit; bit++) { @@ -237,8 +239,8 @@ int CmdIndalaDemod(const char *Cmd) //convert UID to HEX uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; int idx; - uid1=0; - uid2=0; + uid1 = uid2 = 0; + if (uidlen==64){ for( idx=0; idx<64; idx++) { if (showbits[idx] == '0') { @@ -252,11 +254,8 @@ int CmdIndalaDemod(const char *Cmd) PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); } else { - uid3=0; - uid4=0; - uid5=0; - uid6=0; - uid7=0; + uid3 = uid4 = uid5 = uid6 = uid7 = 0; + for( idx=0; idx<224; idx++) { uid1=(uid1<<1)|(uid2>>31); uid2=(uid2<<1)|(uid3>>31); @@ -264,15 +263,19 @@ int CmdIndalaDemod(const char *Cmd) uid4=(uid4<<1)|(uid5>>31); uid5=(uid5<<1)|(uid6>>31); uid6=(uid6<<1)|(uid7>>31); - if (showbits[idx] == '0') uid7=(uid7<<1)|0; - else uid7=(uid7<<1)|1; + + if (showbits[idx] == '0') + uid7 = (uid7<<1) | 0; + else + uid7 = (uid7<<1) | 1; } PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); } // Checking UID against next occurrences - for (; i + uidlen <= rawbit;) { int failed = 0; + for (; i + uidlen <= rawbit;) { + failed = 0; for (bit = 0; bit < uidlen; bit++) { if (bits[bit] != rawbits[i++]) { failed = 1; @@ -284,9 +287,12 @@ int CmdIndalaDemod(const char *Cmd) } times += 1; } + PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); // Remodulating for tag cloning + // HACK: 2015-01-04 this will have an impact on our new way of seening lf commands (demod) + // since this changes graphbuffer data. GraphTraceLen = 32*uidlen; i = 0; int phase = 0; @@ -309,15 +315,10 @@ int CmdIndalaDemod(const char *Cmd) int CmdIndalaClone(const char *Cmd) { - unsigned int uid1, uid2, uid3, uid4, uid5, uid6, uid7; UsbCommand c; - uid1=0; - uid2=0; - uid3=0; - uid4=0; - uid5=0; - uid6=0; - uid7=0; + unsigned int uid1, uid2, uid3, uid4, uid5, uid6, uid7; + + uid1 = uid2 = uid3 = uid4 = uid5 = uid6 = uid7 = 0; int n = 0, i = 0; if (strchr(Cmd,'l') != 0) { @@ -339,9 +340,7 @@ int CmdIndalaClone(const char *Cmd) c.d.asDwords[4] = uid5; c.d.asDwords[5] = uid6; c.d.asDwords[6] = uid7; - } - else - { + } else { while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { uid1 = (uid1 << 4) | (uid2 >> 28); uid2 = (uid2 << 4) | (n & 0xf); @@ -359,13 +358,16 @@ int CmdIndalaClone(const char *Cmd) int CmdLFRead(const char *Cmd) { UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K}; + // 'h' means higher-low-frequency, 134 kHz if(*Cmd == 'h') { c.arg[0] = 1; } else if (*Cmd == '\0') { c.arg[0] = 0; } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) { - PrintAndLog("use 'read' or 'read h', or 'read '"); + PrintAndLog("Samples 1: 'lf read'"); + PrintAndLog(" 2: 'lf read h'"); + PrintAndLog(" 3: 'lf read '"); return 0; } SendCommand(&c); @@ -417,7 +419,9 @@ int CmdLFSim(const char *Cmd) int CmdLFSimBidir(const char *Cmd) { - /* Set ADC to twice the carrier for a slight supersampling */ + // Set ADC to twice the carrier for a slight supersampling + // HACK: not implemented in ARMSRC. + PrintAndLog("Not implemented yet."); UsbCommand c = {CMD_LF_SIMULATE_BIDIR, {47, 384, 0}}; SendCommand(&c); return 0; @@ -429,23 +433,17 @@ int CmdLFSimManchester(const char *Cmd) static int clock, gap; static char data[1024], gapstring[8]; - /* get settings/bits */ sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap); - /* clear our graph */ ClearGraph(0); - /* fill it with our bitstream */ for (int i = 0; i < strlen(data) ; ++i) AppendGraph(0, clock, data[i]- '0'); - /* modulate */ CmdManchesterMod(""); - /* show what we've done */ RepaintGraphWindow(); - /* simulate */ sprintf(&gapstring[0], "%i", gap); CmdLFSim(gapstring); return 0; @@ -454,20 +452,23 @@ int CmdLFSimManchester(const char *Cmd) int CmdLFSnoop(const char *Cmd) { UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; + // 'h' means higher-low-frequency, 134 kHz c.arg[0] = 0; c.arg[1] = -1; - if (*Cmd == 0) { - // empty - } else if (*Cmd == 'l') { + + if (*Cmd == 'l') { sscanf(Cmd, "l %"lli, &c.arg[1]); } else if(*Cmd == 'h') { c.arg[0] = 1; sscanf(Cmd, "h %"lli, &c.arg[1]); } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { - PrintAndLog("use 'snoop' or 'snoop {l,h} [trigger threshold]', or 'snoop [trigger threshold]'"); + PrintAndLog("usage 1: snoop"); + PrintAndLog(" 2: snoop {l,h} [trigger threshold]"); + PrintAndLog(" 3: snoop [trigger threshold]"); return 0; } + SendCommand(&c); WaitForResponse(CMD_ACK,NULL); return 0; diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index 83f49db7a..32a0ff7c6 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -11,9 +11,9 @@ #include #include #include -//#include "proxusb.h" #include "proxmark3.h" #include "ui.h" +#include "util.h" #include "graph.h" #include "cmdparser.h" #include "cmddata.h" @@ -22,20 +22,16 @@ static int CmdHelp(const char *Cmd); - - int CmdEMdemodASK(const char *Cmd) { - int findone=0; + char cmdp = param_getchar(Cmd, 0); + int findone = (cmdp == '1') ? 1 : 0; UsbCommand c={CMD_EM410X_DEMOD}; - if(Cmd[0]=='1') findone=1; c.arg[0]=findone; SendCommand(&c); return 0; } - - /* Read the ID of an EM410x tag. * Format: * 1111 1111 1 <-- standard non-repeatable header @@ -48,8 +44,8 @@ int CmdEM410xRead(const char *Cmd) { int i, j, clock, header, rows, bit, hithigh, hitlow, first, bit2idx, high, low; int parity[4]; - char id[11]; - char id2[11]; + char id[11] = {0x00}; + char id2[11] = {0x00}; int retested = 0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]; high = low = 0; @@ -201,7 +197,25 @@ retest: */ int CmdEM410xSim(const char *Cmd) { - int i, n, j, h, binary[4], parity[4]; + int i, n, j, binary[4], parity[4]; + + char cmdp = param_getchar(Cmd, 0); + uint8_t uid[5] = {0x00}; + + if (cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: lf em4x 410xsim "); + PrintAndLog(""); + PrintAndLog(" sample: lf em4x 410xsim 0F0368568B"); + return 0; + } + + if (param_gethex(Cmd, 0, uid, 10)) { + PrintAndLog("UID must include 10 HEX symbols"); + return 0; + } + + PrintAndLog("Starting simulating UID %02X%02X%02X%02X%02X", uid[0],uid[1],uid[2],uid[3],uid[4]); + PrintAndLog("Press pm3-button to about simulation"); /* clock is 64 in EM410x tags */ int clock = 64; @@ -209,9 +223,6 @@ int CmdEM410xSim(const char *Cmd) /* clear our graph */ ClearGraph(0); - /* write it out a few times */ - for (h = 0; h < 4; h++) - { /* write 9 start bits */ for (i = 0; i < 9; i++) AppendGraph(0, clock, 1); @@ -248,38 +259,38 @@ int CmdEM410xSim(const char *Cmd) AppendGraph(0, clock, parity[3]); /* stop bit */ - AppendGraph(0, clock, 0); - } - - /* modulate that biatch */ - CmdManchesterMod(""); - - /* booyah! */ - RepaintGraphWindow(); - - CmdLFSim(""); + AppendGraph(1, clock, 0); + + CmdLFSim("240"); //240 start_gap. return 0; } -/* Function is equivalent of loread + losamples + em410xread - * looped until an EM410x tag is detected */ +/* Function is equivalent of lf read + data samples + em410xread + * looped until an EM410x tag is detected + * + * Why is CmdSamples("16000")? + * TBD: Auto-grow sample size based on detected sample rate. IE: If the + * rate gets lower, then grow the number of samples + * Changed by martin, 4000 x 4 = 16000, + * see http://www.proxmark.org/forum/viewtopic.php?pid=7235#p7235 + +*/ int CmdEM410xWatch(const char *Cmd) { - int read_h = (*Cmd == 'h'); - do - { - CmdLFRead(read_h ? "h" : ""); - // 2000 samples is OK for clock=64, but not clock=32. Probably want - // 8000 for clock=16. Don't want to go too high since old HID driver - // is very slow - // TBD: Auto-grow sample size based on detected sample rate. IE: If the - // rate gets lower, then grow the number of samples - - // Changed by martin, 4000 x 4 = 16000, - // see http://www.proxmark.org/forum/viewtopic.php?pid=7235#p7235 - CmdSamples("16000"); - } while ( ! CmdEM410xRead("")); - return 0; + char cmdp = param_getchar(Cmd, 0); + int read_h = (cmdp == 'h'); + do { + if (ukbhit()) { + printf("\naborted via keyboard!\n"); + break; + } + + CmdLFRead(read_h ? "h" : ""); + CmdSamples("6000"); + } while ( + !CmdEM410xRead("") + ); + return 0; } /* Read the transmitted data of an EM4x50 tag diff --git a/client/cmdlfhid.c b/client/cmdlfhid.c index 5d841ae12..c6d54e78e 100644 --- a/client/cmdlfhid.c +++ b/client/cmdlfhid.c @@ -10,7 +10,6 @@ #include #include -//#include "proxusb.h" #include "proxmark3.h" #include "ui.h" #include "graph.h" @@ -41,8 +40,8 @@ int CmdHIDDemod(const char *Cmd) int CmdHIDDemodFSK(const char *Cmd) { int findone=0; + if(Cmd[0]=='1') findone=1; UsbCommand c={CMD_HID_DEMOD_FSK}; - if(Cmd[0]=='1') findone=1; c.arg[0]=findone; SendCommand(&c); return 0; @@ -59,6 +58,7 @@ int CmdHIDSim(const char *Cmd) } PrintAndLog("Emulating tag with ID %x%16x", hi, lo); + PrintAndLog("Press pm3-button to abort simulation"); UsbCommand c = {CMD_HID_SIM_TAG, {hi, lo, 0}}; SendCommand(&c); diff --git a/client/cmdlfhitag.c b/client/cmdlfhitag.c index 32d38aebe..ab4a26095 100644 --- a/client/cmdlfhitag.c +++ b/client/cmdlfhitag.c @@ -12,7 +12,6 @@ #include #include #include "data.h" -//#include "proxusb.h" #include "proxmark3.h" #include "ui.h" #include "cmdparser.h" @@ -225,7 +224,7 @@ int CmdLFHitagReader(const char *Cmd) { return 0; } -static command_t CommandTableHitag[] = +static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, {"list", CmdLFHitagList, 1, "List Hitag trace history"}, @@ -237,12 +236,12 @@ static command_t CommandTableHitag[] = int CmdLFHitag(const char *Cmd) { - CmdsParse(CommandTableHitag, Cmd); + CmdsParse(CommandTable, Cmd); return 0; } int CmdHelp(const char *Cmd) { - CmdsHelp(CommandTableHitag); + CmdsHelp(CommandTable); return 0; } diff --git a/client/cmdlfio.c b/client/cmdlfio.c index 7482ad976..14ce5498d 100644 --- a/client/cmdlfio.c +++ b/client/cmdlfio.c @@ -3,7 +3,6 @@ #include #include #include -//#include "proxusb.h" #include "proxmark3.h" #include "data.h" #include "graph.h" @@ -19,26 +18,21 @@ int CmdIODemodFSK(const char *Cmd) { int findone=0; if(Cmd[0]=='1') findone=1; + UsbCommand c={CMD_IO_DEMOD_FSK}; c.arg[0]=findone; SendCommand(&c); return 0; } - int CmdIOProxDemod(const char *Cmd){ if (GraphTraceLen < 4800) { PrintAndLog("too short; need at least 4800 samples"); return 0; } - GraphTraceLen = 4800; for (int i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] < 0) { - GraphBuffer[i] = 0; - } else { - GraphBuffer[i] = 1; - } + GraphBuffer[i] = (GraphBuffer[i] < 0) ? 0 : 1; } RepaintGraphWindow(); return 0; @@ -61,7 +55,7 @@ int CmdIOClone(const char *Cmd) } PrintAndLog("Cloning tag with ID %08x %08x", hi, lo); - + PrintAndLog("Press pm3-button to abort simulation"); c.cmd = CMD_IO_CLONE_TAG; c.arg[0] = hi; c.arg[1] = lo; diff --git a/client/cmdlfpcf7931.c b/client/cmdlfpcf7931.c index 13917146f..0d8fb93d4 100644 --- a/client/cmdlfpcf7931.c +++ b/client/cmdlfpcf7931.c @@ -10,7 +10,6 @@ #include #include -//#include "proxusb.h" #include "proxmark3.h" #include "ui.h" #include "graph.h" diff --git a/client/cmdlft55xx.c b/client/cmdlft55xx.c index 9783370ce..a719c7ad7 100644 --- a/client/cmdlft55xx.c +++ b/client/cmdlft55xx.c @@ -10,7 +10,6 @@ #include #include #include -//#include "proxusb.h" #include "proxmark3.h" #include "ui.h" #include "graph.h" diff --git a/client/cmdlfti.c b/client/cmdlfti.c index 26128e2f0..cb5fcd790 100644 --- a/client/cmdlfti.c +++ b/client/cmdlfti.c @@ -11,7 +11,6 @@ #include #include #include "crc16.h" -//#include "proxusb.h" #include "proxmark3.h" #include "data.h" #include "ui.h" diff --git a/client/cmdmain.c b/client/cmdmain.c index b27234905..df3d4b2e3 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -28,9 +28,6 @@ unsigned int current_command = CMD_UNKNOWN; -//unsigned int received_command = CMD_UNKNOWN; -//UsbCommand current_response; -//UsbCommand current_response_user; static int CmdHelp(const char *Cmd); static int CmdQuit(const char *Cmd); @@ -47,9 +44,9 @@ static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help. Use ' help' for details of a particular command."}, {"data", CmdData, 1, "{ Plot window / data buffer manipulation... }"}, - {"hf", CmdHF, 1, "{ HF commands... }"}, + {"hf", CmdHF, 1, "{ High Frequency commands... }"}, {"hw", CmdHW, 1, "{ Hardware commands... }"}, - {"lf", CmdLF, 1, "{ LF commands... }"}, + {"lf", CmdLF, 1, "{ Low Frequency commands... }"}, {"script", CmdScript, 1,"{ Scripting commands }"}, {"quit", CmdQuit, 1, "Exit program"}, {"exit", CmdQuit, 1, "Exit program"}, @@ -146,10 +143,8 @@ bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeou while(getCommand(response)) { if(response->cmd == cmd){ - //We got what we expected return true; } - } msleep(10); // XXX ugh if (dm_seconds == 200) { // Two seconds elapsed @@ -178,25 +173,12 @@ void CommandReceived(char *Cmd) { //----------------------------------------------------------------------------- void UsbCommandReceived(UsbCommand *UC) { - /* - // Debug - printf("UsbCommand length[len=%zd]\n",sizeof(UsbCommand)); - printf(" cmd[len=%zd]: %"llx"\n",sizeof(UC->cmd),UC->cmd); - printf(" arg0[len=%zd]: %"llx"\n",sizeof(UC->arg[0]),UC->arg[0]); - printf(" arg1[len=%zd]: %"llx"\n",sizeof(UC->arg[1]),UC->arg[1]); - printf(" arg2[len=%zd]: %"llx"\n",sizeof(UC->arg[2]),UC->arg[2]); - printf(" data[len=%zd]: %02x%02x%02x...\n",sizeof(UC->d.asBytes),UC->d.asBytes[0],UC->d.asBytes[1],UC->d.asBytes[2]); - */ - - // printf("%s(%x) current cmd = %x\n", __FUNCTION__, c->cmd, current_command); - // If we recognize a response, return to avoid further processing switch(UC->cmd) { // First check if we are handling a debug message case CMD_DEBUG_PRINT_STRING: { - char s[USB_CMD_DATA_SIZE+1]; + char s[USB_CMD_DATA_SIZE+1] = {0x00}; size_t len = MIN(UC->arg[0],USB_CMD_DATA_SIZE); memcpy(s,UC->d.asBytes,len); - s[len] = 0x00; PrintAndLog("#db# %s ", s); return; } break; @@ -206,67 +188,15 @@ void UsbCommandReceived(UsbCommand *UC) return; } break; - // case CMD_MEASURED_ANTENNA_TUNING: { - // int peakv, peakf; - // int vLf125, vLf134, vHf; - // vLf125 = UC->arg[0] & 0xffff; - // vLf134 = UC->arg[0] >> 16; - // vHf = UC->arg[1] & 0xffff;; - // peakf = UC->arg[2] & 0xffff; - // peakv = UC->arg[2] >> 16; - // PrintAndLog(""); - // PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0); - // PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0); - // PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); - // PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0); - // if (peakv<2000) - // PrintAndLog("# Your LF antenna is unusable."); - // else if (peakv<10000) - // PrintAndLog("# Your LF antenna is marginal."); - // if (vHf<2000) - // PrintAndLog("# Your HF antenna is unusable."); - // else if (vHf<5000) - // PrintAndLog("# Your HF antenna is marginal."); - // } break; - case CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K: { -// printf("received samples: "); -// print_hex(UC->d.asBytes,512); sample_buf_len += UC->arg[1]; -// printf("samples: %zd offset: %d\n",sample_buf_len,UC->arg[0]); memcpy(sample_buf+(UC->arg[0]),UC->d.asBytes,UC->arg[1]); } break; - -// case CMD_ACK: { -// PrintAndLog("Receive ACK\n"); -// } break; - - default: { - // Maybe it's a response - /* - switch(current_command) { - case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K: { - if (UC->cmd != CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K) { - PrintAndLog("unrecognized command %08x\n", UC->cmd); - break; - } -// int i; - PrintAndLog("received samples %d\n",UC->arg[0]); - memcpy(sample_buf+UC->arg[0],UC->d.asBytes,48); - sample_buf_len += 48; -// for(i=0; i<48; i++) sample_buf[i] = UC->d.asBytes[i]; - //received_command = UC->cmd; - } break; - - default: { - } break; - }*/ - } + default: break; } storeCommand(UC); - } diff --git a/client/data.c b/client/data.c index 51134d487..3f0193266 100644 --- a/client/data.c +++ b/client/data.c @@ -12,7 +12,6 @@ #include #include "data.h" #include "ui.h" -//#include "proxusb.h" #include "proxmark3.h" #include "cmdmain.h" @@ -23,22 +22,6 @@ void GetFromBigBuf(uint8_t *dest, int bytes, int start_index) { sample_buf_len = 0; sample_buf = dest; -// start_index = ((start_index/12)*12); -// int n = start_index + bytes; - /* - if (n % 48 != 0) { - PrintAndLog("bad len in GetFromBigBuf"); - return; - } - */ UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {start_index, bytes, 0}}; SendCommand(&c); -/* - for (int i = start_index; i < n; i += 48) { - UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {i, 0, 0}}; - SendCommand(&c); -// WaitForResponse(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K); -// memcpy(dest+(i*4), sample_buf, 48); - } -*/ } diff --git a/client/flash.c b/client/flash.c index 3a0a1cda6..4e222ece2 100644 --- a/client/flash.c +++ b/client/flash.c @@ -13,7 +13,6 @@ #include #include "proxmark3.h" #include "sleep.h" -//#include "proxusb.h" #include "flash.h" #include "elf.h" #include "proxendian.h" @@ -276,7 +275,6 @@ static int get_proxmark_state(uint32_t *state) { UsbCommand c; c.cmd = CMD_DEVICE_INFO; -// SendCommand_(&c); SendCommand(&c); UsbCommand resp; ReceiveCommand(&resp); @@ -391,7 +389,6 @@ int flash_start_flashing(int enable_bl_writes,char *serial_port_name) c.arg[2] = 0; } SendCommand(&c); -// SendCommand_(&c); return wait_for_ack(); } else { fprintf(stderr, "Note: Your bootloader does not understand the new START_FLASH command\n"); @@ -408,22 +405,8 @@ static int write_block(uint32_t address, uint8_t *data, uint32_t length) memset(block_buf, 0xFF, BLOCK_SIZE); memcpy(block_buf, data, length); UsbCommand c; -/* - c.cmd = {CMD_SETUP_WRITE}; - for (int i = 0; i < 240; i += 48) { - memcpy(c.d.asBytes, block_buf + i, 48); - c.arg[0] = i / 4; - SendCommand(&c); -// SendCommand_(&c); - if (wait_for_ack() < 0) { - return -1; - } - } -*/ c.cmd = CMD_FINISH_WRITE; c.arg[0] = address; -// memcpy(c.d.asBytes, block_buf+240, 16); -// SendCommand_(&c); memcpy(c.d.asBytes, block_buf, length); SendCommand(&c); return wait_for_ack(); @@ -486,7 +469,6 @@ void flash_free(flash_file_t *ctx) // just reset the unit int flash_stop_flashing(void) { UsbCommand c = {CMD_HARDWARE_RESET}; -// SendCommand_(&c); SendCommand(&c); msleep(100); return 0; diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index 9ea9d1454..f96f8652d 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -11,8 +11,14 @@ * @return */ int fileExists(const char *filename) { + +#ifdef _WIN32 + struct _stat st; + int result = _stat(filename, &st); +#else struct stat st; int result = stat(filename, &st); +#endif return result == 0; } diff --git a/client/mifarehost.c b/client/mifarehost.c index 378fb2e51..d025918d9 100644 --- a/client/mifarehost.c +++ b/client/mifarehost.c @@ -26,8 +26,6 @@ int compar_int(const void * a, const void * b) { else return -1; } - - // Compare 16 Bits out of cryptostate int Compare16Bits(const void * a, const void * b) { if ((*(uint64_t*)b & 0x00ff000000ff0000) == (*(uint64_t*)a & 0x00ff000000ff0000)) return 0; @@ -35,7 +33,6 @@ int Compare16Bits(const void * a, const void * b) { else return -1; } - typedef struct { union { @@ -70,16 +67,12 @@ void* nested_worker_thread(void *arg) return statelist->head.slhead; } - - - int mfnested(uint8_t blockNo, uint8_t keyType, uint8_t * key, uint8_t trgBlockNo, uint8_t trgKeyType, uint8_t * resultKey, bool calibrate) { uint16_t i, len; uint32_t uid; UsbCommand resp; - StateList_t statelists[2]; struct Crypto1State *p1, *p2, *p3, *p4; @@ -239,12 +232,11 @@ int mfEmlSetMem(uint8_t *data, int blockNum, int blocksCount) { // "MAGIC" CARD int mfCSetUID(uint8_t *uid, uint8_t *oldUID, bool wantWipe) { - uint8_t block0[16]; - memset(block0, 0, 16); + uint8_t block0[16] = {0x00}; memcpy(block0, uid, 4); block0[4] = block0[0]^block0[1]^block0[2]^block0[3]; // Mifare UID BCC // mifare classic SAK(byte 5) and ATQA(byte 6 and 7) - block0[5] = 0x88; + block0[5] = 0x08; block0[6] = 0x04; block0[7] = 0x00; @@ -252,9 +244,9 @@ int mfCSetUID(uint8_t *uid, uint8_t *oldUID, bool wantWipe) { } int mfCSetBlock(uint8_t blockNo, uint8_t *data, uint8_t *uid, bool wantWipe, uint8_t params) { - uint8_t isOK = 0; - UsbCommand c = {CMD_MIFARE_EML_CSETBLOCK, {wantWipe, params & (0xFE | (uid == NULL ? 0:1)), blockNo}}; + uint8_t isOK = 0; + UsbCommand c = {CMD_MIFARE_CSETBLOCK, {wantWipe, params & (0xFE | (uid == NULL ? 0:1)), blockNo}}; memcpy(c.d.asBytes, data, 16); SendCommand(&c); @@ -273,7 +265,7 @@ int mfCSetBlock(uint8_t blockNo, uint8_t *data, uint8_t *uid, bool wantWipe, uin int mfCGetBlock(uint8_t blockNo, uint8_t *data, uint8_t params) { uint8_t isOK = 0; - UsbCommand c = {CMD_MIFARE_EML_CGETBLOCK, {params, 0, blockNo}}; + UsbCommand c = {CMD_MIFARE_CGETBLOCK, {params, 0, blockNo}}; SendCommand(&c); UsbCommand resp; @@ -296,7 +288,7 @@ static uint8_t trailerAccessBytes[4] = {0x08, 0x77, 0x8F, 0x00}; // variables char logHexFileName[200] = {0x00}; static uint8_t traceCard[4096] = {0x00}; -static char traceFileName[200] = {0}; +static char traceFileName[200] = {0x00}; static int traceState = TRACE_IDLE; static uint8_t traceCurBlock = 0; static uint8_t traceCurKey = 0; @@ -522,7 +514,6 @@ int mfTraceDecode(uint8_t *data_src, int len, bool wantSaveToEmlFile) { case TRACE_AUTH1: if (len == 4) { traceState = TRACE_AUTH2; - nt = bytes_to_num(data, 4); return 0; } else { @@ -558,6 +549,7 @@ int mfTraceDecode(uint8_t *data_src, int len, bool wantSaveToEmlFile) { lfsr_rollback_word(revstate, 0, 0); lfsr_rollback_word(revstate, nr_enc, 1); lfsr_rollback_word(revstate, uid ^ nt, 0); + crypto1_get_lfsr(revstate, &lfsr); printf("key> %x%x\n", (unsigned int)((lfsr & 0xFFFFFFFF00000000) >> 32), (unsigned int)(lfsr & 0xFFFFFFFF)); AddLogUint64(logHexFileName, "key> ", lfsr); diff --git a/client/mifarehost.h b/client/mifarehost.h index cb99a4073..3e946cd92 100644 --- a/client/mifarehost.h +++ b/client/mifarehost.h @@ -15,7 +15,6 @@ #include "cmdmain.h" #include "ui.h" #include "data.h" -//#include "proxusb.h" #include "util.h" #include "nonce2key/nonce2key.h" #include "nonce2key/crapto1.h" diff --git a/client/proxmark3.c b/client/proxmark3.c index bf0f3817f..16a8fa02d 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -66,21 +66,6 @@ struct main_loop_arg { char *script_cmds_file; }; -//static void *usb_receiver(void *targ) { -// struct receiver_arg *arg = (struct receiver_arg*)targ; -// UsbCommand cmdbuf; -// -// while (arg->run) { -// if (ReceiveCommandPoll(&cmdbuf)) { -// UsbCommandReceived(&cmdbuf); -// fflush(NULL); -// } -// } -// -// pthread_exit(NULL); -// return NULL; -//} - byte_t rx[0x1000000]; byte_t* prx = rx; @@ -129,7 +114,7 @@ static void *main_loop(void *targ) { } FILE *script_file = NULL; - char script_cmd_buf[256]; + char script_cmd_buf[256]; // iceman, needs lua script the same file_path_buffer as the rest if (arg->script_cmds_file) { @@ -211,14 +196,6 @@ static void *main_loop(void *targ) { return NULL; } -//static void dumpHelp(char *parent, ...) -//{ -// printf("## %s\n\n", parent); -// CommandReceived(parent); -// -// printf("\n"); -//} - static void dumpAllHelp(int markdown) { printf("\n%sProxmark3 command dump%s\n\n",markdown?"# ":"",markdown?"":"\n======================"); @@ -258,17 +235,6 @@ int main(int argc, char* argv[]) { }; pthread_t main_loop_t; -/* - usb_init(); - if (!OpenProxmark(1)) { - fprintf(stderr,"PROXMARK3: NOT FOUND!\n"); - marg.usb_present = 0; - offline = 1; - } else { - marg.usb_present = 1; - offline = 0; - } -*/ sp = uart_open(argv[1]); if (sp == INVALID_SERIAL_PORT) { @@ -309,10 +275,6 @@ int main(int argc, char* argv[]) { pthread_join(main_loop_t, NULL); -// if (marg.usb_present == 1) { -// CloseProxmark(); -// } - // Clean up the port uart_close(sp); diff --git a/include/usb_cmd.h b/include/usb_cmd.h index 4d50de594..69c3c1b6a 100644 --- a/include/usb_cmd.h +++ b/include/usb_cmd.h @@ -81,7 +81,7 @@ typedef struct { #define CMD_EM4X_WRITE_WORD 0x0219 #define CMD_IO_DEMOD_FSK 0x021A #define CMD_IO_CLONE_TAG 0x021B -#define CMD_EM410X_DEMOD 0x021C +#define CMD_EM410X_DEMOD 0x021c /* CMD_SET_ADC_MUX: ext1 is 0 for lopkd, 1 for loraw, 2 for hipkd, 3 for hiraw */ @@ -137,8 +137,11 @@ typedef struct { #define CMD_MIFARE_EML_MEMSET 0x0602 #define CMD_MIFARE_EML_MEMGET 0x0603 #define CMD_MIFARE_EML_CARDLOAD 0x0604 -#define CMD_MIFARE_EML_CSETBLOCK 0x0605 -#define CMD_MIFARE_EML_CGETBLOCK 0x0606 + +// magic chinese card commands +#define CMD_MIFARE_CSETBLOCK 0x0605 +#define CMD_MIFARE_CGETBLOCK 0x0606 +#define CMD_MIFARE_CIDENT 0x0607 #define CMD_SIMULATE_MIFARE_CARD 0x0610 @@ -150,11 +153,25 @@ typedef struct { #define CMD_MIFARE_READSC 0x0621 #define CMD_MIFAREU_READCARD 0x0721 #define CMD_MIFARE_WRITEBL 0x0622 -#define CMD_MIFAREU_WRITEBL_COMPAT 0x0722 -#define CMD_MIFAREU_WRITEBL 0x0723 +#define CMD_MIFAREU_WRITEBL 0x0722 +#define CMD_MIFAREU_WRITEBL_COMPAT 0x0723 + #define CMD_MIFARE_CHKKEYS 0x0623 #define CMD_MIFARE_SNIFFER 0x0630 +//ultralightC +#define CMD_MIFAREUC_AUTH1 0x0724 +#define CMD_MIFAREUC_AUTH2 0x0725 +#define CMD_MIFAREUC_READCARD 0x0726 + +// mifare desfire +#define CMD_MIFARE_DESFIRE_READBL 0x0728 +#define CMD_MIFARE_DESFIRE_WRITEBL 0x0729 +#define CMD_MIFARE_DESFIRE_AUTH1 0x072a +#define CMD_MIFARE_DESFIRE_AUTH2 0x072b +#define CMD_MIFARE_DES_READER 0x072c +#define CMD_MIFARE_DESFIRE_INFO 0x072d +#define CMD_MIFARE_DESFIRE 0x072e #define CMD_UNKNOWN 0xFFFF From 5644791bdb264300ebfac1c2e51cfc7d231c4070 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 6 Jan 2015 09:20:36 -0500 Subject: [PATCH 055/133] added data psk* cmds for pskdemod fixed a couple small bugs in other lf functions as well including detectaskclock, stopped changes from being made to graphbuffer. --- armsrc/lfops.c | 2 +- client/cmddata.c | 302 +- client/cmddata.h | 9 +- client/cmdlf.c | 30 +- client/cmdlfem4x.c | 2 +- client/graph.c | 52 +- client/graph.h | 1 + common/lfdemod.c | 482 +- common/lfdemod.h | 8 +- traces/ATA5577-HIDemu-FC1-C9.pm3 | 16000 +++++++++++++++++++++++++++++ traces/README.txt | 7 + 11 files changed, 16810 insertions(+), 85 deletions(-) create mode 100644 traces/ATA5577-HIDemu-FC1-C9.pm3 diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 894adef78..79d59bf9c 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -729,7 +729,7 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) uint8_t *dest = (uint8_t *)BigBuf; size_t size=0; //, found=0; - uint32_t bitLen=0; + int bitLen=0; int clk=0, invert=0, errCnt=0; uint64_t lo=0; // Configure to go in 125Khz listen mode diff --git a/client/cmddata.c b/client/cmddata.c index d8a0fcf6b..4b5cb0401 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -21,9 +21,55 @@ #include "cmdmain.h" #include "cmddata.h" #include "lfdemod.h" - +uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN]; +int DemodBufferLen; static int CmdHelp(const char *Cmd); +//set the demod buffer with given array of binary (one bit per byte) +//by marshmellow +void setDemodBuf(uint8_t *buff,int size) +{ + int i=0; + for (; i < size; ++i){ + DemodBuffer[i]=buff[i]; + } + DemodBufferLen=size; + return; +} + +//by marshmellow +void printDemodBuff() +{ + uint32_t i = 0; + int bitLen = DemodBufferLen; + if (bitLen<16) { + PrintAndLog("no bits found in demod buffer"); + return; + } + if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty + for (i = 0; i <= (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + DemodBuffer[i], + DemodBuffer[i+1], + DemodBuffer[i+2], + DemodBuffer[i+3], + DemodBuffer[i+4], + DemodBuffer[i+5], + DemodBuffer[i+6], + DemodBuffer[i+7], + DemodBuffer[i+8], + DemodBuffer[i+9], + DemodBuffer[i+10], + DemodBuffer[i+11], + DemodBuffer[i+12], + DemodBuffer[i+13], + DemodBuffer[i+14], + DemodBuffer[i+15]); + } + return; +} + + int CmdAmp(const char *Cmd) { int i, rising, falling; @@ -185,10 +231,10 @@ void printEM410x(uint64_t id) int CmdEm410xDecode(const char *Cmd) { uint64_t id=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - uint32_t i=0; - i=getFromGraphBuf(BitStream); - id = Em410xDecode(BitStream,i); + // uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + // uint32_t i=0; + // i=getFromGraphBuf(BitStream); + id = Em410xDecode(DemodBuffer,DemodBufferLen); printEM410x(id); if (id>0) return 1; return 0; @@ -209,15 +255,15 @@ int Cmdaskmandemod(const char *Cmd) PrintAndLog("Invalid argument: %s", Cmd); return 0; } - uint32_t BitLen = getFromGraphBuf(BitStream); + + int BitLen = getFromGraphBuf(BitStream); // PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); int errCnt=0; errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); - if (errCnt<0){ //if fatal error (or -1) + if (errCnt<0||BitLen<16){ //if fatal error (or -1) // PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); return 0; } - if (BitLen<16) return 0; PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen); //output @@ -226,12 +272,12 @@ int Cmdaskmandemod(const char *Cmd) } PrintAndLog("ASK/Manchester decoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits - printBitStream(BitStream,BitLen); + setDemodBuf(BitStream,BitLen); + printDemodBuff(); uint64_t lo =0; lo = Em410xDecode(BitStream,BitLen); if (lo>0){ //set GraphBuffer for clone or sim command - setGraphBuf(BitStream,BitLen); PrintAndLog("EM410x pattern found: "); printEM410x(lo); return 1; @@ -250,10 +296,10 @@ int Cmdmandecoderaw(const char *Cmd) int bitnum=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; int high=0,low=0; - for (;ihigh) high=GraphBuffer[i]; - else if(GraphBuffer[i]high) high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0 ){ PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode"); @@ -268,15 +314,9 @@ int Cmdmandecoderaw(const char *Cmd) PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); printBitStream(BitStream,bitnum); if (errCnt==0){ - //put back in graphbuffer - ClearGraph(0); - for (i=0; i0) setDemodBuf(BitStream,bitnum); printEM410x(id); } return 1; @@ -301,10 +341,10 @@ int CmdBiphaseDecodeRaw(const char *Cmd) sscanf(Cmd, "%i", &offset); uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; //get graphbuffer & high and low - for (;ihigh)high=GraphBuffer[i]; - else if(GraphBuffer[i]high)high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0){ PrintAndLog("Error: please raw demod the wave first then decode"); @@ -329,7 +369,6 @@ int CmdBiphaseDecodeRaw(const char *Cmd) //prints binary found and saves in graphbuffer for further commands int Cmdaskrawdemod(const char *Cmd) { - uint32_t i; int invert=0; int clk=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; @@ -341,21 +380,14 @@ int Cmdaskrawdemod(const char *Cmd) int BitLen = getFromGraphBuf(BitStream); int errCnt=0; errCnt = askrawdemod(BitStream, &BitLen,&clk,&invert); - if (errCnt==-1){ //throw away static - allow 1 and -1 (in case of threshold command first) + if (errCnt==-1||BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) PrintAndLog("no data found"); return 0; } - if (BitLen<16) return 0; PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to GraphBuffer - - ClearGraph(0); - for (i=0; i < BitLen; ++i){ - GraphBuffer[i]=BitStream[i]; - } - GraphTraceLen=BitLen; - RepaintGraphWindow(); + //move BitStream back to DemodBuffer + setDemodBuf(BitStream,BitLen); //output if (errCnt>0){ @@ -538,18 +570,12 @@ int CmdFSKrawdemod(const char *Cmd) } else if(rfLen==0) rfLen=50; } PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); - uint32_t i=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; uint32_t BitLen = getFromGraphBuf(BitStream); int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); if (size>0){ PrintAndLog("FSK decoded bitstream:"); - ClearGraph(0); - for (i=0;i (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size @@ -578,9 +604,9 @@ int CmdFSKdemodHID(const char *Cmd) } if (hi2==0 && hi==0 && lo==0) return 0; if (hi2 != 0){ //extra large HID tags - PrintAndLog("TAG ID: %x%08x%08x (%d)", + PrintAndLog("HID Prox TAG ID: %x%08x%08x (%d)", (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - setGraphBuf(BitStream,BitLen); + setDemodBuf(BitStream,BitLen); return 1; } else { //standard HID tags <38 bits @@ -625,10 +651,10 @@ int CmdFSKdemodHID(const char *Cmd) fc = ((hi&0xF)<<12)|(lo>>20); } } - PrintAndLog("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + PrintAndLog("HID Prox TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum); - setGraphBuf(BitStream,BitLen); + setDemodBuf(BitStream,BitLen); return 1; } return 0; @@ -682,9 +708,12 @@ int CmdFSKdemodIO(const char *Cmd) uint8_t version = bytebits_to_byte(BitStream+idx+27,8); //14,4 uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ; uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 - - PrintAndLog("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - setGraphBuf(BitStream,BitLen); + PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + int i; + for (i=0;i<64;++i) + DemodBuffer[i]=BitStream[idx++]; + + DemodBufferLen=64; return 1; } int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating @@ -806,6 +835,160 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating return 0; } +int CmdDetectNRZpskClockRate(const char *Cmd) +{ + GetNRZpskClock("",0,0); + return 0; +} + +int PSKnrzDemod(const char *Cmd){ + int invert=0; + int clk=0; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return -1; + } + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + int BitLen = getFromGraphBuf(BitStream); + int errCnt=0; + errCnt = pskNRZrawDemod(BitStream, &BitLen,&clk,&invert); + if (errCnt<0|| BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) + //PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); + return -1; + } + PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); + + //prime demod buffer for output + setDemodBuf(BitStream,BitLen); + return errCnt; +} +// Indala 26 bit decode +// by marshmellow +// optional arguments - same as CmdpskNRZrawDemod (clock & invert) +int CmdIndalaDecode(const char *Cmd) +{ + + int ans=PSKnrzDemod(Cmd); + if (ans < 0){ + PrintAndLog("Error1: %d",ans); + return 0; + } + uint8_t invert=0; + ans = indala26decode(DemodBuffer, &DemodBufferLen, &invert); + if (ans < 1) { + PrintAndLog("Error2: %d",ans); + return -1; + } + char showbits[251]; + if(invert==1) PrintAndLog("Had to invert bits"); + //convert UID to HEX + uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; + int idx; + uid1=0; + uid2=0; + PrintAndLog("BitLen: %d",DemodBufferLen); + if (DemodBufferLen==64){ + for( idx=0; idx<64; idx++) { + uid1=(uid1<<1)|(uid2>>31); + if (DemodBuffer[idx] == 0) { + uid2=(uid2<<1)|0; + showbits[idx]='0'; + } else { + uid2=(uid2<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x)", showbits, uid1, uid2); + } + else { + uid3=0; + uid4=0; + uid5=0; + uid6=0; + uid7=0; + for( idx=0; idx>31); + uid2=(uid2<<1)|(uid3>>31); + uid3=(uid3<<1)|(uid4>>31); + uid4=(uid4<<1)|(uid5>>31); + uid5=(uid5<<1)|(uid6>>31); + uid6=(uid6<<1)|(uid7>>31); + if (DemodBuffer[idx] == 0) { + uid7=(uid7<<1)|0; + showbits[idx]='0'; + } + else { + uid7=(uid7<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); + } + return 1; +} + +/* +//by marshmellow (attempt to get rid of high immediately after a low) +void pskCleanWave2(uint8_t *bitStream, int bitLen) +{ + int i; + int low=128; + int gap = 4; + // int loopMax = 2048; + int newLow=0; + + for (i=0; i0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("PSK or NRZ demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + + return 1; +} + + + int CmdGrid(const char *Cmd) { sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); @@ -1216,8 +1399,9 @@ int CmdNorm(const char *Cmd) if (max != min) { for (i = 0; i < GraphTraceLen; ++i) { - GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 1000 / - (max - min); + GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 256 / + (max - min); + //marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work } } RepaintGraphWindow(); @@ -1348,7 +1532,7 @@ static command_t CommandTable[] = {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, {"dec", CmdDec, 1, "Decimate samples"}, - {"detectaskclock",CmdDetectClockRate, 1, "Detect ASK clock rate"}, + {"detectclock", CmdDetectClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, @@ -1363,15 +1547,19 @@ static command_t CommandTable[] = {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, {"manrawdecode", Cmdmandecoderaw, 1, "Manchester decode binary stream already in graph buffer"}, {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, - {"norm", CmdNorm, 1, "Normalize max/min to +/-500"}, + {"norm", CmdNorm, 1, "Normalize max/min to +/-128"}, {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, + {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, + {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, + {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional[clock will try Auto-detect])"}, + {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional[clock will try Auto-detect])"}, {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, - {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, {"save", CmdSave, 1, " -- Save trace (from graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, - {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, + {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, + {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmddata.h b/client/cmddata.h index 999e6438c..8723b847a 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -14,7 +14,7 @@ command_t * CmdDataCommands(); int CmdData(const char *Cmd); - +void printDemodBuff(); int CmdAmp(const char *Cmd); int Cmdaskdemod(const char *Cmd); int Cmdaskrawdemod(const char *Cmd); @@ -30,6 +30,8 @@ int CmdFSKdemod(const char *Cmd); int CmdFSKdemodHID(const char *Cmd); int CmdFSKdemodIO(const char *Cmd); int CmdFSKrawdemod(const char *Cmd); +int CmdDetectNRZpskClockRate(const char *Cmd); +int CmdpskNRZrawDemod(const char *Cmd); int CmdGrid(const char *Cmd); int CmdHexsamples(const char *Cmd); int CmdHide(const char *Cmd); @@ -49,5 +51,10 @@ int CmdScale(const char *Cmd); int CmdThreshold(const char *Cmd); int CmdDirectionalThreshold(const char *Cmd); int CmdZerocrossings(const char *Cmd); +int CmdIndalaDecode(const char *Cmd); + +#define MAX_DEMOD_BUF_LEN (1024*128) +extern uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN]; +extern int DemodBufferLen; #endif diff --git a/client/cmdlf.c b/client/cmdlf.c index d9b26e2ae..42a29d0db 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -57,7 +57,7 @@ int CmdFlexdemod(const char *Cmd) } } -#define LONG_WAIT 100 + #define LONG_WAIT 100 int start; for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { int first = GraphBuffer[start]; @@ -558,18 +558,32 @@ int CmdLFfind(const char *Cmd) ans=CmdSamples("20000"); } if (GraphTraceLen<1000) return 0; + PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); PrintAndLog("Checking for known tags:"); + ans=Cmdaskmandemod(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid EM410x ID Found!"); + return 1; + } ans=CmdFSKdemodHID(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid HID Prox ID Found!"); + return 1; + } ans=CmdFSKdemodIO(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid IO Prox ID Found!"); + return 1; + } //add psk and indala - ans=CmdIndalaDemod(""); - if (ans>0) return 1; - ans=CmdIndalaDemod("224"); - if (ans>0) return 1; + ans=CmdIndalaDecode(""); + if (ans>0) { + PrintAndLog("Valid Indala ID Found!"); + return 1; + } + // ans=CmdIndalaDemod("224"); + // if (ans>0) return 1; PrintAndLog("No Known Tags Found!\n"); return 0; } diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index 83f49db7a..f29da8e07 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -595,7 +595,7 @@ int CmdWriteWordPWD(const char *Cmd) static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, - {"em410xdemod", CmdEMdemodASK, 0, "[clock rate] -- Extract ID from EM410x tag"}, + {"em410xdemod", CmdEMdemodASK, 0, "[findone] -- Extract ID from EM410x tag (option 0 for continuous loop, 1 for only 1 tag)"}, {"em410xread", CmdEM410xRead, 1, "[clock rate] -- Extract ID from EM410x tag"}, {"em410xsim", CmdEM410xSim, 0, " -- Simulate EM410x tag"}, {"em410xwatch", CmdEM410xWatch, 0, "['h'] -- Watches for EM410x 125/134 kHz tags (option 'h' for 134)"}, diff --git a/client/graph.c b/client/graph.c index a0e85ffd4..d63c42714 100644 --- a/client/graph.c +++ b/client/graph.c @@ -146,7 +146,7 @@ void setGraphBuf(uint8_t *buff,int size) int i=0; ClearGraph(0); for (; i < size; ++i){ - GraphBuffer[i]=buff[i]; + GraphBuffer[i]=buff[i]-128; } GraphTraceLen=size; RepaintGraphWindow(); @@ -187,3 +187,53 @@ int GetClock(const char *str, int peak, int verbose) return clock; } +int GetNRZpskClock(const char *str, int peak, int verbose) +{ + // return GetClock(str,peak,verbose); + int clock; + // int clock2; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; + + /* Auto-detect clock */ + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + int size = getFromGraphBuf(grph); + clock = DetectpskNRZClock(grph,size,0); + //clock2 = DetectClock2(peak); + /* Only print this message if we're not looping something */ + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } + return clock; +} +// Get or auto-detect clock rate +/* +int GetNRZpskClock(const char *str, int peak, int verbose) +{ + int clock; +// int clock2; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; + + // Auto-detect clock + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + int size = getFromGraphBuf(grph); + clock = DetectASKClock(grph,size,0); + //clock2 = DetectClock2(peak); + // Only print this message if we're not looping something + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } + return clock; +} +*/ \ No newline at end of file diff --git a/client/graph.h b/client/graph.h index 325582a67..c5c137986 100644 --- a/client/graph.h +++ b/client/graph.h @@ -17,6 +17,7 @@ int ClearGraph(int redraw); //int DetectClock(int peak); int getFromGraphBuf(uint8_t *buff); int GetClock(const char *str, int peak, int verbose); +int GetNRZpskClock(const char *str, int peak, int verbose); void setGraphBuf(uint8_t *buff,int size); #define MAX_GRAPH_TRACE_LEN (1024*128) diff --git a/common/lfdemod.c b/common/lfdemod.c index a03e7f024..ad4721f16 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -14,7 +14,7 @@ //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID -uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) +uint64_t Em410xDecode(uint8_t *BitStream, int BitLen) { //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future // otherwise could be a void with no arguments @@ -82,7 +82,7 @@ uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask while decoding manchester //prints binary found and saves in graphbuffer for further commands -int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) +int askmandemod(uint8_t * BinStream, int *BitLen,int *clk, int *invert) { int i; int high = 0, low = 128; @@ -655,13 +655,13 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock) low = dest[i]; } } - peak=(int)((peak-128)*.75)+128; - low= (int)((low-128)*.75)+128; + peak=(int)(((peak-128)*.75)+128); + low= (int)(((low-128)*.75)+128); int ii; int clkCnt; int tol = 0; - int bestErr=1000; - int errCnt[]={0,0,0,0,0,0,0,0}; + int bestErr[]={1000,1000,1000,1000,1000,1000,1000,1000}; + int errCnt=0; //test each valid clock from smallest to greatest to see which lines up for(clkCnt=0; clkCnt<6;++clkCnt){ if (clk[clkCnt]==32){ @@ -669,33 +669,487 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock) }else{ tol=0; } - bestErr=1000; + bestErr[clkCnt]=1000; //try lining up the peaks by moving starting point (try first 256) for (ii=0; ii=peak) || (dest[ii]<=low)){ - errCnt[clkCnt]=0; + errCnt=0; // now that we have the first one lined up test rest of wave array for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ }else{ //error no peak detected - errCnt[clkCnt]++; + errCnt++; } } //if we found no errors this is correct one - return this clock - if(errCnt[clkCnt]==0) return clk[clkCnt]; + if(errCnt==0) return clk[clkCnt]; //if we found errors see if it is lowest so far and save it as best run - if(errCnt[clkCnt]peak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + errCnt=0; + peakcnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + peakcnt++; + }else{ //error no peak detected + errCnt++; + } + } + if(peakcnt>peaksdet[clkCnt]) { + peaksdet[clkCnt]=peakcnt; + bestErr[clkCnt]=errCnt; + } + } + } + } + int iii=0; + int best=0; + //int ratio2; //debug + int ratio; + //int bits; + for (iii=0; iii<7;++iii){ + ratio=1000; + //ratio2=1000; //debug + //bits=size/clk[iii]; //debug + if (peaksdet[iii]>0){ + ratio=bestErr[iii]/peaksdet[iii]; + if (((bestErr[best]/peaksdet[best])>(ratio)+1)){ + best = iii; + } + //ratio2=bits/peaksdet[iii]; //debug + } + //PrintAndLog("DEBUG: Clk: %d, peaks: %d, errs: %d, bestClk: %d, ratio: %d, bits: %d, peakbitr: %d",clk[iii],peaksdet[iii],bestErr[iii],clk[best],ratio, bits,ratio2); + } + return clk[best]; +} + +/* +int DetectNRZpskClock(uint8_t dest[], size_t size, int clock) +{ + int i=0; + int peak=0; + int low=128; + int clk[]={16,32,40,50,64,100,128,256}; + int loopCnt = 1500; //don't need to loop through entire array... + if (sizepeak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + lastClk = ii-*clk; + errCnt[clkCnt]=0; + // now that we have the first one lined up test rest of wave array + for (i=ii; i=peak || dest[i]<=low) && (i>=lastClk+*clk-tol && i<=lastClk+*clk+tol)){ + bitHigh=1; + lastClk=lastClk+*clk; + ignorewin=clk[clkCnt]/8; + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + if (i>=lastClk+*clk+tol){ //past possible bar + lowBitCnt[clkCnt]++; + } + }else if ((dest[i]>=peak || dest[i]<=low) && (i=lastClk+*clk+tol) && (bitHigh==0)){ + //error bar found no clock... + errCnt[clkCnt]++; + } + } + //if we found no errors this is correct one - return this clock + if(errCnt[clkCnt]==0 && lowBitCnt[clkCnt]==0) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCnt[clkCnt]high) high=bitStream[i]; + } + high = (int)(((high-128)*.80)+128); + low = (int)(((low-128)*.90)+128); + //low = (uint8_t)(((int)(low)-128)*.80)+128; + for (i=0; i=high) newHigh=1; + } + return; +} + +int indala26decode(uint8_t *bitStream, int *bitLen, uint8_t *invert) +{ + //26 bit 40134 format (don't know other formats) + // Finding the start of a UID + int i; + int long_wait; + //uidlen = 64; + long_wait = 29;//29 leading zeros in format + int start; + int first = 0; + int first2 = 0; + int bitCnt = 0; + int ii; + for (start = 0; start <= *bitLen - 250; start++) { + first = bitStream[start]; + for (i = start; i < start + long_wait; i++) { + if (bitStream[i] != first) { + break; + } + } + if (i == (start + long_wait)) { + break; + } + } + if (start == *bitLen - 250 + 1) { + // did not find start sequence + return -1; + } + //found start once now test length by finding next one + // Inverting signal if needed + if (first == 1) { + for (i = start; i < *bitLen; i++) { + bitStream[i] = !bitStream[i]; + } + *invert = 1; + }else *invert=0; + + int iii; + for (ii=start+29; ii <= *bitLen - 250; ii++) { + first2 = bitStream[ii]; + for (iii = ii; iii < ii + long_wait; iii++) { + if (bitStream[iii] != first2) { + break; + } + } + if (iii == (ii + long_wait)) { + break; + } + } + if (ii== *bitLen - 250 + 1){ + // did not find second start sequence + return -2; + } + bitCnt=ii-start; + + // Dumping UID + i = start; + for (ii = 0; ii < bitCnt; ii++) { + bitStream[ii] = bitStream[i++]; + //showbits[bit] = '0' + bits[bit]; + } + *bitLen=bitCnt; + return 1; +} + +int pskNRZrawDemod(uint8_t *dest, int *bitLen, int *clk, int *invert) +{ + pskCleanWave(dest,*bitLen); + int clk2 = DetectpskNRZClock(dest, *bitLen, *clk); + *clk=clk2; + uint32_t i; + uint8_t high=0, low=128; + uint32_t gLen = *bitLen; + if (gLen > 1280) gLen=1280; + // get high + for (i=0; ihigh) high = dest[i]; + if (dest[i]=high)||(dest[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *bitLen; ++i) { + //if we found a high bar and we are at a clock bit + if ((dest[i]>=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + //curBit=1-*invert; + //dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + ignorewin=*clk/8; + //curBit=*invert; + //dest[bitnum]=curBit; + bitnum++; + //else if no bars found + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i>=lastBit+*clk+tol){ //clock val + //dest[bitnum]=curBit; + lastBit+=*clk; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && (ilastBit+*clk+tol) && (bitHigh==0)){ + //error bar found no clock... + errCnt++; + } + if (bitnum>=1000) break; + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(maxErr))) { + //possible good read + if (errCnt==0){ + bestStart = iii; + bestErrCnt=errCnt; + break; //great read - finish + } + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=1-*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if no bars found + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i>=lastBit+*clk+tol){ //clock val + lastBit+=*clk; + dest[bitnum]=curBit; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && ((ilastBit+*clk+tol)) && (bitHigh==0)){ + //error bar found no clock... + bitHigh=1; + dest[bitnum]=77; + bitnum++; + errCnt++; + } + if (bitnum >=1000) break; + } + *bitLen=bitnum; + } else{ + *bitLen=bitnum; + *clk=bestStart; + return -1; + } + + if (bitnum>16){ + *bitLen=bitnum; + } else return -1; + return errCnt; +} + + + /*not needed? + uint32_t i; + uint8_t high=0, low=128; + uint32_t loopMax = 1280; //20 raw bits + + // get high + if (sizehigh) high = dest[i]; + if (dest[i]=high) dest[i]=high; + else if(dest[i]<=low) dest[i]=low; + else dest[i]=0; + } + */ diff --git a/common/lfdemod.h b/common/lfdemod.h index ad95fda5e..2e0acf751 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -12,8 +12,8 @@ #include int DetectASKClock(uint8_t dest[], size_t size, int clock); -int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); -uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen); +int askmandemod(uint8_t *BinStream,int *BitLen,int *clk, int *invert); +uint64_t Em410xDecode(uint8_t *BitStream,int BitLen); int manrawdecode(uint8_t *BitStream, int *bitLen); int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset); int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); @@ -21,5 +21,9 @@ int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_ int IOdemodFSK(uint8_t *dest, size_t size); int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow); uint32_t bytebits_to_byte(uint8_t* src, int numbits); +int pskNRZrawDemod(uint8_t *dest, int *bitLen, int *clk, int *invert); +int DetectpskNRZClock(uint8_t dest[], size_t size, int clock); +int indala26decode(uint8_t *bitStream, int *bitLen, uint8_t *invert); +void pskCleanWave(uint8_t *bitStream, int bitLen); #endif diff --git a/traces/ATA5577-HIDemu-FC1-C9.pm3 b/traces/ATA5577-HIDemu-FC1-C9.pm3 new file mode 100644 index 000000000..7c0a878e8 --- /dev/null +++ b/traces/ATA5577-HIDemu-FC1-C9.pm3 @@ -0,0 +1,16000 @@ +69 +73 +35 +-4 +-36 +-64 +-86 +-106 +-46 +60 +74 +38 +3 +-31 +-58 +-82 +-101 +-102 +-41 +68 +86 +50 +14 +-22 +-50 +-75 +-96 +-113 +-34 +75 +92 +55 +19 +-17 +-46 +-72 +-92 +-111 +-31 +79 +96 +60 +23 +-14 +-43 +-70 +-91 +-109 +-28 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-108 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +85 +102 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +103 +66 +29 +-9 +-40 +-66 +-88 +-107 +-24 +85 +102 +66 +29 +-9 +-40 +-66 +-88 +-106 +-25 +85 +102 +65 +28 +-10 +-40 +-67 +-88 +-16 +92 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +77 +40 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +25 +-11 +-42 +-68 +-90 +-107 +-26 +85 +100 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +55 +12 +-22 +-51 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-28 +77 +81 +42 +2 +-31 +-59 +-82 +-31 +74 +77 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-4 +-35 +-63 +-85 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-35 +69 +72 +34 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +72 +35 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +35 +-3 +-35 +-63 +-85 +-105 +-104 +-46 +65 +80 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +74 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +25 +-11 +-42 +-68 +-90 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-107 +-26 +86 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +86 +100 +65 +27 +-9 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-9 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +22 +-13 +-44 +-69 +-13 +91 +94 +55 +12 +-22 +-52 +-76 +-22 +82 +85 +47 +6 +-27 +-56 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +83 +49 +11 +-22 +-52 +-76 +-97 +-97 +-35 +76 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-31 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +82 +97 +63 +23 +-12 +-43 +-68 +-90 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-70 +-15 +89 +92 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +77 +39 +-1 +-33 +-62 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-104 +-43 +63 +78 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +97 +58 +15 +-19 +-49 +-73 +-20 +83 +86 +48 +7 +-27 +-56 +-79 +-26 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +75 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +96 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +96 +58 +15 +-19 +-49 +-73 +-20 +84 +88 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +75 +37 +-1 +-33 +-61 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-24 +81 +85 +46 +5 +-28 +-57 +-80 +-29 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-35 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +21 +-15 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-29 +-56 +-81 +-100 +-101 +-38 +71 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-3 +-34 +-62 +-85 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-105 +-44 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +51 +15 +-20 +-49 +-75 +-95 +-112 +-33 +76 +93 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +99 +62 +25 +-12 +-42 +-68 +-90 +-108 +-27 +82 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +101 +63 +26 +-11 +-41 +-68 +-89 +-107 +-26 +83 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +83 +100 +64 +27 +-10 +-40 +-67 +-88 +-16 +92 +99 +59 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +77 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +35 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +72 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-45 +66 +81 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-15 +-44 +-70 +-91 +-109 +-29 +81 +98 +62 +25 +-13 +-42 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +89 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +15 +-20 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +20 +-16 +-46 +-72 +-92 +-110 +-30 +79 +96 +60 +23 +-14 +-44 +-70 +-91 +-109 +-28 +81 +98 +61 +24 +-13 +-43 +-69 +-90 +-19 +89 +97 +58 +15 +-19 +-49 +-74 +-21 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +69 +75 +37 +-1 +-33 +-61 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-29 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +72 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-45 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +12 +-22 +-52 +-76 +-22 +81 +86 +47 +6 +-27 +-56 +-80 +-27 +77 +81 +42 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-38 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-16 +-45 +-71 +-91 +-110 +-29 +80 +96 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +48 +7 +-26 +-56 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-104 +-44 +62 +77 +40 +6 +-29 +-56 +-81 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +98 +61 +25 +-13 +-43 +-69 +-90 +-108 +-27 +81 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +58 +15 +-19 +-49 +-74 +-20 +83 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-37 +67 +72 +34 +-3 +-35 +-63 +-85 +-105 +-104 +-46 +65 +79 +47 +9 +-24 +-54 +-77 +-98 +-98 +-37 +74 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +80 +95 +61 +22 +-14 +-45 +-69 +-91 +-109 +-28 +83 +97 +64 +25 +-11 +-42 +-68 +-90 +-107 +-26 +86 +100 +66 +22 +-13 +-44 +-69 +-13 +91 +94 +55 +13 +-21 +-51 +-75 +-22 +83 +86 +47 +6 +-27 +-56 +-80 +-27 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-30 +81 +96 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +97 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +47 +5 +-28 +-57 +-80 +-27 +77 +80 +42 +1 +-31 +-60 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-104 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-99 +-101 +-38 +71 +88 +52 +16 +-19 +-49 +-74 +-94 +-112 +-32 +77 +95 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-108 +-26 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +101 +64 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-89 +-107 +-25 +84 +101 +65 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-89 +-17 +91 +98 +59 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-30 +75 +78 +40 +0 +-32 +-60 +-83 +-32 +72 +75 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +16 +-20 +-49 +-74 +-95 +-112 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +96 +60 +24 +-14 +-43 +-69 +-90 +-109 +-28 +81 +99 +62 +25 +-12 +-42 +-69 +-90 +-18 +89 +97 +59 +15 +-19 +-49 +-73 +-20 +83 +87 +48 +7 +-27 +-56 +-79 +-26 +78 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-63 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +72 +34 +-5 +-36 +-64 +-86 +-36 +69 +73 +35 +-2 +-34 +-62 +-85 +-105 +-104 +-45 +66 +81 +48 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +83 +98 +64 +20 +-15 +-46 +-70 +-14 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-38 +70 +88 +51 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +49 +8 +-26 +-55 +-78 +-25 +79 +82 +44 +3 +-29 +-58 +-81 +-29 +76 +80 +42 +1 +-32 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-104 +-43 +63 +77 +40 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +96 +58 +15 +-19 +-49 +-73 +-20 +83 +87 +48 +7 +-26 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +66 +80 +47 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +80 +95 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +92 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +47 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +69 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +49 +11 +-22 +-52 +-76 +-97 +-97 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +80 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +50 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-58 +-81 +-29 +75 +79 +40 +0 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-105 +-44 +63 +77 +40 +6 +-28 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-19 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +98 +62 +25 +-12 +-42 +-69 +-89 +-108 +-27 +82 +100 +63 +26 +-12 +-42 +-68 +-89 +-108 +-26 +82 +100 +64 +27 +-11 +-41 +-67 +-89 +-107 +-25 +83 +100 +63 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +101 +65 +27 +-10 +-41 +-67 +-88 +-107 +-26 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +59 +16 +-18 +-49 +-73 +-19 +85 +88 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-33 +72 +75 +37 +-3 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +68 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-44 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-108 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-14 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-31 +-60 +-82 +-31 +74 +77 +40 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +89 +97 +58 +15 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +44 +3 +-30 +-58 +-81 +-30 +75 +78 +41 +0 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-104 +-44 +63 +78 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +74 +89 +55 +17 +-18 +-48 +-73 +-94 +-111 +-32 +79 +93 +59 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-71 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-24 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-43 +68 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-75 +-95 +-113 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-41 +-68 +-89 +-17 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +98 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +83 +44 +3 +-30 +-59 +-81 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-32 +73 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-43 +67 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +96 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-71 +-16 +88 +91 +52 +10 +-24 +-53 +-77 +-25 +79 +83 +44 +4 +-29 +-58 +-81 +-30 +74 +77 +39 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-52 +-76 +-97 +-98 +-35 +76 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +81 +96 +62 +24 +-12 +-43 +-69 +-91 +-108 +-27 +84 +99 +64 +26 +-10 +-42 +-67 +-89 +-107 +-27 +84 +99 +65 +22 +-14 +-44 +-69 +-14 +90 +94 +55 +12 +-22 +-51 +-75 +-23 +81 +85 +47 +6 +-27 +-56 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-46 +61 +75 +40 +5 +-29 +-57 +-81 +-100 +-102 +-40 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-46 +-72 +-92 +-110 +-29 +79 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +100 +63 +26 +-11 +-41 +-68 +-89 +-17 +91 +97 +59 +16 +-18 +-49 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-25 +79 +82 +44 +3 +-29 +-58 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-2 +-35 +-62 +-85 +-105 +-44 +62 +77 +40 +6 +-29 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-27 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +74 +78 +40 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +37 +-1 +-33 +-62 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-89 +-107 +-27 +84 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-27 +84 +98 +64 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +21 +-14 +-45 +-70 +-13 +90 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +47 +5 +-28 +-57 +-80 +-28 +76 +81 +43 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +68 +72 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-106 +-46 +61 +75 +39 +4 +-30 +-57 +-81 +-101 +-102 +-39 +70 +87 +51 +15 +-20 +-49 +-75 +-95 +-113 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-1 +-33 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +15 +-20 +-49 +-74 +-95 +-112 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +83 +99 +63 +26 +-11 +-41 +-68 +-89 +-108 +-25 +84 +101 +65 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +85 +101 +65 +28 +-10 +-40 +-66 +-88 +-107 +-24 +85 +102 +65 +27 +-10 +-40 +-67 +-88 +-107 +-25 +85 +101 +64 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-78 +-26 +77 +81 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +67 +81 +48 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-29 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +74 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-35 +69 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +72 +35 +-4 +-36 +-64 +-86 +-36 +69 +72 +35 +-2 +-34 +-63 +-85 +-105 +-104 +-45 +67 +81 +48 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-28 +83 +97 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +27 +-9 +-41 +-66 +-89 +-106 +-26 +86 +100 +66 +27 +-9 +-41 +-66 +-89 +-106 +-26 +86 +100 +66 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +27 +-9 +-41 +-66 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +82 +85 +47 +6 +-27 +-56 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +72 +77 +39 +-1 +-33 +-61 +-84 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +74 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +21 +-14 +-45 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +2 +-31 +-59 +-82 +-30 +75 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +79 +82 +43 +3 +-30 +-59 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +85 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-3 +-35 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-30 +-57 +-81 +-100 +-102 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +58 +15 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-30 +75 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-28 +81 +98 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +83 +100 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-40 +-67 +-88 +-107 +-25 +84 +102 +65 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +68 +73 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +67 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-36 +74 +89 +56 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +93 +60 +21 +-14 +-45 +-70 +-92 +-109 +-30 +81 +96 +62 +23 +-13 +-44 +-69 +-91 +-108 +-29 +82 +96 +62 +19 +-16 +-47 +-71 +-16 +87 +91 +52 +10 +-24 +-53 +-77 +-25 +79 +83 +44 +3 +-29 +-58 +-81 +-30 +75 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-44 +63 +77 +41 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +89 +53 +17 +-19 +-48 +-73 +-94 +-112 +-31 +78 +96 +60 +23 +-14 +-44 +-70 +-91 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-108 +-27 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-17 +91 +98 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +69 +74 +36 +-4 +-35 +-63 +-85 +-105 +-46 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-102 +-39 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-33 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +98 +62 +25 +-12 +-42 +-69 +-90 +-108 +-26 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-17 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +84 +88 +49 +8 +-25 +-55 +-78 +-26 +78 +82 +44 +3 +-29 +-58 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-32 +72 +77 +38 +-2 +-34 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +89 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +64 +20 +-15 +-45 +-70 +-15 +88 +93 +54 +11 +-23 +-52 +-76 +-24 +80 +84 +46 +5 +-28 +-57 +-80 +-29 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-35 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +97 +62 +23 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +63 +20 +-15 +-46 +-71 +-16 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-27 +77 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +88 +49 +8 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-26 +86 +100 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +55 +12 +-22 +-52 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-28 +76 +81 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-34 +69 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-111 +-32 +79 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +92 +54 +11 +-23 +-52 +-76 +-24 +80 +84 +46 +4 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +75 +40 +5 +-29 +-57 +-81 +-100 +-102 +-39 +71 +87 +51 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +95 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-26 +83 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-26 +83 +101 +64 +27 +-10 +-41 +-67 +-88 +-17 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-58 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-3 +-35 +-63 +-85 +-105 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-36 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-31 +79 +94 +60 +21 +-14 +-45 +-70 +-91 +-109 +-29 +82 +97 +62 +23 +-12 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-70 +-14 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +38 +-1 +-33 +-62 +-84 +-33 +71 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +39 +5 +-30 +-57 +-81 +-100 +-102 +-39 +70 +87 +51 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +96 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +100 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +3 +-30 +-59 +-82 +-30 +75 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +75 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-70 +-91 +-109 +-29 +83 +97 +64 +24 +-11 +-43 +-68 +-90 +-107 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +93 +55 +12 +-22 +-52 +-75 +-22 +82 +85 +47 +5 +-27 +-56 +-80 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +91 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-28 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-24 +81 +84 +46 +5 +-28 +-57 +-80 +-29 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-1 +-34 +-62 +-84 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +69 +73 +35 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +39 +5 +-30 +-57 +-81 +-101 +-102 +-40 +70 +88 +52 +15 +-20 +-49 +-75 +-95 +-113 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +26 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +64 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +63 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-16 +91 +98 +60 +17 +-18 +-48 +-73 +-19 +85 +89 +50 +8 +-25 +-55 +-78 +-25 +79 +82 +44 +3 +-29 +-58 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +74 +36 +-4 +-35 +-63 +-85 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-2 +-34 +-62 +-85 +-105 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-69 +-91 +-109 +-28 +82 +97 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +84 +98 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +39 +4 +-30 +-57 +-81 +-101 +-102 +-39 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-34 +76 +93 +56 +20 +-17 +-46 +-72 +-92 +-110 +-31 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-30 +80 +97 +60 +23 +-14 +-43 +-70 +-91 +-20 +88 +95 +56 +14 +-20 +-50 +-74 +-21 +83 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +77 +39 +-1 +-33 +-62 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-104 +-43 +63 +78 +42 +7 +-28 +-55 +-80 +-99 +-100 +-37 +72 +90 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-14 +-44 +-70 +-91 +-109 +-29 +80 +97 +61 +25 +-13 +-42 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +58 +15 +-19 +-49 +-73 +-20 +83 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +42 +2 +-31 +-59 +-82 +-31 +74 +78 +40 +0 +-33 +-61 +-83 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-35 +76 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-30 +81 +95 +62 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-26 +85 +100 +65 +22 +-14 +-45 +-69 +-14 +90 +94 +54 +12 +-22 +-51 +-75 +-23 +81 +85 +47 +6 +-27 +-56 +-80 +-28 +77 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +68 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-35 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +63 +20 +-15 +-46 +-70 +-15 +89 +92 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +76 +93 +57 +20 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +23 +-14 +-44 +-70 +-91 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +87 +48 +7 +-27 +-56 +-79 +-26 +77 +82 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-60 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-28 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +65 +21 +-14 +-45 +-70 +-14 +89 +94 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +76 +38 +-1 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-43 +68 +83 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +82 +96 +62 +23 +-12 +-44 +-69 +-91 +-108 +-27 +83 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +93 +54 +12 +-22 +-52 +-76 +-22 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +15 +-20 +-49 +-75 +-95 +-97 +-32 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +98 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +97 +58 +15 +-19 +-49 +-73 +-21 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +40 +0 +-33 +-61 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-27 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-92 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +66 +27 +-9 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +22 +-14 +-45 +-69 +-13 +90 +94 +55 +12 +-22 +-51 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +77 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-34 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-35 +69 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-106 +-46 +60 +75 +39 +4 +-30 +-58 +-82 +-101 +-102 +-40 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-97 +-33 +77 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +48 +7 +-26 +-55 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-31 +74 +77 +40 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-26 +83 +100 +64 +27 +-11 +-41 +-68 +-88 +-107 +-26 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +100 +64 +27 +-10 +-41 +-67 +-88 +-107 +-26 +83 +101 +65 +27 +-10 +-40 +-67 +-88 +-16 +91 +98 +60 +17 +-18 +-48 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +77 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-32 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +62 +24 +-12 +-43 +-68 +-90 +-108 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +89 +93 +53 +11 +-23 +-52 +-76 +-22 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +38 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +74 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +71 +33 +-6 +-37 +-65 +-87 +-37 +67 +72 +33 +-6 +-37 +-65 +-87 +-37 +68 +72 +34 +-5 +-37 +-64 +-86 +-37 +68 +72 +33 +-5 +-37 +-65 +-87 +-37 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +73 +35 +-3 +-35 +-62 +-85 +-105 +-104 +-45 +65 +80 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +74 +89 +56 +17 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-92 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +85 +99 +64 +25 +-10 +-42 +-67 +-89 +-107 +-27 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +22 +-13 +-44 +-69 +-14 +90 +94 +55 +12 +-22 +-52 +-75 +-22 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +77 +81 +42 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +0 +-33 +-61 +-84 +-104 +-103 +-43 +68 +83 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +90 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-14 +90 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +95 +58 +22 +-15 +-45 +-71 +-91 +-110 +-28 +81 +98 +62 +25 +-13 +-42 +-69 +-90 +-108 +-27 +82 +100 +63 +26 +-11 +-42 +-68 +-89 +-17 +91 +98 +59 +16 +-18 +-49 +-73 +-19 +85 +88 +50 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +38 +4 +-30 +-57 +-81 +-101 +-102 +-40 +69 +86 +50 +14 +-22 +-50 +-76 +-96 +-113 +-35 +74 +91 +55 +19 +-17 +-47 +-72 +-93 +-111 +-31 +78 +95 +58 +22 +-15 +-45 +-71 +-91 +-109 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-19 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +84 +87 +48 +7 +-27 +-55 +-79 +-26 +79 +83 +44 +3 +-30 +-58 +-81 +-29 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-1 +-34 +-62 +-84 +-33 +71 +76 +37 +0 +-32 +-61 +-83 +-103 +-103 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-36 +75 +91 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +88 +92 +53 +11 +-23 +-53 +-76 +-24 +80 +83 +45 +4 +-29 +-57 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +0 +-33 +-61 +-83 +-104 +-103 +-43 +69 +83 +50 +12 +-22 +-52 +-76 +-97 +-97 +-35 +77 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +81 +95 +62 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +69 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +77 +40 +0 +-33 +-61 +-83 +-32 +71 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +75 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-75 +-95 +-97 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +23 +-14 +-43 +-70 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-108 +-27 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +101 +63 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +65 +27 +-10 +-40 +-67 +-88 +-107 +-25 +84 +101 +65 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +59 +16 +-18 +-48 +-73 +-19 +84 +88 +50 +8 +-25 +-55 +-78 +-26 +79 +82 +44 +3 +-30 +-58 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +74 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +73 +35 +-2 +-34 +-62 +-85 +-105 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +84 +46 +5 +-29 +-57 +-80 +-28 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-34 +-62 +-85 +-104 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-37 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-31 +78 +95 +59 +22 +-15 +-44 +-70 +-91 +-109 +-28 +81 +97 +61 +25 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +87 +48 +7 +-26 +-56 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +75 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +36 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +39 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-74 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +98 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +49 +7 +-26 +-55 +-79 +-27 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +38 +-1 +-34 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-35 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +40 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +58 +22 +-15 +-45 +-71 +-91 +-110 +-28 +81 +97 +62 +24 +-13 +-43 +-69 +-90 +-108 +-27 +83 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-31 +74 +77 +40 +0 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +96 +57 +15 +-20 +-50 +-74 +-20 +83 +86 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +79 +40 +0 +-33 +-61 +-83 +-32 +71 +75 +37 +-3 +-35 +-62 +-85 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +21 +-14 +-45 +-70 +-14 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-35 +75 +90 +57 +18 +-16 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +21 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-29 +-56 +-81 +-100 +-101 +-39 +71 +89 +52 +16 +-19 +-49 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-15 +-44 +-71 +-91 +-109 +-28 +81 +99 +62 +25 +-13 +-42 +-69 +-90 +-108 +-27 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +84 +101 +65 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +60 +17 +-18 +-48 +-73 +-19 +84 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +39 +4 +-30 +-57 +-81 +-101 +-102 +-40 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +73 +35 +-2 +-34 +-63 +-85 +-104 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +2 +-31 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +40 +6 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +81 +98 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +89 +52 +16 +-19 +-49 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-14 +-44 +-70 +-91 +-109 +-28 +81 +98 +62 +25 +-12 +-42 +-69 +-90 +-108 +-26 +83 +99 +63 +26 +-11 +-41 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +42 +2 +-31 +-59 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-3 +-35 +-63 +-85 +-105 +-104 +-46 +65 +79 +46 +9 +-25 +-54 +-78 +-98 +-99 +-38 +73 +88 +54 +16 +-18 +-49 +-73 +-94 +-111 +-33 +78 +93 +59 +21 +-14 +-45 +-70 +-92 +-109 +-30 +82 +97 +62 +23 +-12 +-44 +-69 +-91 +-108 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +82 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-29 +75 +78 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +83 +49 +11 +-22 +-52 +-76 +-97 +-98 +-36 +76 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-30 +82 +96 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +97 +63 +19 +-16 +-46 +-71 +-15 +89 +92 +53 +11 +-23 +-53 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +58 +22 +-15 +-45 +-70 +-91 +-110 +-28 +81 +98 +62 +24 +-13 +-42 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-18 +-49 +-73 +-20 +83 +88 +49 +7 +-26 +-55 +-79 +-26 +77 +82 +43 +3 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +15 +-20 +-49 +-75 +-95 +-97 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +100 +64 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +63 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +100 +64 +27 +-11 +-41 +-67 +-88 +-17 +91 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-45 +67 +81 +48 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +17 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +98 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +44 +3 +-30 +-58 +-81 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-31 +72 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +38 +-2 +-34 +-62 +-84 +-104 +-44 +63 +78 +42 +6 +-28 +-56 +-80 +-99 +-101 +-37 +71 +88 +52 +16 +-19 +-48 +-74 +-94 +-112 +-33 +77 +95 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +6 +-27 +-56 +-79 +-26 +78 +81 +43 +2 +-31 +-59 +-82 +-31 +74 +79 +40 +0 +-32 +-60 +-83 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +67 +80 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +77 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-23 +-52 +-76 +-97 +-98 +-36 +76 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-70 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-29 +75 +78 +40 +0 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-105 +-43 +63 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +71 +88 +53 +17 +-19 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +-1 +-33 +-61 +-84 +-32 +71 +75 +37 +-3 +-35 +-62 +-85 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +81 +47 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-31 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +63 +20 +-15 +-46 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-97 +-36 +76 +91 +57 +18 +-17 +-47 +-71 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-45 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +83 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +42 +1 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-56 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +73 +77 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-2 +-34 +-62 +-85 +-104 +-44 +62 +77 +41 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +88 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-15 +-44 +-70 +-91 +-110 +-28 +81 +98 +62 +25 +-12 +-42 +-69 +-90 +-108 +-27 +83 +99 +63 +26 +-11 +-42 +-68 +-89 +-17 +91 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-78 +-26 +78 +82 +43 +2 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +66 +81 +48 +10 +-24 +-53 +-77 +-97 +-98 +-37 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +59 +21 +-14 +-45 +-70 +-92 +-109 +-30 +81 +96 +61 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +98 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +22 +-14 +-44 +-69 +-14 +90 +94 +55 +12 +-21 +-51 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-28 +77 +80 +42 +1 +-31 +-59 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-106 +-46 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +23 +-14 +-43 +-70 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +44 +3 +-30 +-58 +-81 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-32 +73 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-104 +-44 +63 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-19 +-49 +-74 +-94 +-112 +-33 +77 +94 +57 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-107 +-26 +84 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-26 +83 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +85 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +101 +65 +28 +-10 +-40 +-67 +-88 +-16 +91 +98 +60 +17 +-17 +-48 +-72 +-19 +86 +89 +50 +8 +-25 +-54 +-78 +-25 +79 +83 +45 +4 +-29 +-58 +-81 +-29 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +75 +89 +55 +17 +-18 +-48 +-73 +-94 +-111 +-33 +78 +92 +58 +20 +-15 +-46 +-71 +-92 +-109 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-91 +-109 +-30 +82 +96 +62 +19 +-16 +-47 +-71 +-16 +87 +92 +52 +10 +-23 +-53 +-77 +-24 +80 +84 +45 +4 +-29 +-58 +-81 +-29 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +40 +-1 +-33 +-61 +-83 +-32 +72 +76 +38 +-1 +-33 +-62 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-33 +70 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +69 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-65 +-86 +-36 +68 +72 +34 +-5 +-37 +-65 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +72 +35 +-5 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +74 +35 +-4 +-36 +-63 +-86 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +74 +36 +-4 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +85 +98 +64 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-9 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +22 +-14 +-45 +-69 +-14 +90 +94 +54 +12 +-22 +-51 +-76 +-22 +82 +85 +46 +5 +-28 +-57 +-80 +-28 +77 +80 +41 +1 +-32 +-60 +-82 +-31 +73 +77 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +69 +73 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-69 +-92 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +64 +21 +-14 +-45 +-70 +-14 +90 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-35 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +51 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-27 +78 +82 +43 +3 +-30 +-59 +-82 +-29 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +76 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-58 +-81 +-29 +75 +80 +42 +1 +-31 +-60 +-83 +-32 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +48 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-111 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +80 +84 +45 +4 +-29 +-57 +-81 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +67 +81 +47 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +79 +95 +61 +22 +-13 +-45 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +83 +97 +63 +20 +-15 +-46 +-70 +-14 +90 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +16 +-19 +-49 +-73 +-20 +83 +87 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-102 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +83 +100 +63 +26 +-12 +-42 +-68 +-89 +-108 +-26 +84 +101 +63 +27 +-11 +-41 +-68 +-89 +-108 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +102 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +102 +65 +27 +-10 +-40 +-67 +-88 +-16 +92 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +89 +50 +8 +-25 +-55 +-78 +-25 +79 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +35 +-3 +-34 +-62 +-85 +-105 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +23 +-12 +-44 +-69 +-91 +-108 +-28 +83 +98 +63 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +71 +76 +38 +-2 +-34 +-62 +-84 +-33 diff --git a/traces/README.txt b/traces/README.txt index 50b14aaee..424092dc5 100644 --- a/traces/README.txt +++ b/traces/README.txt @@ -15,3 +15,10 @@ Transit999-best.pm3: Transit 999 format (UID 99531670) The files 'modulation-'... are all encoded with identical data (hex 00 01 02 03 04 05 06 07 08 09 0A 0B) for the purpose of recognition and testing of demodulation schemes. They were created by writing Q5 tags appropriately configured. The raw data is in 'modulation-data.dat'. + +ata5577-HIDemu-FC1-C9.pm3: ata5577 in hid prox 26 bit emulation facility code:1 card#:9 +casi-12ed825c29.pm3: casi rusco 40 bit (EM410x ID: 12ed825c29) +EM4102-Fob.pm3: (ID: 0400193cbe) +ioprox-XSF-01-3B-44725.pm3: IO Prox FSK RF/64 ID in name +ioprox-XSF-01-BE-03011.pm3: IO Prox FSK RF/64 ID in name +indala-504278295.pm3: PSK 26 bit indala \ No newline at end of file From 1c4b102cd55d96d6a870f7f2153199b9e721e077 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 6 Jan 2015 10:58:35 -0500 Subject: [PATCH 056/133] sync with master lf files to resolve conflicts --- armsrc/lfops.c | 2834 +++++++++++++++++++++++----------------------- common/lfdemod.c | 1616 ++++++++++---------------- common/lfdemod.h | 8 +- 3 files changed, 1998 insertions(+), 2460 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 79d59bf9c..ab196325f 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -25,40 +25,40 @@ */ void DoAcquisition125k_internal(int trigger_threshold,bool silent) { - uint8_t *dest = (uint8_t *)BigBuf; - int n = sizeof(BigBuf); - int i; + uint8_t *dest = (uint8_t *)BigBuf; + int n = sizeof(BigBuf); + int i; - memset(dest, 0, n); - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - LED_D_ON(); - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - LED_D_OFF(); - if (trigger_threshold != -1 && dest[i] < trigger_threshold) - continue; - else - trigger_threshold = -1; - if (++i >= n) break; - } - } - if(!silent) - { - Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", - dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); - - } + memset(dest, 0, n); + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + LED_D_ON(); + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + LED_D_OFF(); + if (trigger_threshold != -1 && dest[i] < trigger_threshold) + continue; + else + trigger_threshold = -1; + if (++i >= n) break; + } + } + if(!silent) + { + Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", + dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); + + } } /** * Perform sample aquisition. */ void DoAcquisition125k(int trigger_threshold) { - DoAcquisition125k_internal(trigger_threshold, false); + DoAcquisition125k_internal(trigger_threshold, false); } /** @@ -70,31 +70,31 @@ void DoAcquisition125k(int trigger_threshold) **/ void LFSetupFPGAForADC(int divisor, bool lf_field) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else if (divisor == 0) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + else if (divisor == 0) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + else + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); } /** * Initializes the FPGA, and acquires the samples. **/ void AcquireRawAdcSamples125k(int divisor) { - LFSetupFPGAForADC(divisor, true); - // Now call the acquisition routine - DoAcquisition125k_internal(-1,false); + LFSetupFPGAForADC(divisor, true); + // Now call the acquisition routine + DoAcquisition125k_internal(-1,false); } /** * Initializes the FPGA for snoop-mode, and acquires the samples. @@ -102,60 +102,60 @@ void AcquireRawAdcSamples125k(int divisor) void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) { - LFSetupFPGAForADC(divisor, false); - DoAcquisition125k(trigger_threshold); + LFSetupFPGAForADC(divisor, false); + DoAcquisition125k(trigger_threshold); } void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) { - /* Make sure the tag is reset */ - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(2500); + /* Make sure the tag is reset */ + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(2500); - int divisor_used = 95; // 125 KHz - // see if 'h' was specified + int divisor_used = 95; // 125 KHz + // see if 'h' was specified - if (command[strlen((char *) command) - 1] == 'h') - divisor_used = 88; // 134.8 KHz + if (command[strlen((char *) command) - 1] == 'h') + divisor_used = 88; // 134.8 KHz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); - // And a little more time for the tag to fully power up - SpinDelay(2000); + // And a little more time for the tag to fully power up + SpinDelay(2000); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - // now modulate the reader field - while(*command != '\0' && *command != ' ') { - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + // now modulate the reader field + while(*command != '\0' && *command != ' ') { + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - LED_D_ON(); - if(*(command++) == '0') - SpinDelayUs(period_0); - else - SpinDelayUs(period_1); - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + if(*(command++) == '0') + SpinDelayUs(period_0); + else + SpinDelayUs(period_1); + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // now do the read - DoAcquisition125k(-1); + // now do the read + DoAcquisition125k(-1); } /* blank r/w tag data stream @@ -169,230 +169,230 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, */ void ReadTItag(void) { - // some hardcoded initial params - // when we read a TI tag we sample the zerocross line at 2Mhz - // TI tags modulate a 1 as 16 cycles of 123.2Khz - // TI tags modulate a 0 as 16 cycles of 134.2Khz - #define FSAMPLE 2000000 - #define FREQLO 123200 - #define FREQHI 134200 + // some hardcoded initial params + // when we read a TI tag we sample the zerocross line at 2Mhz + // TI tags modulate a 1 as 16 cycles of 123.2Khz + // TI tags modulate a 0 as 16 cycles of 134.2Khz +#define FSAMPLE 2000000 +#define FREQLO 123200 +#define FREQHI 134200 - signed char *dest = (signed char *)BigBuf; - int n = sizeof(BigBuf); -// int *dest = GraphBuffer; -// int n = GraphTraceLen; + signed char *dest = (signed char *)BigBuf; + int n = sizeof(BigBuf); + // int *dest = GraphBuffer; + // int n = GraphTraceLen; - // 128 bit shift register [shift3:shift2:shift1:shift0] - uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; + // 128 bit shift register [shift3:shift2:shift1:shift0] + uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; - int i, cycles=0, samples=0; - // how many sample points fit in 16 cycles of each frequency - uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; - // when to tell if we're close enough to one freq or another - uint32_t threshold = (sampleslo - sampleshi + 1)>>1; + int i, cycles=0, samples=0; + // how many sample points fit in 16 cycles of each frequency + uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; + // when to tell if we're close enough to one freq or another + uint32_t threshold = (sampleslo - sampleshi + 1)>>1; - // TI tags charge at 134.2Khz - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // TI tags charge at 134.2Khz + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - for (i=0; i0) ) { - cycles++; - // after 16 cycles, measure the frequency - if (cycles>15) { - cycles=0; - samples=i-samples; // number of samples in these 16 cycles + for (i=0; i0) ) { + cycles++; + // after 16 cycles, measure the frequency + if (cycles>15) { + cycles=0; + samples=i-samples; // number of samples in these 16 cycles - // TI bits are coming to us lsb first so shift them - // right through our 128 bit right shift register - shift0 = (shift0>>1) | (shift1 << 31); - shift1 = (shift1>>1) | (shift2 << 31); - shift2 = (shift2>>1) | (shift3 << 31); - shift3 >>= 1; + // TI bits are coming to us lsb first so shift them + // right through our 128 bit right shift register + shift0 = (shift0>>1) | (shift1 << 31); + shift1 = (shift1>>1) | (shift2 << 31); + shift2 = (shift2>>1) | (shift3 << 31); + shift3 >>= 1; - // check if the cycles fall close to the number - // expected for either the low or high frequency - if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { - // low frequency represents a 1 - shift3 |= (1<<31); - } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { - // high frequency represents a 0 - } else { - // probably detected a gay waveform or noise - // use this as gaydar or discard shift register and start again - shift3 = shift2 = shift1 = shift0 = 0; - } - samples = i; + // check if the cycles fall close to the number + // expected for either the low or high frequency + if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { + // low frequency represents a 1 + shift3 |= (1<<31); + } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { + // high frequency represents a 0 + } else { + // probably detected a gay waveform or noise + // use this as gaydar or discard shift register and start again + shift3 = shift2 = shift1 = shift0 = 0; + } + samples = i; - // for each bit we receive, test if we've detected a valid tag + // for each bit we receive, test if we've detected a valid tag - // if we see 17 zeroes followed by 6 ones, we might have a tag - // remember the bits are backwards - if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { - // if start and end bytes match, we have a tag so break out of the loop - if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { - cycles = 0xF0B; //use this as a flag (ugly but whatever) - break; - } - } - } - } - } + // if we see 17 zeroes followed by 6 ones, we might have a tag + // remember the bits are backwards + if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { + // if start and end bytes match, we have a tag so break out of the loop + if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { + cycles = 0xF0B; //use this as a flag (ugly but whatever) + break; + } + } + } + } + } - // if flag is set we have a tag - if (cycles!=0xF0B) { - DbpString("Info: No valid tag detected."); - } else { - // put 64 bit data into shift1 and shift0 - shift0 = (shift0>>24) | (shift1 << 8); - shift1 = (shift1>>24) | (shift2 << 8); + // if flag is set we have a tag + if (cycles!=0xF0B) { + DbpString("Info: No valid tag detected."); + } else { + // put 64 bit data into shift1 and shift0 + shift0 = (shift0>>24) | (shift1 << 8); + shift1 = (shift1>>24) | (shift2 << 8); - // align 16 bit crc into lower half of shift2 - shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; + // align 16 bit crc into lower half of shift2 + shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; - // if r/w tag, check ident match - if ( shift3&(1<<15) ) { - DbpString("Info: TI tag is rewriteable"); - // only 15 bits compare, last bit of ident is not valid - if ( ((shift3>>16)^shift0)&0x7fff ) { - DbpString("Error: Ident mismatch!"); - } else { - DbpString("Info: TI tag ident is valid"); - } - } else { - DbpString("Info: TI tag is readonly"); - } + // if r/w tag, check ident match + if ( shift3&(1<<15) ) { + DbpString("Info: TI tag is rewriteable"); + // only 15 bits compare, last bit of ident is not valid + if ( ((shift3>>16)^shift0)&0x7fff ) { + DbpString("Error: Ident mismatch!"); + } else { + DbpString("Info: TI tag ident is valid"); + } + } else { + DbpString("Info: TI tag is readonly"); + } - // WARNING the order of the bytes in which we calc crc below needs checking - // i'm 99% sure the crc algorithm is correct, but it may need to eat the - // bytes in reverse or something - // calculate CRC - uint32_t crc=0; + // WARNING the order of the bytes in which we calc crc below needs checking + // i'm 99% sure the crc algorithm is correct, but it may need to eat the + // bytes in reverse or something + // calculate CRC + uint32_t crc=0; - crc = update_crc16(crc, (shift0)&0xff); - crc = update_crc16(crc, (shift0>>8)&0xff); - crc = update_crc16(crc, (shift0>>16)&0xff); - crc = update_crc16(crc, (shift0>>24)&0xff); - crc = update_crc16(crc, (shift1)&0xff); - crc = update_crc16(crc, (shift1>>8)&0xff); - crc = update_crc16(crc, (shift1>>16)&0xff); - crc = update_crc16(crc, (shift1>>24)&0xff); + crc = update_crc16(crc, (shift0)&0xff); + crc = update_crc16(crc, (shift0>>8)&0xff); + crc = update_crc16(crc, (shift0>>16)&0xff); + crc = update_crc16(crc, (shift0>>24)&0xff); + crc = update_crc16(crc, (shift1)&0xff); + crc = update_crc16(crc, (shift1>>8)&0xff); + crc = update_crc16(crc, (shift1>>16)&0xff); + crc = update_crc16(crc, (shift1>>24)&0xff); - Dbprintf("Info: Tag data: %x%08x, crc=%x", - (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); - if (crc != (shift2&0xffff)) { - Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); - } else { - DbpString("Info: CRC is good"); - } - } + Dbprintf("Info: Tag data: %x%08x, crc=%x", + (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); + if (crc != (shift2&0xffff)) { + Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); + } else { + DbpString("Info: CRC is good"); + } + } } void WriteTIbyte(uint8_t b) { - int i = 0; + int i = 0; - // modulate 8 bits out to the antenna - for (i=0; i<8; i++) - { - if (b&(1<PIO_PDR = GPIO_SSC_DIN; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; + // Set up the synchronous serial port + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DIN; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; - // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long - // 48/2 = 24 MHz clock must be divided by 12 - AT91C_BASE_SSC->SSC_CMR = 12; + // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long + // 48/2 = 24 MHz clock must be divided by 12 + AT91C_BASE_SSC->SSC_CMR = 12; - AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); - AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; - AT91C_BASE_SSC->SSC_TCMR = 0; - AT91C_BASE_SSC->SSC_TFMR = 0; + AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); + AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; + AT91C_BASE_SSC->SSC_TCMR = 0; + AT91C_BASE_SSC->SSC_TFMR = 0; - LED_D_ON(); + LED_D_ON(); - // modulate antenna - HIGH(GPIO_SSC_DOUT); + // modulate antenna + HIGH(GPIO_SSC_DOUT); - // Charge TI tag for 50ms. - SpinDelay(50); + // Charge TI tag for 50ms. + SpinDelay(50); - // stop modulating antenna and listen - LOW(GPIO_SSC_DOUT); + // stop modulating antenna and listen + LOW(GPIO_SSC_DOUT); - LED_D_OFF(); + LED_D_OFF(); - i = 0; - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer - i++; if(i >= TIBUFLEN) break; - } - WDT_HIT(); - } + i = 0; + for(;;) { + if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer + i++; if(i >= TIBUFLEN) break; + } + WDT_HIT(); + } - // return stolen pin to SSP - AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; + // return stolen pin to SSP + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; - char *dest = (char *)BigBuf; - n = TIBUFLEN*32; - // unpack buffer - for (i=TIBUFLEN-1; i>=0; i--) { - for (j=0; j<32; j++) { - if(BigBuf[i] & (1 << j)) { - dest[--n] = 1; - } else { - dest[--n] = -1; - } - } - } + char *dest = (char *)BigBuf; + n = TIBUFLEN*32; + // unpack buffer + for (i=TIBUFLEN-1; i>=0; i--) { + for (j=0; j<32; j++) { + if(BigBuf[i] & (1 << j)) { + dest[--n] = 1; + } else { + dest[--n] = -1; + } + } + } } // arguments: 64bit data split into 32bit idhi:idlo and optional 16bit crc @@ -400,127 +400,127 @@ void AcquireTiType(void) // if not provided a valid crc will be computed from the data and written. void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if(crc == 0) { - crc = update_crc16(crc, (idlo)&0xff); - crc = update_crc16(crc, (idlo>>8)&0xff); - crc = update_crc16(crc, (idlo>>16)&0xff); - crc = update_crc16(crc, (idlo>>24)&0xff); - crc = update_crc16(crc, (idhi)&0xff); - crc = update_crc16(crc, (idhi>>8)&0xff); - crc = update_crc16(crc, (idhi>>16)&0xff); - crc = update_crc16(crc, (idhi>>24)&0xff); - } - Dbprintf("Writing to tag: %x%08x, crc=%x", - (unsigned int) idhi, (unsigned int) idlo, crc); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if(crc == 0) { + crc = update_crc16(crc, (idlo)&0xff); + crc = update_crc16(crc, (idlo>>8)&0xff); + crc = update_crc16(crc, (idlo>>16)&0xff); + crc = update_crc16(crc, (idlo>>24)&0xff); + crc = update_crc16(crc, (idhi)&0xff); + crc = update_crc16(crc, (idhi>>8)&0xff); + crc = update_crc16(crc, (idhi>>16)&0xff); + crc = update_crc16(crc, (idhi>>24)&0xff); + } + Dbprintf("Writing to tag: %x%08x, crc=%x", + (unsigned int) idhi, (unsigned int) idlo, crc); - // TI tags charge at 134.2Khz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - LED_A_ON(); + // TI tags charge at 134.2Khz + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + LED_A_ON(); - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - // writing algorithm: - // a high bit consists of a field off for 1ms and field on for 1ms - // a low bit consists of a field off for 0.3ms and field on for 1.7ms - // initiate a charge time of 50ms (field on) then immediately start writing bits - // start by writing 0xBB (keyword) and 0xEB (password) - // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) - // finally end with 0x0300 (write frame) - // all data is sent lsb firts - // finish with 15ms programming time + // writing algorithm: + // a high bit consists of a field off for 1ms and field on for 1ms + // a low bit consists of a field off for 0.3ms and field on for 1.7ms + // initiate a charge time of 50ms (field on) then immediately start writing bits + // start by writing 0xBB (keyword) and 0xEB (password) + // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) + // finally end with 0x0300 (write frame) + // all data is sent lsb firts + // finish with 15ms programming time - // modulate antenna - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // charge time + // modulate antenna + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // charge time - WriteTIbyte(0xbb); // keyword - WriteTIbyte(0xeb); // password - WriteTIbyte( (idlo )&0xff ); - WriteTIbyte( (idlo>>8 )&0xff ); - WriteTIbyte( (idlo>>16)&0xff ); - WriteTIbyte( (idlo>>24)&0xff ); - WriteTIbyte( (idhi )&0xff ); - WriteTIbyte( (idhi>>8 )&0xff ); - WriteTIbyte( (idhi>>16)&0xff ); - WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo - WriteTIbyte( (crc )&0xff ); // crc lo - WriteTIbyte( (crc>>8 )&0xff ); // crc hi - WriteTIbyte(0x00); // write frame lo - WriteTIbyte(0x03); // write frame hi - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // programming time + WriteTIbyte(0xbb); // keyword + WriteTIbyte(0xeb); // password + WriteTIbyte( (idlo )&0xff ); + WriteTIbyte( (idlo>>8 )&0xff ); + WriteTIbyte( (idlo>>16)&0xff ); + WriteTIbyte( (idlo>>24)&0xff ); + WriteTIbyte( (idhi )&0xff ); + WriteTIbyte( (idhi>>8 )&0xff ); + WriteTIbyte( (idhi>>16)&0xff ); + WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo + WriteTIbyte( (crc )&0xff ); // crc lo + WriteTIbyte( (crc>>8 )&0xff ); // crc hi + WriteTIbyte(0x00); // write frame lo + WriteTIbyte(0x03); // write frame hi + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // programming time - LED_A_OFF(); + LED_A_OFF(); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - DbpString("Now use tiread to check"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + DbpString("Now use tiread to check"); } void SimulateTagLowFrequency(int period, int gap, int ledcontrol) { - int i; - uint8_t *tab = (uint8_t *)BigBuf; + int i; + uint8_t *tab = (uint8_t *)BigBuf; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; #define SHORT_COIL() LOW(GPIO_SSC_DOUT) #define OPEN_COIL() HIGH(GPIO_SSC_DOUT) - i = 0; - for(;;) { - while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } + i = 0; + for(;;) { + while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } - if (ledcontrol) - LED_D_ON(); + if (ledcontrol) + LED_D_ON(); - if(tab[i]) - OPEN_COIL(); - else - SHORT_COIL(); + if(tab[i]) + OPEN_COIL(); + else + SHORT_COIL(); - if (ledcontrol) - LED_D_OFF(); + if (ledcontrol) + LED_D_OFF(); - while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } + while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } - i++; - if(i == period) { - i = 0; - if (gap) { - SHORT_COIL(); - SpinDelayUs(gap); - } - } - } + i++; + if(i == period) { + i = 0; + if (gap) { + SHORT_COIL(); + SpinDelayUs(gap); + } + } + } } #define DEBUG_FRAME_CONTENTS 1 @@ -530,318 +530,314 @@ void SimulateTagLowFrequencyBidir(int divisor, int t0) // compose fc/8 fc/10 waveform static void fc(int c, int *n) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx; + uint8_t *dest = (uint8_t *)BigBuf; + int idx; - // for when we want an fc8 pattern every 4 logical bits - if(c==0) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples - if(c==8) { - for (idx=0; idx<6; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // for when we want an fc8 pattern every 4 logical bits + if(c==0) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples + if(c==8) { + for (idx=0; idx<6; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } - // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples - if(c==10) { - for (idx=0; idx<5; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples + if(c==10) { + for (idx=0; idx<5; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } } // prepare a waveform pattern in the buffer based on the ID given then // simulate a HID tag until the button is pressed void CmdHIDsimTAG(int hi, int lo, int ledcontrol) { - int n=0, i=0; - /* - HID tag bitstream format - The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits - A 1 bit is represented as 6 fc8 and 5 fc10 patterns - A 0 bit is represented as 5 fc10 and 6 fc8 patterns - A fc8 is inserted before every 4 bits - A special start of frame pattern is used consisting a0b0 where a and b are neither 0 - nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) - */ + int n=0, i=0; + /* + HID tag bitstream format + The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits + A 1 bit is represented as 6 fc8 and 5 fc10 patterns + A 0 bit is represented as 5 fc10 and 6 fc8 patterns + A fc8 is inserted before every 4 bits + A special start of frame pattern is used consisting a0b0 where a and b are neither 0 + nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) + */ - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - fc(0,&n); - // special start of frame marker containing invalid bit sequences - fc(8, &n); fc(8, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 - fc(10, &n); fc(10, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + fc(0,&n); + // special start of frame marker containing invalid bit sequences + fc(8, &n); fc(8, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 + fc(10, &n); fc(10, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 - WDT_HIT(); - // manchester encode bits 43 to 32 - for (i=11; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((hi>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 43 to 32 + for (i=11; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((hi>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - WDT_HIT(); - // manchester encode bits 31 to 0 - for (i=31; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((lo>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 31 to 0 + for (i=31; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((lo>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - if (ledcontrol) - LED_A_ON(); - SimulateTagLowFrequency(n, 0, ledcontrol); + if (ledcontrol) + LED_A_ON(); + SimulateTagLowFrequency(n, 0, ledcontrol); - if (ledcontrol) - LED_A_OFF(); + if (ledcontrol) + LED_A_OFF(); } // loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t hi2=0, hi=0, lo=0; + size_t size=0; //, found=0; + uint32_t hi2=0, hi=0, lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + if (size < 2000) continue; + // FSK demodulator - int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); - - WDT_HIT(); + int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); - if (bitLen>0 && lo>0){ - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - if (hi2 != 0){ //extra large HID tags - Dbprintf("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - }else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t bitlen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - bitlen =idx3+19; - fc =0; - cardnum=0; - if(bitlen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(bitlen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(bitlen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - bitlen= 37; - fc =0; - cardnum=0; - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - //Dbprintf("TAG ID: %x%08x (%d)", - // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - // reset - hi2 = hi = lo = 0; - } - WDT_HIT(); - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + WDT_HIT(); + + if (bitLen>0 && lo>0){ + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + if (hi2 != 0){ //extra large HID tags + Dbprintf("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + }else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; + } + bitlen =idx3+19; + fc =0; + cardnum=0; + if(bitlen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + //Dbprintf("TAG ID: %x%08x (%d)", + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + // reset + hi2 = hi = lo = 0; + } + WDT_HIT(); + //SpinDelay(50); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - int bitLen=0; - int clk=0, invert=0, errCnt=0; - uint64_t lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + size_t size=0; //, found=0; + uint32_t bitLen=0; + int clk=0, invert=0, errCnt=0; + uint64_t lo=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator - //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); - bitLen=size; - //Dbprintf("DEBUG: Buffer got"); - errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); - //Dbprintf("DEBUG: ASK Got"); - WDT_HIT(); + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + if (size < 2000) continue; + // FSK demodulator + //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); + bitLen=size; + //Dbprintf("DEBUG: Buffer got"); + errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); + //Dbprintf("DEBUG: ASK Got"); + WDT_HIT(); - if (errCnt>=0){ - lo = Em410xDecode(dest,bitLen); - //Dbprintf("DEBUG: EM GOT"); - //printEM410x(lo); - if (lo>0){ - Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - } else{ - //Dbprintf("DEBUG: No Tag"); - } - WDT_HIT(); - lo = 0; - clk=0; - invert=0; - errCnt=0; - size=0; - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + if (errCnt>=0){ + lo = Em410xDecode(dest,bitLen); + //Dbprintf("DEBUG: EM GOT"); + //printEM410x(lo); + if (lo>0){ + Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + } else{ + //Dbprintf("DEBUG: No Tag"); + } + WDT_HIT(); + lo = 0; + clk=0; + invert=0; + errCnt=0; + size=0; + //SpinDelay(50); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; - int idx=0; - uint32_t code=0, code2=0; - uint8_t version=0; - uint8_t facilitycode=0; - uint16_t number=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); - - while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - //make sure buffer has data - if (size < 2000) continue; - //fskdemod and get start index - WDT_HIT(); - idx = IOdemodFSK(dest,size); - if (idx>0){ - //valid tag found + uint8_t *dest = (uint8_t *)BigBuf; + int idx=0; + uint32_t code=0, code2=0; + uint8_t version=0; + uint8_t facilitycode=0; + uint16_t number=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - if(findone){ //only print binary if we are doing one - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); - Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); - } - code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); - version = bytebits_to_byte(dest+idx+27,8); //14,4 - facilitycode = bytebits_to_byte(dest+idx+18,8) ; - number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 - - Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - // if we're only looking for one tag - if (findone){ - if (ledcontrol) LED_A_OFF(); - //LED_A_OFF(); - return; - } - code=code2=0; - version=facilitycode=0; - number=0; - idx=0; - } - WDT_HIT(); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + while(!BUTTON_PRESS()) { + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + DoAcquisition125k_internal(-1,true); + //fskdemod and get start index + WDT_HIT(); + idx = IOdemodFSK(dest,sizeof(BigBuf)); + if (idx>0){ + //valid tag found + + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + if(findone){ //only print binary if we are doing one + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); + Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); + } + code = bytebits_to_byte(dest+idx,32); + code2 = bytebits_to_byte(dest+idx+32,32); + version = bytebits_to_byte(dest+idx+27,8); //14,4 + facilitycode = bytebits_to_byte(dest+idx+18,8) ; + number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 + + Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + // if we're only looking for one tag + if (findone){ + if (ledcontrol) LED_A_OFF(); + //LED_A_OFF(); + return; + } + code=code2=0; + version=facilitycode=0; + number=0; + idx=0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } /*------------------------------ @@ -911,307 +907,307 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) // Write one bit to card void T55xxWriteBit(int bit) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - if (bit == 0) - SpinDelayUs(WRITE_0); - else - SpinDelayUs(WRITE_1); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(WRITE_GAP); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + if (bit == 0) + SpinDelayUs(WRITE_0); + else + SpinDelayUs(WRITE_1); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(WRITE_GAP); } // Write one card block in page 0, no lock void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - //unsigned int i; //enio adjustment 12/10/14 - uint32_t i; + //unsigned int i; //enio adjustment 12/10/14 + uint32_t i; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); + + // Data for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); + T55xxWriteBit(Data & i); - // Data - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Data & i); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); - - // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, - // so wait a little more) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, + // so wait a little more) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); } // Read one card block in page 0 void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - uint8_t *dest = (uint8_t *)BigBuf; - //int m=0, i=0; //enio adjustment 12/10/14 - uint32_t m=0, i=0; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); - - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; - i++; - if (i >= m) break; - } - } - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + uint8_t *dest = (uint8_t *)BigBuf; + //int m=0, i=0; //enio adjustment 12/10/14 + uint32_t m=0, i=0; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); + + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); + + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; + i++; + if (i >= m) break; + } + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } // Read card traceability data (page 1) void T55xxReadTrace(void){ - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; - - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(1); //Page 1 - - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; + + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); + + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(1); //Page 1 + + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } /*-------------- Cloning routines -----------*/ // Copy HID id to card and setup block 0 config void CopyHIDtoT55x7(uint32_t hi2, uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format - int last_block = 0; - - if (longFMT){ - // Ensure no more than 84 bits supplied - if (hi2>0xFFFFF) { - DbpString("Tags can only have 84 bits."); - return; - } - // Build the 6 data blocks for supplied 84bit ID - last_block = 6; - data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) - for (int i=0;i<4;i++) { - if (hi2 & (1<<(19-i))) - data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((3-i)*2)); // 0 -> 01 - } - - data2 = 0; - for (int i=0;i<16;i++) { - if (hi2 & (1<<(15-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 + int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format + int last_block = 0; + + if (longFMT){ + // Ensure no more than 84 bits supplied + if (hi2>0xFFFFF) { + DbpString("Tags can only have 84 bits."); + return; + } + // Build the 6 data blocks for supplied 84bit ID + last_block = 6; + data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) + for (int i=0;i<4;i++) { + if (hi2 & (1<<(19-i))) + data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((3-i)*2)); // 0 -> 01 + } + + data2 = 0; + for (int i=0;i<16;i++) { + if (hi2 & (1<<(15-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data3 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(31-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data4 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(15-i))) + data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data4 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data5 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data5 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data6 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data6 |= (1<<((15-i)*2)); // 0 -> 01 + } } - - data3 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(31-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data4 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(15-i))) - data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data4 |= (1<<((15-i)*2)); // 0 -> 01 + else { + // Ensure no more than 44 bits supplied + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + + // Build the 3 data blocks for supplied 44bit ID + last_block = 3; + + data1 = 0x1D000000; // load preamble + + for (int i=0;i<12;i++) { + if (hi & (1<<(11-i))) + data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((11-i)*2)); // 0 -> 01 + } + + data2 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data3 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } } - - data5 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data5 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data6 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data6 |= (1<<((15-i)*2)); // 0 -> 01 + + LED_D_ON(); + // Program the data blocks for supplied ID + // and the block 0 for HID format + T55xxWriteBlock(data1,1,0,0); + T55xxWriteBlock(data2,2,0,0); + T55xxWriteBlock(data3,3,0,0); + + if (longFMT) { // if long format there are 6 blocks + T55xxWriteBlock(data4,4,0,0); + T55xxWriteBlock(data5,5,0,0); + T55xxWriteBlock(data6,6,0,0); } - } - else { - // Ensure no more than 44 bits supplied - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - - // Build the 3 data blocks for supplied 44bit ID - last_block = 3; - - data1 = 0x1D000000; // load preamble - - for (int i=0;i<12;i++) { - if (hi & (1<<(11-i))) - data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((11-i)*2)); // 0 -> 01 - } - - data2 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data3 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - } - - LED_D_ON(); - // Program the data blocks for supplied ID - // and the block 0 for HID format - T55xxWriteBlock(data1,1,0,0); - T55xxWriteBlock(data2,2,0,0); - T55xxWriteBlock(data3,3,0,0); - - if (longFMT) { // if long format there are 6 blocks - T55xxWriteBlock(data4,4,0,0); - T55xxWriteBlock(data5,5,0,0); - T55xxWriteBlock(data6,6,0,0); - } - - // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) - T55xxWriteBlock(T55x7_BITRATE_RF_50 | - T55x7_MODULATION_FSK2a | - last_block << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - - LED_D_OFF(); - - DbpString("DONE!"); + + // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) + T55xxWriteBlock(T55x7_BITRATE_RF_50 | + T55x7_MODULATION_FSK2a | + last_block << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + + LED_D_OFF(); + + DbpString("DONE!"); } void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0; //up to six blocks for long format - + int data1=0, data2=0; //up to six blocks for long format + data1 = hi; // load preamble data2 = lo; @@ -1220,11 +1216,11 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) // and the block 0 for HID format T55xxWriteBlock(data1,1,0,0); T55xxWriteBlock(data2,2,0,0); - + //Config Block T55xxWriteBlock(0x00147040,0,0,0); LED_D_OFF(); - + DbpString("DONE!"); } @@ -1234,151 +1230,151 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) { - int i, id_bit; - uint64_t id = EM410X_HEADER; - uint64_t rev_id = 0; // reversed ID - int c_parity[4]; // column parity - int r_parity = 0; // row parity - uint32_t clock = 0; + int i, id_bit; + uint64_t id = EM410X_HEADER; + uint64_t rev_id = 0; // reversed ID + int c_parity[4]; // column parity + int r_parity = 0; // row parity + uint32_t clock = 0; - // Reverse ID bits given as parameter (for simpler operations) - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - if (i < 32) { - rev_id = (rev_id << 1) | (id_lo & 1); - id_lo >>= 1; - } else { - rev_id = (rev_id << 1) | (id_hi & 1); - id_hi >>= 1; - } - } + // Reverse ID bits given as parameter (for simpler operations) + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + if (i < 32) { + rev_id = (rev_id << 1) | (id_lo & 1); + id_lo >>= 1; + } else { + rev_id = (rev_id << 1) | (id_hi & 1); + id_hi >>= 1; + } + } - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - id_bit = rev_id & 1; + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + id_bit = rev_id & 1; - if (i % 4 == 0) { - // Don't write row parity bit at start of parsing - if (i) - id = (id << 1) | r_parity; - // Start counting parity for new row - r_parity = id_bit; - } else { - // Count row parity - r_parity ^= id_bit; - } + if (i % 4 == 0) { + // Don't write row parity bit at start of parsing + if (i) + id = (id << 1) | r_parity; + // Start counting parity for new row + r_parity = id_bit; + } else { + // Count row parity + r_parity ^= id_bit; + } - // First elements in column? - if (i < 4) - // Fill out first elements - c_parity[i] = id_bit; - else - // Count column parity - c_parity[i % 4] ^= id_bit; + // First elements in column? + if (i < 4) + // Fill out first elements + c_parity[i] = id_bit; + else + // Count column parity + c_parity[i % 4] ^= id_bit; - // Insert ID bit - id = (id << 1) | id_bit; - rev_id >>= 1; - } + // Insert ID bit + id = (id << 1) | id_bit; + rev_id >>= 1; + } - // Insert parity bit of last row - id = (id << 1) | r_parity; + // Insert parity bit of last row + id = (id << 1) | r_parity; - // Fill out column parity at the end of tag - for (i = 0; i < 4; ++i) - id = (id << 1) | c_parity[i]; + // Fill out column parity at the end of tag + for (i = 0; i < 4; ++i) + id = (id << 1) | c_parity[i]; - // Add stop bit - id <<= 1; + // Add stop bit + id <<= 1; - Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); - LED_D_ON(); + Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); + LED_D_ON(); - // Write EM410x ID - T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); - T55xxWriteBlock((uint32_t)id, 2, 0, 0); + // Write EM410x ID + T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); + T55xxWriteBlock((uint32_t)id, 2, 0, 0); - // Config for EM410x (RF/64, Manchester, Maxblock=2) - if (card) { - // Clock rate is stored in bits 8-15 of the card value - clock = (card & 0xFF00) >> 8; - Dbprintf("Clock rate: %d", clock); - switch (clock) - { - case 32: - clock = T55x7_BITRATE_RF_32; - break; - case 16: - clock = T55x7_BITRATE_RF_16; - break; - case 0: - // A value of 0 is assumed to be 64 for backwards-compatibility - // Fall through... - case 64: - clock = T55x7_BITRATE_RF_64; - break; - default: - Dbprintf("Invalid clock rate: %d", clock); - return; - } + // Config for EM410x (RF/64, Manchester, Maxblock=2) + if (card) { + // Clock rate is stored in bits 8-15 of the card value + clock = (card & 0xFF00) >> 8; + Dbprintf("Clock rate: %d", clock); + switch (clock) + { + case 32: + clock = T55x7_BITRATE_RF_32; + break; + case 16: + clock = T55x7_BITRATE_RF_16; + break; + case 0: + // A value of 0 is assumed to be 64 for backwards-compatibility + // Fall through... + case 64: + clock = T55x7_BITRATE_RF_64; + break; + default: + Dbprintf("Invalid clock rate: %d", clock); + return; + } - // Writing configuration for T55x7 tag - T55xxWriteBlock(clock | - T55x7_MODULATION_MANCHESTER | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - } - else - // Writing configuration for T5555(Q5) tag - T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | - T5555_MODULATION_MANCHESTER | - 2 << T5555_MAXBLOCK_SHIFT, - 0, 0, 0); + // Writing configuration for T55x7 tag + T55xxWriteBlock(clock | + T55x7_MODULATION_MANCHESTER | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + } + else + // Writing configuration for T5555(Q5) tag + T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | + T5555_MODULATION_MANCHESTER | + 2 << T5555_MAXBLOCK_SHIFT, + 0, 0, 0); - LED_D_OFF(); - Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", - (uint32_t)(id >> 32), (uint32_t)id); + LED_D_OFF(); + Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", + (uint32_t)(id >> 32), (uint32_t)id); } // Clone Indala 64-bit tag by UID to T55x7 void CopyIndala64toT55x7(int hi, int lo) { - //Program the 2 data blocks for supplied 64bit UID - // and the block 0 for Indala64 format - T55xxWriteBlock(hi,1,0,0); - T55xxWriteBlock(lo,2,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) -// T5567WriteBlock(0x603E1042,0); + //Program the 2 data blocks for supplied 64bit UID + // and the block 0 for Indala64 format + T55xxWriteBlock(hi,1,0,0); + T55xxWriteBlock(lo,2,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) + // T5567WriteBlock(0x603E1042,0); - DbpString("DONE!"); + DbpString("DONE!"); } void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int uid6, int uid7) { - //Program the 7 data blocks for supplied 224bit UID - // and the block 0 for Indala224 format - T55xxWriteBlock(uid1,1,0,0); - T55xxWriteBlock(uid2,2,0,0); - T55xxWriteBlock(uid3,3,0,0); - T55xxWriteBlock(uid4,4,0,0); - T55xxWriteBlock(uid5,5,0,0); - T55xxWriteBlock(uid6,6,0,0); - T55xxWriteBlock(uid7,7,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 7 << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) -// T5567WriteBlock(0x603E10E2,0); + //Program the 7 data blocks for supplied 224bit UID + // and the block 0 for Indala224 format + T55xxWriteBlock(uid1,1,0,0); + T55xxWriteBlock(uid2,2,0,0); + T55xxWriteBlock(uid3,3,0,0); + T55xxWriteBlock(uid4,4,0,0); + T55xxWriteBlock(uid5,5,0,0); + T55xxWriteBlock(uid6,6,0,0); + T55xxWriteBlock(uid7,7,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 7 << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) + // T5567WriteBlock(0x603E10E2,0); - DbpString("DONE!"); + DbpString("DONE!"); } @@ -1387,261 +1383,261 @@ void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int #define max(x,y) ( x GraphBuffer[0]) { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) - break; - i++; + uint8_t BitStream[256]; + uint8_t Blocks[8][16]; + uint8_t *GraphBuffer = (uint8_t *)BigBuf; + int GraphTraceLen = sizeof(BigBuf); + int i, j, lastval, bitidx, half_switch; + int clock = 64; + int tolerance = clock / 8; + int pmc, block_done; + int lc, warnings = 0; + int num_blocks = 0; + int lmin=128, lmax=128; + uint8_t dir; + + AcquireRawAdcSamples125k(0); + + lmin = 64; + lmax = 192; + + i = 2; + + /* Find first local max/min */ + if(GraphBuffer[1] > GraphBuffer[0]) { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) + break; + i++; + } + dir = 0; } - dir = 0; - } - else { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) - break; - i++; + else { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) + break; + i++; + } + dir = 1; } - dir = 1; - } - - lastval = i++; - half_switch = 0; - pmc = 0; - block_done = 0; - - for (bitidx = 0; i < GraphTraceLen; i++) - { - if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) - { - lc = i - lastval; - lastval = i; - - // Switch depending on lc length: - // Tolerance is 1/8 of clock rate (arbitrary) - if (abs(lc-clock/4) < tolerance) { - // 16T0 - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33+16)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else { - pmc = i; - } - } else if (abs(lc-clock/2) < tolerance) { - // 32TO - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else if(half_switch == 1) { - BitStream[bitidx++] = 0; - half_switch = 0; - } - else - half_switch++; - } else if (abs(lc-clock) < tolerance) { - // 64TO - BitStream[bitidx++] = 1; - } else { - // Error - warnings++; - if (warnings > 10) - { - Dbprintf("Error: too many detection errors, aborting."); - return 0; - } - } - - if(block_done == 1) { - if(bitidx == 128) { - for(j=0; j<16; j++) { - Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ - 64*BitStream[j*8+6]+ - 32*BitStream[j*8+5]+ - 16*BitStream[j*8+4]+ - 8*BitStream[j*8+3]+ - 4*BitStream[j*8+2]+ - 2*BitStream[j*8+1]+ - BitStream[j*8]; - } - num_blocks++; - } - bitidx = 0; - block_done = 0; - half_switch = 0; - } - if(i < GraphTraceLen) - { - if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; - else dir = 1; - } - } - if(bitidx==255) - bitidx=0; - warnings = 0; - if(num_blocks == 4) break; - } - memcpy(outBlocks, Blocks, 16*num_blocks); - return num_blocks; + + lastval = i++; + half_switch = 0; + pmc = 0; + block_done = 0; + + for (bitidx = 0; i < GraphTraceLen; i++) + { + if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) + { + lc = i - lastval; + lastval = i; + + // Switch depending on lc length: + // Tolerance is 1/8 of clock rate (arbitrary) + if (abs(lc-clock/4) < tolerance) { + // 16T0 + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33+16)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else { + pmc = i; + } + } else if (abs(lc-clock/2) < tolerance) { + // 32TO + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else if(half_switch == 1) { + BitStream[bitidx++] = 0; + half_switch = 0; + } + else + half_switch++; + } else if (abs(lc-clock) < tolerance) { + // 64TO + BitStream[bitidx++] = 1; + } else { + // Error + warnings++; + if (warnings > 10) + { + Dbprintf("Error: too many detection errors, aborting."); + return 0; + } + } + + if(block_done == 1) { + if(bitidx == 128) { + for(j=0; j<16; j++) { + Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ + 64*BitStream[j*8+6]+ + 32*BitStream[j*8+5]+ + 16*BitStream[j*8+4]+ + 8*BitStream[j*8+3]+ + 4*BitStream[j*8+2]+ + 2*BitStream[j*8+1]+ + BitStream[j*8]; + } + num_blocks++; + } + bitidx = 0; + block_done = 0; + half_switch = 0; + } + if(i < GraphTraceLen) + { + if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; + else dir = 1; + } + } + if(bitidx==255) + bitidx=0; + warnings = 0; + if(num_blocks == 4) break; + } + memcpy(outBlocks, Blocks, 16*num_blocks); + return num_blocks; } int IsBlock0PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled - return 1; - if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? - return 1; - return 0; + // Assume RFU means 0 :) + if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled + return 1; + if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? + return 1; + return 0; } int IsBlock1PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) - if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) - return 1; - - return 0; + // Assume RFU means 0 :) + if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) + if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) + return 1; + + return 0; } #define ALLOC 16 void ReadPCF7931() { - uint8_t Blocks[8][17]; - uint8_t tmpBlocks[4][16]; - int i, j, ind, ind2, n; - int num_blocks = 0; - int max_blocks = 8; - int ident = 0; - int error = 0; - int tries = 0; - - memset(Blocks, 0, 8*17*sizeof(uint8_t)); - - do { - memset(tmpBlocks, 0, 4*16*sizeof(uint8_t)); - n = DemodPCF7931((uint8_t**)tmpBlocks); - if(!n) - error++; - if(error==10 && num_blocks == 0) { - Dbprintf("Error, no tag or bad tag"); - return; - } - else if (tries==20 || error==10) { - Dbprintf("Error reading the tag"); - Dbprintf("Here is the partial content"); - goto end; - } - - for(i=0; i= 0; ind--,ind2--) { - if(ind2 < 0) - ind2 = max_blocks; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { - if(ind2 > max_blocks) - ind2 = 0; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - } - } + else if (tries==20 || error==10) { + Dbprintf("Error reading the tag"); + Dbprintf("Here is the partial content"); + goto end; } - } - } - tries++; - if (BUTTON_PRESS()) return; - } while (num_blocks != max_blocks); + + for(i=0; i= 0; ind--,ind2--) { + if(ind2 < 0) + ind2 = max_blocks; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { + if(ind2 > max_blocks) + ind2 = 0; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + } + } + } + } + } + tries++; + if (BUTTON_PRESS()) return; + } while (num_blocks != max_blocks); end: - Dbprintf("-----------------------------------------"); - Dbprintf("Memory content:"); - Dbprintf("-----------------------------------------"); - for(i=0; i", i); - } - Dbprintf("-----------------------------------------"); - - return ; + Dbprintf("-----------------------------------------"); + Dbprintf("Memory content:"); + Dbprintf("-----------------------------------------"); + for(i=0; i", i); + } + Dbprintf("-----------------------------------------"); + + return ; } @@ -1665,20 +1661,20 @@ uint8_t * fwd_write_ptr; //forwardlink bit pointer //==================================================================== //-------------------------------------------------------------------- uint8_t Prepare_Cmd( uint8_t cmd ) { - //-------------------------------------------------------------------- - - *forward_ptr++ = 0; //start bit - *forward_ptr++ = 0; //second pause for 4050 code - - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - - return 6; //return number of emited bits + //-------------------------------------------------------------------- + + *forward_ptr++ = 0; //start bit + *forward_ptr++ = 0; //second pause for 4050 code + + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + + return 6; //return number of emited bits } //==================================================================== @@ -1688,21 +1684,21 @@ uint8_t Prepare_Cmd( uint8_t cmd ) { //-------------------------------------------------------------------- uint8_t Prepare_Addr( uint8_t addr ) { - //-------------------------------------------------------------------- - - register uint8_t line_parity; - - uint8_t i; - line_parity = 0; - for(i=0;i<6;i++) { - *forward_ptr++ = addr; - line_parity ^= addr; - addr >>= 1; - } - - *forward_ptr++ = (line_parity & 1); - - return 7; //return number of emited bits + //-------------------------------------------------------------------- + + register uint8_t line_parity; + + uint8_t i; + line_parity = 0; + for(i=0;i<6;i++) { + *forward_ptr++ = addr; + line_parity ^= addr; + addr >>= 1; + } + + *forward_ptr++ = (line_parity & 1); + + return 7; //return number of emited bits } //==================================================================== @@ -1712,36 +1708,36 @@ uint8_t Prepare_Addr( uint8_t addr ) { //-------------------------------------------------------------------- uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { - //-------------------------------------------------------------------- - - register uint8_t line_parity; - register uint8_t column_parity; - register uint8_t i, j; - register uint16_t data; - - data = data_low; - column_parity = 0; - - for(i=0; i<4; i++) { - line_parity = 0; - for(j=0; j<8; j++) { - line_parity ^= data; - column_parity ^= (data & 1) << j; - *forward_ptr++ = data; - data >>= 1; + //-------------------------------------------------------------------- + + register uint8_t line_parity; + register uint8_t column_parity; + register uint8_t i, j; + register uint16_t data; + + data = data_low; + column_parity = 0; + + for(i=0; i<4; i++) { + line_parity = 0; + for(j=0; j<8; j++) { + line_parity ^= data; + column_parity ^= (data & 1) << j; + *forward_ptr++ = data; + data >>= 1; + } + *forward_ptr++ = line_parity; + if(i == 1) + data = data_hi; } - *forward_ptr++ = line_parity; - if(i == 1) - data = data_hi; - } - - for(j=0; j<8; j++) { - *forward_ptr++ = column_parity; - column_parity >>= 1; - } - *forward_ptr = 0; - - return 45; //return number of emited bits + + for(j=0; j<8; j++) { + *forward_ptr++ = column_parity; + column_parity >>= 1; + } + *forward_ptr = 0; + + return 45; //return number of emited bits } //==================================================================== @@ -1750,115 +1746,115 @@ uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { // fwd_bit_count set with number of bits to be sent //==================================================================== void SendForward(uint8_t fwd_bit_count) { - - fwd_write_ptr = forwardLink_data; - fwd_bit_sz = fwd_bit_count; - - LED_D_ON(); - - //Field on - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // force 1st mod pulse (start gap must be longer for 4305) - fwd_bit_sz--; //prepare next bit modulation - fwd_write_ptr++; - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(16*8); //16 cycles on (8us each) - - // now start writting - while(fwd_bit_sz-- > 0) { //prepare next bit modulation - if(((*fwd_write_ptr++) & 1) == 1) - SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) - else { - //These timings work for 4469/4269/4305 (with the 55*8 above) - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(23*8); //16-4 cycles off (8us each) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(9*8); //16 cycles on (8us each) + + fwd_write_ptr = forwardLink_data; + fwd_bit_sz = fwd_bit_count; + + LED_D_ON(); + + //Field on + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // force 1st mod pulse (start gap must be longer for 4305) + fwd_bit_sz--; //prepare next bit modulation + fwd_write_ptr++; + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(16*8); //16 cycles on (8us each) + + // now start writting + while(fwd_bit_sz-- > 0) { //prepare next bit modulation + if(((*fwd_write_ptr++) & 1) == 1) + SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) + else { + //These timings work for 4469/4269/4305 (with the 55*8 above) + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(23*8); //16-4 cycles off (8us each) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(9*8); //16 cycles on (8us each) + } } - } } void EM4xLogin(uint32_t Password) { - - uint8_t fwd_bit_count; - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); - fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); - - SendForward(fwd_bit_count); - - //Wait for command to complete - SpinDelay(20); - + + uint8_t fwd_bit_count; + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); + fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); + + SendForward(fwd_bit_count); + + //Wait for command to complete + SpinDelay(20); + } void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - - uint8_t fwd_bit_count; - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; - - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); - fwd_bit_count += Prepare_Addr( Address ); - - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - SendForward(fwd_bit_count); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; + + uint8_t fwd_bit_count; + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; + + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); + fwd_bit_count += Prepare_Addr( Address ); + + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + SendForward(fwd_bit_count); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } void EM4xWriteWord(uint32_t Data, uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - - uint8_t fwd_bit_count; - - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); - fwd_bit_count += Prepare_Addr( Address ); - fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); - - SendForward(fwd_bit_count); - - //Wait for write to complete - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + + uint8_t fwd_bit_count; + + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); + fwd_bit_count += Prepare_Addr( Address ); + fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); + + SendForward(fwd_bit_count); + + //Wait for write to complete + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } diff --git a/common/lfdemod.c b/common/lfdemod.c index ad4721f16..79c99f733 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -14,195 +14,195 @@ //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID -uint64_t Em410xDecode(uint8_t *BitStream, int BitLen) +uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) { - //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future - // otherwise could be a void with no arguments - //set defaults - int high=0, low=128; - uint64_t lo=0; //hi=0, + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + int high=0, low=128; + uint64_t lo=0; //hi=0, - uint32_t i = 0; - uint32_t initLoopMax = 65; - if (initLoopMax>BitLen) initLoopMax=BitLen; + uint32_t i = 0; + uint32_t initLoopMax = 65; + if (initLoopMax>BitLen) initLoopMax=BitLen; - for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values - { - if (BitStream[i] > high) - high = BitStream[i]; - else if (BitStream[i] < low) - low = BitStream[i]; - } - if (((high !=1)||(low !=0))){ //allow only 1s and 0s - // PrintAndLog("no data found"); - return 0; - } - uint8_t parityTest=0; - // 111111111 bit pattern represent start of frame - uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; - uint32_t idx = 0; - uint32_t ii=0; - uint8_t resetCnt = 0; - while( (idx + 64) < BitLen) { - restart: - // search for a start of frame marker - if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=9;//sizeof(frame_marker_mask); - for (i=0; i<10;i++){ - for(ii=0; ii<5; ++ii){ - parityTest += BitStream[(i*5)+ii+idx]; - } - if (parityTest== ((parityTest>>1)<<1)){ - parityTest=0; - for (ii=0; ii<4;++ii){ - //hi = (hi<<1)|(lo>>31); - lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); - } - //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); - }else {//parity failed - //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); - parityTest=0; - idx-=8; - if (resetCnt>5)return 0; - resetCnt++; - goto restart;//continue; - } - } - //skip last 5 bit parity test for simplicity. - return lo; - }else{ - idx++; + for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values + { + if (BitStream[i] > high) + high = BitStream[i]; + else if (BitStream[i] < low) + low = BitStream[i]; } - } - return 0; + if (((high !=1)||(low !=0))){ //allow only 1s and 0s + // PrintAndLog("no data found"); + return 0; + } + uint8_t parityTest=0; + // 111111111 bit pattern represent start of frame + uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t ii=0; + uint8_t resetCnt = 0; + while( (idx + 64) < BitLen) { +restart: + // search for a start of frame marker + if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=9;//sizeof(frame_marker_mask); + for (i=0; i<10;i++){ + for(ii=0; ii<5; ++ii){ + parityTest += BitStream[(i*5)+ii+idx]; + } + if (parityTest== ((parityTest>>1)<<1)){ + parityTest=0; + for (ii=0; ii<4;++ii){ + //hi = (hi<<1)|(lo>>31); + lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); + } + //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); + }else {//parity failed + //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); + parityTest=0; + idx-=8; + if (resetCnt>5)return 0; + resetCnt++; + goto restart;//continue; + } + } + //skip last 5 bit parity test for simplicity. + return lo; + }else{ + idx++; + } + } + return 0; } //by marshmellow //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask while decoding manchester //prints binary found and saves in graphbuffer for further commands -int askmandemod(uint8_t * BinStream, int *BitLen,int *clk, int *invert) +int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) { - int i; - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default + int i; + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert=0; - uint32_t initLoopMax = 200; - if (initLoopMax>*BitLen) initLoopMax=*BitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158) ){ //throw away static - //PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; - - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - int iii = 0; - uint32_t gLen = *BitLen; - if (gLen > 3000) gLen=3000; - uint8_t errCnt =0; - uint32_t bestStart = *BitLen; - uint32_t bestErrCnt = (*BitLen/1000); - uint32_t maxErr = (*BitLen/1000); - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - errCnt=0; - //loop through to see if this start location works - for (i = iii; i < *BitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over - } - } - if ((i-iii) >(400 * *clk)) break; //got plenty of bits - } - //we got more than 64 good bits and not all errors - if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt*BitLen) initLoopMax=*BitLen; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; } - } - if (bestErrCnt= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BinStream[bitnum] = *invert; - bitnum++; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BinStream[bitnum] = 1-*invert; - bitnum++; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BinStream[bitnum]=77; - bitnum++; - } - - lastBit+=*clk;//skip over error - } - } - if (bitnum >=400) break; + if ((high < 158) ){ //throw away static + //PrintAndLog("no data found"); + return -2; } - *BitLen=bitnum; - } else{ - *invert=bestStart; - *clk=iii; - return -1; - } - return bestErrCnt; + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; + + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + int iii = 0; + uint32_t gLen = *BitLen; + if (gLen > 3000) gLen=3000; + uint8_t errCnt =0; + uint32_t bestStart = *BitLen; + uint32_t bestErrCnt = (*BitLen/1000); + uint32_t maxErr = (*BitLen/1000); + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + errCnt=0; + //loop through to see if this start location works + for (i = iii; i < *BitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over + } + } + if ((i-iii) >(400 * *clk)) break; //got plenty of bits + } + //we got more than 64 good bits and not all errors + if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BinStream[bitnum] = *invert; + bitnum++; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BinStream[bitnum] = 1-*invert; + bitnum++; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BinStream[bitnum]=77; + bitnum++; + } + + lastBit+=*clk;//skip over error + } + } + if (bitnum >=400) break; + } + *BitLen=bitnum; + } else{ + *invert=bestStart; + *clk=iii; + return -1; + } + return bestErrCnt; } //by marshmellow @@ -210,46 +210,46 @@ int askmandemod(uint8_t * BinStream, int *BitLen,int *clk, int *invert) //run through 2 times and take least errCnt int manrawdecode(uint8_t * BitStream, int *bitLen) { - int bitnum=0; - int errCnt =0; - int i=1; - int bestErr = 1000; - int bestRun = 0; - int ii=1; - for (ii=1;ii<3;++ii){ - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - } else { - errCnt++; - } - if(bitnum>300) break; - } - if (bestErr>errCnt){ - bestErr=errCnt; - bestRun=ii; - } - errCnt=0; - } - errCnt=bestErr; - if (errCnt<20){ - ii=bestRun; - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - BitStream[bitnum++]=0; - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - BitStream[bitnum++]=1; - } else { - BitStream[bitnum++]=77; - //errCnt++; - } - if(bitnum>300) break; - } - *bitLen=bitnum; - } - return errCnt; + int bitnum=0; + int errCnt =0; + int i=1; + int bestErr = 1000; + int bestRun = 0; + int ii=1; + for (ii=1;ii<3;++ii){ + i=1; + for (i=i+ii;i<*bitLen-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + } else { + errCnt++; + } + if(bitnum>300) break; + } + if (bestErr>errCnt){ + bestErr=errCnt; + bestRun=ii; + } + errCnt=0; + } + errCnt=bestErr; + if (errCnt<20){ + ii=bestRun; + i=1; + for (i=i+ii;i<*bitLen-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + BitStream[bitnum++]=0; + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + BitStream[bitnum++]=1; + } else { + BitStream[bitnum++]=77; + //errCnt++; + } + if(bitnum>300) break; + } + *bitLen=bitnum; + } + return errCnt; } @@ -257,23 +257,23 @@ int manrawdecode(uint8_t * BitStream, int *bitLen) //take 01 or 10 = 0 and 11 or 00 = 1 int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) { - uint8_t bitnum=0; - uint32_t errCnt =0; - uint32_t i=1; - i=offset; - for (;i<*bitLen-2;i+=2){ - if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ - BitStream[bitnum++]=1; - } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ - BitStream[bitnum++]=0; - } else { - BitStream[bitnum++]=77; - errCnt++; + uint8_t bitnum=0; + uint32_t errCnt =0; + uint32_t i=1; + i=offset; + for (;i<*bitLen-2;i+=2){ + if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ + BitStream[bitnum++]=1; + } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ + BitStream[bitnum++]=0; + } else { + BitStream[bitnum++]=77; + errCnt++; + } + if(bitnum>250) break; } - if(bitnum>250) break; - } - *bitLen=bitnum; - return errCnt; + *bitLen=bitnum; + return errCnt; } //by marshmellow @@ -282,352 +282,352 @@ int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) //prints binary found and saves in graphbuffer for further commands int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) { - uint32_t i; - // int invert=0; //invert default - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default - uint8_t BitStream[502] = {0}; + uint32_t i; + // int invert=0; //invert default + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default + uint8_t BitStream[502] = {0}; - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert =0; - uint32_t initLoopMax = 200; - if (initLoopMax>*bitLen) initLoopMax=*bitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158)){ //throw away static - // PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + if (*clk<8) *clk =64; + if (*clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert =0; + uint32_t initLoopMax = 200; + if (initLoopMax>*bitLen) initLoopMax=*bitLen; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 158)){ //throw away static + // PrintAndLog("no data found"); + return -2; + } + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - uint32_t iii = 0; - uint32_t gLen = *bitLen; - if (gLen > 500) gLen=500; - uint8_t errCnt =0; - uint32_t bestStart = *bitLen; - uint32_t bestErrCnt = (*bitLen/1000); - uint8_t midBit=0; - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - //loop through to see if this start location works - for (i = iii; i < *bitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BitStream[bitnum] = *invert; - bitnum++; - midBit=0; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BitStream[bitnum] = 1-*invert; - bitnum++; - midBit=0; - } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= 1-*invert; - bitnum++; - } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= *invert; - bitnum++; - } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ - //no mid bar found - midBit=1; - BitStream[bitnum]= BitStream[bitnum-1]; - bitnum++; - } else { - //mid value found or no bar supposed to be here + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint32_t iii = 0; + uint32_t gLen = *bitLen; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + uint32_t bestStart = *bitLen; + uint32_t bestErrCnt = (*bitLen/1000); + uint8_t midBit=0; + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *bitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BitStream[bitnum] = *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BitStream[bitnum] = 1-*invert; + bitnum++; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= 1-*invert; + bitnum++; + } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= *invert; + bitnum++; + } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ + //no mid bar found + midBit=1; + BitStream[bitnum]= BitStream[bitnum-1]; + bitnum++; + } else { + //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BitStream[bitnum]=77; - bitnum++; + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BitStream[bitnum]=77; + bitnum++; + } + + + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over + errCnt=0; + bitnum=0;//start over + break; + } + } + } + if (bitnum>500) break; } - - - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over - errCnt=0; - bitnum=0;//start over - break; + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { + //possible good read + if (errCnt==0) break; //great read - finish + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt500) break; - } - //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { - //possible good read - if (errCnt==0) break; //great read - finish - if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish - if (errCnt=gLen){ //exhausted test + //if there was a ok test go back to that one and re-run the best run (then dump after that run) + if (bestErrCnt < (*bitLen/1000)) iii=bestStart; } - } } - if (iii>=gLen){ //exhausted test - //if there was a ok test go back to that one and re-run the best run (then dump after that run) - if (bestErrCnt < (*bitLen/1000)) iii=bestStart; - } - } - if (bitnum>16){ - - // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to BinStream - // ClearGraph(0); - for (i=0; i < bitnum; ++i){ - BinStream[i]=BitStream[i]; - } - *bitLen=bitnum; - // RepaintGraphWindow(); - //output - // if (errCnt>0){ - // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - // } - // PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - // printBitStream2(BitStream,bitnum); - //int errCnt=0; - //errCnt=manrawdemod(BitStream,bitnum); + if (bitnum>16){ - // Em410xDecode(Cmd); - } else return -1; - return errCnt; + // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to BinStream + // ClearGraph(0); + for (i=0; i < bitnum; ++i){ + BinStream[i]=BitStream[i]; + } + *bitLen=bitnum; + // RepaintGraphWindow(); + //output + // if (errCnt>0){ + // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + // } + // PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + // printBitStream2(BitStream,bitnum); + //int errCnt=0; + //errCnt=manrawdemod(BitStream,bitnum); + + // Em410xDecode(Cmd); + } else return -1; + return errCnt; } //translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow) { - uint32_t last_transition = 0; - uint32_t idx = 1; - uint32_t maxVal=0; - if (fchigh==0) fchigh=10; - if (fclow==0) fclow=8; - // we do care about the actual theshold value as sometimes near the center of the - // wave we may get static that changes direction of wave for one value - // if our value is too low it might affect the read. and if our tag or - // antenna is weak a setting too high might not see anything. [marshmellow] - if (size<100) return 0; - for(idx=1; idx<100; idx++){ - if(maxVal1 transition - if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise - //do nothing with extra garbage - } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves - dest[numBits]=1; - } else { //9+ = 10 waves - dest[numBits]=0; - } - last_transition = idx; - numBits++; - } - } - return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 + size_t numBits = 0; + // count cycles between consecutive lo-hi transitions, there should be either 8 (fc/8) + // or 10 (fc/10) cycles but in practice due to noise etc we may end up with with anywhere + // between 7 to 11 cycles so fuzz it by treat anything <9 as 8 and anything else as 10 + for(idx = 1; idx < size; idx++) { + // threshold current value + + if (dest[idx] < threshold_value) dest[idx] = 0; + else dest[idx] = 1; + + // Check for 0->1 transition + if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition + if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise + //do nothing with extra garbage + } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves + dest[numBits]=1; + } else { //9+ = 10 waves + dest[numBits]=0; + } + last_transition = idx; + numBits++; + } + } + return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 } uint32_t myround2(float f) { - if (f >= 2000) return 2000;//something bad happened - return (uint32_t) (f + (float)0.5); + if (f >= 2000) return 2000;//something bad happened + return (uint32_t) (f + (float)0.5); } //translate 11111100000 to 10 size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert,uint8_t fchigh,uint8_t fclow )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, { - uint8_t lastval=dest[0]; - uint32_t idx=0; - size_t numBits=0; - uint32_t n=1; + uint8_t lastval=dest[0]; + uint32_t idx=0; + size_t numBits=0; + uint32_t n=1; - for( idx=1; idx < size; idx++) { + for( idx=1; idx < size; idx++) { - if (dest[idx]==lastval) { - n++; - continue; - } - //if lastval was 1, we have a 1->0 crossing - if ( dest[idx-1]==1 ) { - n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); - //n=(n+1) / h2l_crossing_value; - } else {// 0->1 crossing - n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor - //n=(n+1) / l2h_crossing_value; - } - if (n == 0) n = 1; + if (dest[idx]==lastval) { + n++; + continue; + } + //if lastval was 1, we have a 1->0 crossing + if ( dest[idx-1]==1 ) { + n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); + //n=(n+1) / h2l_crossing_value; + } else {// 0->1 crossing + n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor + //n=(n+1) / l2h_crossing_value; + } + if (n == 0) n = 1; - if(n < maxConsequtiveBits) //Consecutive - { - if(invert==0){ //invert bits - memset(dest+numBits, dest[idx-1] , n); - }else{ - memset(dest+numBits, dest[idx-1]^1 , n); - } - numBits += n; - } - n=0; - lastval=dest[idx]; - }//end for - return numBits; + if(n < maxConsequtiveBits) //Consecutive + { + if(invert==0){ //invert bits + memset(dest+numBits, dest[idx-1] , n); + }else{ + memset(dest+numBits, dest[idx-1]^1 , n); + } + numBits += n; + } + n=0; + lastval=dest[idx]; + }//end for + return numBits; } //by marshmellow (from holiman's base) // full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod) int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow) { - // FSK demodulator - size = fsk_wave_demod(dest, size, fchigh, fclow); - size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); - return size; + // FSK demodulator + size = fsk_wave_demod(dest, size, fchigh, fclow); + size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); + return size; } // loop to get raw HID waveform then FSK demodulate the TAG ID from it int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { - - size_t idx=0; //, found=0; //size=0, - // FSK demodulator - size = fskdemod(dest, size,50,0,10,8); - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; - int numshifts = 0; - idx = 0; - //one scan - while( idx + sizeof(frame_marker_mask) < size) { - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - *hi2 = (*hi2<<1)|(*hi>>31); - *hi = (*hi<<1)|(*lo>>31); - //Then, shift in a 0 or one into low - if (dest[idx] && !dest[idx+1]) // 1 0 - *lo=(*lo<<1)|0; - else // 0 1 - *lo=(*lo<<1)|1; - numshifts++; - idx += 2; - } - // Hopefully, we read a tag and hit upon the next frame marker - if(idx + sizeof(frame_marker_mask) < size) - { - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - //good return - return idx; - } - } - // reset - *hi2 = *hi = *lo = 0; - numshifts = 0; - }else { - idx++; - } - } - return -1; + size_t idx=0; //, found=0; //size=0, + // FSK demodulator + size = fskdemod(dest, size,50,0,10,8); + + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; + int numshifts = 0; + idx = 0; + //one scan + while( idx + sizeof(frame_marker_mask) < size) { + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=sizeof(frame_marker_mask); + while(dest[idx] != dest[idx+1] && idx < size-2) + { + // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|0; + else // 0 1 + *lo=(*lo<<1)|1; + numshifts++; + idx += 2; + } + // Hopefully, we read a tag and hit upon the next frame marker + if(idx + sizeof(frame_marker_mask) < size) + { + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + //good return + return idx; + } + } + // reset + *hi2 = *hi = *lo = 0; + numshifts = 0; + }else { + idx++; + } + } + return -1; } uint32_t bytebits_to_byte(uint8_t* src, int numbits) { - uint32_t num = 0; - for(int i = 0 ; i < numbits ; i++) - { - num = (num << 1) | (*src); - src++; - } - return num; + uint32_t num = 0; + for(int i = 0 ; i < numbits ; i++) + { + num = (num << 1) | (*src); + src++; + } + return num; } int IOdemodFSK(uint8_t *dest, size_t size) { - uint32_t idx=0; - //make sure buffer has data - if (size < 66) return -1; - //test samples are not just noise - uint8_t testMax=0; - for(idx=0;idx<65;idx++){ - if (testMax170){ - // FSK demodulator - size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert - if (size < 65) return -1; //did we get a good demod? - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 65); idx++) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - //frame marker found - if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ - //confirmed proper separator bits found - //return start position - return (int) idx; - } - } - } - } - return 0; + uint32_t idx=0; + //make sure buffer has data + if (size < 66) return -1; + //test samples are not just noise + uint8_t testMax=0; + for(idx=0;idx<65;idx++){ + if (testMax20){ + // FSK demodulator + size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert + if (size < 65) return -1; //did we get a good demod? + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 65); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + //frame marker found + if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ + //confirmed proper separator bits found + //return start position + return (int) idx; + } + } + } + } + return 0; } // by marshmellow @@ -635,521 +635,67 @@ int IOdemodFSK(uint8_t *dest, size_t size) // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(uint8_t dest[], size_t size, int clock) { - int i=0; - int peak=0; - int low=128; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 256; //don't need to loop through entire array... - if (sizepeak){ - peak = dest[i]; - } - if(dest[i]=peak) || (dest[ii]<=low)){ - errCnt=0; - // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ - if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt++; - } + //get high and low peak + for (i=0;ipeak){ + peak = dest[i]; } - //if we found no errors this is correct one - return this clock - if(errCnt==0) return clk[clkCnt]; - //if we found errors see if it is lowest so far and save it as best run - if(errCntpeak){ - peak = dest[i]; - } - if(dest[i]=peak) || (dest[ii]<=low)){ - errCnt=0; - peakcnt=0; - // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ - if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - peakcnt++; - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ - peakcnt++; - }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ - peakcnt++; - }else{ //error no peak detected - errCnt++; - } + if(dest[i]peaksdet[clkCnt]) { - peaksdet[clkCnt]=peakcnt; - bestErr[clkCnt]=errCnt; - } - } - } - } - int iii=0; - int best=0; - //int ratio2; //debug - int ratio; - //int bits; - for (iii=0; iii<7;++iii){ - ratio=1000; - //ratio2=1000; //debug - //bits=size/clk[iii]; //debug - if (peaksdet[iii]>0){ - ratio=bestErr[iii]/peaksdet[iii]; - if (((bestErr[best]/peaksdet[best])>(ratio)+1)){ - best = iii; - } - //ratio2=bits/peaksdet[iii]; //debug - } - //PrintAndLog("DEBUG: Clk: %d, peaks: %d, errs: %d, bestClk: %d, ratio: %d, bits: %d, peakbitr: %d",clk[iii],peaksdet[iii],bestErr[iii],clk[best],ratio, bits,ratio2); - } - return clk[best]; -} - -/* -int DetectNRZpskClock(uint8_t dest[], size_t size, int clock) -{ - int i=0; - int peak=0; - int low=128; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 1500; //don't need to loop through entire array... - if (sizepeak){ - peak = dest[i]; } - if(dest[i]=peak) || (dest[ii]<=low)){ - lastClk = ii-*clk; - errCnt[clkCnt]=0; - // now that we have the first one lined up test rest of wave array - for (i=ii; i=peak || dest[i]<=low) && (i>=lastClk+*clk-tol && i<=lastClk+*clk+tol)){ - bitHigh=1; - lastClk=lastClk+*clk; - ignorewin=clk[clkCnt]/8; - }else if(dest[i]low) { - if (ignorewin==0){ - bitHigh=0; - }else ignorewin--; - if (i>=lastClk+*clk+tol){ //past possible bar - lowBitCnt[clkCnt]++; + peak=(int)((peak-128)*.75)+128; + low= (int)((low-128)*.75)+128; + int ii; + int clkCnt; + int tol = 0; + int bestErr=1000; + int errCnt[]={0,0,0,0,0,0,0,0}; + //test each valid clock from smallest to greatest to see which lines up + for(clkCnt=0; clkCnt<6;++clkCnt){ + if (clk[clkCnt]==32){ + tol=1; + }else{ + tol=0; + } + bestErr=1000; + //try lining up the peaks by moving starting point (try first 256) + for (ii=0; ii=peak) || (dest[ii]<=low)){ + errCnt[clkCnt]=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt[clkCnt]++; + } + } + //if we found no errors this is correct one - return this clock + if(errCnt[clkCnt]==0) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCnt[clkCnt]=peak || dest[i]<=low) && (i=lastClk+*clk+tol) && (bitHigh==0)){ - //error bar found no clock... - errCnt[clkCnt]++; - } } - //if we found no errors this is correct one - return this clock - if(errCnt[clkCnt]==0 && lowBitCnt[clkCnt]==0) return clk[clkCnt]; - //if we found errors see if it is lowest so far and save it as best run - if(errCnt[clkCnt]high) high=bitStream[i]; - } - high = (int)(((high-128)*.80)+128); - low = (int)(((low-128)*.90)+128); - //low = (uint8_t)(((int)(low)-128)*.80)+128; - for (i=0; i=high) newHigh=1; - } - return; -} - -int indala26decode(uint8_t *bitStream, int *bitLen, uint8_t *invert) -{ - //26 bit 40134 format (don't know other formats) - // Finding the start of a UID - int i; - int long_wait; - //uidlen = 64; - long_wait = 29;//29 leading zeros in format - int start; - int first = 0; - int first2 = 0; - int bitCnt = 0; - int ii; - for (start = 0; start <= *bitLen - 250; start++) { - first = bitStream[start]; - for (i = start; i < start + long_wait; i++) { - if (bitStream[i] != first) { - break; - } - } - if (i == (start + long_wait)) { - break; - } - } - if (start == *bitLen - 250 + 1) { - // did not find start sequence - return -1; - } - //found start once now test length by finding next one - // Inverting signal if needed - if (first == 1) { - for (i = start; i < *bitLen; i++) { - bitStream[i] = !bitStream[i]; - } - *invert = 1; - }else *invert=0; - - int iii; - for (ii=start+29; ii <= *bitLen - 250; ii++) { - first2 = bitStream[ii]; - for (iii = ii; iii < ii + long_wait; iii++) { - if (bitStream[iii] != first2) { - break; - } - } - if (iii == (ii + long_wait)) { - break; - } - } - if (ii== *bitLen - 250 + 1){ - // did not find second start sequence - return -2; - } - bitCnt=ii-start; - - // Dumping UID - i = start; - for (ii = 0; ii < bitCnt; ii++) { - bitStream[ii] = bitStream[i++]; - //showbits[bit] = '0' + bits[bit]; - } - *bitLen=bitCnt; - return 1; -} - -int pskNRZrawDemod(uint8_t *dest, int *bitLen, int *clk, int *invert) -{ - pskCleanWave(dest,*bitLen); - int clk2 = DetectpskNRZClock(dest, *bitLen, *clk); - *clk=clk2; - uint32_t i; - uint8_t high=0, low=128; - uint32_t gLen = *bitLen; - if (gLen > 1280) gLen=1280; - // get high - for (i=0; ihigh) high = dest[i]; - if (dest[i]=high)||(dest[iii]<=low)){ - lastBit=iii-*clk; - //loop through to see if this start location works - for (i = iii; i < *bitLen; ++i) { - //if we found a high bar and we are at a clock bit - if ((dest[i]>=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ - bitHigh=1; - lastBit+=*clk; - //curBit=1-*invert; - //dest[bitnum]=curBit; - ignorewin=*clk/8; - bitnum++; - //else if low bar found and we are at a clock point - }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ - bitHigh=1; - lastBit+=*clk; - ignorewin=*clk/8; - //curBit=*invert; - //dest[bitnum]=curBit; - bitnum++; - //else if no bars found - }else if(dest[i]low) { - if (ignorewin==0){ - bitHigh=0; - }else ignorewin--; - //if we are past a clock point - if (i>=lastBit+*clk+tol){ //clock val - //dest[bitnum]=curBit; - lastBit+=*clk; - bitnum++; - } - //else if bar found but we are not at a clock bit and we did not just have a clock bit - }else if ((dest[i]>=high || dest[i]<=low) && (ilastBit+*clk+tol) && (bitHigh==0)){ - //error bar found no clock... - errCnt++; - } - if (bitnum>=1000) break; - } - //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(maxErr))) { - //possible good read - if (errCnt==0){ - bestStart = iii; - bestErrCnt=errCnt; - break; //great read - finish + int iii=0; + int best=0; + for (iii=0; iii<6;++iii){ + if (errCnt[iii]=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ - bitHigh=1; - lastBit+=*clk; - curBit=1-*invert; - dest[bitnum]=curBit; - ignorewin=*clk/8; - bitnum++; - //else if low bar found and we are at a clock point - }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ - bitHigh=1; - lastBit+=*clk; - curBit=*invert; - dest[bitnum]=curBit; - ignorewin=*clk/8; - bitnum++; - //else if no bars found - }else if(dest[i]low) { - if (ignorewin==0){ - bitHigh=0; - }else ignorewin--; - //if we are past a clock point - if (i>=lastBit+*clk+tol){ //clock val - lastBit+=*clk; - dest[bitnum]=curBit; - bitnum++; - } - //else if bar found but we are not at a clock bit and we did not just have a clock bit - }else if ((dest[i]>=high || dest[i]<=low) && ((ilastBit+*clk+tol)) && (bitHigh==0)){ - //error bar found no clock... - bitHigh=1; - dest[bitnum]=77; - bitnum++; - errCnt++; - } - if (bitnum >=1000) break; - } - *bitLen=bitnum; - } else{ - *bitLen=bitnum; - *clk=bestStart; - return -1; - } - - if (bitnum>16){ - *bitLen=bitnum; - } else return -1; - return errCnt; + return clk[best]; } - - - /*not needed? - uint32_t i; - uint8_t high=0, low=128; - uint32_t loopMax = 1280; //20 raw bits - - // get high - if (sizehigh) high = dest[i]; - if (dest[i]=high) dest[i]=high; - else if(dest[i]<=low) dest[i]=low; - else dest[i]=0; - } - */ diff --git a/common/lfdemod.h b/common/lfdemod.h index 2e0acf751..ad95fda5e 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -12,8 +12,8 @@ #include int DetectASKClock(uint8_t dest[], size_t size, int clock); -int askmandemod(uint8_t *BinStream,int *BitLen,int *clk, int *invert); -uint64_t Em410xDecode(uint8_t *BitStream,int BitLen); +int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); +uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen); int manrawdecode(uint8_t *BitStream, int *bitLen); int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset); int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); @@ -21,9 +21,5 @@ int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_ int IOdemodFSK(uint8_t *dest, size_t size); int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow); uint32_t bytebits_to_byte(uint8_t* src, int numbits); -int pskNRZrawDemod(uint8_t *dest, int *bitLen, int *clk, int *invert); -int DetectpskNRZClock(uint8_t dest[], size_t size, int clock); -int indala26decode(uint8_t *bitStream, int *bitLen, uint8_t *invert); -void pskCleanWave(uint8_t *bitStream, int bitLen); #endif From e47e52a2c8f2d925cefe2f5f1a55ceceb7ca0813 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Tue, 6 Jan 2015 18:43:37 +0100 Subject: [PATCH 057/133] Fixed thresholding of io fskdemod --- common/lfdemod.c | 61 ++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/common/lfdemod.c b/common/lfdemod.c index 79c99f733..e0d20464c 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -592,41 +592,40 @@ uint32_t bytebits_to_byte(uint8_t* src, int numbits) int IOdemodFSK(uint8_t *dest, size_t size) { + static const uint8_t THRESHOLD = 170; uint32_t idx=0; //make sure buffer has data if (size < 66) return -1; //test samples are not just noise - uint8_t testMax=0; - for(idx=0;idx<65;idx++){ - if (testMax20){ - // FSK demodulator - size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert - if (size < 65) return -1; //did we get a good demod? - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 65); idx++) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - //frame marker found - if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ - //confirmed proper separator bits found - //return start position - return (int) idx; - } - } - } - } + uint8_t justNoise = 1; + for(idx=0;idx< size && justNoise ;idx++){ + justNoise = dest[idx] > THRESHOLD; + } + if(justNoise) return 0; + + // FSK demodulator + size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert + if (size < 65) return -1; //did we get a good demod? + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 65); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + //frame marker found + if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ + //confirmed proper separator bits found + //return start position + return (int) idx; + } + } + } return 0; } From d2197f967aaf4e58ffd9df387c228bf5354c9e0c Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Tue, 6 Jan 2015 18:59:59 +0100 Subject: [PATCH 058/133] Changed io threshold to 140, fixed boolean error in comparison --- common/lfdemod.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/lfdemod.c b/common/lfdemod.c index e0d20464c..144783198 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -592,14 +592,14 @@ uint32_t bytebits_to_byte(uint8_t* src, int numbits) int IOdemodFSK(uint8_t *dest, size_t size) { - static const uint8_t THRESHOLD = 170; + static const uint8_t THRESHOLD = 140; uint32_t idx=0; //make sure buffer has data if (size < 66) return -1; //test samples are not just noise uint8_t justNoise = 1; for(idx=0;idx< size && justNoise ;idx++){ - justNoise = dest[idx] > THRESHOLD; + justNoise = dest[idx] < THRESHOLD; } if(justNoise) return 0; From 9484ff3d6eeff3bea9ff1547f753a97e85c94f13 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 6 Jan 2015 21:20:41 +0100 Subject: [PATCH 059/133] ADD: tnp3xxx identification in luascripts. CHG: minor code clean up. --- armsrc/Makefile | 2 +- armsrc/string.h | 7 +- client/Makefile | 4 +- client/cmdmain.c | 47 ++++--- client/nonce2key/crapto1.c | 1 - client/proxguiqt.cpp | 2 +- client/proxmark3.c | 215 ++++++++++++++---------------- client/scripts/formatMifare.lua | 4 +- client/scripts/mifare_autopwn.lua | 2 + include/at91sam7s512.h | 2 +- include/proxmark3.h | 3 +- 11 files changed, 142 insertions(+), 147 deletions(-) diff --git a/armsrc/Makefile b/armsrc/Makefile index f87cf0a19..b9019541e 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -10,7 +10,7 @@ APP_INCLUDES = apps.h #remove one of the following defines and comment out the relevant line #in the next section to remove that particular feature from compilation -APP_CFLAGS = -DWITH_LF -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b -DWITH_ICLASS -DWITH_LEGICRF -DWITH_HITAG +APP_CFLAGS = -DWITH_LF -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b -DWITH_ICLASS -DWITH_LEGICRF -DWITH_HITAG -fno-strict-aliasing #-DWITH_LCD #SRC_LCD = fonts.c LCD.c diff --git a/armsrc/string.h b/armsrc/string.h index 46ee218d1..421c2bf0e 100644 --- a/armsrc/string.h +++ b/armsrc/string.h @@ -12,10 +12,13 @@ #ifndef __STRING_H #define __STRING_H +#include +#include + int strlen(const char *str); -void *memcpy(void *dest, const void *src, int len); +RAMFUNC void *memcpy(void *dest, const void *src, int len); void *memset(void *dest, int c, int len); -int memcmp(const void *av, const void *bv, int len); +RAMFUNC int memcmp(const void *av, const void *bv, int len); char *strncat(char *dest, const char *src, unsigned int n); char *strcat(char *dest, const char *src); void strreverse(char s[]); diff --git a/client/Makefile b/client/Makefile index b2b215e17..93b163616 100644 --- a/client/Makefile +++ b/client/Makefile @@ -13,9 +13,9 @@ CXX=g++ VPATH = ../common OBJDIR = obj -LDLIBS = -L/opt/local/lib -L/usr/local/lib -lreadline -lpthread ../liblua/liblua.a +LDLIBS = -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm -lcrypto LDFLAGS = $(COMMON_FLAGS) -CFLAGS = -std=c99 -lcrypto -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 +CFLAGS = -std=c99 -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 LUAPLATFORM = generic ifneq (,$(findstring MINGW,$(platform))) diff --git a/client/cmdmain.c b/client/cmdmain.c index df3d4b2e3..8d590e9e6 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -133,15 +133,14 @@ bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeou UsbCommand resp; - if (response == NULL) { + if (response == NULL) response = &resp; - } + // Wait until the command is received for(size_t dm_seconds=0; dm_seconds < ms_timeout/10; dm_seconds++) { - while(getCommand(response)) - { + while(getCommand(response)) { if(response->cmd == cmd){ return true; } @@ -173,30 +172,30 @@ void CommandReceived(char *Cmd) { //----------------------------------------------------------------------------- void UsbCommandReceived(UsbCommand *UC) { - switch(UC->cmd) { - // First check if we are handling a debug message - case CMD_DEBUG_PRINT_STRING: { - char s[USB_CMD_DATA_SIZE+1] = {0x00}; - size_t len = MIN(UC->arg[0],USB_CMD_DATA_SIZE); - memcpy(s,UC->d.asBytes,len); - PrintAndLog("#db# %s ", s); - return; - } break; + switch(UC->cmd) { + // First check if we are handling a debug message + case CMD_DEBUG_PRINT_STRING: { + char s[USB_CMD_DATA_SIZE+1] = {0x00}; + size_t len = MIN(UC->arg[0],USB_CMD_DATA_SIZE); + memcpy(s,UC->d.asBytes,len); + PrintAndLog("#db# %s ", s); + return; + } break; - case CMD_DEBUG_PRINT_INTEGERS: { - PrintAndLog("#db# %08x, %08x, %08x \r\n", UC->arg[0], UC->arg[1], UC->arg[2]); - return; - } break; + case CMD_DEBUG_PRINT_INTEGERS: { + PrintAndLog("#db# %08x, %08x, %08x \r\n", UC->arg[0], UC->arg[1], UC->arg[2]); + return; + } break; - case CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K: { - sample_buf_len += UC->arg[1]; - memcpy(sample_buf+(UC->arg[0]),UC->d.asBytes,UC->arg[1]); - } break; + case CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K: { + sample_buf_len += UC->arg[1]; + memcpy(sample_buf+(UC->arg[0]),UC->d.asBytes,UC->arg[1]); + } break; default: - break; - } + break; + } - storeCommand(UC); + storeCommand(UC); } diff --git a/client/nonce2key/crapto1.c b/client/nonce2key/crapto1.c index 61215420f..6c0fcafa0 100644 --- a/client/nonce2key/crapto1.c +++ b/client/nonce2key/crapto1.c @@ -549,7 +549,6 @@ lfsr_common_prefix(uint32_t pfx, uint32_t rr, uint8_t ks[8], uint8_t par[8][8], free(odd); free(even); return 0; - } s = statelist; diff --git a/client/proxguiqt.cpp b/client/proxguiqt.cpp index a820fe419..3e9bdfd5f 100644 --- a/client/proxguiqt.cpp +++ b/client/proxguiqt.cpp @@ -280,7 +280,7 @@ void ProxWidget::paintEvent(QPaintEvent *event) ProxWidget::ProxWidget(QWidget *parent) : QWidget(parent), GraphStart(0), GraphPixelsPerPoint(1) { - resize(600, 500); + resize(600, 300); QPalette palette(QColor(0,0,0,0)); palette.setColor(QPalette::WindowText, QColor(255,255,255)); diff --git a/client/proxmark3.c b/client/proxmark3.c index 16a8fa02d..059cc345e 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -16,7 +16,7 @@ #include #include #include -//#include "proxusb.h" + #include "proxmark3.h" #include "proxgui.h" #include "cmdmain.h" @@ -34,16 +34,11 @@ static UsbCommand txcmd; volatile static bool txcmd_pending = false; void SendCommand(UsbCommand *c) { -#if 0 - printf("Sending %d bytes\n", sizeof(UsbCommand)); -#endif -/* - if (txcmd_pending) { - ERR("Sending command failed, previous command is still pending"); - } -*/ - if(offline) - { + #if 0 + printf("Sending %d bytes\n", sizeof(UsbCommand)); + #endif + + if (offline) { PrintAndLog("Sending bytes to proxmark failed - offline"); return; } @@ -52,122 +47,119 @@ void SendCommand(UsbCommand *c) { or disconnected. The main console thread is alive, but comm thread just spins here. Not good.../holiman **/ - while(txcmd_pending); - txcmd = *c; - txcmd_pending = true; + while(txcmd_pending); + txcmd = *c; + txcmd_pending = true; } struct receiver_arg { - int run; + int run; }; struct main_loop_arg { - int usb_present; - char *script_cmds_file; + int usb_present; + char *script_cmds_file; }; byte_t rx[0x1000000]; byte_t* prx = rx; static void *uart_receiver(void *targ) { - struct receiver_arg *arg = (struct receiver_arg*)targ; - size_t rxlen; - size_t cmd_count; - - while (arg->run) { - rxlen = sizeof(UsbCommand); - if (uart_receive(sp,prx,&rxlen)) { - prx += rxlen; - if (((prx-rx) % sizeof(UsbCommand)) != 0) { - continue; - } - cmd_count = (prx-rx) / sizeof(UsbCommand); - // printf("received %d bytes, which represents %d commands\n",(prx-rx), cmd_count); - for (size_t i=0; irun) { + rxlen = sizeof(UsbCommand); + if (uart_receive(sp, prx, &rxlen)) { + prx += rxlen; + if (((prx-rx) % sizeof(UsbCommand)) != 0) { + continue; + } + cmd_count = (prx-rx) / sizeof(UsbCommand); + + for (size_t i = 0; i < cmd_count; i++) { + UsbCommandReceived((UsbCommand*)(rx+(i*sizeof(UsbCommand)))); + } + } + prx = rx; + + if(txcmd_pending) { + if (!uart_send(sp, (byte_t*) &txcmd, sizeof(UsbCommand))) { + PrintAndLog("Sending bytes to proxmark failed"); + } + txcmd_pending = false; + } + } + + pthread_exit(NULL); + return NULL; } static void *main_loop(void *targ) { - struct main_loop_arg *arg = (struct main_loop_arg*)targ; - struct receiver_arg rarg; - char *cmd = NULL; - pthread_t reader_thread; + struct main_loop_arg *arg = (struct main_loop_arg*)targ; + struct receiver_arg rarg; + char *cmd = NULL; + pthread_t reader_thread; - if (arg->usb_present == 1) { - rarg.run=1; - // pthread_create(&reader_thread, NULL, &usb_receiver, &rarg); - pthread_create(&reader_thread, NULL, &uart_receiver, &rarg); - } - - FILE *script_file = NULL; - char script_cmd_buf[256]; // iceman, needs lua script the same file_path_buffer as the rest - - if (arg->script_cmds_file) - { - script_file = fopen(arg->script_cmds_file, "r"); - if (script_file) - { - printf("using 'scripting' commands file %s\n", arg->script_cmds_file); - } - } + if (arg->usb_present == 1) { + rarg.run = 1; + pthread_create(&reader_thread, NULL, &uart_receiver, &rarg); + } + + FILE *script_file = NULL; + char script_cmd_buf[256]; // iceman, needs lua script the same file_path_buffer as the rest + + if (arg->script_cmds_file) { + script_file = fopen(arg->script_cmds_file, "r"); + if (script_file) { + printf("using 'scripting' commands file %s\n", arg->script_cmds_file); + } + } read_history(".history"); - while(1) - { - // If there is a script file - if (script_file) - { - if (!fgets(script_cmd_buf, sizeof(script_cmd_buf), script_file)) - { - fclose(script_file); - script_file = NULL; - } - else - { - char *nl; - nl = strrchr(script_cmd_buf, '\r'); - if (nl) *nl = '\0'; - nl = strrchr(script_cmd_buf, '\n'); - if (nl) *nl = '\0'; - - if ((cmd = (char*) malloc(strlen(script_cmd_buf) + 1)) != NULL) - { - memset(cmd, 0, strlen(script_cmd_buf)); - strcpy(cmd, script_cmd_buf); - printf("%s\n", cmd); - } - } - } - - if (!script_file) + + while(1) { + + // If there is a script file + if (script_file) { - cmd = readline(PROXPROMPT); + if (!fgets(script_cmd_buf, sizeof(script_cmd_buf), script_file)) { + fclose(script_file); + script_file = NULL; + } else { + char *nl; + nl = strrchr(script_cmd_buf, '\r'); + if (nl) *nl = '\0'; + + nl = strrchr(script_cmd_buf, '\n'); + if (nl) *nl = '\0'; + + if ((cmd = (char*) malloc(strlen(script_cmd_buf) + 1)) != NULL) { + memset(cmd, 0, strlen(script_cmd_buf)); + strcpy(cmd, script_cmd_buf); + printf("%s\n", cmd); + } + } } + if (!script_file) { + PrintAndLog("FOO!!"); + cmd = readline(PROXPROMPT); + PrintAndLog("BAR!!"); + } + + PrintAndLog("SNAFU!!"); if (cmd) { + while(cmd[strlen(cmd) - 1] == ' ') - cmd[strlen(cmd) - 1] = 0x00; + cmd[strlen(cmd) - 1] = 0x00; if (cmd[0] != 0x00) { if (strncmp(cmd, "quit", 4) == 0) { exit(0); break; } - CommandReceived(cmd); add_history(cmd); } @@ -180,20 +172,19 @@ static void *main_loop(void *targ) { write_history(".history"); - if (arg->usb_present == 1) { - rarg.run = 0; - pthread_join(reader_thread, NULL); - } - - if (script_file) - { - fclose(script_file); - script_file = NULL; - } - - ExitGraphics(); - pthread_exit(NULL); - return NULL; + if (arg->usb_present == 1) { + rarg.run = 0; + pthread_join(reader_thread, NULL); + } + + if (script_file) { + fclose(script_file); + script_file = NULL; + } + + ExitGraphics(); + pthread_exit(NULL); + return NULL; } static void dumpAllHelp(int markdown) diff --git a/client/scripts/formatMifare.lua b/client/scripts/formatMifare.lua index 1ced0c28d..0d735e98f 100644 --- a/client/scripts/formatMifare.lua +++ b/client/scripts/formatMifare.lua @@ -90,8 +90,10 @@ function GetCardInfo() elseif 0x09 == result.sak then -- NXP MIFARE Mini 0.3k -- MIFARE Classic mini offers 320 bytes split into five sectors. numSectors = 5 - elseif 0x10 == result.sak then-- "NXP MIFARE Plus 2k" + elseif 0x10 == result.sak then -- NXP MIFARE Plus 2k numSectors = 32 + elseif 0x01 == sak then -- NXP MIFARE TNP3xxx 1K + numSectors = 16 else print("I don't know how many sectors there are on this type of card, defaulting to 16") end diff --git a/client/scripts/mifare_autopwn.lua b/client/scripts/mifare_autopwn.lua index 8d0d358fa..eb98ffbf7 100644 --- a/client/scripts/mifare_autopwn.lua +++ b/client/scripts/mifare_autopwn.lua @@ -133,6 +133,8 @@ function nested(key,sak) typ = 0 elseif 0x10 == sak then-- "NXP MIFARE Plus 2k" typ = 2 + elseif 0x01 == sak then-- "NXP MIFARE TNP3xxx 1K" + typ = 1 else print("I don't know how many sectors there are on this type of card, defaulting to 16") end diff --git a/include/at91sam7s512.h b/include/at91sam7s512.h index 5be136223..2cdcbce38 100644 --- a/include/at91sam7s512.h +++ b/include/at91sam7s512.h @@ -428,7 +428,7 @@ typedef struct _AT91S_PIO { #define PIO_PDR (AT91_CAST(AT91_REG *) 0x00000004) // (PIO_PDR) PIO Disable Register #define PIO_PSR (AT91_CAST(AT91_REG *) 0x00000008) // (PIO_PSR) PIO Status Register #define PIO_OER (AT91_CAST(AT91_REG *) 0x00000010) // (PIO_OER) Output Enable Register -#define PIO_ODR (AT91_CAST(AT91_REG *) 0x00000014) // (PIO_ODR) Output Disable Registerr +#define PIO_ODR (AT91_CAST(AT91_REG *) 0x00000014) // (PIO_ODR) Output Disable Register #define PIO_OSR (AT91_CAST(AT91_REG *) 0x00000018) // (PIO_OSR) Output Status Register #define PIO_IFER (AT91_CAST(AT91_REG *) 0x00000020) // (PIO_IFER) Input Filter Enable Register #define PIO_IFDR (AT91_CAST(AT91_REG *) 0x00000024) // (PIO_IFDR) Input Filter Disable Register diff --git a/include/proxmark3.h b/include/proxmark3.h index 8c9417da5..b3530c64f 100644 --- a/include/proxmark3.h +++ b/include/proxmark3.h @@ -14,6 +14,7 @@ // Might as well have the hardware-specific defines everywhere. #include "at91sam7s512.h" #include "config_gpio.h" +#include "usb_cmd.h" #define WDT_HIT() AT91C_BASE_WDTC->WDTC_WDCR = 0xa5000001 @@ -67,8 +68,6 @@ #define TRUE 1 #define FALSE 0 -#include - //#define PACKED __attribute__((__packed__)) #define LED_A_ON() HIGH(GPIO_LED_A) From a6293168da03b547d7cb283f94d8e7aa7109069a Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 6 Jan 2015 23:29:45 -0500 Subject: [PATCH 060/133] code cleanup. re-added psk commands. also fixed a bug in detect clock functions. sync with master prep for pull request --- armsrc/lfops.c | 2738 +++++++++++++++++++++++----------------------- client/cmddata.c | 2402 ++++++++++++++++++++-------------------- client/cmdlf.c | 988 ++++++++--------- client/graph.c | 324 +++--- client/graph.h | 4 +- common/lfdemod.c | 1473 +++++++++++++++---------- common/lfdemod.h | 18 +- 7 files changed, 4141 insertions(+), 3806 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index ab196325f..b9dbb8e27 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -18,144 +18,144 @@ /** -* Does the sample acquisition. If threshold is specified, the actual sampling -* is not commenced until the threshold has been reached. +* Does the sample acquisition. If threshold is specified, the actual sampling +* is not commenced until the threshold has been reached. * @param trigger_threshold - the threshold * @param silent - is true, now outputs are made. If false, dbprints the status */ void DoAcquisition125k_internal(int trigger_threshold,bool silent) { - uint8_t *dest = (uint8_t *)BigBuf; - int n = sizeof(BigBuf); - int i; + uint8_t *dest = (uint8_t *)BigBuf; + int n = sizeof(BigBuf); + int i; - memset(dest, 0, n); - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - LED_D_ON(); - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - LED_D_OFF(); - if (trigger_threshold != -1 && dest[i] < trigger_threshold) - continue; - else - trigger_threshold = -1; - if (++i >= n) break; - } - } - if(!silent) - { - Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", - dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); + memset(dest, 0, n); + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + LED_D_ON(); + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + LED_D_OFF(); + if (trigger_threshold != -1 && dest[i] < trigger_threshold) + continue; + else + trigger_threshold = -1; + if (++i >= n) break; + } + } + if(!silent) + { + Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", + dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); - } + } } /** -* Perform sample aquisition. +* Perform sample aquisition. */ void DoAcquisition125k(int trigger_threshold) { - DoAcquisition125k_internal(trigger_threshold, false); + DoAcquisition125k_internal(trigger_threshold, false); } /** -* Setup the FPGA to listen for samples. This method downloads the FPGA bitstream -* if not already loaded, sets divisor and starts up the antenna. +* Setup the FPGA to listen for samples. This method downloads the FPGA bitstream +* if not already loaded, sets divisor and starts up the antenna. * @param divisor : 1, 88> 255 or negative ==> 134.8 KHz * 0 or 95 ==> 125 KHz -* +* **/ void LFSetupFPGAForADC(int divisor, bool lf_field) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else if (divisor == 0) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + else if (divisor == 0) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + else + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); } /** -* Initializes the FPGA, and acquires the samples. +* Initializes the FPGA, and acquires the samples. **/ void AcquireRawAdcSamples125k(int divisor) { - LFSetupFPGAForADC(divisor, true); - // Now call the acquisition routine - DoAcquisition125k_internal(-1,false); + LFSetupFPGAForADC(divisor, true); + // Now call the acquisition routine + DoAcquisition125k_internal(-1,false); } /** -* Initializes the FPGA for snoop-mode, and acquires the samples. +* Initializes the FPGA for snoop-mode, and acquires the samples. **/ void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) { - LFSetupFPGAForADC(divisor, false); - DoAcquisition125k(trigger_threshold); + LFSetupFPGAForADC(divisor, false); + DoAcquisition125k(trigger_threshold); } void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) { - /* Make sure the tag is reset */ - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(2500); + /* Make sure the tag is reset */ + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(2500); - int divisor_used = 95; // 125 KHz - // see if 'h' was specified + int divisor_used = 95; // 125 KHz + // see if 'h' was specified - if (command[strlen((char *) command) - 1] == 'h') - divisor_used = 88; // 134.8 KHz + if (command[strlen((char *) command) - 1] == 'h') + divisor_used = 88; // 134.8 KHz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); - // And a little more time for the tag to fully power up - SpinDelay(2000); + // And a little more time for the tag to fully power up + SpinDelay(2000); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - // now modulate the reader field - while(*command != '\0' && *command != ' ') { - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + // now modulate the reader field + while(*command != '\0' && *command != ' ') { + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - LED_D_ON(); - if(*(command++) == '0') - SpinDelayUs(period_0); - else - SpinDelayUs(period_1); - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + if(*(command++) == '0') + SpinDelayUs(period_0); + else + SpinDelayUs(period_1); + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // now do the read - DoAcquisition125k(-1); + // now do the read + DoAcquisition125k(-1); } /* blank r/w tag data stream @@ -169,230 +169,227 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, */ void ReadTItag(void) { - // some hardcoded initial params - // when we read a TI tag we sample the zerocross line at 2Mhz - // TI tags modulate a 1 as 16 cycles of 123.2Khz - // TI tags modulate a 0 as 16 cycles of 134.2Khz -#define FSAMPLE 2000000 -#define FREQLO 123200 -#define FREQHI 134200 + // some hardcoded initial params + // when we read a TI tag we sample the zerocross line at 2Mhz + // TI tags modulate a 1 as 16 cycles of 123.2Khz + // TI tags modulate a 0 as 16 cycles of 134.2Khz + #define FSAMPLE 2000000 + #define FREQLO 123200 + #define FREQHI 134200 - signed char *dest = (signed char *)BigBuf; - int n = sizeof(BigBuf); - // int *dest = GraphBuffer; - // int n = GraphTraceLen; + signed char *dest = (signed char *)BigBuf; + int n = sizeof(BigBuf); + // 128 bit shift register [shift3:shift2:shift1:shift0] + uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; - // 128 bit shift register [shift3:shift2:shift1:shift0] - uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; + int i, cycles=0, samples=0; + // how many sample points fit in 16 cycles of each frequency + uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; + // when to tell if we're close enough to one freq or another + uint32_t threshold = (sampleslo - sampleshi + 1)>>1; - int i, cycles=0, samples=0; - // how many sample points fit in 16 cycles of each frequency - uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; - // when to tell if we're close enough to one freq or another - uint32_t threshold = (sampleslo - sampleshi + 1)>>1; + // TI tags charge at 134.2Khz + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // TI tags charge at 134.2Khz - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + // get TI tag data into the buffer + AcquireTiType(); - // get TI tag data into the buffer - AcquireTiType(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + for (i=0; i0) ) { + cycles++; + // after 16 cycles, measure the frequency + if (cycles>15) { + cycles=0; + samples=i-samples; // number of samples in these 16 cycles - for (i=0; i0) ) { - cycles++; - // after 16 cycles, measure the frequency - if (cycles>15) { - cycles=0; - samples=i-samples; // number of samples in these 16 cycles + // TI bits are coming to us lsb first so shift them + // right through our 128 bit right shift register + shift0 = (shift0>>1) | (shift1 << 31); + shift1 = (shift1>>1) | (shift2 << 31); + shift2 = (shift2>>1) | (shift3 << 31); + shift3 >>= 1; - // TI bits are coming to us lsb first so shift them - // right through our 128 bit right shift register - shift0 = (shift0>>1) | (shift1 << 31); - shift1 = (shift1>>1) | (shift2 << 31); - shift2 = (shift2>>1) | (shift3 << 31); - shift3 >>= 1; + // check if the cycles fall close to the number + // expected for either the low or high frequency + if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { + // low frequency represents a 1 + shift3 |= (1<<31); + } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { + // high frequency represents a 0 + } else { + // probably detected a gay waveform or noise + // use this as gaydar or discard shift register and start again + shift3 = shift2 = shift1 = shift0 = 0; + } + samples = i; - // check if the cycles fall close to the number - // expected for either the low or high frequency - if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { - // low frequency represents a 1 - shift3 |= (1<<31); - } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { - // high frequency represents a 0 - } else { - // probably detected a gay waveform or noise - // use this as gaydar or discard shift register and start again - shift3 = shift2 = shift1 = shift0 = 0; - } - samples = i; + // for each bit we receive, test if we've detected a valid tag - // for each bit we receive, test if we've detected a valid tag + // if we see 17 zeroes followed by 6 ones, we might have a tag + // remember the bits are backwards + if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { + // if start and end bytes match, we have a tag so break out of the loop + if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { + cycles = 0xF0B; //use this as a flag (ugly but whatever) + break; + } + } + } + } + } - // if we see 17 zeroes followed by 6 ones, we might have a tag - // remember the bits are backwards - if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { - // if start and end bytes match, we have a tag so break out of the loop - if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { - cycles = 0xF0B; //use this as a flag (ugly but whatever) - break; - } - } - } - } - } + // if flag is set we have a tag + if (cycles!=0xF0B) { + DbpString("Info: No valid tag detected."); + } else { + // put 64 bit data into shift1 and shift0 + shift0 = (shift0>>24) | (shift1 << 8); + shift1 = (shift1>>24) | (shift2 << 8); - // if flag is set we have a tag - if (cycles!=0xF0B) { - DbpString("Info: No valid tag detected."); - } else { - // put 64 bit data into shift1 and shift0 - shift0 = (shift0>>24) | (shift1 << 8); - shift1 = (shift1>>24) | (shift2 << 8); + // align 16 bit crc into lower half of shift2 + shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; - // align 16 bit crc into lower half of shift2 - shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; + // if r/w tag, check ident match + if (shift3 & (1<<15) ) { + DbpString("Info: TI tag is rewriteable"); + // only 15 bits compare, last bit of ident is not valid + if (((shift3 >> 16) ^ shift0) & 0x7fff ) { + DbpString("Error: Ident mismatch!"); + } else { + DbpString("Info: TI tag ident is valid"); + } + } else { + DbpString("Info: TI tag is readonly"); + } - // if r/w tag, check ident match - if ( shift3&(1<<15) ) { - DbpString("Info: TI tag is rewriteable"); - // only 15 bits compare, last bit of ident is not valid - if ( ((shift3>>16)^shift0)&0x7fff ) { - DbpString("Error: Ident mismatch!"); - } else { - DbpString("Info: TI tag ident is valid"); - } - } else { - DbpString("Info: TI tag is readonly"); - } + // WARNING the order of the bytes in which we calc crc below needs checking + // i'm 99% sure the crc algorithm is correct, but it may need to eat the + // bytes in reverse or something + // calculate CRC + uint32_t crc=0; - // WARNING the order of the bytes in which we calc crc below needs checking - // i'm 99% sure the crc algorithm is correct, but it may need to eat the - // bytes in reverse or something - // calculate CRC - uint32_t crc=0; + crc = update_crc16(crc, (shift0)&0xff); + crc = update_crc16(crc, (shift0>>8)&0xff); + crc = update_crc16(crc, (shift0>>16)&0xff); + crc = update_crc16(crc, (shift0>>24)&0xff); + crc = update_crc16(crc, (shift1)&0xff); + crc = update_crc16(crc, (shift1>>8)&0xff); + crc = update_crc16(crc, (shift1>>16)&0xff); + crc = update_crc16(crc, (shift1>>24)&0xff); - crc = update_crc16(crc, (shift0)&0xff); - crc = update_crc16(crc, (shift0>>8)&0xff); - crc = update_crc16(crc, (shift0>>16)&0xff); - crc = update_crc16(crc, (shift0>>24)&0xff); - crc = update_crc16(crc, (shift1)&0xff); - crc = update_crc16(crc, (shift1>>8)&0xff); - crc = update_crc16(crc, (shift1>>16)&0xff); - crc = update_crc16(crc, (shift1>>24)&0xff); - - Dbprintf("Info: Tag data: %x%08x, crc=%x", - (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); - if (crc != (shift2&0xffff)) { - Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); - } else { - DbpString("Info: CRC is good"); - } - } + Dbprintf("Info: Tag data: %x%08x, crc=%x", + (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); + if (crc != (shift2&0xffff)) { + Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); + } else { + DbpString("Info: CRC is good"); + } + } } void WriteTIbyte(uint8_t b) { - int i = 0; + int i = 0; - // modulate 8 bits out to the antenna - for (i=0; i<8; i++) - { - if (b&(1<PIO_PDR = GPIO_SSC_DIN; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; + // Set up the synchronous serial port + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DIN; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; - // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long - // 48/2 = 24 MHz clock must be divided by 12 - AT91C_BASE_SSC->SSC_CMR = 12; + // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long + // 48/2 = 24 MHz clock must be divided by 12 + AT91C_BASE_SSC->SSC_CMR = 12; - AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); - AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; - AT91C_BASE_SSC->SSC_TCMR = 0; - AT91C_BASE_SSC->SSC_TFMR = 0; + AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); + AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; + AT91C_BASE_SSC->SSC_TCMR = 0; + AT91C_BASE_SSC->SSC_TFMR = 0; - LED_D_ON(); + LED_D_ON(); - // modulate antenna - HIGH(GPIO_SSC_DOUT); + // modulate antenna + HIGH(GPIO_SSC_DOUT); - // Charge TI tag for 50ms. - SpinDelay(50); + // Charge TI tag for 50ms. + SpinDelay(50); - // stop modulating antenna and listen - LOW(GPIO_SSC_DOUT); + // stop modulating antenna and listen + LOW(GPIO_SSC_DOUT); - LED_D_OFF(); + LED_D_OFF(); - i = 0; - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer - i++; if(i >= TIBUFLEN) break; - } - WDT_HIT(); - } + i = 0; + for(;;) { + if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer + i++; if(i >= TIBUFLEN) break; + } + WDT_HIT(); + } - // return stolen pin to SSP - AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; + // return stolen pin to SSP + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; - char *dest = (char *)BigBuf; - n = TIBUFLEN*32; - // unpack buffer - for (i=TIBUFLEN-1; i>=0; i--) { - for (j=0; j<32; j++) { - if(BigBuf[i] & (1 << j)) { - dest[--n] = 1; - } else { - dest[--n] = -1; - } - } - } + char *dest = (char *)BigBuf; + n = TIBUFLEN*32; + // unpack buffer + for (i=TIBUFLEN-1; i>=0; i--) { + for (j=0; j<32; j++) { + if(BigBuf[i] & (1 << j)) { + dest[--n] = 1; + } else { + dest[--n] = -1; + } + } + } } // arguments: 64bit data split into 32bit idhi:idlo and optional 16bit crc @@ -400,127 +397,127 @@ void AcquireTiType(void) // if not provided a valid crc will be computed from the data and written. void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if(crc == 0) { - crc = update_crc16(crc, (idlo)&0xff); - crc = update_crc16(crc, (idlo>>8)&0xff); - crc = update_crc16(crc, (idlo>>16)&0xff); - crc = update_crc16(crc, (idlo>>24)&0xff); - crc = update_crc16(crc, (idhi)&0xff); - crc = update_crc16(crc, (idhi>>8)&0xff); - crc = update_crc16(crc, (idhi>>16)&0xff); - crc = update_crc16(crc, (idhi>>24)&0xff); - } - Dbprintf("Writing to tag: %x%08x, crc=%x", - (unsigned int) idhi, (unsigned int) idlo, crc); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if(crc == 0) { + crc = update_crc16(crc, (idlo)&0xff); + crc = update_crc16(crc, (idlo>>8)&0xff); + crc = update_crc16(crc, (idlo>>16)&0xff); + crc = update_crc16(crc, (idlo>>24)&0xff); + crc = update_crc16(crc, (idhi)&0xff); + crc = update_crc16(crc, (idhi>>8)&0xff); + crc = update_crc16(crc, (idhi>>16)&0xff); + crc = update_crc16(crc, (idhi>>24)&0xff); + } + Dbprintf("Writing to tag: %x%08x, crc=%x", + (unsigned int) idhi, (unsigned int) idlo, crc); - // TI tags charge at 134.2Khz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - LED_A_ON(); + // TI tags charge at 134.2Khz + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + LED_A_ON(); - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - // writing algorithm: - // a high bit consists of a field off for 1ms and field on for 1ms - // a low bit consists of a field off for 0.3ms and field on for 1.7ms - // initiate a charge time of 50ms (field on) then immediately start writing bits - // start by writing 0xBB (keyword) and 0xEB (password) - // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) - // finally end with 0x0300 (write frame) - // all data is sent lsb firts - // finish with 15ms programming time + // writing algorithm: + // a high bit consists of a field off for 1ms and field on for 1ms + // a low bit consists of a field off for 0.3ms and field on for 1.7ms + // initiate a charge time of 50ms (field on) then immediately start writing bits + // start by writing 0xBB (keyword) and 0xEB (password) + // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) + // finally end with 0x0300 (write frame) + // all data is sent lsb firts + // finish with 15ms programming time - // modulate antenna - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // charge time + // modulate antenna + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // charge time - WriteTIbyte(0xbb); // keyword - WriteTIbyte(0xeb); // password - WriteTIbyte( (idlo )&0xff ); - WriteTIbyte( (idlo>>8 )&0xff ); - WriteTIbyte( (idlo>>16)&0xff ); - WriteTIbyte( (idlo>>24)&0xff ); - WriteTIbyte( (idhi )&0xff ); - WriteTIbyte( (idhi>>8 )&0xff ); - WriteTIbyte( (idhi>>16)&0xff ); - WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo - WriteTIbyte( (crc )&0xff ); // crc lo - WriteTIbyte( (crc>>8 )&0xff ); // crc hi - WriteTIbyte(0x00); // write frame lo - WriteTIbyte(0x03); // write frame hi - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // programming time + WriteTIbyte(0xbb); // keyword + WriteTIbyte(0xeb); // password + WriteTIbyte( (idlo )&0xff ); + WriteTIbyte( (idlo>>8 )&0xff ); + WriteTIbyte( (idlo>>16)&0xff ); + WriteTIbyte( (idlo>>24)&0xff ); + WriteTIbyte( (idhi )&0xff ); + WriteTIbyte( (idhi>>8 )&0xff ); + WriteTIbyte( (idhi>>16)&0xff ); + WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo + WriteTIbyte( (crc )&0xff ); // crc lo + WriteTIbyte( (crc>>8 )&0xff ); // crc hi + WriteTIbyte(0x00); // write frame lo + WriteTIbyte(0x03); // write frame hi + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // programming time - LED_A_OFF(); + LED_A_OFF(); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - DbpString("Now use tiread to check"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + DbpString("Now use tiread to check"); } void SimulateTagLowFrequency(int period, int gap, int ledcontrol) { - int i; - uint8_t *tab = (uint8_t *)BigBuf; - - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); - - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; - - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; - + int i; + uint8_t *tab = (uint8_t *)BigBuf; + + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); + + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; + + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; + #define SHORT_COIL() LOW(GPIO_SSC_DOUT) #define OPEN_COIL() HIGH(GPIO_SSC_DOUT) - - i = 0; - for(;;) { - while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } - - if (ledcontrol) - LED_D_ON(); - - if(tab[i]) - OPEN_COIL(); - else - SHORT_COIL(); - - if (ledcontrol) - LED_D_OFF(); - - while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } - - i++; - if(i == period) { - i = 0; - if (gap) { - SHORT_COIL(); - SpinDelayUs(gap); - } - } - } + + i = 0; + for(;;) { + while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } + + if (ledcontrol) + LED_D_ON(); + + if(tab[i]) + OPEN_COIL(); + else + SHORT_COIL(); + + if (ledcontrol) + LED_D_OFF(); + + while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } + + i++; + if(i == period) { + i = 0; + if (gap) { + SHORT_COIL(); + SpinDelayUs(gap); + } + } + } } #define DEBUG_FRAME_CONTENTS 1 @@ -530,314 +527,309 @@ void SimulateTagLowFrequencyBidir(int divisor, int t0) // compose fc/8 fc/10 waveform static void fc(int c, int *n) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx; + uint8_t *dest = (uint8_t *)BigBuf; + int idx; - // for when we want an fc8 pattern every 4 logical bits - if(c==0) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples - if(c==8) { - for (idx=0; idx<6; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // for when we want an fc8 pattern every 4 logical bits + if(c==0) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples + if(c==8) { + for (idx=0; idx<6; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } - // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples - if(c==10) { - for (idx=0; idx<5; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples + if(c==10) { + for (idx=0; idx<5; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } } // prepare a waveform pattern in the buffer based on the ID given then // simulate a HID tag until the button is pressed void CmdHIDsimTAG(int hi, int lo, int ledcontrol) { - int n=0, i=0; - /* - HID tag bitstream format - The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits - A 1 bit is represented as 6 fc8 and 5 fc10 patterns - A 0 bit is represented as 5 fc10 and 6 fc8 patterns - A fc8 is inserted before every 4 bits - A special start of frame pattern is used consisting a0b0 where a and b are neither 0 - nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) - */ + int n=0, i=0; + /* + HID tag bitstream format + The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits + A 1 bit is represented as 6 fc8 and 5 fc10 patterns + A 0 bit is represented as 5 fc10 and 6 fc8 patterns + A fc8 is inserted before every 4 bits + A special start of frame pattern is used consisting a0b0 where a and b are neither 0 + nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) + */ - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - fc(0,&n); - // special start of frame marker containing invalid bit sequences - fc(8, &n); fc(8, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 - fc(10, &n); fc(10, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + fc(0,&n); + // special start of frame marker containing invalid bit sequences + fc(8, &n); fc(8, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 + fc(10, &n); fc(10, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 - WDT_HIT(); - // manchester encode bits 43 to 32 - for (i=11; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((hi>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 43 to 32 + for (i=11; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((hi>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - WDT_HIT(); - // manchester encode bits 31 to 0 - for (i=31; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((lo>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 31 to 0 + for (i=31; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((lo>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - if (ledcontrol) - LED_A_ON(); - SimulateTagLowFrequency(n, 0, ledcontrol); + if (ledcontrol) + LED_A_ON(); + SimulateTagLowFrequency(n, 0, ledcontrol); - if (ledcontrol) - LED_A_OFF(); + if (ledcontrol) + LED_A_OFF(); } // loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t hi2=0, hi=0, lo=0; + size_t size=0; //, found=0; + uint32_t hi2=0, hi=0, lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator + DoAcquisition125k_internal(-1,true); + // FSK demodulator + size = HIDdemodFSK(dest, sizeof(BigBuf), &hi2, &hi, &lo); - int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); + WDT_HIT(); - WDT_HIT(); - - if (bitLen>0 && lo>0){ - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - if (hi2 != 0){ //extra large HID tags - Dbprintf("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - }else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t bitlen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - bitlen =idx3+19; - fc =0; - cardnum=0; - if(bitlen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(bitlen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(bitlen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - bitlen= 37; - fc =0; - cardnum=0; - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - //Dbprintf("TAG ID: %x%08x (%d)", - // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - // reset - hi2 = hi = lo = 0; - } - WDT_HIT(); - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + if (size>0 && lo>0){ + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + if (hi2 != 0){ //extra large HID tags + Dbprintf("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + }else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1) == 1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2 > 1){ //find last bit set to 1 (format len bit) + lo2=lo2 >> 1; + idx3++; + } + bitlen = idx3+19; + fc =0; + cardnum=0; + if(bitlen == 26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen == 37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen == 34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen == 35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + //Dbprintf("TAG ID: %x%08x (%d)", + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + // reset + hi2 = hi = lo = 0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t bitLen=0; - int clk=0, invert=0, errCnt=0; - uint64_t lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + size_t size=0; + int clk=0, invert=0, errCnt=0; + uint64_t lo=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator - //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); - bitLen=size; - //Dbprintf("DEBUG: Buffer got"); - errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); - //Dbprintf("DEBUG: ASK Got"); - WDT_HIT(); + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + //Dbprintf("DEBUG: Buffer got"); + //askdemod and manchester decode + errCnt = askmandemod(dest, &size, &clk, &invert); + //Dbprintf("DEBUG: ASK Got"); + WDT_HIT(); - if (errCnt>=0){ - lo = Em410xDecode(dest,bitLen); - //Dbprintf("DEBUG: EM GOT"); - //printEM410x(lo); - if (lo>0){ - Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - } else{ - //Dbprintf("DEBUG: No Tag"); - } - WDT_HIT(); - lo = 0; - clk=0; - invert=0; - errCnt=0; - size=0; - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + if (errCnt>=0){ + lo = Em410xDecode(dest,size); + //Dbprintf("DEBUG: EM GOT"); + if (lo>0){ + Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)", + (uint32_t)(lo>>32), + (uint32_t)lo, + (uint32_t)(lo&0xFFFF), + (uint32_t)((lo>>16LL) & 0xFF), + (uint32_t)(lo & 0xFFFFFF)); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + } else{ + //Dbprintf("DEBUG: No Tag"); + } + WDT_HIT(); + lo = 0; + clk=0; + invert=0; + errCnt=0; + size=0; + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx=0; - uint32_t code=0, code2=0; - uint8_t version=0; - uint8_t facilitycode=0; - uint16_t number=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + uint8_t *dest = (uint8_t *)BigBuf; + int idx=0; + uint32_t code=0, code2=0; + uint8_t version=0; + uint8_t facilitycode=0; + uint16_t number=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - //fskdemod and get start index - WDT_HIT(); - idx = IOdemodFSK(dest,sizeof(BigBuf)); - if (idx>0){ - //valid tag found + while(!BUTTON_PRESS()) { + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + DoAcquisition125k_internal(-1,true); + //fskdemod and get start index + WDT_HIT(); + idx = IOdemodFSK(dest,sizeof(BigBuf)); + if (idx>0){ + //valid tag found - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - if(findone){ //only print binary if we are doing one - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); - Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); - } - code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); - version = bytebits_to_byte(dest+idx+27,8); //14,4 - facilitycode = bytebits_to_byte(dest+idx+18,8) ; - number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + if(findone){ //only print binary if we are doing one + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); + Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); + } + code = bytebits_to_byte(dest+idx,32); + code2 = bytebits_to_byte(dest+idx+32,32); + version = bytebits_to_byte(dest+idx+27,8); //14,4 + facilitycode = bytebits_to_byte(dest+idx+18,8) ; + number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 - Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - // if we're only looking for one tag - if (findone){ - if (ledcontrol) LED_A_OFF(); - //LED_A_OFF(); - return; - } - code=code2=0; - version=facilitycode=0; - number=0; - idx=0; - } - WDT_HIT(); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + // if we're only looking for one tag + if (findone){ + if (ledcontrol) LED_A_OFF(); + //LED_A_OFF(); + return; + } + code=code2=0; + version=facilitycode=0; + number=0; + idx=0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } /*------------------------------ @@ -907,321 +899,321 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) // Write one bit to card void T55xxWriteBit(int bit) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - if (bit == 0) - SpinDelayUs(WRITE_0); - else - SpinDelayUs(WRITE_1); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(WRITE_GAP); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + if (bit == 0) + SpinDelayUs(WRITE_0); + else + SpinDelayUs(WRITE_1); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(WRITE_GAP); } // Write one card block in page 0, no lock void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - //unsigned int i; //enio adjustment 12/10/14 - uint32_t i; + //unsigned int i; //enio adjustment 12/10/14 + uint32_t i; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); - // Data - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Data & i); + // Data + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Data & i); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); - // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, - // so wait a little more) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, + // so wait a little more) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); } // Read one card block in page 0 void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - uint8_t *dest = (uint8_t *)BigBuf; - //int m=0, i=0; //enio adjustment 12/10/14 - uint32_t m=0, i=0; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + uint8_t *dest = (uint8_t *)BigBuf; + //int m=0, i=0; //enio adjustment 12/10/14 + uint32_t m=0, i=0; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; - i++; - if (i >= m) break; - } - } + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; + i++; + if (i >= m) break; + } + } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } // Read card traceability data (page 1) void T55xxReadTrace(void){ - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(1); //Page 1 + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(1); //Page 1 - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } /*-------------- Cloning routines -----------*/ // Copy HID id to card and setup block 0 config void CopyHIDtoT55x7(uint32_t hi2, uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format - int last_block = 0; + int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format + int last_block = 0; - if (longFMT){ - // Ensure no more than 84 bits supplied - if (hi2>0xFFFFF) { - DbpString("Tags can only have 84 bits."); - return; - } - // Build the 6 data blocks for supplied 84bit ID - last_block = 6; - data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) - for (int i=0;i<4;i++) { - if (hi2 & (1<<(19-i))) - data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((3-i)*2)); // 0 -> 01 - } + if (longFMT){ + // Ensure no more than 84 bits supplied + if (hi2>0xFFFFF) { + DbpString("Tags can only have 84 bits."); + return; + } + // Build the 6 data blocks for supplied 84bit ID + last_block = 6; + data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) + for (int i=0;i<4;i++) { + if (hi2 & (1<<(19-i))) + data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((3-i)*2)); // 0 -> 01 + } - data2 = 0; - for (int i=0;i<16;i++) { - if (hi2 & (1<<(15-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } + data2 = 0; + for (int i=0;i<16;i++) { + if (hi2 & (1<<(15-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } - data3 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(31-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } + data3 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(31-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } - data4 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(15-i))) - data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data4 |= (1<<((15-i)*2)); // 0 -> 01 - } + data4 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(15-i))) + data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data4 |= (1<<((15-i)*2)); // 0 -> 01 + } - data5 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data5 |= (1<<((15-i)*2)); // 0 -> 01 - } + data5 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data5 |= (1<<((15-i)*2)); // 0 -> 01 + } - data6 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data6 |= (1<<((15-i)*2)); // 0 -> 01 - } - } - else { - // Ensure no more than 44 bits supplied - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } + data6 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data6 |= (1<<((15-i)*2)); // 0 -> 01 + } + } + else { + // Ensure no more than 44 bits supplied + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } - // Build the 3 data blocks for supplied 44bit ID - last_block = 3; + // Build the 3 data blocks for supplied 44bit ID + last_block = 3; - data1 = 0x1D000000; // load preamble + data1 = 0x1D000000; // load preamble - for (int i=0;i<12;i++) { - if (hi & (1<<(11-i))) - data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((11-i)*2)); // 0 -> 01 - } + for (int i=0;i<12;i++) { + if (hi & (1<<(11-i))) + data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((11-i)*2)); // 0 -> 01 + } - data2 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } + data2 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } - data3 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - } + data3 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } + } - LED_D_ON(); - // Program the data blocks for supplied ID - // and the block 0 for HID format - T55xxWriteBlock(data1,1,0,0); - T55xxWriteBlock(data2,2,0,0); - T55xxWriteBlock(data3,3,0,0); + LED_D_ON(); + // Program the data blocks for supplied ID + // and the block 0 for HID format + T55xxWriteBlock(data1,1,0,0); + T55xxWriteBlock(data2,2,0,0); + T55xxWriteBlock(data3,3,0,0); - if (longFMT) { // if long format there are 6 blocks - T55xxWriteBlock(data4,4,0,0); - T55xxWriteBlock(data5,5,0,0); - T55xxWriteBlock(data6,6,0,0); - } + if (longFMT) { // if long format there are 6 blocks + T55xxWriteBlock(data4,4,0,0); + T55xxWriteBlock(data5,5,0,0); + T55xxWriteBlock(data6,6,0,0); + } - // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) - T55xxWriteBlock(T55x7_BITRATE_RF_50 | - T55x7_MODULATION_FSK2a | - last_block << T55x7_MAXBLOCK_SHIFT, - 0,0,0); + // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) + T55xxWriteBlock(T55x7_BITRATE_RF_50 | + T55x7_MODULATION_FSK2a | + last_block << T55x7_MAXBLOCK_SHIFT, + 0,0,0); - LED_D_OFF(); + LED_D_OFF(); - DbpString("DONE!"); + DbpString("DONE!"); } void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0; //up to six blocks for long format + int data1=0, data2=0; //up to six blocks for long format - data1 = hi; // load preamble - data2 = lo; - - LED_D_ON(); - // Program the data blocks for supplied ID - // and the block 0 for HID format - T55xxWriteBlock(data1,1,0,0); - T55xxWriteBlock(data2,2,0,0); + data1 = hi; // load preamble + data2 = lo; - //Config Block - T55xxWriteBlock(0x00147040,0,0,0); - LED_D_OFF(); + LED_D_ON(); + // Program the data blocks for supplied ID + // and the block 0 for HID format + T55xxWriteBlock(data1,1,0,0); + T55xxWriteBlock(data2,2,0,0); - DbpString("DONE!"); + //Config Block + T55xxWriteBlock(0x00147040,0,0,0); + LED_D_OFF(); + + DbpString("DONE!"); } // Define 9bit header for EM410x tags @@ -1230,151 +1222,151 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) { - int i, id_bit; - uint64_t id = EM410X_HEADER; - uint64_t rev_id = 0; // reversed ID - int c_parity[4]; // column parity - int r_parity = 0; // row parity - uint32_t clock = 0; + int i, id_bit; + uint64_t id = EM410X_HEADER; + uint64_t rev_id = 0; // reversed ID + int c_parity[4]; // column parity + int r_parity = 0; // row parity + uint32_t clock = 0; - // Reverse ID bits given as parameter (for simpler operations) - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - if (i < 32) { - rev_id = (rev_id << 1) | (id_lo & 1); - id_lo >>= 1; - } else { - rev_id = (rev_id << 1) | (id_hi & 1); - id_hi >>= 1; - } - } + // Reverse ID bits given as parameter (for simpler operations) + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + if (i < 32) { + rev_id = (rev_id << 1) | (id_lo & 1); + id_lo >>= 1; + } else { + rev_id = (rev_id << 1) | (id_hi & 1); + id_hi >>= 1; + } + } - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - id_bit = rev_id & 1; + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + id_bit = rev_id & 1; - if (i % 4 == 0) { - // Don't write row parity bit at start of parsing - if (i) - id = (id << 1) | r_parity; - // Start counting parity for new row - r_parity = id_bit; - } else { - // Count row parity - r_parity ^= id_bit; - } + if (i % 4 == 0) { + // Don't write row parity bit at start of parsing + if (i) + id = (id << 1) | r_parity; + // Start counting parity for new row + r_parity = id_bit; + } else { + // Count row parity + r_parity ^= id_bit; + } - // First elements in column? - if (i < 4) - // Fill out first elements - c_parity[i] = id_bit; - else - // Count column parity - c_parity[i % 4] ^= id_bit; + // First elements in column? + if (i < 4) + // Fill out first elements + c_parity[i] = id_bit; + else + // Count column parity + c_parity[i % 4] ^= id_bit; - // Insert ID bit - id = (id << 1) | id_bit; - rev_id >>= 1; - } + // Insert ID bit + id = (id << 1) | id_bit; + rev_id >>= 1; + } - // Insert parity bit of last row - id = (id << 1) | r_parity; + // Insert parity bit of last row + id = (id << 1) | r_parity; - // Fill out column parity at the end of tag - for (i = 0; i < 4; ++i) - id = (id << 1) | c_parity[i]; + // Fill out column parity at the end of tag + for (i = 0; i < 4; ++i) + id = (id << 1) | c_parity[i]; - // Add stop bit - id <<= 1; + // Add stop bit + id <<= 1; - Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); - LED_D_ON(); + Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); + LED_D_ON(); - // Write EM410x ID - T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); - T55xxWriteBlock((uint32_t)id, 2, 0, 0); + // Write EM410x ID + T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); + T55xxWriteBlock((uint32_t)id, 2, 0, 0); - // Config for EM410x (RF/64, Manchester, Maxblock=2) - if (card) { - // Clock rate is stored in bits 8-15 of the card value - clock = (card & 0xFF00) >> 8; - Dbprintf("Clock rate: %d", clock); - switch (clock) - { - case 32: - clock = T55x7_BITRATE_RF_32; - break; - case 16: - clock = T55x7_BITRATE_RF_16; - break; - case 0: - // A value of 0 is assumed to be 64 for backwards-compatibility - // Fall through... - case 64: - clock = T55x7_BITRATE_RF_64; - break; - default: - Dbprintf("Invalid clock rate: %d", clock); - return; - } + // Config for EM410x (RF/64, Manchester, Maxblock=2) + if (card) { + // Clock rate is stored in bits 8-15 of the card value + clock = (card & 0xFF00) >> 8; + Dbprintf("Clock rate: %d", clock); + switch (clock) + { + case 32: + clock = T55x7_BITRATE_RF_32; + break; + case 16: + clock = T55x7_BITRATE_RF_16; + break; + case 0: + // A value of 0 is assumed to be 64 for backwards-compatibility + // Fall through... + case 64: + clock = T55x7_BITRATE_RF_64; + break; + default: + Dbprintf("Invalid clock rate: %d", clock); + return; + } - // Writing configuration for T55x7 tag - T55xxWriteBlock(clock | - T55x7_MODULATION_MANCHESTER | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - } - else - // Writing configuration for T5555(Q5) tag - T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | - T5555_MODULATION_MANCHESTER | - 2 << T5555_MAXBLOCK_SHIFT, - 0, 0, 0); + // Writing configuration for T55x7 tag + T55xxWriteBlock(clock | + T55x7_MODULATION_MANCHESTER | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + } + else + // Writing configuration for T5555(Q5) tag + T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | + T5555_MODULATION_MANCHESTER | + 2 << T5555_MAXBLOCK_SHIFT, + 0, 0, 0); - LED_D_OFF(); - Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", - (uint32_t)(id >> 32), (uint32_t)id); + LED_D_OFF(); + Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", + (uint32_t)(id >> 32), (uint32_t)id); } // Clone Indala 64-bit tag by UID to T55x7 void CopyIndala64toT55x7(int hi, int lo) { - //Program the 2 data blocks for supplied 64bit UID - // and the block 0 for Indala64 format - T55xxWriteBlock(hi,1,0,0); - T55xxWriteBlock(lo,2,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) - // T5567WriteBlock(0x603E1042,0); + //Program the 2 data blocks for supplied 64bit UID + // and the block 0 for Indala64 format + T55xxWriteBlock(hi,1,0,0); + T55xxWriteBlock(lo,2,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) + // T5567WriteBlock(0x603E1042,0); - DbpString("DONE!"); + DbpString("DONE!"); -} +} void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int uid6, int uid7) { - //Program the 7 data blocks for supplied 224bit UID - // and the block 0 for Indala224 format - T55xxWriteBlock(uid1,1,0,0); - T55xxWriteBlock(uid2,2,0,0); - T55xxWriteBlock(uid3,3,0,0); - T55xxWriteBlock(uid4,4,0,0); - T55xxWriteBlock(uid5,5,0,0); - T55xxWriteBlock(uid6,6,0,0); - T55xxWriteBlock(uid7,7,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 7 << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) - // T5567WriteBlock(0x603E10E2,0); + //Program the 7 data blocks for supplied 224bit UID + // and the block 0 for Indala224 format + T55xxWriteBlock(uid1,1,0,0); + T55xxWriteBlock(uid2,2,0,0); + T55xxWriteBlock(uid3,3,0,0); + T55xxWriteBlock(uid4,4,0,0); + T55xxWriteBlock(uid5,5,0,0); + T55xxWriteBlock(uid6,6,0,0); + T55xxWriteBlock(uid7,7,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 7 << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) + // T5567WriteBlock(0x603E10E2,0); - DbpString("DONE!"); + DbpString("DONE!"); } @@ -1383,261 +1375,261 @@ void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int #define max(x,y) ( x GraphBuffer[0]) { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) - break; - i++; - } - dir = 0; - } - else { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) - break; - i++; - } - dir = 1; - } + /* Find first local max/min */ + if(GraphBuffer[1] > GraphBuffer[0]) { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) + break; + i++; + } + dir = 0; + } + else { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) + break; + i++; + } + dir = 1; + } - lastval = i++; - half_switch = 0; - pmc = 0; - block_done = 0; + lastval = i++; + half_switch = 0; + pmc = 0; + block_done = 0; - for (bitidx = 0; i < GraphTraceLen; i++) - { - if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) - { - lc = i - lastval; - lastval = i; + for (bitidx = 0; i < GraphTraceLen; i++) + { + if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) + { + lc = i - lastval; + lastval = i; - // Switch depending on lc length: - // Tolerance is 1/8 of clock rate (arbitrary) - if (abs(lc-clock/4) < tolerance) { - // 16T0 - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33+16)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else { - pmc = i; - } - } else if (abs(lc-clock/2) < tolerance) { - // 32TO - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else if(half_switch == 1) { - BitStream[bitidx++] = 0; - half_switch = 0; - } - else - half_switch++; - } else if (abs(lc-clock) < tolerance) { - // 64TO - BitStream[bitidx++] = 1; - } else { - // Error - warnings++; - if (warnings > 10) - { - Dbprintf("Error: too many detection errors, aborting."); - return 0; - } - } + // Switch depending on lc length: + // Tolerance is 1/8 of clock rate (arbitrary) + if (abs(lc-clock/4) < tolerance) { + // 16T0 + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33+16)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else { + pmc = i; + } + } else if (abs(lc-clock/2) < tolerance) { + // 32TO + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else if(half_switch == 1) { + BitStream[bitidx++] = 0; + half_switch = 0; + } + else + half_switch++; + } else if (abs(lc-clock) < tolerance) { + // 64TO + BitStream[bitidx++] = 1; + } else { + // Error + warnings++; + if (warnings > 10) + { + Dbprintf("Error: too many detection errors, aborting."); + return 0; + } + } - if(block_done == 1) { - if(bitidx == 128) { - for(j=0; j<16; j++) { - Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ - 64*BitStream[j*8+6]+ - 32*BitStream[j*8+5]+ - 16*BitStream[j*8+4]+ - 8*BitStream[j*8+3]+ - 4*BitStream[j*8+2]+ - 2*BitStream[j*8+1]+ - BitStream[j*8]; - } - num_blocks++; - } - bitidx = 0; - block_done = 0; - half_switch = 0; - } - if(i < GraphTraceLen) - { - if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; - else dir = 1; - } - } - if(bitidx==255) - bitidx=0; - warnings = 0; - if(num_blocks == 4) break; - } - memcpy(outBlocks, Blocks, 16*num_blocks); - return num_blocks; + if(block_done == 1) { + if(bitidx == 128) { + for(j=0; j<16; j++) { + Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ + 64*BitStream[j*8+6]+ + 32*BitStream[j*8+5]+ + 16*BitStream[j*8+4]+ + 8*BitStream[j*8+3]+ + 4*BitStream[j*8+2]+ + 2*BitStream[j*8+1]+ + BitStream[j*8]; + } + num_blocks++; + } + bitidx = 0; + block_done = 0; + half_switch = 0; + } + if(i < GraphTraceLen) + { + if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; + else dir = 1; + } + } + if(bitidx==255) + bitidx=0; + warnings = 0; + if(num_blocks == 4) break; + } + memcpy(outBlocks, Blocks, 16*num_blocks); + return num_blocks; } int IsBlock0PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled - return 1; - if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? - return 1; - return 0; + // Assume RFU means 0 :) + if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled + return 1; + if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? + return 1; + return 0; } int IsBlock1PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) - if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) - return 1; + // Assume RFU means 0 :) + if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) + if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) + return 1; - return 0; + return 0; } #define ALLOC 16 void ReadPCF7931() { - uint8_t Blocks[8][17]; - uint8_t tmpBlocks[4][16]; - int i, j, ind, ind2, n; - int num_blocks = 0; - int max_blocks = 8; - int ident = 0; - int error = 0; - int tries = 0; + uint8_t Blocks[8][17]; + uint8_t tmpBlocks[4][16]; + int i, j, ind, ind2, n; + int num_blocks = 0; + int max_blocks = 8; + int ident = 0; + int error = 0; + int tries = 0; - memset(Blocks, 0, 8*17*sizeof(uint8_t)); + memset(Blocks, 0, 8*17*sizeof(uint8_t)); - do { - memset(tmpBlocks, 0, 4*16*sizeof(uint8_t)); - n = DemodPCF7931((uint8_t**)tmpBlocks); - if(!n) - error++; - if(error==10 && num_blocks == 0) { - Dbprintf("Error, no tag or bad tag"); - return; - } - else if (tries==20 || error==10) { - Dbprintf("Error reading the tag"); - Dbprintf("Here is the partial content"); - goto end; - } + do { + memset(tmpBlocks, 0, 4*16*sizeof(uint8_t)); + n = DemodPCF7931((uint8_t**)tmpBlocks); + if(!n) + error++; + if(error==10 && num_blocks == 0) { + Dbprintf("Error, no tag or bad tag"); + return; + } + else if (tries==20 || error==10) { + Dbprintf("Error reading the tag"); + Dbprintf("Here is the partial content"); + goto end; + } - for(i=0; i= 0; ind--,ind2--) { - if(ind2 < 0) - ind2 = max_blocks; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { - if(ind2 > max_blocks) - ind2 = 0; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - } - } - } - } - } - tries++; - if (BUTTON_PRESS()) return; - } while (num_blocks != max_blocks); + for(i=0; i= 0; ind--,ind2--) { + if(ind2 < 0) + ind2 = max_blocks; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { + if(ind2 > max_blocks) + ind2 = 0; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + } + } + } + } + } + tries++; + if (BUTTON_PRESS()) return; + } while (num_blocks != max_blocks); end: - Dbprintf("-----------------------------------------"); - Dbprintf("Memory content:"); - Dbprintf("-----------------------------------------"); - for(i=0; i", i); - } - Dbprintf("-----------------------------------------"); + Dbprintf("-----------------------------------------"); + Dbprintf("Memory content:"); + Dbprintf("-----------------------------------------"); + for(i=0; i", i); + } + Dbprintf("-----------------------------------------"); - return ; + return ; } @@ -1661,20 +1653,20 @@ uint8_t * fwd_write_ptr; //forwardlink bit pointer //==================================================================== //-------------------------------------------------------------------- uint8_t Prepare_Cmd( uint8_t cmd ) { - //-------------------------------------------------------------------- + //-------------------------------------------------------------------- - *forward_ptr++ = 0; //start bit - *forward_ptr++ = 0; //second pause for 4050 code + *forward_ptr++ = 0; //start bit + *forward_ptr++ = 0; //second pause for 4050 code - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; - return 6; //return number of emited bits + return 6; //return number of emited bits } //==================================================================== @@ -1684,21 +1676,21 @@ uint8_t Prepare_Cmd( uint8_t cmd ) { //-------------------------------------------------------------------- uint8_t Prepare_Addr( uint8_t addr ) { - //-------------------------------------------------------------------- + //-------------------------------------------------------------------- - register uint8_t line_parity; + register uint8_t line_parity; - uint8_t i; - line_parity = 0; - for(i=0;i<6;i++) { - *forward_ptr++ = addr; - line_parity ^= addr; - addr >>= 1; - } + uint8_t i; + line_parity = 0; + for(i=0;i<6;i++) { + *forward_ptr++ = addr; + line_parity ^= addr; + addr >>= 1; + } - *forward_ptr++ = (line_parity & 1); + *forward_ptr++ = (line_parity & 1); - return 7; //return number of emited bits + return 7; //return number of emited bits } //==================================================================== @@ -1708,36 +1700,36 @@ uint8_t Prepare_Addr( uint8_t addr ) { //-------------------------------------------------------------------- uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { - //-------------------------------------------------------------------- + //-------------------------------------------------------------------- - register uint8_t line_parity; - register uint8_t column_parity; - register uint8_t i, j; - register uint16_t data; + register uint8_t line_parity; + register uint8_t column_parity; + register uint8_t i, j; + register uint16_t data; - data = data_low; - column_parity = 0; + data = data_low; + column_parity = 0; - for(i=0; i<4; i++) { - line_parity = 0; - for(j=0; j<8; j++) { - line_parity ^= data; - column_parity ^= (data & 1) << j; - *forward_ptr++ = data; - data >>= 1; - } - *forward_ptr++ = line_parity; - if(i == 1) - data = data_hi; - } + for(i=0; i<4; i++) { + line_parity = 0; + for(j=0; j<8; j++) { + line_parity ^= data; + column_parity ^= (data & 1) << j; + *forward_ptr++ = data; + data >>= 1; + } + *forward_ptr++ = line_parity; + if(i == 1) + data = data_hi; + } - for(j=0; j<8; j++) { - *forward_ptr++ = column_parity; - column_parity >>= 1; - } - *forward_ptr = 0; + for(j=0; j<8; j++) { + *forward_ptr++ = column_parity; + column_parity >>= 1; + } + *forward_ptr = 0; - return 45; //return number of emited bits + return 45; //return number of emited bits } //==================================================================== @@ -1747,114 +1739,114 @@ uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { //==================================================================== void SendForward(uint8_t fwd_bit_count) { - fwd_write_ptr = forwardLink_data; - fwd_bit_sz = fwd_bit_count; + fwd_write_ptr = forwardLink_data; + fwd_bit_sz = fwd_bit_count; - LED_D_ON(); + LED_D_ON(); - //Field on - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + //Field on + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // force 1st mod pulse (start gap must be longer for 4305) - fwd_bit_sz--; //prepare next bit modulation - fwd_write_ptr++; - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(16*8); //16 cycles on (8us each) + // force 1st mod pulse (start gap must be longer for 4305) + fwd_bit_sz--; //prepare next bit modulation + fwd_write_ptr++; + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(16*8); //16 cycles on (8us each) - // now start writting - while(fwd_bit_sz-- > 0) { //prepare next bit modulation - if(((*fwd_write_ptr++) & 1) == 1) - SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) - else { - //These timings work for 4469/4269/4305 (with the 55*8 above) - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(23*8); //16-4 cycles off (8us each) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(9*8); //16 cycles on (8us each) - } - } + // now start writting + while(fwd_bit_sz-- > 0) { //prepare next bit modulation + if(((*fwd_write_ptr++) & 1) == 1) + SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) + else { + //These timings work for 4469/4269/4305 (with the 55*8 above) + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(23*8); //16-4 cycles off (8us each) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(9*8); //16 cycles on (8us each) + } + } } void EM4xLogin(uint32_t Password) { - uint8_t fwd_bit_count; + uint8_t fwd_bit_count; - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); - fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); + fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); - SendForward(fwd_bit_count); + SendForward(fwd_bit_count); - //Wait for command to complete - SpinDelay(20); + //Wait for command to complete + SpinDelay(20); } void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - uint8_t fwd_bit_count; - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; + uint8_t fwd_bit_count; + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); - fwd_bit_count += Prepare_Addr( Address ); + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); + fwd_bit_count += Prepare_Addr( Address ); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - SendForward(fwd_bit_count); + SendForward(fwd_bit_count); - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } void EM4xWriteWord(uint32_t Data, uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - uint8_t fwd_bit_count; + uint8_t fwd_bit_count; - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); - fwd_bit_count += Prepare_Addr( Address ); - fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); + fwd_bit_count += Prepare_Addr( Address ); + fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); - SendForward(fwd_bit_count); + SendForward(fwd_bit_count); - //Wait for write to complete - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + //Wait for write to complete + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } diff --git a/client/cmddata.c b/client/cmddata.c index 4b5cb0401..bce5d2ced 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -27,82 +27,82 @@ static int CmdHelp(const char *Cmd); //set the demod buffer with given array of binary (one bit per byte) //by marshmellow -void setDemodBuf(uint8_t *buff,int size) +void setDemodBuf(uint8_t *buff,int size) { - int i=0; - for (; i < size; ++i){ - DemodBuffer[i]=buff[i]; - } - DemodBufferLen=size; - return; + int i=0; + for (; i < size; ++i){ + DemodBuffer[i]=buff[i]; + } + DemodBufferLen=size; + return; } //by marshmellow void printDemodBuff() { - uint32_t i = 0; - int bitLen = DemodBufferLen; - if (bitLen<16) { - PrintAndLog("no bits found in demod buffer"); - return; - } - if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty - for (i = 0; i <= (bitLen-16); i+=16) { - PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", - DemodBuffer[i], - DemodBuffer[i+1], - DemodBuffer[i+2], - DemodBuffer[i+3], - DemodBuffer[i+4], - DemodBuffer[i+5], - DemodBuffer[i+6], - DemodBuffer[i+7], - DemodBuffer[i+8], - DemodBuffer[i+9], - DemodBuffer[i+10], - DemodBuffer[i+11], - DemodBuffer[i+12], - DemodBuffer[i+13], - DemodBuffer[i+14], - DemodBuffer[i+15]); - } - return; + uint32_t i = 0; + int bitLen = DemodBufferLen; + if (bitLen<16) { + PrintAndLog("no bits found in demod buffer"); + return; + } + if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty + for (i = 0; i <= (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + DemodBuffer[i], + DemodBuffer[i+1], + DemodBuffer[i+2], + DemodBuffer[i+3], + DemodBuffer[i+4], + DemodBuffer[i+5], + DemodBuffer[i+6], + DemodBuffer[i+7], + DemodBuffer[i+8], + DemodBuffer[i+9], + DemodBuffer[i+10], + DemodBuffer[i+11], + DemodBuffer[i+12], + DemodBuffer[i+13], + DemodBuffer[i+14], + DemodBuffer[i+15]); + } + return; } int CmdAmp(const char *Cmd) { - int i, rising, falling; - int max = INT_MIN, min = INT_MAX; + int i, rising, falling; + int max = INT_MIN, min = INT_MAX; - for (i = 10; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] > max) - max = GraphBuffer[i]; - if (GraphBuffer[i] < min) - min = GraphBuffer[i]; - } + for (i = 10; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] > max) + max = GraphBuffer[i]; + if (GraphBuffer[i] < min) + min = GraphBuffer[i]; + } - if (max != min) { - rising = falling= 0; - for (i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i + 1] < GraphBuffer[i]) { - if (rising) { - GraphBuffer[i] = max; - rising = 0; - } - falling = 1; - } - if (GraphBuffer[i + 1] > GraphBuffer[i]) { - if (falling) { - GraphBuffer[i] = min; - falling = 0; - } - rising= 1; - } - } - } - RepaintGraphWindow(); - return 0; + if (max != min) { + rising = falling= 0; + for (i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i + 1] < GraphBuffer[i]) { + if (rising) { + GraphBuffer[i] = max; + rising = 0; + } + falling = 1; + } + if (GraphBuffer[i + 1] > GraphBuffer[i]) { + if (falling) { + GraphBuffer[i] = min; + falling = 0; + } + rising= 1; + } + } + } + RepaintGraphWindow(); + return 0; } /* @@ -119,171 +119,173 @@ int CmdAmp(const char *Cmd) //this method is dependant on all highs and lows to be the same(or clipped) this creates issues[marshmellow] it also ignores the clock int Cmdaskdemod(const char *Cmd) { - int i; - int c, high = 0, low = 0; + int i; + int c, high = 0, low = 0; - // TODO: complain if we do not give 2 arguments here ! - // (AL - this doesn't make sense! we're only using one argument!!!) - sscanf(Cmd, "%i", &c); + // TODO: complain if we do not give 2 arguments here ! + // (AL - this doesn't make sense! we're only using one argument!!!) + sscanf(Cmd, "%i", &c); - /* Detect high and lows and clock */ - // (AL - clock???) - for (i = 0; i < GraphTraceLen; ++i) - { - if (GraphBuffer[i] > high) - high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) - low = GraphBuffer[i]; - } - high=abs(high*.75); - low=abs(low*.75); - if (c != 0 && c != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return 0; - } - //prime loop - if (GraphBuffer[0] > 0) { - GraphBuffer[0] = 1-c; - } else { - GraphBuffer[0] = c; - } - for (i = 1; i < GraphTraceLen; ++i) { - /* Transitions are detected at each peak - * Transitions are either: - * - we're low: transition if we hit a high - * - we're high: transition if we hit a low - * (we need to do it this way because some tags keep high or - * low for long periods, others just reach the peak and go - * down) - */ - //[marhsmellow] change == to >= for high and <= for low for fuzz - if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) { - GraphBuffer[i] = 1 - c; - } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){ - GraphBuffer[i] = c; - } else { - /* No transition */ - GraphBuffer[i] = GraphBuffer[i - 1]; - } - } - RepaintGraphWindow(); - return 0; + /* Detect high and lows and clock */ + // (AL - clock???) + for (i = 0; i < GraphTraceLen; ++i) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } + high=abs(high*.75); + low=abs(low*.75); + if (c != 0 && c != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } + //prime loop + if (GraphBuffer[0] > 0) { + GraphBuffer[0] = 1-c; + } else { + GraphBuffer[0] = c; + } + for (i = 1; i < GraphTraceLen; ++i) { + /* Transitions are detected at each peak + * Transitions are either: + * - we're low: transition if we hit a high + * - we're high: transition if we hit a low + * (we need to do it this way because some tags keep high or + * low for long periods, others just reach the peak and go + * down) + */ + //[marhsmellow] change == to >= for high and <= for low for fuzz + if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) { + GraphBuffer[i] = 1 - c; + } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){ + GraphBuffer[i] = c; + } else { + /* No transition */ + GraphBuffer[i] = GraphBuffer[i - 1]; + } + } + RepaintGraphWindow(); + return 0; } //by marshmellow void printBitStream(uint8_t BitStream[], uint32_t bitLen) { - uint32_t i = 0; - if (bitLen<16) { - PrintAndLog("Too few bits found: %d",bitLen); - return; - } - if (bitLen>512) bitLen=512; - for (i = 0; i <= (bitLen-16); i+=16) { - PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", - BitStream[i], - BitStream[i+1], - BitStream[i+2], - BitStream[i+3], - BitStream[i+4], - BitStream[i+5], - BitStream[i+6], - BitStream[i+7], - BitStream[i+8], - BitStream[i+9], - BitStream[i+10], - BitStream[i+11], - BitStream[i+12], - BitStream[i+13], - BitStream[i+14], - BitStream[i+15]); - } - return; + uint32_t i = 0; + if (bitLen<16) { + PrintAndLog("Too few bits found: %d",bitLen); + return; + } + if (bitLen>512) bitLen=512; + for (i = 0; i <= (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + BitStream[i], + BitStream[i+1], + BitStream[i+2], + BitStream[i+3], + BitStream[i+4], + BitStream[i+5], + BitStream[i+6], + BitStream[i+7], + BitStream[i+8], + BitStream[i+9], + BitStream[i+10], + BitStream[i+11], + BitStream[i+12], + BitStream[i+13], + BitStream[i+14], + BitStream[i+15]); + } + return; } //by marshmellow +//print EM410x ID in multiple formats void printEM410x(uint64_t id) { - if (id !=0){ - uint64_t iii=1; - uint64_t id2lo=0; //id2hi=0, - uint32_t ii=0; - uint32_t i=0; - for (ii=5; ii>0;ii--){ - for (i=0;i<8;i++){ - id2lo=(id2lo<<1LL)|((id & (iii<<(i+((ii-1)*8))))>>(i+((ii-1)*8))); - } - } - //output em id - PrintAndLog("EM TAG ID : %010llx", id); - PrintAndLog("Unique TAG ID: %010llx", id2lo); //id2hi, - PrintAndLog("DEZ 8 : %08lld",id & 0xFFFFFF); - PrintAndLog("DEZ 10 : %010lld",id & 0xFFFFFF); - PrintAndLog("DEZ 5.5 : %05lld.%05lld",(id>>16LL) & 0xFFFF,(id & 0xFFFF)); - PrintAndLog("DEZ 3.5A : %03lld.%05lld",(id>>32ll),(id & 0xFFFF)); - PrintAndLog("DEZ 14/IK2 : %014lld",id); - PrintAndLog("DEZ 15/IK3 : %015lld",id2lo); - PrintAndLog("Other : %05lld_%03lld_%08lld",(id&0xFFFF),((id>>16LL) & 0xFF),(id & 0xFFFFFF)); - } - return; + if (id !=0){ + uint64_t iii=1; + uint64_t id2lo=0; //id2hi=0, + uint32_t ii=0; + uint32_t i=0; + for (ii=5; ii>0;ii--){ + for (i=0;i<8;i++){ + id2lo=(id2lo<<1LL) | ((id & (iii << (i+((ii-1)*8)))) >> (i+((ii-1)*8))); + } + } + //output em id + PrintAndLog("EM TAG ID : %010llx", id); + PrintAndLog("Unique TAG ID: %010llx", id2lo); //id2hi, + PrintAndLog("DEZ 8 : %08lld",id & 0xFFFFFF); + PrintAndLog("DEZ 10 : %010lld",id & 0xFFFFFF); + PrintAndLog("DEZ 5.5 : %05lld.%05lld",(id>>16LL) & 0xFFFF,(id & 0xFFFF)); + PrintAndLog("DEZ 3.5A : %03lld.%05lld",(id>>32ll),(id & 0xFFFF)); + PrintAndLog("DEZ 14/IK2 : %014lld",id); + PrintAndLog("DEZ 15/IK3 : %015lld",id2lo); + PrintAndLog("Other : %05lld_%03lld_%08lld",(id&0xFFFF),((id>>16LL) & 0xFF),(id & 0xFFFFFF)); + } + return; } //by marshmellow +//take binary from demod buffer and see if we can find an EM410x ID int CmdEm410xDecode(const char *Cmd) { - uint64_t id=0; + uint64_t id=0; // uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; // uint32_t i=0; // i=getFromGraphBuf(BitStream); - id = Em410xDecode(DemodBuffer,DemodBufferLen); - printEM410x(id); - if (id>0) return 1; - return 0; + id = Em410xDecode(DemodBuffer,DemodBufferLen); + printEM410x(id); + if (id>0) return 1; + return 0; } //by marshmellow //takes 2 arguments - clock and invert both as integers -//attempts to demodulate ask while decoding manchester +//attempts to demodulate ask while decoding manchester //prints binary found and saves in graphbuffer for further commands int Cmdaskmandemod(const char *Cmd) { - int invert=0; - int clk=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - sscanf(Cmd, "%i %i", &clk, &invert); - if (invert != 0 && invert != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return 0; - } + int invert=0; + int clk=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } - int BitLen = getFromGraphBuf(BitStream); - // PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); - int errCnt=0; - errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); - if (errCnt<0||BitLen<16){ //if fatal error (or -1) - // PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); - return 0; - } - PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen); - - //output - if (errCnt>0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - } - PrintAndLog("ASK/Manchester decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - setDemodBuf(BitStream,BitLen); - printDemodBuff(); - uint64_t lo =0; - lo = Em410xDecode(BitStream,BitLen); - if (lo>0){ - //set GraphBuffer for clone or sim command - PrintAndLog("EM410x pattern found: "); - printEM410x(lo); - return 1; - } - //if (BitLen>16) return 1; - return 0; + size_t BitLen = getFromGraphBuf(BitStream); + // PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); + int errCnt=0; + errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); + if (errCnt<0||BitLen<16){ //if fatal error (or -1) + // PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); + return 0; + } + PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen); + + //output + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("ASK/Manchester decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + setDemodBuf(BitStream,BitLen); + printDemodBuff(); + uint64_t lo =0; + lo = Em410xDecode(BitStream,BitLen); + if (lo>0){ + //set GraphBuffer for clone or sim command + PrintAndLog("EM410x pattern found: "); + printEM410x(lo); + return 1; + } + //if (BitLen>16) return 1; + return 0; } //by marshmellow @@ -291,75 +293,75 @@ int Cmdaskmandemod(const char *Cmd) //stricktly take 10 and 01 and convert to 0 and 1 int Cmdmandecoderaw(const char *Cmd) { - int i =0; - int errCnt=0; - int bitnum=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - int high=0,low=0; - for (;ihigh) high=DemodBuffer[i]; - else if(DemodBuffer[i]1 || low <0 ){ - PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode"); - return 0; - } - bitnum=i; - errCnt=manrawdecode(BitStream,&bitnum); - if (errCnt>=20){ - PrintAndLog("Too many errors: %d",errCnt); - return 0; - } - PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); - printBitStream(BitStream,bitnum); - if (errCnt==0){ - uint64_t id = 0; - id = Em410xDecode(BitStream,bitnum); - if (id>0) setDemodBuf(BitStream,bitnum); - printEM410x(id); - } - return 1; + int i =0; + int errCnt=0; + size_t size=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + int high=0,low=0; + for (;ihigh) high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0 ){ + PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode"); + return 0; + } + size=i; + errCnt=manrawdecode(BitStream, &size); + if (errCnt>=20){ + PrintAndLog("Too many errors: %d",errCnt); + return 0; + } + PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); + printBitStream(BitStream, size); + if (errCnt==0){ + uint64_t id = 0; + id = Em410xDecode(BitStream, size); + if (id>0) setDemodBuf(BitStream, size); + printEM410x(id); + } + return 1; } //by marshmellow //biphase decode //take 01 or 10 = 0 and 11 or 00 = 1 //takes 1 argument "offset" default = 0 if 1 it will shift the decode by one bit -// since it is not like manchester and doesn't have an incorrect bit pattern we +// since it is not like manchester and doesn't have an incorrect bit pattern we // cannot determine if our decode is correct or if it should be shifted by one bit // the argument offset allows us to manually shift if the output is incorrect // (better would be to demod and decode at the same time so we can distinguish large // width waves vs small width waves to help the decode positioning) or askbiphdemod int CmdBiphaseDecodeRaw(const char *Cmd) { - int i = 0; - int errCnt=0; - int bitnum=0; - int offset=0; - int high=0, low=0; - sscanf(Cmd, "%i", &offset); - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - //get graphbuffer & high and low - for (;ihigh)high=DemodBuffer[i]; - else if(DemodBuffer[i]1 || low <0){ - PrintAndLog("Error: please raw demod the wave first then decode"); - return 0; - } - bitnum=i; - errCnt=BiphaseRawDecode(BitStream,&bitnum, offset); - if (errCnt>=20){ - PrintAndLog("Too many errors attempting to decode: %d",errCnt); - return 0; - } - PrintAndLog("Biphase Decoded using offset: %d - # errors:%d - data:",offset,errCnt); - printBitStream(BitStream,bitnum); - PrintAndLog("\nif bitstream does not look right try offset=1"); - return 1; + int i = 0; + int errCnt=0; + size_t size=0; + int offset=0; + int high=0, low=0; + sscanf(Cmd, "%i", &offset); + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + //get graphbuffer & high and low + for (;ihigh)high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0){ + PrintAndLog("Error: please raw demod the wave first then decode"); + return 0; + } + size=i; + errCnt=BiphaseRawDecode(BitStream, &size, offset); + if (errCnt>=20){ + PrintAndLog("Too many errors attempting to decode: %d",errCnt); + return 0; + } + PrintAndLog("Biphase Decoded using offset: %d - # errors:%d - data:",offset,errCnt); + printBitStream(BitStream, size); + PrintAndLog("\nif bitstream does not look right try offset=1"); + return 1; } @@ -369,89 +371,89 @@ int CmdBiphaseDecodeRaw(const char *Cmd) //prints binary found and saves in graphbuffer for further commands int Cmdaskrawdemod(const char *Cmd) { - int invert=0; - int clk=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - sscanf(Cmd, "%i %i", &clk, &invert); - if (invert != 0 && invert != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return 0; - } - int BitLen = getFromGraphBuf(BitStream); - int errCnt=0; - errCnt = askrawdemod(BitStream, &BitLen,&clk,&invert); - if (errCnt==-1||BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) - PrintAndLog("no data found"); - return 0; - } - PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); - //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to DemodBuffer - setDemodBuf(BitStream,BitLen); - - //output - if (errCnt>0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - } - PrintAndLog("ASK demoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - printBitStream(BitStream,BitLen); - - return 1; + int invert=0; + int clk=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } + size_t BitLen = getFromGraphBuf(BitStream); + int errCnt=0; + errCnt = askrawdemod(BitStream, &BitLen,&clk,&invert); + if (errCnt==-1||BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) + PrintAndLog("no data found"); + return 0; + } + PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); + //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to DemodBuffer + setDemodBuf(BitStream,BitLen); + + //output + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("ASK demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printBitStream(BitStream,BitLen); + + return 1; } int CmdAutoCorr(const char *Cmd) { - static int CorrelBuffer[MAX_GRAPH_TRACE_LEN]; + static int CorrelBuffer[MAX_GRAPH_TRACE_LEN]; - int window = atoi(Cmd); + int window = atoi(Cmd); - if (window == 0) { - PrintAndLog("needs a window"); - return 0; - } - if (window >= GraphTraceLen) { - PrintAndLog("window must be smaller than trace (%d samples)", - GraphTraceLen); - return 0; - } + if (window == 0) { + PrintAndLog("needs a window"); + return 0; + } + if (window >= GraphTraceLen) { + PrintAndLog("window must be smaller than trace (%d samples)", + GraphTraceLen); + return 0; + } - PrintAndLog("performing %d correlations", GraphTraceLen - window); + PrintAndLog("performing %d correlations", GraphTraceLen - window); - for (int i = 0; i < GraphTraceLen - window; ++i) { - int sum = 0; - for (int j = 0; j < window; ++j) { - sum += (GraphBuffer[j]*GraphBuffer[i + j]) / 256; - } - CorrelBuffer[i] = sum; - } - GraphTraceLen = GraphTraceLen - window; - memcpy(GraphBuffer, CorrelBuffer, GraphTraceLen * sizeof (int)); + for (int i = 0; i < GraphTraceLen - window; ++i) { + int sum = 0; + for (int j = 0; j < window; ++j) { + sum += (GraphBuffer[j]*GraphBuffer[i + j]) / 256; + } + CorrelBuffer[i] = sum; + } + GraphTraceLen = GraphTraceLen - window; + memcpy(GraphBuffer, CorrelBuffer, GraphTraceLen * sizeof (int)); - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdBitsamples(const char *Cmd) { - int cnt = 0; - uint8_t got[12288]; - - GetFromBigBuf(got,sizeof(got),0); - WaitForResponse(CMD_ACK,NULL); + int cnt = 0; + uint8_t got[12288]; - for (int j = 0; j < sizeof(got); j++) { - for (int k = 0; k < 8; k++) { - if(got[j] & (1 << (7 - k))) { - GraphBuffer[cnt++] = 1; - } else { - GraphBuffer[cnt++] = 0; - } - } - } - GraphTraceLen = cnt; - RepaintGraphWindow(); - return 0; + GetFromBigBuf(got,sizeof(got),0); + WaitForResponse(CMD_ACK,NULL); + + for (int j = 0; j < sizeof(got); j++) { + for (int k = 0; k < 8; k++) { + if(got[j] & (1 << (7 - k))) { + GraphBuffer[cnt++] = 1; + } else { + GraphBuffer[cnt++] = 0; + } + } + } + GraphTraceLen = cnt; + RepaintGraphWindow(); + return 0; } /* @@ -459,92 +461,92 @@ int CmdBitsamples(const char *Cmd) */ int CmdBitstream(const char *Cmd) { - int i, j; - int bit; - int gtl; - int clock; - int low = 0; - int high = 0; - int hithigh, hitlow, first; + int i, j; + int bit; + int gtl; + int clock; + int low = 0; + int high = 0; + int hithigh, hitlow, first; - /* Detect high and lows and clock */ - for (i = 0; i < GraphTraceLen; ++i) - { - if (GraphBuffer[i] > high) - high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) - low = GraphBuffer[i]; - } + /* Detect high and lows and clock */ + for (i = 0; i < GraphTraceLen; ++i) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } - /* Get our clock */ - clock = GetClock(Cmd, high, 1); - gtl = ClearGraph(0); + /* Get our clock */ + clock = GetClock(Cmd, high, 1); + gtl = ClearGraph(0); - bit = 0; - for (i = 0; i < (int)(gtl / clock); ++i) - { - hithigh = 0; - hitlow = 0; - first = 1; - /* Find out if we hit both high and low peaks */ - for (j = 0; j < clock; ++j) - { - if (GraphBuffer[(i * clock) + j] == high) - hithigh = 1; - else if (GraphBuffer[(i * clock) + j] == low) - hitlow = 1; - /* it doesn't count if it's the first part of our read - because it's really just trailing from the last sequence */ - if (first && (hithigh || hitlow)) - hithigh = hitlow = 0; - else - first = 0; + bit = 0; + for (i = 0; i < (int)(gtl / clock); ++i) + { + hithigh = 0; + hitlow = 0; + first = 1; + /* Find out if we hit both high and low peaks */ + for (j = 0; j < clock; ++j) + { + if (GraphBuffer[(i * clock) + j] == high) + hithigh = 1; + else if (GraphBuffer[(i * clock) + j] == low) + hitlow = 1; + /* it doesn't count if it's the first part of our read + because it's really just trailing from the last sequence */ + if (first && (hithigh || hitlow)) + hithigh = hitlow = 0; + else + first = 0; - if (hithigh && hitlow) - break; - } + if (hithigh && hitlow) + break; + } - /* If we didn't hit both high and low peaks, we had a bit transition */ - if (!hithigh || !hitlow) - bit ^= 1; + /* If we didn't hit both high and low peaks, we had a bit transition */ + if (!hithigh || !hitlow) + bit ^= 1; - AppendGraph(0, clock, bit); - // for (j = 0; j < (int)(clock/2); j++) - // GraphBuffer[(i * clock) + j] = bit ^ 1; - // for (j = (int)(clock/2); j < clock; j++) - // GraphBuffer[(i * clock) + j] = bit; - } + AppendGraph(0, clock, bit); + // for (j = 0; j < (int)(clock/2); j++) + // GraphBuffer[(i * clock) + j] = bit ^ 1; + // for (j = (int)(clock/2); j < clock; j++) + // GraphBuffer[(i * clock) + j] = bit; + } - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdBuffClear(const char *Cmd) { - UsbCommand c = {CMD_BUFF_CLEAR}; - SendCommand(&c); - ClearGraph(true); - return 0; + UsbCommand c = {CMD_BUFF_CLEAR}; + SendCommand(&c); + ClearGraph(true); + return 0; } int CmdDec(const char *Cmd) { - for (int i = 0; i < (GraphTraceLen / 2); ++i) - GraphBuffer[i] = GraphBuffer[i * 2]; - GraphTraceLen /= 2; - PrintAndLog("decimated by 2"); - RepaintGraphWindow(); - return 0; + for (int i = 0; i < (GraphTraceLen / 2); ++i) + GraphBuffer[i] = GraphBuffer[i * 2]; + GraphTraceLen /= 2; + PrintAndLog("decimated by 2"); + RepaintGraphWindow(); + return 0; } /* Print our clock rate */ -// uses data from graphbuffer +// uses data from graphbuffer int CmdDetectClockRate(const char *Cmd) { - GetClock("",0,0); - //int clock = DetectASKClock(0); - //PrintAndLog("Auto-detected clock rate: %d", clock); - return 0; + GetClock("",0,0); + //int clock = DetectASKClock(0); + //PrintAndLog("Auto-detected clock rate: %d", clock); + return 0; } //by marshmellow @@ -553,37 +555,37 @@ int CmdDetectClockRate(const char *Cmd) //defaults: clock = 50, invert=0, rchigh=10, rclow=8 (RF/10 RF/8 (fsk2a)) int CmdFSKrawdemod(const char *Cmd) { - //raw fsk demod no manchester decoding no start bit finding just get binary from wave - //set defaults - int rfLen = 50; - int invert=0; - int fchigh=10; - int fclow=8; - //set options from parameters entered with the command - sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow); - - if (strlen(Cmd)>0 && strlen(Cmd)<=2) { - //rfLen=param_get8(Cmd, 0); //if rfLen option only is used - if (rfLen==1){ - invert=1; //if invert option only is used - rfLen = 50; - } else if(rfLen==0) rfLen=50; - } - PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - uint32_t BitLen = getFromGraphBuf(BitStream); - int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); - if (size>0){ - PrintAndLog("FSK decoded bitstream:"); - setDemodBuf(BitStream,size); - - // Now output the bitstream to the scrollback by line of 16 bits - if(size > (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size - printBitStream(BitStream,size); - } else{ - PrintAndLog("no FSK data found"); - } - return 0; + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + //set defaults + int rfLen = 50; + int invert=0; + int fchigh=10; + int fclow=8; + //set options from parameters entered with the command + sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow); + + if (strlen(Cmd)>0 && strlen(Cmd)<=2) { + //rfLen=param_get8(Cmd, 0); //if rfLen option only is used + if (rfLen==1){ + invert=1; //if invert option only is used + rfLen = 50; + } else if(rfLen==0) rfLen=50; + } + PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); + if (size>0){ + PrintAndLog("FSK decoded bitstream:"); + setDemodBuf(BitStream,size); + + // Now output the bitstream to the scrollback by line of 16 bits + if(size > (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size + printBitStream(BitStream,size); + } else{ + PrintAndLog("no FSK data found"); + } + return 0; } //by marshmellow (based on existing demod + holiman's refactor) @@ -591,73 +593,73 @@ int CmdFSKrawdemod(const char *Cmd) //print full HID Prox ID and some bit format details if found int CmdFSKdemodHID(const char *Cmd) { - //raw fsk demod no manchester decoding no start bit finding just get binary from wave - uint32_t hi2=0, hi=0, lo=0; + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + uint32_t hi2=0, hi=0, lo=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - uint32_t BitLen = getFromGraphBuf(BitStream); - //get binary from fsk wave - size_t size = HIDdemodFSK(BitStream,BitLen,&hi2,&hi,&lo); - if (size<0){ - PrintAndLog("Error demoding fsk"); - return 0; - } - if (hi2==0 && hi==0 && lo==0) return 0; - if (hi2 != 0){ //extra large HID tags - PrintAndLog("HID Prox TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - setDemodBuf(BitStream,BitLen); - return 1; - } - else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t fmtLen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 15) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - fmtLen =idx3+19; - fc =0; - cardnum=0; - if(fmtLen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(fmtLen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(fmtLen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(fmtLen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - fmtLen= 37; - fc =0; - cardnum=0; - if(fmtLen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - PrintAndLog("HID Prox TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum); - setDemodBuf(BitStream,BitLen); - return 1; - } - return 0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + //get binary from fsk wave + size_t size = HIDdemodFSK(BitStream,BitLen,&hi2,&hi,&lo); + if (size<0){ + PrintAndLog("Error demoding fsk"); + return 0; + } + if (hi2==0 && hi==0 && lo==0) return 0; + if (hi2 != 0){ //extra large HID tags + PrintAndLog("HID Prox TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + setDemodBuf(BitStream,BitLen); + return 1; + } + else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t fmtLen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 15) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; + } + fmtLen =idx3+19; + fc =0; + cardnum=0; + if(fmtLen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(fmtLen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(fmtLen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(fmtLen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + fmtLen= 37; + fc =0; + cardnum=0; + if(fmtLen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + PrintAndLog("HID Prox TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum); + setDemodBuf(BitStream,BitLen); + return 1; + } + return 0; } //by marshmellow @@ -665,203 +667,203 @@ int CmdFSKdemodHID(const char *Cmd) //print ioprox ID and some format details int CmdFSKdemodIO(const char *Cmd) { - //raw fsk demod no manchester decoding no start bit finding just get binary from wave - //set defaults - int idx=0; - //something in graphbuffer - if (GraphTraceLen < 65) return 0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - uint32_t BitLen = getFromGraphBuf(BitStream); - //get binary from fsk wave - // PrintAndLog("DEBUG: got buff"); - idx = IOdemodFSK(BitStream,BitLen); - if (idx<0){ - //PrintAndLog("Error demoding fsk"); - return 0; - } - // PrintAndLog("DEBUG: Got IOdemodFSK"); - if (idx==0){ - //PrintAndLog("IO Prox Data not found - FSK Data:"); - //if (BitLen > 92) printBitStream(BitStream,92); - return 0; - } - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo (raw) - //Handle the data - if (idx+64>BitLen) return 0; - PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx], BitStream[idx+1], BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9], BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]); - PrintAndLog("%d%d%d%d%d%d%d%d %d facility",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); - PrintAndLog("%d%d%d%d%d%d%d%d %d version",BitStream[idx+27], BitStream[idx+28], BitStream[idx+29],BitStream[idx+30],BitStream[idx+31],BitStream[idx+32],BitStream[idx+33],BitStream[idx+34],BitStream[idx+35]); - PrintAndLog("%d%d%d%d%d%d%d%d %d code1",BitStream[idx+36], BitStream[idx+37], BitStream[idx+38],BitStream[idx+39],BitStream[idx+40],BitStream[idx+41],BitStream[idx+42],BitStream[idx+43],BitStream[idx+44]); - PrintAndLog("%d%d%d%d%d%d%d%d %d code2",BitStream[idx+45], BitStream[idx+46], BitStream[idx+47],BitStream[idx+48],BitStream[idx+49],BitStream[idx+50],BitStream[idx+51],BitStream[idx+52],BitStream[idx+53]); - PrintAndLog("%d%d%d%d%d%d%d%d %d%d checksum",BitStream[idx+54],BitStream[idx+55],BitStream[idx+56],BitStream[idx+57],BitStream[idx+58],BitStream[idx+59],BitStream[idx+60],BitStream[idx+61],BitStream[idx+62],BitStream[idx+63]); + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + //set defaults + int idx=0; + //something in graphbuffer + if (GraphTraceLen < 65) return 0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + //get binary from fsk wave + // PrintAndLog("DEBUG: got buff"); + idx = IOdemodFSK(BitStream,BitLen); + if (idx<0){ + //PrintAndLog("Error demoding fsk"); + return 0; + } + // PrintAndLog("DEBUG: Got IOdemodFSK"); + if (idx==0){ + //PrintAndLog("IO Prox Data not found - FSK Data:"); + //if (BitLen > 92) printBitStream(BitStream,92); + return 0; + } + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo (raw) + //Handle the data + if (idx+64>BitLen) return 0; + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx], BitStream[idx+1], BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9], BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]); + PrintAndLog("%d%d%d%d%d%d%d%d %d facility",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); + PrintAndLog("%d%d%d%d%d%d%d%d %d version",BitStream[idx+27], BitStream[idx+28], BitStream[idx+29],BitStream[idx+30],BitStream[idx+31],BitStream[idx+32],BitStream[idx+33],BitStream[idx+34],BitStream[idx+35]); + PrintAndLog("%d%d%d%d%d%d%d%d %d code1",BitStream[idx+36], BitStream[idx+37], BitStream[idx+38],BitStream[idx+39],BitStream[idx+40],BitStream[idx+41],BitStream[idx+42],BitStream[idx+43],BitStream[idx+44]); + PrintAndLog("%d%d%d%d%d%d%d%d %d code2",BitStream[idx+45], BitStream[idx+46], BitStream[idx+47],BitStream[idx+48],BitStream[idx+49],BitStream[idx+50],BitStream[idx+51],BitStream[idx+52],BitStream[idx+53]); + PrintAndLog("%d%d%d%d%d%d%d%d %d%d checksum",BitStream[idx+54],BitStream[idx+55],BitStream[idx+56],BitStream[idx+57],BitStream[idx+58],BitStream[idx+59],BitStream[idx+60],BitStream[idx+61],BitStream[idx+62],BitStream[idx+63]); - uint32_t code = bytebits_to_byte(BitStream+idx,32); - uint32_t code2 = bytebits_to_byte(BitStream+idx+32,32); - uint8_t version = bytebits_to_byte(BitStream+idx+27,8); //14,4 - uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ; - uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 - PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - int i; - for (i=0;i<64;++i) - DemodBuffer[i]=BitStream[idx++]; + uint32_t code = bytebits_to_byte(BitStream+idx,32); + uint32_t code2 = bytebits_to_byte(BitStream+idx+32,32); + uint8_t version = bytebits_to_byte(BitStream+idx+27,8); //14,4 + uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ; + uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 + PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + int i; + for (i=0;i<64;++i) + DemodBuffer[i]=BitStream[idx++]; - DemodBufferLen=64; - return 1; + DemodBufferLen=64; + return 1; } int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating { - static const int LowTone[] = { - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1 - }; - static const int HighTone[] = { - 1, 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, -1, - }; + static const int LowTone[] = { + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1 + }; + static const int HighTone[] = { + 1, 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, -1, + }; - int lowLen = sizeof (LowTone) / sizeof (int); - int highLen = sizeof (HighTone) / sizeof (int); - int convLen = (highLen > lowLen) ? highLen : lowLen; //if highlen > lowLen then highlen else lowlen - uint32_t hi = 0, lo = 0; + int lowLen = sizeof (LowTone) / sizeof (int); + int highLen = sizeof (HighTone) / sizeof (int); + int convLen = (highLen > lowLen) ? highLen : lowLen; //if highlen > lowLen then highlen else lowlen + uint32_t hi = 0, lo = 0; - int i, j; - int minMark = 0, maxMark = 0; - - for (i = 0; i < GraphTraceLen - convLen; ++i) { - int lowSum = 0, highSum = 0; + int i, j; + int minMark = 0, maxMark = 0; - for (j = 0; j < lowLen; ++j) { - lowSum += LowTone[j]*GraphBuffer[i+j]; - } - for (j = 0; j < highLen; ++j) { - highSum += HighTone[j] * GraphBuffer[i + j]; - } - lowSum = abs(100 * lowSum / lowLen); - highSum = abs(100 * highSum / highLen); - GraphBuffer[i] = (highSum << 16) | lowSum; - } + for (i = 0; i < GraphTraceLen - convLen; ++i) { + int lowSum = 0, highSum = 0; - for(i = 0; i < GraphTraceLen - convLen - 16; ++i) { - int lowTot = 0, highTot = 0; - // 10 and 8 are f_s divided by f_l and f_h, rounded - for (j = 0; j < 10; ++j) { - lowTot += (GraphBuffer[i+j] & 0xffff); - } - for (j = 0; j < 8; j++) { - highTot += (GraphBuffer[i + j] >> 16); - } - GraphBuffer[i] = lowTot - highTot; - if (GraphBuffer[i] > maxMark) maxMark = GraphBuffer[i]; - if (GraphBuffer[i] < minMark) minMark = GraphBuffer[i]; - } + for (j = 0; j < lowLen; ++j) { + lowSum += LowTone[j]*GraphBuffer[i+j]; + } + for (j = 0; j < highLen; ++j) { + highSum += HighTone[j] * GraphBuffer[i + j]; + } + lowSum = abs(100 * lowSum / lowLen); + highSum = abs(100 * highSum / highLen); + GraphBuffer[i] = (highSum << 16) | lowSum; + } - GraphTraceLen -= (convLen + 16); - RepaintGraphWindow(); + for(i = 0; i < GraphTraceLen - convLen - 16; ++i) { + int lowTot = 0, highTot = 0; + // 10 and 8 are f_s divided by f_l and f_h, rounded + for (j = 0; j < 10; ++j) { + lowTot += (GraphBuffer[i+j] & 0xffff); + } + for (j = 0; j < 8; j++) { + highTot += (GraphBuffer[i + j] >> 16); + } + GraphBuffer[i] = lowTot - highTot; + if (GraphBuffer[i] > maxMark) maxMark = GraphBuffer[i]; + if (GraphBuffer[i] < minMark) minMark = GraphBuffer[i]; + } - // Find bit-sync (3 lo followed by 3 high) (HID ONLY) - int max = 0, maxPos = 0; - for (i = 0; i < 6000; ++i) { - int dec = 0; - for (j = 0; j < 3 * lowLen; ++j) { - dec -= GraphBuffer[i + j]; - } - for (; j < 3 * (lowLen + highLen ); ++j) { - dec += GraphBuffer[i + j]; - } - if (dec > max) { - max = dec; - maxPos = i; - } - } + GraphTraceLen -= (convLen + 16); + RepaintGraphWindow(); - // place start of bit sync marker in graph - GraphBuffer[maxPos] = maxMark; - GraphBuffer[maxPos + 1] = minMark; + // Find bit-sync (3 lo followed by 3 high) (HID ONLY) + int max = 0, maxPos = 0; + for (i = 0; i < 6000; ++i) { + int dec = 0; + for (j = 0; j < 3 * lowLen; ++j) { + dec -= GraphBuffer[i + j]; + } + for (; j < 3 * (lowLen + highLen ); ++j) { + dec += GraphBuffer[i + j]; + } + if (dec > max) { + max = dec; + maxPos = i; + } + } - maxPos += j; + // place start of bit sync marker in graph + GraphBuffer[maxPos] = maxMark; + GraphBuffer[maxPos + 1] = minMark; - // place end of bit sync marker in graph - GraphBuffer[maxPos] = maxMark; - GraphBuffer[maxPos+1] = minMark; + maxPos += j; - PrintAndLog("actual data bits start at sample %d", maxPos); - PrintAndLog("length %d/%d", highLen, lowLen); + // place end of bit sync marker in graph + GraphBuffer[maxPos] = maxMark; + GraphBuffer[maxPos+1] = minMark; - uint8_t bits[46]; - bits[sizeof(bits)-1] = '\0'; + PrintAndLog("actual data bits start at sample %d", maxPos); + PrintAndLog("length %d/%d", highLen, lowLen); - // find bit pairs and manchester decode them - for (i = 0; i < arraylen(bits) - 1; ++i) { - int dec = 0; - for (j = 0; j < lowLen; ++j) { - dec -= GraphBuffer[maxPos + j]; - } - for (; j < lowLen + highLen; ++j) { - dec += GraphBuffer[maxPos + j]; - } - maxPos += j; - // place inter bit marker in graph - GraphBuffer[maxPos] = maxMark; - GraphBuffer[maxPos + 1] = minMark; + uint8_t bits[46]; + bits[sizeof(bits)-1] = '\0'; - // hi and lo form a 64 bit pair - hi = (hi << 1) | (lo >> 31); - lo = (lo << 1); - // store decoded bit as binary (in hi/lo) and text (in bits[]) - if(dec < 0) { - bits[i] = '1'; - lo |= 1; - } else { - bits[i] = '0'; - } - } - PrintAndLog("bits: '%s'", bits); - PrintAndLog("hex: %08x %08x", hi, lo); - return 0; + // find bit pairs and manchester decode them + for (i = 0; i < arraylen(bits) - 1; ++i) { + int dec = 0; + for (j = 0; j < lowLen; ++j) { + dec -= GraphBuffer[maxPos + j]; + } + for (; j < lowLen + highLen; ++j) { + dec += GraphBuffer[maxPos + j]; + } + maxPos += j; + // place inter bit marker in graph + GraphBuffer[maxPos] = maxMark; + GraphBuffer[maxPos + 1] = minMark; + + // hi and lo form a 64 bit pair + hi = (hi << 1) | (lo >> 31); + lo = (lo << 1); + // store decoded bit as binary (in hi/lo) and text (in bits[]) + if(dec < 0) { + bits[i] = '1'; + lo |= 1; + } else { + bits[i] = '0'; + } + } + PrintAndLog("bits: '%s'", bits); + PrintAndLog("hex: %08x %08x", hi, lo); + return 0; } int CmdDetectNRZpskClockRate(const char *Cmd) { - GetNRZpskClock("",0,0); - return 0; + GetNRZpskClock("",0,0); + return 0; } int PSKnrzDemod(const char *Cmd){ - int invert=0; - int clk=0; - sscanf(Cmd, "%i %i", &clk, &invert); - if (invert != 0 && invert != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return -1; - } - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - int BitLen = getFromGraphBuf(BitStream); - int errCnt=0; - errCnt = pskNRZrawDemod(BitStream, &BitLen,&clk,&invert); - if (errCnt<0|| BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) - //PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); - return -1; - } - PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); - - //prime demod buffer for output - setDemodBuf(BitStream,BitLen); - return errCnt; + int invert=0; + int clk=0; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return -1; + } + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + int errCnt=0; + errCnt = pskNRZrawDemod(BitStream, &BitLen,&clk,&invert); + if (errCnt<0|| BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) + //PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); + return -1; + } + PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); + + //prime demod buffer for output + setDemodBuf(BitStream,BitLen); + return errCnt; } // Indala 26 bit decode // by marshmellow @@ -869,103 +871,103 @@ int PSKnrzDemod(const char *Cmd){ int CmdIndalaDecode(const char *Cmd) { - int ans=PSKnrzDemod(Cmd); - if (ans < 0){ - PrintAndLog("Error1: %d",ans); - return 0; - } - uint8_t invert=0; - ans = indala26decode(DemodBuffer, &DemodBufferLen, &invert); - if (ans < 1) { - PrintAndLog("Error2: %d",ans); - return -1; - } - char showbits[251]; - if(invert==1) PrintAndLog("Had to invert bits"); - //convert UID to HEX - uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; - int idx; - uid1=0; - uid2=0; - PrintAndLog("BitLen: %d",DemodBufferLen); - if (DemodBufferLen==64){ - for( idx=0; idx<64; idx++) { - uid1=(uid1<<1)|(uid2>>31); - if (DemodBuffer[idx] == 0) { - uid2=(uid2<<1)|0; - showbits[idx]='0'; - } else { - uid2=(uid2<<1)|1; - showbits[idx]='1'; - } - } - showbits[idx]='\0'; - PrintAndLog("Indala UID=%s (%x%08x)", showbits, uid1, uid2); - } - else { - uid3=0; - uid4=0; - uid5=0; - uid6=0; - uid7=0; - for( idx=0; idx>31); - uid2=(uid2<<1)|(uid3>>31); - uid3=(uid3<<1)|(uid4>>31); - uid4=(uid4<<1)|(uid5>>31); - uid5=(uid5<<1)|(uid6>>31); - uid6=(uid6<<1)|(uid7>>31); - if (DemodBuffer[idx] == 0) { - uid7=(uid7<<1)|0; - showbits[idx]='0'; - } - else { - uid7=(uid7<<1)|1; - showbits[idx]='1'; - } - } - showbits[idx]='\0'; - PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); - } - return 1; + int ans=PSKnrzDemod(Cmd); + if (ans < 0){ + PrintAndLog("Error1: %d",ans); + return 0; + } + uint8_t invert=0; + ans = indala26decode(DemodBuffer,(size_t *) &DemodBufferLen, &invert); + if (ans < 1) { + PrintAndLog("Error2: %d",ans); + return -1; + } + char showbits[251]; + if(invert==1) PrintAndLog("Had to invert bits"); + //convert UID to HEX + uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; + int idx; + uid1=0; + uid2=0; + PrintAndLog("BitLen: %d",DemodBufferLen); + if (DemodBufferLen==64){ + for( idx=0; idx<64; idx++) { + uid1=(uid1<<1)|(uid2>>31); + if (DemodBuffer[idx] == 0) { + uid2=(uid2<<1)|0; + showbits[idx]='0'; + } else { + uid2=(uid2<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x)", showbits, uid1, uid2); + } + else { + uid3=0; + uid4=0; + uid5=0; + uid6=0; + uid7=0; + for( idx=0; idx>31); + uid2=(uid2<<1)|(uid3>>31); + uid3=(uid3<<1)|(uid4>>31); + uid4=(uid4<<1)|(uid5>>31); + uid5=(uid5<<1)|(uid6>>31); + uid6=(uid6<<1)|(uid7>>31); + if (DemodBuffer[idx] == 0) { + uid7=(uid7<<1)|0; + showbits[idx]='0'; + } + else { + uid7=(uid7<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); + } + return 1; } /* //by marshmellow (attempt to get rid of high immediately after a low) void pskCleanWave2(uint8_t *bitStream, int bitLen) { - int i; - int low=128; - int gap = 4; + int i; + int low=128; + int gap = 4; // int loopMax = 2048; - int newLow=0; + int newLow=0; - for (i=0; i0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - } - PrintAndLog("PSK or NRZ demoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - printDemodBuff(); - - return 1; + int errCnt= PSKnrzDemod(Cmd); + //output + if (errCnt<0) return 0; + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("PSK or NRZ demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + + return 1; } int CmdGrid(const char *Cmd) { - sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); - PlotGridXdefault= PlotGridX; - PlotGridYdefault= PlotGridY; - RepaintGraphWindow(); - return 0; + sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); + PlotGridXdefault= PlotGridX; + PlotGridYdefault= PlotGridY; + RepaintGraphWindow(); + return 0; } int CmdHexsamples(const char *Cmd) { - int i, j; - int requested = 0; - int offset = 0; - char string_buf[25]; - char* string_ptr = string_buf; - uint8_t got[40000]; - - sscanf(Cmd, "%i %i", &requested, &offset); + int i, j; + int requested = 0; + int offset = 0; + char string_buf[25]; + char* string_ptr = string_buf; + uint8_t got[40000]; - /* if no args send something */ - if (requested == 0) { - requested = 8; - } - if (offset + requested > sizeof(got)) { - PrintAndLog("Tried to read past end of buffer, + > 40000"); - return 0; - } + sscanf(Cmd, "%i %i", &requested, &offset); - GetFromBigBuf(got,requested,offset); - WaitForResponse(CMD_ACK,NULL); + /* if no args send something */ + if (requested == 0) { + requested = 8; + } + if (offset + requested > sizeof(got)) { + PrintAndLog("Tried to read past end of buffer, + > 40000"); + return 0; + } - i = 0; - for (j = 0; j < requested; j++) { - i++; - string_ptr += sprintf(string_ptr, "%02x ", got[j]); - if (i == 8) { - *(string_ptr - 1) = '\0'; // remove the trailing space - PrintAndLog("%s", string_buf); - string_buf[0] = '\0'; - string_ptr = string_buf; - i = 0; - } - if (j == requested - 1 && string_buf[0] != '\0') { // print any remaining bytes - *(string_ptr - 1) = '\0'; - PrintAndLog("%s", string_buf); - string_buf[0] = '\0'; - } - } - return 0; + GetFromBigBuf(got,requested,offset); + WaitForResponse(CMD_ACK,NULL); + + i = 0; + for (j = 0; j < requested; j++) { + i++; + string_ptr += sprintf(string_ptr, "%02x ", got[j]); + if (i == 8) { + *(string_ptr - 1) = '\0'; // remove the trailing space + PrintAndLog("%s", string_buf); + string_buf[0] = '\0'; + string_ptr = string_buf; + i = 0; + } + if (j == requested - 1 && string_buf[0] != '\0') { // print any remaining bytes + *(string_ptr - 1) = '\0'; + PrintAndLog("%s", string_buf); + string_buf[0] = '\0'; + } + } + return 0; } int CmdHide(const char *Cmd) { - HideGraphWindow(); - return 0; + HideGraphWindow(); + return 0; } int CmdHpf(const char *Cmd) { - int i; - int accum = 0; + int i; + int accum = 0; - for (i = 10; i < GraphTraceLen; ++i) - accum += GraphBuffer[i]; - accum /= (GraphTraceLen - 10); - for (i = 0; i < GraphTraceLen; ++i) - GraphBuffer[i] -= accum; + for (i = 10; i < GraphTraceLen; ++i) + accum += GraphBuffer[i]; + accum /= (GraphTraceLen - 10); + for (i = 0; i < GraphTraceLen; ++i) + GraphBuffer[i] -= accum; - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdSamples(const char *Cmd) { - int cnt = 0; - int n; - uint8_t got[40000]; + int cnt = 0; + int n; + uint8_t got[40000]; - n = strtol(Cmd, NULL, 0); - if (n == 0) n = 6000; - if (n > sizeof(got)) n = sizeof(got); - - PrintAndLog("Reading %d samples\n", n); - GetFromBigBuf(got,n,0); - WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; - } - - PrintAndLog("Done!\n"); - GraphTraceLen = n; - RepaintGraphWindow(); - return 0; + n = strtol(Cmd, NULL, 0); + if (n == 0) n = 6000; + if (n > sizeof(got)) n = sizeof(got); + + PrintAndLog("Reading %d samples\n", n); + GetFromBigBuf(got,n,0); + WaitForResponse(CMD_ACK,NULL); + for (int j = 0; j < n; j++) { + GraphBuffer[cnt++] = ((int)got[j]) - 128; + } + + PrintAndLog("Done!\n"); + GraphTraceLen = n; + RepaintGraphWindow(); + return 0; } int CmdTuneSamples(const char *Cmd) { - int cnt = 0; - int n = 255; - uint8_t got[255]; + int cnt = 0; + int n = 255; + uint8_t got[255]; - PrintAndLog("Reading %d samples\n", n); - GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 - WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; - } - - PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); - PrintAndLog("\n"); - GraphTraceLen = n; - RepaintGraphWindow(); - return 0; + PrintAndLog("Reading %d samples\n", n); + GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 + WaitForResponse(CMD_ACK,NULL); + for (int j = 0; j < n; j++) { + GraphBuffer[cnt++] = ((int)got[j]) - 128; + } + + PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); + PrintAndLog("\n"); + GraphTraceLen = n; + RepaintGraphWindow(); + return 0; } int CmdLoad(const char *Cmd) { - FILE *f = fopen(Cmd, "r"); - if (!f) { - PrintAndLog("couldn't open '%s'", Cmd); - return 0; - } + FILE *f = fopen(Cmd, "r"); + if (!f) { + PrintAndLog("couldn't open '%s'", Cmd); + return 0; + } - GraphTraceLen = 0; - char line[80]; - while (fgets(line, sizeof (line), f)) { - GraphBuffer[GraphTraceLen] = atoi(line); - GraphTraceLen++; - } - fclose(f); - PrintAndLog("loaded %d samples", GraphTraceLen); - RepaintGraphWindow(); - return 0; + GraphTraceLen = 0; + char line[80]; + while (fgets(line, sizeof (line), f)) { + GraphBuffer[GraphTraceLen] = atoi(line); + GraphTraceLen++; + } + fclose(f); + PrintAndLog("loaded %d samples", GraphTraceLen); + RepaintGraphWindow(); + return 0; } int CmdLtrim(const char *Cmd) { - int ds = atoi(Cmd); + int ds = atoi(Cmd); - for (int i = ds; i < GraphTraceLen; ++i) - GraphBuffer[i-ds] = GraphBuffer[i]; - GraphTraceLen -= ds; + for (int i = ds; i < GraphTraceLen; ++i) + GraphBuffer[i-ds] = GraphBuffer[i]; + GraphTraceLen -= ds; - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdRtrim(const char *Cmd) { - int ds = atoi(Cmd); + int ds = atoi(Cmd); - GraphTraceLen = ds; + GraphTraceLen = ds; - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } /* @@ -1161,416 +1163,416 @@ int CmdRtrim(const char *Cmd) */ int CmdManchesterDemod(const char *Cmd) { - int i, j, invert= 0; - int bit; - int clock; - int lastval = 0; - int low = 0; - int high = 0; - int hithigh, hitlow, first; - int lc = 0; - int bitidx = 0; - int bit2idx = 0; - int warnings = 0; + int i, j, invert= 0; + int bit; + int clock; + int lastval = 0; + int low = 0; + int high = 0; + int hithigh, hitlow, first; + int lc = 0; + int bitidx = 0; + int bit2idx = 0; + int warnings = 0; - /* check if we're inverting output */ - if (*Cmd == 'i') - { - PrintAndLog("Inverting output"); - invert = 1; - ++Cmd; - do - ++Cmd; - while(*Cmd == ' '); // in case a 2nd argument was given - } + /* check if we're inverting output */ + if (*Cmd == 'i') + { + PrintAndLog("Inverting output"); + invert = 1; + ++Cmd; + do + ++Cmd; + while(*Cmd == ' '); // in case a 2nd argument was given + } - /* Holds the decoded bitstream: each clock period contains 2 bits */ - /* later simplified to 1 bit after manchester decoding. */ - /* Add 10 bits to allow for noisy / uncertain traces without aborting */ - /* int BitStream[GraphTraceLen*2/clock+10]; */ + /* Holds the decoded bitstream: each clock period contains 2 bits */ + /* later simplified to 1 bit after manchester decoding. */ + /* Add 10 bits to allow for noisy / uncertain traces without aborting */ + /* int BitStream[GraphTraceLen*2/clock+10]; */ - /* But it does not work if compiling on WIndows: therefore we just allocate a */ - /* large array */ - uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0}; + /* But it does not work if compiling on WIndows: therefore we just allocate a */ + /* large array */ + uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0}; - /* Detect high and lows */ - for (i = 0; i < GraphTraceLen; i++) - { - if (GraphBuffer[i] > high) - high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) - low = GraphBuffer[i]; - } + /* Detect high and lows */ + for (i = 0; i < GraphTraceLen; i++) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } - /* Get our clock */ - clock = GetClock(Cmd, high, 1); + /* Get our clock */ + clock = GetClock(Cmd, high, 1); - int tolerance = clock/4; + int tolerance = clock/4; - /* Detect first transition */ - /* Lo-Hi (arbitrary) */ - /* skip to the first high */ - for (i= 0; i < GraphTraceLen; i++) - if (GraphBuffer[i] == high) - break; - /* now look for the first low */ - for (; i < GraphTraceLen; i++) - { - if (GraphBuffer[i] == low) - { - lastval = i; - break; - } - } + /* Detect first transition */ + /* Lo-Hi (arbitrary) */ + /* skip to the first high */ + for (i= 0; i < GraphTraceLen; i++) + if (GraphBuffer[i] == high) + break; + /* now look for the first low */ + for (; i < GraphTraceLen; i++) + { + if (GraphBuffer[i] == low) + { + lastval = i; + break; + } + } - /* If we're not working with 1/0s, demod based off clock */ - if (high != 1) - { - bit = 0; /* We assume the 1st bit is zero, it may not be - * the case: this routine (I think) has an init problem. - * Ed. - */ - for (; i < (int)(GraphTraceLen / clock); i++) - { - hithigh = 0; - hitlow = 0; - first = 1; + /* If we're not working with 1/0s, demod based off clock */ + if (high != 1) + { + bit = 0; /* We assume the 1st bit is zero, it may not be + * the case: this routine (I think) has an init problem. + * Ed. + */ + for (; i < (int)(GraphTraceLen / clock); i++) + { + hithigh = 0; + hitlow = 0; + first = 1; - /* Find out if we hit both high and low peaks */ - for (j = 0; j < clock; j++) - { - if (GraphBuffer[(i * clock) + j] == high) - hithigh = 1; - else if (GraphBuffer[(i * clock) + j] == low) - hitlow = 1; + /* Find out if we hit both high and low peaks */ + for (j = 0; j < clock; j++) + { + if (GraphBuffer[(i * clock) + j] == high) + hithigh = 1; + else if (GraphBuffer[(i * clock) + j] == low) + hitlow = 1; - /* it doesn't count if it's the first part of our read - because it's really just trailing from the last sequence */ - if (first && (hithigh || hitlow)) - hithigh = hitlow = 0; - else - first = 0; + /* it doesn't count if it's the first part of our read + because it's really just trailing from the last sequence */ + if (first && (hithigh || hitlow)) + hithigh = hitlow = 0; + else + first = 0; - if (hithigh && hitlow) - break; - } + if (hithigh && hitlow) + break; + } - /* If we didn't hit both high and low peaks, we had a bit transition */ - if (!hithigh || !hitlow) - bit ^= 1; + /* If we didn't hit both high and low peaks, we had a bit transition */ + if (!hithigh || !hitlow) + bit ^= 1; - BitStream[bit2idx++] = bit ^ invert; - } - } + BitStream[bit2idx++] = bit ^ invert; + } + } - /* standard 1/0 bitstream */ - else - { + /* standard 1/0 bitstream */ + else + { - /* Then detect duration between 2 successive transitions */ - for (bitidx = 1; i < GraphTraceLen; i++) - { - if (GraphBuffer[i-1] != GraphBuffer[i]) - { - lc = i-lastval; - lastval = i; + /* Then detect duration between 2 successive transitions */ + for (bitidx = 1; i < GraphTraceLen; i++) + { + if (GraphBuffer[i-1] != GraphBuffer[i]) + { + lc = i-lastval; + lastval = i; - // Error check: if bitidx becomes too large, we do not - // have a Manchester encoded bitstream or the clock is really - // wrong! - if (bitidx > (GraphTraceLen*2/clock+8) ) { - PrintAndLog("Error: the clock you gave is probably wrong, aborting."); - return 0; - } - // Then switch depending on lc length: - // Tolerance is 1/4 of clock rate (arbitrary) - if (abs(lc-clock/2) < tolerance) { - // Short pulse : either "1" or "0" - BitStream[bitidx++]=GraphBuffer[i-1]; - } else if (abs(lc-clock) < tolerance) { - // Long pulse: either "11" or "00" - BitStream[bitidx++]=GraphBuffer[i-1]; - BitStream[bitidx++]=GraphBuffer[i-1]; - } else { - // Error - warnings++; - PrintAndLog("Warning: Manchester decode error for pulse width detection."); - PrintAndLog("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)"); + // Error check: if bitidx becomes too large, we do not + // have a Manchester encoded bitstream or the clock is really + // wrong! + if (bitidx > (GraphTraceLen*2/clock+8) ) { + PrintAndLog("Error: the clock you gave is probably wrong, aborting."); + return 0; + } + // Then switch depending on lc length: + // Tolerance is 1/4 of clock rate (arbitrary) + if (abs(lc-clock/2) < tolerance) { + // Short pulse : either "1" or "0" + BitStream[bitidx++]=GraphBuffer[i-1]; + } else if (abs(lc-clock) < tolerance) { + // Long pulse: either "11" or "00" + BitStream[bitidx++]=GraphBuffer[i-1]; + BitStream[bitidx++]=GraphBuffer[i-1]; + } else { + // Error + warnings++; + PrintAndLog("Warning: Manchester decode error for pulse width detection."); + PrintAndLog("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)"); - if (warnings > 10) - { - PrintAndLog("Error: too many detection errors, aborting."); - return 0; - } - } - } - } + if (warnings > 10) + { + PrintAndLog("Error: too many detection errors, aborting."); + return 0; + } + } + } + } - // At this stage, we now have a bitstream of "01" ("1") or "10" ("0"), parse it into final decoded bitstream - // Actually, we overwrite BitStream with the new decoded bitstream, we just need to be careful - // to stop output at the final bitidx2 value, not bitidx - for (i = 0; i < bitidx; i += 2) { - if ((BitStream[i] == 0) && (BitStream[i+1] == 1)) { - BitStream[bit2idx++] = 1 ^ invert; - } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) { - BitStream[bit2idx++] = 0 ^ invert; - } else { - // We cannot end up in this state, this means we are unsynchronized, - // move up 1 bit: - i++; - warnings++; - PrintAndLog("Unsynchronized, resync..."); - PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)"); + // At this stage, we now have a bitstream of "01" ("1") or "10" ("0"), parse it into final decoded bitstream + // Actually, we overwrite BitStream with the new decoded bitstream, we just need to be careful + // to stop output at the final bitidx2 value, not bitidx + for (i = 0; i < bitidx; i += 2) { + if ((BitStream[i] == 0) && (BitStream[i+1] == 1)) { + BitStream[bit2idx++] = 1 ^ invert; + } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) { + BitStream[bit2idx++] = 0 ^ invert; + } else { + // We cannot end up in this state, this means we are unsynchronized, + // move up 1 bit: + i++; + warnings++; + PrintAndLog("Unsynchronized, resync..."); + PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)"); - if (warnings > 10) - { - PrintAndLog("Error: too many decode errors, aborting."); - return 0; - } - } - } - } + if (warnings > 10) + { + PrintAndLog("Error: too many decode errors, aborting."); + return 0; + } + } + } + } - PrintAndLog("Manchester decoded bitstream"); - // Now output the bitstream to the scrollback by line of 16 bits - for (i = 0; i < (bit2idx-16); i+=16) { - PrintAndLog("%i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i", - BitStream[i], - BitStream[i+1], - BitStream[i+2], - BitStream[i+3], - BitStream[i+4], - BitStream[i+5], - BitStream[i+6], - BitStream[i+7], - BitStream[i+8], - BitStream[i+9], - BitStream[i+10], - BitStream[i+11], - BitStream[i+12], - BitStream[i+13], - BitStream[i+14], - BitStream[i+15]); - } - return 0; + PrintAndLog("Manchester decoded bitstream"); + // Now output the bitstream to the scrollback by line of 16 bits + for (i = 0; i < (bit2idx-16); i+=16) { + PrintAndLog("%i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i", + BitStream[i], + BitStream[i+1], + BitStream[i+2], + BitStream[i+3], + BitStream[i+4], + BitStream[i+5], + BitStream[i+6], + BitStream[i+7], + BitStream[i+8], + BitStream[i+9], + BitStream[i+10], + BitStream[i+11], + BitStream[i+12], + BitStream[i+13], + BitStream[i+14], + BitStream[i+15]); + } + return 0; } /* Modulate our data into manchester */ int CmdManchesterMod(const char *Cmd) { - int i, j; - int clock; - int bit, lastbit, wave; + int i, j; + int clock; + int bit, lastbit, wave; - /* Get our clock */ - clock = GetClock(Cmd, 0, 1); + /* Get our clock */ + clock = GetClock(Cmd, 0, 1); - wave = 0; - lastbit = 1; - for (i = 0; i < (int)(GraphTraceLen / clock); i++) - { - bit = GraphBuffer[i * clock] ^ 1; + wave = 0; + lastbit = 1; + for (i = 0; i < (int)(GraphTraceLen / clock); i++) + { + bit = GraphBuffer[i * clock] ^ 1; - for (j = 0; j < (int)(clock/2); j++) - GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave; - for (j = (int)(clock/2); j < clock; j++) - GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave ^ 1; + for (j = 0; j < (int)(clock/2); j++) + GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave; + for (j = (int)(clock/2); j < clock; j++) + GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave ^ 1; - /* Keep track of how we start our wave and if we changed or not this time */ - wave ^= bit ^ lastbit; - lastbit = bit; - } + /* Keep track of how we start our wave and if we changed or not this time */ + wave ^= bit ^ lastbit; + lastbit = bit; + } - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdNorm(const char *Cmd) { - int i; - int max = INT_MIN, min = INT_MAX; + int i; + int max = INT_MIN, min = INT_MAX; - for (i = 10; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] > max) - max = GraphBuffer[i]; - if (GraphBuffer[i] < min) - min = GraphBuffer[i]; - } + for (i = 10; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] > max) + max = GraphBuffer[i]; + if (GraphBuffer[i] < min) + min = GraphBuffer[i]; + } - if (max != min) { - for (i = 0; i < GraphTraceLen; ++i) { - GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 256 / - (max - min); - //marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work - } - } - RepaintGraphWindow(); - return 0; + if (max != min) { + for (i = 0; i < GraphTraceLen; ++i) { + GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 256 / + (max - min); + //marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work + } + } + RepaintGraphWindow(); + return 0; } int CmdPlot(const char *Cmd) { - ShowGraphWindow(); - return 0; + ShowGraphWindow(); + return 0; } int CmdSave(const char *Cmd) { - FILE *f = fopen(Cmd, "w"); - if(!f) { - PrintAndLog("couldn't open '%s'", Cmd); - return 0; - } - int i; - for (i = 0; i < GraphTraceLen; i++) { - fprintf(f, "%d\n", GraphBuffer[i]); - } - fclose(f); - PrintAndLog("saved to '%s'", Cmd); - return 0; + FILE *f = fopen(Cmd, "w"); + if(!f) { + PrintAndLog("couldn't open '%s'", Cmd); + return 0; + } + int i; + for (i = 0; i < GraphTraceLen; i++) { + fprintf(f, "%d\n", GraphBuffer[i]); + } + fclose(f); + PrintAndLog("saved to '%s'", Cmd); + return 0; } int CmdScale(const char *Cmd) { - CursorScaleFactor = atoi(Cmd); - if (CursorScaleFactor == 0) { - PrintAndLog("bad, can't have zero scale"); - CursorScaleFactor = 1; - } - RepaintGraphWindow(); - return 0; + CursorScaleFactor = atoi(Cmd); + if (CursorScaleFactor == 0) { + PrintAndLog("bad, can't have zero scale"); + CursorScaleFactor = 1; + } + RepaintGraphWindow(); + return 0; } int CmdThreshold(const char *Cmd) { - int threshold = atoi(Cmd); + int threshold = atoi(Cmd); - for (int i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] >= threshold) - GraphBuffer[i] = 1; - else - GraphBuffer[i] = -1; - } - RepaintGraphWindow(); - return 0; + for (int i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] >= threshold) + GraphBuffer[i] = 1; + else + GraphBuffer[i] = -1; + } + RepaintGraphWindow(); + return 0; } int CmdDirectionalThreshold(const char *Cmd) { int8_t upThres = param_get8(Cmd, 0); int8_t downThres = param_get8(Cmd, 1); - - printf("Applying Up Threshold: %d, Down Threshold: %d\n", upThres, downThres); - - int lastValue = GraphBuffer[0]; - GraphBuffer[0] = 0; // Will be changed at the end, but init 0 as we adjust to last samples value if no threshold kicks in. - - for (int i = 1; i < GraphTraceLen; ++i) { - // Apply first threshold to samples heading up - if (GraphBuffer[i] >= upThres && GraphBuffer[i] > lastValue) - { - lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. - GraphBuffer[i] = 1; - } - // Apply second threshold to samples heading down - else if (GraphBuffer[i] <= downThres && GraphBuffer[i] < lastValue) - { - lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. - GraphBuffer[i] = -1; - } - else - { - lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. - GraphBuffer[i] = GraphBuffer[i-1]; - } - } - GraphBuffer[0] = GraphBuffer[1]; // Aline with first edited sample. - RepaintGraphWindow(); - return 0; + printf("Applying Up Threshold: %d, Down Threshold: %d\n", upThres, downThres); + + int lastValue = GraphBuffer[0]; + GraphBuffer[0] = 0; // Will be changed at the end, but init 0 as we adjust to last samples value if no threshold kicks in. + + for (int i = 1; i < GraphTraceLen; ++i) { + // Apply first threshold to samples heading up + if (GraphBuffer[i] >= upThres && GraphBuffer[i] > lastValue) + { + lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. + GraphBuffer[i] = 1; + } + // Apply second threshold to samples heading down + else if (GraphBuffer[i] <= downThres && GraphBuffer[i] < lastValue) + { + lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. + GraphBuffer[i] = -1; + } + else + { + lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. + GraphBuffer[i] = GraphBuffer[i-1]; + + } + } + GraphBuffer[0] = GraphBuffer[1]; // Aline with first edited sample. + RepaintGraphWindow(); + return 0; } int CmdZerocrossings(const char *Cmd) { - // Zero-crossings aren't meaningful unless the signal is zero-mean. - CmdHpf(""); + // Zero-crossings aren't meaningful unless the signal is zero-mean. + CmdHpf(""); - int sign = 1; - int zc = 0; - int lastZc = 0; + int sign = 1; + int zc = 0; + int lastZc = 0; - for (int i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] * sign >= 0) { - // No change in sign, reproduce the previous sample count. - zc++; - GraphBuffer[i] = lastZc; - } else { - // Change in sign, reset the sample count. - sign = -sign; - GraphBuffer[i] = lastZc; - if (sign > 0) { - lastZc = zc; - zc = 0; - } - } - } + for (int i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] * sign >= 0) { + // No change in sign, reproduce the previous sample count. + zc++; + GraphBuffer[i] = lastZc; + } else { + // Change in sign, reset the sample count. + sign = -sign; + GraphBuffer[i] = lastZc; + if (sign > 0) { + lastZc = zc; + zc = 0; + } + } + } - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } -static command_t CommandTable[] = +static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help"}, - {"amp", CmdAmp, 1, "Amplify peaks"}, - {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, - {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, - {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, - {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, - {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, - {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, - {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, - {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, - {"dec", CmdDec, 1, "Decimate samples"}, - {"detectclock", CmdDetectClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, - {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, - {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, - {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, - {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to binary (clock = 50)(invert = 1 or 0)(rchigh = 10)(rclow=8)"}, - {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, - {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, - {"hide", CmdHide, 1, "Hide graph window"}, - {"hpf", CmdHpf, 1, "Remove DC offset from trace"}, - {"load", CmdLoad, 1, " -- Load trace (to graph window"}, - {"ltrim", CmdLtrim, 1, " -- Trim samples from left of trace"}, - {"rtrim", CmdRtrim, 1, " -- Trim samples from right of trace"}, - {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, - {"manrawdecode", Cmdmandecoderaw, 1, "Manchester decode binary stream already in graph buffer"}, - {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, - {"norm", CmdNorm, 1, "Normalize max/min to +/-128"}, - {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, - {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, - {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, - {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional[clock will try Auto-detect])"}, - {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional[clock will try Auto-detect])"}, - {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, - {"save", CmdSave, 1, " -- Save trace (from graph window)"}, - {"scale", CmdScale, 1, " -- Set cursor display scale"}, - {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, - {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, - {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, - {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, - {NULL, NULL, 0, NULL} + {"help", CmdHelp, 1, "This help"}, + {"amp", CmdAmp, 1, "Amplify peaks"}, + {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, + {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, + {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, + {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, + {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, + {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, + {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, + {"dec", CmdDec, 1, "Decimate samples"}, + {"detectclock", CmdDetectClockRate, 1, "Detect ASK clock rate"}, + {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, + {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, + {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, + {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to binary (clock = 50)(invert = 1 or 0)(rchigh = 10)(rclow=8)"}, + {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, + {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, + {"hide", CmdHide, 1, "Hide graph window"}, + {"hpf", CmdHpf, 1, "Remove DC offset from trace"}, + {"load", CmdLoad, 1, " -- Load trace (to graph window"}, + {"ltrim", CmdLtrim, 1, " -- Trim samples from left of trace"}, + {"rtrim", CmdRtrim, 1, " -- Trim samples from right of trace"}, + {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, + {"manrawdecode", Cmdmandecoderaw, 1, "Manchester decode binary stream already in graph buffer"}, + {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, + {"norm", CmdNorm, 1, "Normalize max/min to +/-128"}, + {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, + {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, + {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, + {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional[clock will try Auto-detect])"}, + {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional[clock will try Auto-detect])"}, + {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, + {"save", CmdSave, 1, " -- Save trace (from graph window)"}, + {"scale", CmdScale, 1, " -- Set cursor display scale"}, + {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, + {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, + {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, + {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, + {NULL, NULL, 0, NULL} }; int CmdData(const char *Cmd) { - CmdsParse(CommandTable, Cmd); - return 0; + CmdsParse(CommandTable, Cmd); + return 0; } int CmdHelp(const char *Cmd) { - CmdsHelp(CommandTable); - return 0; + CmdsHelp(CommandTable); + return 0; } diff --git a/client/cmdlf.c b/client/cmdlf.c index 42a29d0db..af24aa809 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -34,592 +34,592 @@ static int CmdHelp(const char *Cmd); /* send a command before reading */ int CmdLFCommandRead(const char *Cmd) { - static char dummy[3]; + static char dummy[3]; - dummy[0]= ' '; + dummy[0]= ' '; - UsbCommand c = {CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K}; - sscanf(Cmd, "%"lli" %"lli" %"lli" %s %s", &c.arg[0], &c.arg[1], &c.arg[2],(char*)(&c.d.asBytes),(char*)(&dummy+1)); - // in case they specified 'h' - strcpy((char *)&c.d.asBytes + strlen((char *)c.d.asBytes), dummy); - SendCommand(&c); - return 0; + UsbCommand c = {CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K}; + sscanf(Cmd, "%"lli" %"lli" %"lli" %s %s", &c.arg[0], &c.arg[1], &c.arg[2],(char*)(&c.d.asBytes),(char*)(&dummy+1)); + // in case they specified 'h' + strcpy((char *)&c.d.asBytes + strlen((char *)c.d.asBytes), dummy); + SendCommand(&c); + return 0; } int CmdFlexdemod(const char *Cmd) { - int i; - for (i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] < 0) { - GraphBuffer[i] = -1; - } else { - GraphBuffer[i] = 1; - } - } + int i; + for (i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] < 0) { + GraphBuffer[i] = -1; + } else { + GraphBuffer[i] = 1; + } + } - #define LONG_WAIT 100 - int start; - for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { - int first = GraphBuffer[start]; - for (i = start; i < start + LONG_WAIT; i++) { - if (GraphBuffer[i] != first) { - break; - } - } - if (i == (start + LONG_WAIT)) { - break; - } - } - if (start == GraphTraceLen - LONG_WAIT) { - PrintAndLog("nothing to wait for"); - return 0; - } + #define LONG_WAIT 100 + int start; + for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { + int first = GraphBuffer[start]; + for (i = start; i < start + LONG_WAIT; i++) { + if (GraphBuffer[i] != first) { + break; + } + } + if (i == (start + LONG_WAIT)) { + break; + } + } + if (start == GraphTraceLen - LONG_WAIT) { + PrintAndLog("nothing to wait for"); + return 0; + } - GraphBuffer[start] = 2; - GraphBuffer[start+1] = -2; + GraphBuffer[start] = 2; + GraphBuffer[start+1] = -2; - uint8_t bits[64]; + uint8_t bits[64]; - int bit; - i = start; - for (bit = 0; bit < 64; bit++) { - int j; - int sum = 0; - for (j = 0; j < 16; j++) { - sum += GraphBuffer[i++]; - } - if (sum > 0) { - bits[bit] = 1; - } else { - bits[bit] = 0; - } - PrintAndLog("bit %d sum %d", bit, sum); - } + int bit; + i = start; + for (bit = 0; bit < 64; bit++) { + int j; + int sum = 0; + for (j = 0; j < 16; j++) { + sum += GraphBuffer[i++]; + } + if (sum > 0) { + bits[bit] = 1; + } else { + bits[bit] = 0; + } + PrintAndLog("bit %d sum %d", bit, sum); + } - for (bit = 0; bit < 64; bit++) { - int j; - int sum = 0; - for (j = 0; j < 16; j++) { - sum += GraphBuffer[i++]; - } - if (sum > 0 && bits[bit] != 1) { - PrintAndLog("oops1 at %d", bit); - } - if (sum < 0 && bits[bit] != 0) { - PrintAndLog("oops2 at %d", bit); - } - } + for (bit = 0; bit < 64; bit++) { + int j; + int sum = 0; + for (j = 0; j < 16; j++) { + sum += GraphBuffer[i++]; + } + if (sum > 0 && bits[bit] != 1) { + PrintAndLog("oops1 at %d", bit); + } + if (sum < 0 && bits[bit] != 0) { + PrintAndLog("oops2 at %d", bit); + } + } - GraphTraceLen = 32*64; - i = 0; - int phase = 0; - for (bit = 0; bit < 64; bit++) { - if (bits[bit] == 0) { - phase = 0; - } else { - phase = 1; - } - int j; - for (j = 0; j < 32; j++) { - GraphBuffer[i++] = phase; - phase = !phase; - } - } + GraphTraceLen = 32*64; + i = 0; + int phase = 0; + for (bit = 0; bit < 64; bit++) { + if (bits[bit] == 0) { + phase = 0; + } else { + phase = 1; + } + int j; + for (j = 0; j < 32; j++) { + GraphBuffer[i++] = phase; + phase = !phase; + } + } - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } - + int CmdIndalaDemod(const char *Cmd) { - // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID + // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID - int state = -1; - int count = 0; - int i, j; - // worst case with GraphTraceLen=64000 is < 4096 - // under normal conditions it's < 2048 - uint8_t rawbits[4096]; - int rawbit = 0; - int worst = 0, worstPos = 0; + int state = -1; + int count = 0; + int i, j; + // worst case with GraphTraceLen=64000 is < 4096 + // under normal conditions it's < 2048 + uint8_t rawbits[4096]; + int rawbit = 0; + int worst = 0, worstPos = 0; // PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32); - for (i = 0; i < GraphTraceLen-1; i += 2) { - count += 1; - if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) { - if (state == 0) { - for (j = 0; j < count - 8; j += 16) { - rawbits[rawbit++] = 0; - } - if ((abs(count - j)) > worst) { - worst = abs(count - j); - worstPos = i; - } - } - state = 1; - count = 0; - } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) { - if (state == 1) { - for (j = 0; j < count - 8; j += 16) { - rawbits[rawbit++] = 1; - } - if ((abs(count - j)) > worst) { - worst = abs(count - j); - worstPos = i; - } - } - state = 0; - count = 0; - } - } - if (rawbit>0){ - PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); - PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); - } else return 0; - // Finding the start of a UID - int uidlen, long_wait; - if (strcmp(Cmd, "224") == 0) { - uidlen = 224; - long_wait = 30; - } else { - uidlen = 64; - long_wait = 29; - } - int start; - int first = 0; - for (start = 0; start <= rawbit - uidlen; start++) { - first = rawbits[start]; - for (i = start; i < start + long_wait; i++) { - if (rawbits[i] != first) { - break; - } - } - if (i == (start + long_wait)) { - break; - } - } - if (start == rawbit - uidlen + 1) { - PrintAndLog("nothing to wait for"); - return 0; - } + for (i = 0; i < GraphTraceLen-1; i += 2) { + count += 1; + if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) { + if (state == 0) { + for (j = 0; j < count - 8; j += 16) { + rawbits[rawbit++] = 0; + } + if ((abs(count - j)) > worst) { + worst = abs(count - j); + worstPos = i; + } + } + state = 1; + count = 0; + } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) { + if (state == 1) { + for (j = 0; j < count - 8; j += 16) { + rawbits[rawbit++] = 1; + } + if ((abs(count - j)) > worst) { + worst = abs(count - j); + worstPos = i; + } + } + state = 0; + count = 0; + } + } + if (rawbit>0){ + PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); + PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); + } else return 0; + // Finding the start of a UID + int uidlen, long_wait; + if (strcmp(Cmd, "224") == 0) { + uidlen = 224; + long_wait = 30; + } else { + uidlen = 64; + long_wait = 29; + } + int start; + int first = 0; + for (start = 0; start <= rawbit - uidlen; start++) { + first = rawbits[start]; + for (i = start; i < start + long_wait; i++) { + if (rawbits[i] != first) { + break; + } + } + if (i == (start + long_wait)) { + break; + } + } + if (start == rawbit - uidlen + 1) { + PrintAndLog("nothing to wait for"); + return 0; + } - // Inverting signal if needed - if (first == 1) { - for (i = start; i < rawbit; i++) { - rawbits[i] = !rawbits[i]; - } - } + // Inverting signal if needed + if (first == 1) { + for (i = start; i < rawbit; i++) { + rawbits[i] = !rawbits[i]; + } + } - // Dumping UID - uint8_t bits[224]; - char showbits[225]; - showbits[uidlen]='\0'; - int bit; - i = start; - int times = 0; - if (uidlen > rawbit) { - PrintAndLog("Warning: not enough raw bits to get a full UID"); - for (bit = 0; bit < rawbit; bit++) { - bits[bit] = rawbits[i++]; - // As we cannot know the parity, let's use "." and "/" - showbits[bit] = '.' + bits[bit]; - } - showbits[bit+1]='\0'; - PrintAndLog("Partial UID=%s", showbits); - return 0; - } else { - for (bit = 0; bit < uidlen; bit++) { - bits[bit] = rawbits[i++]; - showbits[bit] = '0' + bits[bit]; - } - times = 1; - } - - //convert UID to HEX - uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; - int idx; - uid1=0; - uid2=0; - if (uidlen==64){ - for( idx=0; idx<64; idx++) { - if (showbits[idx] == '0') { - uid1=(uid1<<1)|(uid2>>31); - uid2=(uid2<<1)|0; - } else { - uid1=(uid1<<1)|(uid2>>31); - uid2=(uid2<<1)|1; - } - } - PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); - } - else { - uid3=0; - uid4=0; - uid5=0; - uid6=0; - uid7=0; - for( idx=0; idx<224; idx++) { - uid1=(uid1<<1)|(uid2>>31); - uid2=(uid2<<1)|(uid3>>31); - uid3=(uid3<<1)|(uid4>>31); - uid4=(uid4<<1)|(uid5>>31); - uid5=(uid5<<1)|(uid6>>31); - uid6=(uid6<<1)|(uid7>>31); - if (showbits[idx] == '0') uid7=(uid7<<1)|0; - else uid7=(uid7<<1)|1; - } - PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); - } + // Dumping UID + uint8_t bits[224]; + char showbits[225]; + showbits[uidlen]='\0'; + int bit; + i = start; + int times = 0; + if (uidlen > rawbit) { + PrintAndLog("Warning: not enough raw bits to get a full UID"); + for (bit = 0; bit < rawbit; bit++) { + bits[bit] = rawbits[i++]; + // As we cannot know the parity, let's use "." and "/" + showbits[bit] = '.' + bits[bit]; + } + showbits[bit+1]='\0'; + PrintAndLog("Partial UID=%s", showbits); + return 0; + } else { + for (bit = 0; bit < uidlen; bit++) { + bits[bit] = rawbits[i++]; + showbits[bit] = '0' + bits[bit]; + } + times = 1; + } + + //convert UID to HEX + uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; + int idx; + uid1=0; + uid2=0; + if (uidlen==64){ + for( idx=0; idx<64; idx++) { + if (showbits[idx] == '0') { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|0; + } else { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|1; + } + } + PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); + } + else { + uid3=0; + uid4=0; + uid5=0; + uid6=0; + uid7=0; + for( idx=0; idx<224; idx++) { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|(uid3>>31); + uid3=(uid3<<1)|(uid4>>31); + uid4=(uid4<<1)|(uid5>>31); + uid5=(uid5<<1)|(uid6>>31); + uid6=(uid6<<1)|(uid7>>31); + if (showbits[idx] == '0') uid7=(uid7<<1)|0; + else uid7=(uid7<<1)|1; + } + PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); + } - // Checking UID against next occurrences - for (; i + uidlen <= rawbit;) { - int failed = 0; - for (bit = 0; bit < uidlen; bit++) { - if (bits[bit] != rawbits[i++]) { - failed = 1; - break; - } - } - if (failed == 1) { - break; - } - times += 1; - } - PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); + // Checking UID against next occurrences + for (; i + uidlen <= rawbit;) { + int failed = 0; + for (bit = 0; bit < uidlen; bit++) { + if (bits[bit] != rawbits[i++]) { + failed = 1; + break; + } + } + if (failed == 1) { + break; + } + times += 1; + } + PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); - // Remodulating for tag cloning - GraphTraceLen = 32*uidlen; - i = 0; - int phase = 0; - for (bit = 0; bit < uidlen; bit++) { - if (bits[bit] == 0) { - phase = 0; - } else { - phase = 1; - } - int j; - for (j = 0; j < 32; j++) { - GraphBuffer[i++] = phase; - phase = !phase; - } - } + // Remodulating for tag cloning + GraphTraceLen = 32*uidlen; + i = 0; + int phase = 0; + for (bit = 0; bit < uidlen; bit++) { + if (bits[bit] == 0) { + phase = 0; + } else { + phase = 1; + } + int j; + for (j = 0; j < 32; j++) { + GraphBuffer[i++] = phase; + phase = !phase; + } + } - RepaintGraphWindow(); - return 1; + RepaintGraphWindow(); + return 1; } int CmdIndalaClone(const char *Cmd) { - unsigned int uid1, uid2, uid3, uid4, uid5, uid6, uid7; - UsbCommand c; - uid1=0; - uid2=0; - uid3=0; - uid4=0; - uid5=0; - uid6=0; - uid7=0; - int n = 0, i = 0; + unsigned int uid1, uid2, uid3, uid4, uid5, uid6, uid7; + UsbCommand c; + uid1=0; + uid2=0; + uid3=0; + uid4=0; + uid5=0; + uid6=0; + uid7=0; + int n = 0, i = 0; - if (strchr(Cmd,'l') != 0) { - while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { - uid1 = (uid1 << 4) | (uid2 >> 28); - uid2 = (uid2 << 4) | (uid3 >> 28); - uid3 = (uid3 << 4) | (uid4 >> 28); - uid4 = (uid4 << 4) | (uid5 >> 28); - uid5 = (uid5 << 4) | (uid6 >> 28); - uid6 = (uid6 << 4) | (uid7 >> 28); - uid7 = (uid7 << 4) | (n & 0xf); - } - PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7); - c.cmd = CMD_INDALA_CLONE_TAG_L; - c.d.asDwords[0] = uid1; - c.d.asDwords[1] = uid2; - c.d.asDwords[2] = uid3; - c.d.asDwords[3] = uid4; - c.d.asDwords[4] = uid5; - c.d.asDwords[5] = uid6; - c.d.asDwords[6] = uid7; - } - else - { - while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { - uid1 = (uid1 << 4) | (uid2 >> 28); - uid2 = (uid2 << 4) | (n & 0xf); - } - PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2); - c.cmd = CMD_INDALA_CLONE_TAG; - c.arg[0] = uid1; - c.arg[1] = uid2; - } + if (strchr(Cmd,'l') != 0) { + while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { + uid1 = (uid1 << 4) | (uid2 >> 28); + uid2 = (uid2 << 4) | (uid3 >> 28); + uid3 = (uid3 << 4) | (uid4 >> 28); + uid4 = (uid4 << 4) | (uid5 >> 28); + uid5 = (uid5 << 4) | (uid6 >> 28); + uid6 = (uid6 << 4) | (uid7 >> 28); + uid7 = (uid7 << 4) | (n & 0xf); + } + PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7); + c.cmd = CMD_INDALA_CLONE_TAG_L; + c.d.asDwords[0] = uid1; + c.d.asDwords[1] = uid2; + c.d.asDwords[2] = uid3; + c.d.asDwords[3] = uid4; + c.d.asDwords[4] = uid5; + c.d.asDwords[5] = uid6; + c.d.asDwords[6] = uid7; + } + else + { + while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { + uid1 = (uid1 << 4) | (uid2 >> 28); + uid2 = (uid2 << 4) | (n & 0xf); + } + PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2); + c.cmd = CMD_INDALA_CLONE_TAG; + c.arg[0] = uid1; + c.arg[1] = uid2; + } - SendCommand(&c); - return 0; + SendCommand(&c); + return 0; } int CmdLFRead(const char *Cmd) { - UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K}; - // 'h' means higher-low-frequency, 134 kHz - if(*Cmd == 'h') { - c.arg[0] = 1; - } else if (*Cmd == '\0') { - c.arg[0] = 0; - } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) { - PrintAndLog("use 'read' or 'read h', or 'read '"); - return 0; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - return 0; + UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K}; + // 'h' means higher-low-frequency, 134 kHz + if(*Cmd == 'h') { + c.arg[0] = 1; + } else if (*Cmd == '\0') { + c.arg[0] = 0; + } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) { + PrintAndLog("use 'read' or 'read h', or 'read '"); + return 0; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + return 0; } static void ChkBitstream(const char *str) { - int i; + int i; - /* convert to bitstream if necessary */ - for (i = 0; i < (int)(GraphTraceLen / 2); i++) - { - if (GraphBuffer[i] > 1 || GraphBuffer[i] < 0) - { - CmdBitstream(str); - break; - } - } + /* convert to bitstream if necessary */ + for (i = 0; i < (int)(GraphTraceLen / 2); i++) + { + if (GraphBuffer[i] > 1 || GraphBuffer[i] < 0) + { + CmdBitstream(str); + break; + } + } } int CmdLFSim(const char *Cmd) { - int i; - static int gap; + int i; + static int gap; - sscanf(Cmd, "%i", &gap); + sscanf(Cmd, "%i", &gap); - /* convert to bitstream if necessary */ - ChkBitstream(Cmd); + /* convert to bitstream if necessary */ + ChkBitstream(Cmd); - PrintAndLog("Sending data, please wait..."); - for (i = 0; i < GraphTraceLen; i += 48) { - UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}}; - int j; - for (j = 0; j < 48; j++) { - c.d.asBytes[j] = GraphBuffer[i+j]; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - } + PrintAndLog("Sending data, please wait..."); + for (i = 0; i < GraphTraceLen; i += 48) { + UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}}; + int j; + for (j = 0; j < 48; j++) { + c.d.asBytes[j] = GraphBuffer[i+j]; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + } - PrintAndLog("Starting simulator..."); - UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}}; - SendCommand(&c); - return 0; + PrintAndLog("Starting simulator..."); + UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}}; + SendCommand(&c); + return 0; } int CmdLFSimBidir(const char *Cmd) { - /* Set ADC to twice the carrier for a slight supersampling */ - UsbCommand c = {CMD_LF_SIMULATE_BIDIR, {47, 384, 0}}; - SendCommand(&c); - return 0; + /* Set ADC to twice the carrier for a slight supersampling */ + UsbCommand c = {CMD_LF_SIMULATE_BIDIR, {47, 384, 0}}; + SendCommand(&c); + return 0; } /* simulate an LF Manchester encoded tag with specified bitstream, clock rate and inter-id gap */ int CmdLFSimManchester(const char *Cmd) { - static int clock, gap; - static char data[1024], gapstring[8]; + static int clock, gap; + static char data[1024], gapstring[8]; - /* get settings/bits */ - sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap); + /* get settings/bits */ + sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap); - /* clear our graph */ - ClearGraph(0); + /* clear our graph */ + ClearGraph(0); - /* fill it with our bitstream */ - for (int i = 0; i < strlen(data) ; ++i) - AppendGraph(0, clock, data[i]- '0'); + /* fill it with our bitstream */ + for (int i = 0; i < strlen(data) ; ++i) + AppendGraph(0, clock, data[i]- '0'); - /* modulate */ - CmdManchesterMod(""); + /* modulate */ + CmdManchesterMod(""); - /* show what we've done */ - RepaintGraphWindow(); + /* show what we've done */ + RepaintGraphWindow(); - /* simulate */ - sprintf(&gapstring[0], "%i", gap); - CmdLFSim(gapstring); - return 0; + /* simulate */ + sprintf(&gapstring[0], "%i", gap); + CmdLFSim(gapstring); + return 0; } int CmdLFSnoop(const char *Cmd) { - UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; - // 'h' means higher-low-frequency, 134 kHz - c.arg[0] = 0; - c.arg[1] = -1; - if (*Cmd == 0) { - // empty - } else if (*Cmd == 'l') { - sscanf(Cmd, "l %"lli, &c.arg[1]); - } else if(*Cmd == 'h') { - c.arg[0] = 1; - sscanf(Cmd, "h %"lli, &c.arg[1]); - } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { - PrintAndLog("use 'snoop' or 'snoop {l,h} [trigger threshold]', or 'snoop [trigger threshold]'"); - return 0; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - return 0; + UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; + // 'h' means higher-low-frequency, 134 kHz + c.arg[0] = 0; + c.arg[1] = -1; + if (*Cmd == 0) { + // empty + } else if (*Cmd == 'l') { + sscanf(Cmd, "l %"lli, &c.arg[1]); + } else if(*Cmd == 'h') { + c.arg[0] = 1; + sscanf(Cmd, "h %"lli, &c.arg[1]); + } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { + PrintAndLog("use 'snoop' or 'snoop {l,h} [trigger threshold]', or 'snoop [trigger threshold]'"); + return 0; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + return 0; } int CmdVchDemod(const char *Cmd) { - // Is this the entire sync pattern, or does this also include some - // data bits that happen to be the same everywhere? That would be - // lovely to know. - static const int SyncPattern[] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - }; + // Is this the entire sync pattern, or does this also include some + // data bits that happen to be the same everywhere? That would be + // lovely to know. + static const int SyncPattern[] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + }; - // So first, we correlate for the sync pattern, and mark that. - int bestCorrel = 0, bestPos = 0; - int i; - // It does us no good to find the sync pattern, with fewer than - // 2048 samples after it... - for (i = 0; i < (GraphTraceLen-2048); i++) { - int sum = 0; - int j; - for (j = 0; j < arraylen(SyncPattern); j++) { - sum += GraphBuffer[i+j]*SyncPattern[j]; - } - if (sum > bestCorrel) { - bestCorrel = sum; - bestPos = i; - } - } - PrintAndLog("best sync at %d [metric %d]", bestPos, bestCorrel); + // So first, we correlate for the sync pattern, and mark that. + int bestCorrel = 0, bestPos = 0; + int i; + // It does us no good to find the sync pattern, with fewer than + // 2048 samples after it... + for (i = 0; i < (GraphTraceLen-2048); i++) { + int sum = 0; + int j; + for (j = 0; j < arraylen(SyncPattern); j++) { + sum += GraphBuffer[i+j]*SyncPattern[j]; + } + if (sum > bestCorrel) { + bestCorrel = sum; + bestPos = i; + } + } + PrintAndLog("best sync at %d [metric %d]", bestPos, bestCorrel); - char bits[257]; - bits[256] = '\0'; + char bits[257]; + bits[256] = '\0'; - int worst = INT_MAX; - int worstPos = 0; + int worst = INT_MAX; + int worstPos = 0; - for (i = 0; i < 2048; i += 8) { - int sum = 0; - int j; - for (j = 0; j < 8; j++) { - sum += GraphBuffer[bestPos+i+j]; - } - if (sum < 0) { - bits[i/8] = '.'; - } else { - bits[i/8] = '1'; - } - if(abs(sum) < worst) { - worst = abs(sum); - worstPos = i; - } - } - PrintAndLog("bits:"); - PrintAndLog("%s", bits); - PrintAndLog("worst metric: %d at pos %d", worst, worstPos); + for (i = 0; i < 2048; i += 8) { + int sum = 0; + int j; + for (j = 0; j < 8; j++) { + sum += GraphBuffer[bestPos+i+j]; + } + if (sum < 0) { + bits[i/8] = '.'; + } else { + bits[i/8] = '1'; + } + if(abs(sum) < worst) { + worst = abs(sum); + worstPos = i; + } + } + PrintAndLog("bits:"); + PrintAndLog("%s", bits); + PrintAndLog("worst metric: %d at pos %d", worst, worstPos); - if (strcmp(Cmd, "clone")==0) { - GraphTraceLen = 0; - char *s; - for(s = bits; *s; s++) { - int j; - for(j = 0; j < 16; j++) { - GraphBuffer[GraphTraceLen++] = (*s == '1') ? 1 : 0; - } - } - RepaintGraphWindow(); - } - return 0; + if (strcmp(Cmd, "clone")==0) { + GraphTraceLen = 0; + char *s; + for(s = bits; *s; s++) { + int j; + for(j = 0; j < 16; j++) { + GraphBuffer[GraphTraceLen++] = (*s == '1') ? 1 : 0; + } + } + RepaintGraphWindow(); + } + return 0; } //by marshmellow int CmdLFfind(const char *Cmd) { - int ans=0; - if (!offline){ - ans=CmdLFRead(""); - ans=CmdSamples("20000"); - } - if (GraphTraceLen<1000) return 0; - PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); - PrintAndLog("Checking for known tags:"); + int ans=0; + if (!offline){ + ans=CmdLFRead(""); + ans=CmdSamples("20000"); + } + if (GraphTraceLen<1000) return 0; + PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); + PrintAndLog("Checking for known tags:"); - ans=Cmdaskmandemod(""); - if (ans>0) { - PrintAndLog("Valid EM410x ID Found!"); - return 1; - } - ans=CmdFSKdemodHID(""); - if (ans>0) { - PrintAndLog("Valid HID Prox ID Found!"); - return 1; - } - ans=CmdFSKdemodIO(""); - if (ans>0) { - PrintAndLog("Valid IO Prox ID Found!"); - return 1; - } - //add psk and indala - ans=CmdIndalaDecode(""); - if (ans>0) { - PrintAndLog("Valid Indala ID Found!"); - return 1; - } + ans=Cmdaskmandemod(""); + if (ans>0) { + PrintAndLog("Valid EM410x ID Found!"); + return 1; + } + ans=CmdFSKdemodHID(""); + if (ans>0) { + PrintAndLog("Valid HID Prox ID Found!"); + return 1; + } + ans=CmdFSKdemodIO(""); + if (ans>0) { + PrintAndLog("Valid IO Prox ID Found!"); + return 1; + } + //add psk and indala + ans=CmdIndalaDecode(""); + if (ans>0) { + PrintAndLog("Valid Indala ID Found!"); + return 1; + } // ans=CmdIndalaDemod("224"); // if (ans>0) return 1; - PrintAndLog("No Known Tags Found!\n"); - return 0; + PrintAndLog("No Known Tags Found!\n"); + return 0; } static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help"}, - {"cmdread", CmdLFCommandRead, 0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)"}, - {"em4x", CmdLFEM4X, 1, "{ EM4X RFIDs... }"}, - {"flexdemod", CmdFlexdemod, 1, "Demodulate samples for FlexPass"}, - {"hid", CmdLFHID, 1, "{ HID RFIDs... }"}, - {"io", CmdLFIO, 1, "{ ioProx tags... }"}, - {"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, - {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, - {"read", CmdLFRead, 0, "['h' or ] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"}, - {"search", CmdLFfind, 1, "Read and Search for valid known tag (in offline mode it you can load first then search)"}, - {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, - {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, - {"simman", CmdLFSimManchester, 0, " [GAP] Simulate arbitrary Manchester LF tag"}, - {"snoop", CmdLFSnoop, 0, "['l'|'h'|] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"}, - {"ti", CmdLFTI, 1, "{ TI RFIDs... }"}, - {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders... }"}, - {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"}, - {"t55xx", CmdLFT55XX, 1, "{ T55xx RFIDs... }"}, - {"pcf7931", CmdLFPCF7931, 1, "{PCF7931 RFIDs...}"}, - {NULL, NULL, 0, NULL} + {"help", CmdHelp, 1, "This help"}, + {"cmdread", CmdLFCommandRead, 0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)"}, + {"em4x", CmdLFEM4X, 1, "{ EM4X RFIDs... }"}, + {"flexdemod", CmdFlexdemod, 1, "Demodulate samples for FlexPass"}, + {"hid", CmdLFHID, 1, "{ HID RFIDs... }"}, + {"io", CmdLFIO, 1, "{ ioProx tags... }"}, + {"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, + {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, + {"read", CmdLFRead, 0, "['h' or ] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"}, + {"search", CmdLFfind, 1, "Read and Search for valid known tag (in offline mode it you can load first then search)"}, + {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, + {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, + {"simman", CmdLFSimManchester, 0, " [GAP] Simulate arbitrary Manchester LF tag"}, + {"snoop", CmdLFSnoop, 0, "['l'|'h'|] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"}, + {"ti", CmdLFTI, 1, "{ TI RFIDs... }"}, + {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders... }"}, + {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"}, + {"t55xx", CmdLFT55XX, 1, "{ T55xx RFIDs... }"}, + {"pcf7931", CmdLFPCF7931, 1, "{PCF7931 RFIDs...}"}, + {NULL, NULL, 0, NULL} }; int CmdLF(const char *Cmd) { - CmdsParse(CommandTable, Cmd); - return 0; + CmdsParse(CommandTable, Cmd); + return 0; } int CmdHelp(const char *Cmd) { - CmdsHelp(CommandTable); - return 0; + CmdsHelp(CommandTable); + return 0; } diff --git a/client/graph.c b/client/graph.c index d63c42714..f41568e4f 100644 --- a/client/graph.c +++ b/client/graph.c @@ -20,61 +20,61 @@ int GraphTraceLen; /* write a bit to the graph */ void AppendGraph(int redraw, int clock, int bit) { - int i; + int i; - for (i = 0; i < (int)(clock / 2); ++i) - GraphBuffer[GraphTraceLen++] = bit ^ 1; - - for (i = (int)(clock / 2); i < clock; ++i) - GraphBuffer[GraphTraceLen++] = bit; + for (i = 0; i < (int)(clock / 2); ++i) + GraphBuffer[GraphTraceLen++] = bit ^ 1; - if (redraw) - RepaintGraphWindow(); + for (i = (int)(clock / 2); i < clock; ++i) + GraphBuffer[GraphTraceLen++] = bit; + + if (redraw) + RepaintGraphWindow(); } /* clear out our graph window */ int ClearGraph(int redraw) { - int gtl = GraphTraceLen; - GraphTraceLen = 0; + int gtl = GraphTraceLen; + GraphTraceLen = 0; - if (redraw) - RepaintGraphWindow(); + if (redraw) + RepaintGraphWindow(); - return gtl; + return gtl; } /* * Detect clock rate */ - //decommissioned - has difficulty detecting rf/32 + //decommissioned - has difficulty detecting rf/32 /* int DetectClockOld(int peak) { - int i; - int clock = 0xFFFF; - int lastpeak = 0; + int i; + int clock = 0xFFFF; + int lastpeak = 0; - // Detect peak if we don't have one - if (!peak) - for (i = 0; i < GraphTraceLen; ++i) - if (GraphBuffer[i] > peak) - peak = GraphBuffer[i]; + // Detect peak if we don't have one + if (!peak) + for (i = 0; i < GraphTraceLen; ++i) + if (GraphBuffer[i] > peak) + peak = GraphBuffer[i]; // peak=(int)(peak*.75); - for (i = 1; i < GraphTraceLen; ++i) - { - // If this is the beginning of a peak - if (GraphBuffer[i - 1] != GraphBuffer[i] && GraphBuffer[i] >= peak) - { - // Find lowest difference between peaks - if (lastpeak && i - lastpeak < clock) - clock = i - lastpeak; - lastpeak = i; - } - } + for (i = 1; i < GraphTraceLen; ++i) + { + // If this is the beginning of a peak + if (GraphBuffer[i - 1] != GraphBuffer[i] && GraphBuffer[i] >= peak) + { + // Find lowest difference between peaks + if (lastpeak && i - lastpeak < clock) + clock = i - lastpeak; + lastpeak = i; + } + } - return clock; + return clock; } */ /* @@ -85,155 +85,155 @@ NOW IN LFDEMOD.C // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(int peak) { - int i=0; - int low=0; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 256; - if (GraphTraceLenpeak){ - peak = GraphBuffer[i]; - } - if(GraphBuffer[i]=peak) || (GraphBuffer[ii]<=low)){ - errCnt[clkCnt]=0; - for (i=0; i<((int)(GraphTraceLen/clk[clkCnt])-1); ++i){ - if (GraphBuffer[ii+(i*clk[clkCnt])]>=peak || GraphBuffer[ii+(i*clk[clkCnt])]<=low){ - }else if(GraphBuffer[ii+(i*clk[clkCnt])-tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(GraphBuffer[ii+(i*clk[clkCnt])+tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt[clkCnt]++; - } - } - if(errCnt[clkCnt]==0) return clk[clkCnt]; - if(errCnt[clkCnt]peak){ + peak = GraphBuffer[i]; + } + if(GraphBuffer[i]=peak) || (GraphBuffer[ii]<=low)){ + errCnt[clkCnt]=0; + for (i=0; i<((int)(GraphTraceLen/clk[clkCnt])-1); ++i){ + if (GraphBuffer[ii+(i*clk[clkCnt])]>=peak || GraphBuffer[ii+(i*clk[clkCnt])]<=low){ + }else if(GraphBuffer[ii+(i*clk[clkCnt])-tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(GraphBuffer[ii+(i*clk[clkCnt])+tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt[clkCnt]++; + } + } + if(errCnt[clkCnt]==0) return clk[clkCnt]; + if(errCnt[clkCnt]127) GraphBuffer[i]=127; //trim - if (GraphBuffer[i]<-127) GraphBuffer[i]=-127; //trim - buff[i]=(uint8_t)(GraphBuffer[i]+128); - } - return i; + uint32_t i; + for (i=0;i127) GraphBuffer[i]=127; //trim + if (GraphBuffer[i]<-127) GraphBuffer[i]=-127; //trim + buff[i]=(uint8_t)(GraphBuffer[i]+128); + } + return i; } /* Get or auto-detect clock rate */ int GetClock(const char *str, int peak, int verbose) { - int clock; + int clock; // int clock2; - sscanf(str, "%i", &clock); - if (!strcmp(str, "")) - clock = 0; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; - /* Auto-detect clock */ - if (!clock) - { - uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; - int size = getFromGraphBuf(grph); - clock = DetectASKClock(grph,size,0); - //clock2 = DetectClock2(peak); - /* Only print this message if we're not looping something */ - if (!verbose){ - PrintAndLog("Auto-detected clock rate: %d", clock); - //PrintAndLog("clock2: %d",clock2); - } - } + /* Auto-detect clock */ + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(grph); + clock = DetectASKClock(grph,size,0); + //clock2 = DetectClock2(peak); + /* Only print this message if we're not looping something */ + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } - return clock; + return clock; } int GetNRZpskClock(const char *str, int peak, int verbose) { // return GetClock(str,peak,verbose); - int clock; - // int clock2; - sscanf(str, "%i", &clock); - if (!strcmp(str, "")) - clock = 0; + int clock; + // int clock2; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; - /* Auto-detect clock */ - if (!clock) - { - uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; - int size = getFromGraphBuf(grph); - clock = DetectpskNRZClock(grph,size,0); - //clock2 = DetectClock2(peak); - /* Only print this message if we're not looping something */ - if (!verbose){ - PrintAndLog("Auto-detected clock rate: %d", clock); - //PrintAndLog("clock2: %d",clock2); - } - } - return clock; + /* Auto-detect clock */ + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(grph); + clock = DetectpskNRZClock(grph,size,0); + //clock2 = DetectClock2(peak); + /* Only print this message if we're not looping something */ + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } + return clock; } -// Get or auto-detect clock rate +// Get or auto-detect clock rate /* int GetNRZpskClock(const char *str, int peak, int verbose) { - int clock; + int clock; // int clock2; - sscanf(str, "%i", &clock); - if (!strcmp(str, "")) - clock = 0; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; - // Auto-detect clock - if (!clock) - { - uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; - int size = getFromGraphBuf(grph); - clock = DetectASKClock(grph,size,0); - //clock2 = DetectClock2(peak); - // Only print this message if we're not looping something - if (!verbose){ - PrintAndLog("Auto-detected clock rate: %d", clock); - //PrintAndLog("clock2: %d",clock2); - } - } - return clock; + // Auto-detect clock + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + int size = getFromGraphBuf(grph); + clock = DetectASKClock(grph,size,0); + //clock2 = DetectClock2(peak); + // Only print this message if we're not looping something + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } + return clock; } -*/ \ No newline at end of file +*/ diff --git a/client/graph.h b/client/graph.h index c5c137986..1abeeb25a 100644 --- a/client/graph.h +++ b/client/graph.h @@ -15,10 +15,10 @@ void AppendGraph(int redraw, int clock, int bit); int ClearGraph(int redraw); //int DetectClock(int peak); -int getFromGraphBuf(uint8_t *buff); +size_t getFromGraphBuf(uint8_t *buff); int GetClock(const char *str, int peak, int verbose); int GetNRZpskClock(const char *str, int peak, int verbose); -void setGraphBuf(uint8_t *buff,int size); +void setGraphBuf(uint8_t *buff, size_t size); #define MAX_GRAPH_TRACE_LEN (1024*128) extern int GraphBuffer[MAX_GRAPH_TRACE_LEN]; diff --git a/common/lfdemod.c b/common/lfdemod.c index 144783198..11ba131b0 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -1,5 +1,5 @@ //----------------------------------------------------------------------------- -// Copyright (C) 2014 +// Copyright (C) 2014 // // This code is licensed to you under the terms of the GNU GPL, version 2 or, // at your option, any later version. See the LICENSE.txt file for the text of @@ -14,589 +14,588 @@ //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID -uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) +uint64_t Em410xDecode(uint8_t *BitStream, size_t size) { - //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future - // otherwise could be a void with no arguments - //set defaults - int high=0, low=128; - uint64_t lo=0; //hi=0, + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + int high=0, low=128; + uint64_t lo=0; //hi=0, - uint32_t i = 0; - uint32_t initLoopMax = 65; - if (initLoopMax>BitLen) initLoopMax=BitLen; + uint32_t i = 0; + uint32_t initLoopMax = 65; + if (initLoopMax>size) initLoopMax=size; - for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values - { - if (BitStream[i] > high) - high = BitStream[i]; - else if (BitStream[i] < low) - low = BitStream[i]; - } - if (((high !=1)||(low !=0))){ //allow only 1s and 0s - // PrintAndLog("no data found"); - return 0; - } - uint8_t parityTest=0; - // 111111111 bit pattern represent start of frame - uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; - uint32_t idx = 0; - uint32_t ii=0; - uint8_t resetCnt = 0; - while( (idx + 64) < BitLen) { -restart: - // search for a start of frame marker - if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=9;//sizeof(frame_marker_mask); - for (i=0; i<10;i++){ - for(ii=0; ii<5; ++ii){ - parityTest += BitStream[(i*5)+ii+idx]; - } - if (parityTest== ((parityTest>>1)<<1)){ - parityTest=0; - for (ii=0; ii<4;++ii){ - //hi = (hi<<1)|(lo>>31); - lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); - } - //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); - }else {//parity failed - //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); - parityTest=0; - idx-=8; - if (resetCnt>5)return 0; - resetCnt++; - goto restart;//continue; - } - } - //skip last 5 bit parity test for simplicity. - return lo; - }else{ - idx++; - } - } - return 0; + for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values + { + if (BitStream[i] > high) + high = BitStream[i]; + else if (BitStream[i] < low) + low = BitStream[i]; + } + if (((high !=1)||(low !=0))){ //allow only 1s and 0s + // PrintAndLog("no data found"); + return 0; + } + uint8_t parityTest=0; + // 111111111 bit pattern represent start of frame + uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t ii=0; + uint8_t resetCnt = 0; + while( (idx + 64) < size) { + restart: + // search for a start of frame marker + if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=9;//sizeof(frame_marker_mask); + for (i=0; i<10;i++){ + for(ii=0; ii<5; ++ii){ + parityTest += BitStream[(i*5)+ii+idx]; + } + if (parityTest== ((parityTest>>1)<<1)){ + parityTest=0; + for (ii=0; ii<4;++ii){ + //hi = (hi<<1)|(lo>>31); + lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); + } + //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); + }else {//parity failed + //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); + parityTest=0; + idx-=8; + if (resetCnt>5)return 0; + resetCnt++; + goto restart;//continue; + } + } + //skip last 5 bit parity test for simplicity. + return lo; + }else{ + idx++; + } + } + return 0; } //by marshmellow //takes 2 arguments - clock and invert both as integers -//attempts to demodulate ask while decoding manchester +//attempts to demodulate ask while decoding manchester //prints binary found and saves in graphbuffer for further commands -int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) +int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { - int i; - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default + int i; + int high = 0, low = 128; + *clk=DetectASKClock(BinStream, *size, *clk); //clock default - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert=0; - uint32_t initLoopMax = 200; - if (initLoopMax>*BitLen) initLoopMax=*BitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158) ){ //throw away static - //PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + if (*clk<8) *clk =64; + if (*clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert=0; + uint32_t initLoopMax = 200; + if (initLoopMax > *size) initLoopMax=*size; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 158) ){ //throw away static + //PrintAndLog("no data found"); + return -2; + } + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - int iii = 0; - uint32_t gLen = *BitLen; - if (gLen > 3000) gLen=3000; - uint8_t errCnt =0; - uint32_t bestStart = *BitLen; - uint32_t bestErrCnt = (*BitLen/1000); - uint32_t maxErr = (*BitLen/1000); - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - errCnt=0; - //loop through to see if this start location works - for (i = iii; i < *BitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + int iii = 0; + uint32_t gLen = *size; + if (gLen > 3000) gLen=3000; + uint8_t errCnt =0; + uint32_t bestStart = *size; + uint32_t bestErrCnt = (*size/1000); + uint32_t maxErr = (*size/1000); + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii] >= high) || (BinStream[iii] <= low)){ + lastBit=iii-*clk; + errCnt=0; + //loop through to see if this start location works + for (i = iii; i < *size; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit) > (*clk-tol))){ + lastBit+=*clk; + } else if ((BinStream[i] <= low) && ((i-lastBit) > (*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over - } - } - if ((i-iii) >(400 * *clk)) break; //got plenty of bits - } - //we got more than 64 good bits and not all errors - if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BinStream[bitnum] = *invert; - bitnum++; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BinStream[bitnum] = 1-*invert; - bitnum++; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over + } + } + if ((i-iii) >(400 * *clk)) break; //got plenty of bits + } + //we got more than 64 good bits and not all errors + if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt= high) && ((i-lastBit) > (*clk-tol))){ + lastBit += *clk; + BinStream[bitnum] = *invert; + bitnum++; + } else if ((BinStream[i] <= low) && ((i-lastBit) > (*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BinStream[bitnum] = 1-*invert; + bitnum++; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BinStream[bitnum]=77; - bitnum++; - } + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BinStream[bitnum]=77; + bitnum++; + } - lastBit+=*clk;//skip over error - } - } - if (bitnum >=400) break; - } - *BitLen=bitnum; - } else{ - *invert=bestStart; - *clk=iii; - return -1; - } - return bestErrCnt; + lastBit+=*clk;//skip over error + } + } + if (bitnum >=400) break; + } + *size=bitnum; + } else{ + *invert=bestStart; + *clk=iii; + return -1; + } + return bestErrCnt; } //by marshmellow //take 10 and 01 and manchester decode //run through 2 times and take least errCnt -int manrawdecode(uint8_t * BitStream, int *bitLen) +int manrawdecode(uint8_t * BitStream, size_t *size) { - int bitnum=0; - int errCnt =0; - int i=1; - int bestErr = 1000; - int bestRun = 0; - int ii=1; - for (ii=1;ii<3;++ii){ - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - } else { - errCnt++; - } - if(bitnum>300) break; - } - if (bestErr>errCnt){ - bestErr=errCnt; - bestRun=ii; - } - errCnt=0; - } - errCnt=bestErr; - if (errCnt<20){ - ii=bestRun; - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - BitStream[bitnum++]=0; - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - BitStream[bitnum++]=1; - } else { - BitStream[bitnum++]=77; - //errCnt++; - } - if(bitnum>300) break; - } - *bitLen=bitnum; - } - return errCnt; + int bitnum=0; + int errCnt =0; + int i=1; + int bestErr = 1000; + int bestRun = 0; + int ii=1; + for (ii=1;ii<3;++ii){ + i=1; + for (i=i+ii;i<*size-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + } else { + errCnt++; + } + if(bitnum>300) break; + } + if (bestErr>errCnt){ + bestErr=errCnt; + bestRun=ii; + } + errCnt=0; + } + errCnt=bestErr; + if (errCnt<20){ + ii=bestRun; + i=1; + for (i=i+ii;i < *size-2;i+=2){ + if(BitStream[i] == 1 && (BitStream[i+1] == 0)){ + BitStream[bitnum++]=0; + } else if((BitStream[i] == 0) && BitStream[i+1] == 1){ + BitStream[bitnum++]=1; + } else { + BitStream[bitnum++]=77; + //errCnt++; + } + if(bitnum>300) break; + } + *size=bitnum; + } + return errCnt; } //by marshmellow //take 01 or 10 = 0 and 11 or 00 = 1 -int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) +int BiphaseRawDecode(uint8_t *BitStream, size_t *size, int offset) { - uint8_t bitnum=0; - uint32_t errCnt =0; - uint32_t i=1; - i=offset; - for (;i<*bitLen-2;i+=2){ - if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ - BitStream[bitnum++]=1; - } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ - BitStream[bitnum++]=0; - } else { - BitStream[bitnum++]=77; - errCnt++; - } - if(bitnum>250) break; - } - *bitLen=bitnum; - return errCnt; + uint8_t bitnum=0; + uint32_t errCnt =0; + uint32_t i=1; + i=offset; + for (;i<*size-2;i+=2){ + if((BitStream[i]==1 && BitStream[i+1]==0) || (BitStream[i]==0 && BitStream[i+1]==1)){ + BitStream[bitnum++]=1; + } else if((BitStream[i]==0 && BitStream[i+1]==0) || (BitStream[i]==1 && BitStream[i+1]==1)){ + BitStream[bitnum++]=0; + } else { + BitStream[bitnum++]=77; + errCnt++; + } + if(bitnum>250) break; + } + *size=bitnum; + return errCnt; } //by marshmellow //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask only //prints binary found and saves in graphbuffer for further commands -int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) +int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { - uint32_t i; - // int invert=0; //invert default - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default - uint8_t BitStream[502] = {0}; + uint32_t i; + // int invert=0; //invert default + int high = 0, low = 128; + *clk=DetectASKClock(BinStream, *size, *clk); //clock default + uint8_t BitStream[502] = {0}; - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert =0; - uint32_t initLoopMax = 200; - if (initLoopMax>*bitLen) initLoopMax=*bitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158)){ //throw away static - // PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + if (*clk<8) *clk =64; + if (*clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert =0; + uint32_t initLoopMax = 200; + if (initLoopMax>*size) initLoopMax=*size; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 158)){ //throw away static + // PrintAndLog("no data found"); + return -2; + } + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - uint32_t iii = 0; - uint32_t gLen = *bitLen; - if (gLen > 500) gLen=500; - uint8_t errCnt =0; - uint32_t bestStart = *bitLen; - uint32_t bestErrCnt = (*bitLen/1000); - uint8_t midBit=0; - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - //loop through to see if this start location works - for (i = iii; i < *bitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BitStream[bitnum] = *invert; - bitnum++; - midBit=0; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BitStream[bitnum] = 1-*invert; - bitnum++; - midBit=0; - } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= 1-*invert; - bitnum++; - } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= *invert; - bitnum++; - } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ - //no mid bar found - midBit=1; - BitStream[bitnum]= BitStream[bitnum-1]; - bitnum++; - } else { - //mid value found or no bar supposed to be here + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint32_t iii = 0; + uint32_t gLen = *size; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + uint32_t bestStart = *size; + uint32_t bestErrCnt = (*size/1000); + uint8_t midBit=0; + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high) || (BinStream[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *size; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BitStream[bitnum] = *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BitStream[bitnum] = 1- *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= 1- *invert; + bitnum++; + } else if ((BinStream[i]>=high) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= *invert; + bitnum++; + } else if ((i-lastBit)>((*clk/2)+tol) && (midBit==0)){ + //no mid bar found + midBit=1; + BitStream[bitnum]= BitStream[bitnum-1]; + bitnum++; + } else { + //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BitStream[bitnum]=77; - bitnum++; - } + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BitStream[bitnum]=77; + bitnum++; + } - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over - errCnt=0; - bitnum=0;//start over - break; - } - } - } - if (bitnum>500) break; - } - //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { - //possible good read - if (errCnt==0) break; //great read - finish - if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish - if (errCnt=gLen){ //exhausted test - //if there was a ok test go back to that one and re-run the best run (then dump after that run) - if (bestErrCnt < (*bitLen/1000)) iii=bestStart; - } - } - if (bitnum>16){ + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt > ((*size/1000))){ //allow 1 error for every 1000 samples else start over + errCnt=0; + bitnum=0;//start over + break; + } + } + } + if (bitnum>500) break; + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(*size/1000))) { + //possible good read + if (errCnt==0) break; //great read - finish + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt=gLen){ //exhausted test + //if there was a ok test go back to that one and re-run the best run (then dump after that run) + if (bestErrCnt < (*size/1000)) iii=bestStart; + } + } + if (bitnum>16){ - // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to BinStream - // ClearGraph(0); - for (i=0; i < bitnum; ++i){ - BinStream[i]=BitStream[i]; - } - *bitLen=bitnum; - // RepaintGraphWindow(); - //output - // if (errCnt>0){ - // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - // } - // PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - // printBitStream2(BitStream,bitnum); - //int errCnt=0; - //errCnt=manrawdemod(BitStream,bitnum); + // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to BinStream + // ClearGraph(0); + for (i=0; i < bitnum; ++i){ + BinStream[i]=BitStream[i]; + } + *size=bitnum; + // RepaintGraphWindow(); + //output + // if (errCnt>0){ + // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + // } + // PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + // printBitStream2(BitStream,bitnum); + //int errCnt=0; + //errCnt=manrawdemod(BitStream,bitnum); - // Em410xDecode(Cmd); - } else return -1; - return errCnt; + // Em410xDecode(Cmd); + } else return -1; + return errCnt; } -//translate wave to 11111100000 (1 for each short wave 0 for each long wave) +//translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow) { - uint32_t last_transition = 0; - uint32_t idx = 1; - uint32_t maxVal=0; - if (fchigh==0) fchigh=10; - if (fclow==0) fclow=8; - // we do care about the actual theshold value as sometimes near the center of the - // wave we may get static that changes direction of wave for one value - // if our value is too low it might affect the read. and if our tag or - // antenna is weak a setting too high might not see anything. [marshmellow] - if (size<100) return 0; - for(idx=1; idx<100; idx++){ - if(maxVal1 transition - if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise - //do nothing with extra garbage - } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves - dest[numBits]=1; - } else { //9+ = 10 waves - dest[numBits]=0; - } - last_transition = idx; - numBits++; - } - } - return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 + // Check for 0->1 transition + if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition + if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise + //do nothing with extra garbage + } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves + dest[numBits]=1; + } else { //9+ = 10 waves + dest[numBits]=0; + } + last_transition = idx; + numBits++; + } + } + return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 } uint32_t myround2(float f) { - if (f >= 2000) return 2000;//something bad happened - return (uint32_t) (f + (float)0.5); + if (f >= 2000) return 2000;//something bad happened + return (uint32_t) (f + (float)0.5); } -//translate 11111100000 to 10 -size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert,uint8_t fchigh,uint8_t fclow )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, +//translate 11111100000 to 10 +size_t aggregate_bits(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, + uint8_t invert, uint8_t fchigh, uint8_t fclow) { - uint8_t lastval=dest[0]; - uint32_t idx=0; - size_t numBits=0; - uint32_t n=1; + uint8_t lastval=dest[0]; + uint32_t idx=0; + size_t numBits=0; + uint32_t n=1; - for( idx=1; idx < size; idx++) { + for( idx=1; idx < size; idx++) { - if (dest[idx]==lastval) { - n++; - continue; - } - //if lastval was 1, we have a 1->0 crossing - if ( dest[idx-1]==1 ) { - n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); - //n=(n+1) / h2l_crossing_value; - } else {// 0->1 crossing - n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor - //n=(n+1) / l2h_crossing_value; - } - if (n == 0) n = 1; + if (dest[idx]==lastval) { + n++; + continue; + } + //if lastval was 1, we have a 1->0 crossing + if ( dest[idx-1]==1 ) { + n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); + //n=(n+1) / h2l_crossing_value; + } else {// 0->1 crossing + n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor + //n=(n+1) / l2h_crossing_value; + } + if (n == 0) n = 1; - if(n < maxConsequtiveBits) //Consecutive - { - if(invert==0){ //invert bits - memset(dest+numBits, dest[idx-1] , n); - }else{ - memset(dest+numBits, dest[idx-1]^1 , n); - } - numBits += n; - } - n=0; - lastval=dest[idx]; - }//end for - return numBits; + if(n < maxConsequtiveBits) //Consecutive + { + if(invert==0){ //invert bits + memset(dest+numBits, dest[idx-1] , n); + }else{ + memset(dest+numBits, dest[idx-1]^1 , n); + } + numBits += n; + } + n=0; + lastval=dest[idx]; + }//end for + return numBits; } //by marshmellow (from holiman's base) // full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod) int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow) { - // FSK demodulator - size = fsk_wave_demod(dest, size, fchigh, fclow); - size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); - return size; + // FSK demodulator + size = fsk_wave_demod(dest, size, fchigh, fclow); + size = aggregate_bits(dest, size, rfLen, 192, invert, fchigh, fclow); + return size; } // loop to get raw HID waveform then FSK demodulate the TAG ID from it int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { - size_t idx=0; //, found=0; //size=0, - // FSK demodulator - size = fskdemod(dest, size,50,0,10,8); + size_t idx=0; //, found=0; //size=0, + // FSK demodulator + size = fskdemod(dest, size,50,0,10,8); - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; - int numshifts = 0; - idx = 0; - //one scan - while( idx + sizeof(frame_marker_mask) < size) { - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - *hi2 = (*hi2<<1)|(*hi>>31); - *hi = (*hi<<1)|(*lo>>31); - //Then, shift in a 0 or one into low - if (dest[idx] && !dest[idx+1]) // 1 0 - *lo=(*lo<<1)|0; - else // 0 1 - *lo=(*lo<<1)|1; - numshifts++; - idx += 2; - } - // Hopefully, we read a tag and hit upon the next frame marker - if(idx + sizeof(frame_marker_mask) < size) - { - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - //good return - return idx; - } - } - // reset - *hi2 = *hi = *lo = 0; - numshifts = 0; - }else { - idx++; - } - } - return -1; + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; + int numshifts = 0; + idx = 0; + //one scan + while( idx + sizeof(frame_marker_mask) < size) { + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=sizeof(frame_marker_mask); + while(dest[idx] != dest[idx+1] && idx < size-2) + { + // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|0; + else // 0 1 + *lo=(*lo<<1)|1; + numshifts++; + idx += 2; + } + // Hopefully, we read a tag and hit upon the next frame marker + if(idx + sizeof(frame_marker_mask) < size) + { + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + //good return + return idx; + } + } + // reset + *hi2 = *hi = *lo = 0; + numshifts = 0; + }else { + idx++; + } + } + return -1; } -uint32_t bytebits_to_byte(uint8_t* src, int numbits) +uint32_t bytebits_to_byte(uint8_t* src, size_t numbits) { - uint32_t num = 0; - for(int i = 0 ; i < numbits ; i++) - { - num = (num << 1) | (*src); - src++; - } - return num; + uint32_t num = 0; + for(int i = 0 ; i < numbits ; i++) + { + num = (num << 1) | (*src); + src++; + } + return num; } int IOdemodFSK(uint8_t *dest, size_t size) { static const uint8_t THRESHOLD = 140; - uint32_t idx=0; - //make sure buffer has data - if (size < 66) return -1; - //test samples are not just noise + uint32_t idx=0; + //make sure buffer has data + if (size < 66) return -1; + //test samples are not just noise uint8_t justNoise = 1; for(idx=0;idx< size && justNoise ;idx++){ justNoise = dest[idx] < THRESHOLD; @@ -604,7 +603,7 @@ int IOdemodFSK(uint8_t *dest, size_t size) if(justNoise) return 0; // FSK demodulator - size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert + size = fskdemod(dest, size, 64, 1, 10, 8); // RF/64 and invert if (size < 65) return -1; //did we get a good demod? //Index map //0 10 20 30 40 50 60 @@ -626,7 +625,7 @@ int IOdemodFSK(uint8_t *dest, size_t size) } } } - return 0; + return 0; } // by marshmellow @@ -634,67 +633,405 @@ int IOdemodFSK(uint8_t *dest, size_t size) // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(uint8_t dest[], size_t size, int clock) { - int i=0; - int peak=0; - int low=128; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 256; //don't need to loop through entire array... - if (sizepeak){ - peak = dest[i]; - } - if(dest[i]=peak) || (dest[ii]<=low)){ - errCnt[clkCnt]=0; - // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ - if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt[clkCnt]++; - } - } - //if we found no errors this is correct one - return this clock - if(errCnt[clkCnt]==0) return clk[clkCnt]; - //if we found errors see if it is lowest so far and save it as best run - if(errCnt[clkCnt]peak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + errCnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt++; + } + } + //if we found no errors this is correct one - return this clock + if(errCnt==0) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCntpeak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + errCnt=0; + peakcnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + peakcnt++; + }else{ //error no peak detected + errCnt++; + } + } + if(peakcnt>peaksdet[clkCnt]) { + peaksdet[clkCnt]=peakcnt; + bestErr[clkCnt]=errCnt; + } + } + } + } + int iii=0; + int best=0; + //int ratio2; //debug + int ratio; + //int bits; + for (iii=0; iii<7;++iii){ + ratio=1000; + //ratio2=1000; //debug + //bits=size/clk[iii]; //debug + if (peaksdet[iii]>0){ + ratio=bestErr[iii]/peaksdet[iii]; + if (((bestErr[best]/peaksdet[best])>(ratio)+1)){ + best = iii; + } + //ratio2=bits/peaksdet[iii]; //debug + } + //PrintAndLog("DEBUG: Clk: %d, peaks: %d, errs: %d, bestClk: %d, ratio: %d, bits: %d, peakbitr: %d",clk[iii],peaksdet[iii],bestErr[iii],clk[best],ratio, bits,ratio2); + } + return clk[best]; +} + +//by marshmellow (attempt to get rid of high immediately after a low) +void pskCleanWave(uint8_t *bitStream, size_t size) +{ + int i; + int low=128; + int high=0; + int gap = 4; + // int loopMax = 2048; + int newLow=0; + int newHigh=0; + for (i=0; ihigh) high=bitStream[i]; + } + high = (int)(((high-128)*.80)+128); + low = (int)(((low-128)*.90)+128); + //low = (uint8_t)(((int)(low)-128)*.80)+128; + for (i=0; i=high) newHigh=1; + } + return; +} + + +//redesigned by marshmellow adjusted from existing decode functions +//indala id decoding - only tested on 26 bit tags, but attempted to make it work for more +int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert) +{ + //26 bit 40134 format (don't know other formats) + int i; + int long_wait; + long_wait = 29;//29 leading zeros in format + int start; + int first = 0; + int first2 = 0; + int bitCnt = 0; + int ii; + // Finding the start of a UID + for (start = 0; start <= *size - 250; start++) { + first = bitStream[start]; + for (i = start; i < start + long_wait; i++) { + if (bitStream[i] != first) { + break; + } + } + if (i == (start + long_wait)) { + break; + } + } + if (start == *size - 250 + 1) { + // did not find start sequence + return -1; + } + //found start once now test length by finding next one + // Inverting signal if needed + if (first == 1) { + for (i = start; i < *size; i++) { + bitStream[i] = !bitStream[i]; + } + *invert = 1; + }else *invert=0; + + int iii; + for (ii=start+29; ii <= *size - 250; ii++) { + first2 = bitStream[ii]; + for (iii = ii; iii < ii + long_wait; iii++) { + if (bitStream[iii] != first2) { + break; + } + } + if (iii == (ii + long_wait)) { + break; + } + } + if (ii== *size - 250 + 1){ + // did not find second start sequence + return -2; + } + bitCnt=ii-start; + + // Dumping UID + i = start; + for (ii = 0; ii < bitCnt; ii++) { + bitStream[ii] = bitStream[i++]; + } + *size=bitCnt; + return 1; +} + + +//by marshmellow - demodulate PSK wave or NRZ wave (both similar enough) +//peaks switch bit (high=1 low=0) each clock cycle = 1 bit determined by last peak +int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) +{ + pskCleanWave(dest,*size); + int clk2 = DetectpskNRZClock(dest, *size, *clk); + *clk=clk2; + uint32_t i; + uint8_t high=0, low=128; + uint32_t gLen = *size; + if (gLen > 1280) gLen=1280; + // get high + for (i=0; ihigh) high = dest[i]; + if (dest[i]=high)||(dest[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *size; ++i) { + //if we found a high bar and we are at a clock bit + if ((dest[i]>=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + ignorewin=*clk/8; + bitnum++; + //else if no bars found + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i>=lastBit+*clk+tol){ //clock val + lastBit+=*clk; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && (ilastBit+*clk+tol) && (bitHigh==0)){ + //error bar found no clock... + errCnt++; + } + if (bitnum>=1000) break; + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(maxErr))) { + //possible good read + if (errCnt==0){ + bestStart = iii; + bestErrCnt=errCnt; + break; //great read - finish + } + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=1-*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if no bars found + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i>=lastBit+*clk+tol){ //clock val + lastBit+=*clk; + dest[bitnum]=curBit; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && ((ilastBit+*clk+tol)) && (bitHigh==0)){ + //error bar found no clock... + bitHigh=1; + dest[bitnum]=77; + bitnum++; + errCnt++; + } + if (bitnum >=1000) break; + } + *size=bitnum; + } else{ + *size=bitnum; + *clk=bestStart; + return -1; + } + + if (bitnum>16){ + *size=bitnum; + } else return -1; + return errCnt; +} + diff --git a/common/lfdemod.h b/common/lfdemod.h index ad95fda5e..b0feff043 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014 +// Copyright (C) 2014 // // This code is licensed to you under the terms of the GNU GPL, version 2 or, // at your option, any later version. See the LICENSE.txt file for the text of @@ -12,14 +12,18 @@ #include int DetectASKClock(uint8_t dest[], size_t size, int clock); -int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); -uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen); -int manrawdecode(uint8_t *BitStream, int *bitLen); -int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset); -int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); +int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); +uint64_t Em410xDecode(uint8_t *BitStream,size_t size); +int manrawdecode(uint8_t *BitStream, size_t *size); +int BiphaseRawDecode(uint8_t * BitStream, size_t *size, int offset); +int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); int IOdemodFSK(uint8_t *dest, size_t size); int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow); -uint32_t bytebits_to_byte(uint8_t* src, int numbits); +uint32_t bytebits_to_byte(uint8_t* src, size_t numbits); +int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert); +int DetectpskNRZClock(uint8_t dest[], size_t size, int clock); +int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert); +void pskCleanWave(uint8_t *bitStream, size_t size); #endif From cb29e00a12eb3f5da6ed326938cddd0b0d1cb097 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Wed, 7 Jan 2015 09:57:18 +0100 Subject: [PATCH 061/133] Save iclass dumps to file, like mifare-dump functionality works --- armsrc/iclass.c | 44 ++++++++++- client/cmdhficlass.c | 156 +++++++++++++++++++++---------------- client/loclass/fileutils.c | 2 +- 3 files changed, 131 insertions(+), 71 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 3844ab143..2b28b7938 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -1594,7 +1594,7 @@ void ReaderIClass(uint8_t arg0) { void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { - uint8_t card_data[24]={0}; + uint8_t card_data[USB_CMD_DATA_SIZE]={0}; uint16_t block_crc_LUT[255] = {0}; {//Generate a lookup table for block crc @@ -1667,7 +1667,10 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { cardsize = memory.k16 ? 255 : 32; WDT_HIT(); - + //Set card_data to all zeroes, we'll fill it with data + memset(card_data,0x0,USB_CMD_DATA_SIZE); + uint8_t failedRead =0; + uint8_t stored_data_length =0; //then loop around remaining blocks for(int block=0; block < cardsize; block++){ @@ -1683,14 +1686,47 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { resp[3], resp[4], resp[5], resp[6], resp[7]); - }else{ - Dbprintf("Failed to dump block %d", block); + //Fill up the buffer + memcpy(card_data+stored_data_length,resp,8); + stored_data_length += 8; + if(stored_data_length +8 > USB_CMD_DATA_SIZE) + {//Time to send this off and start afresh + cmd_send(CMD_ACK, + stored_data_length,//data length + failedRead,//Failed blocks? + 0,//Not used ATM + card_data, stored_data_length); + //reset + stored_data_length = 0; + failedRead = 0; + } + + }else{ + failedRead = 1; + stored_data_length +=8;//Otherwise, data becomes misaligned + Dbprintf("Failed to dump block %d", block); } } + //Send off any remaining data + if(stored_data_length > 0) + { + cmd_send(CMD_ACK, + stored_data_length,//data length + failedRead,//Failed blocks? + 0,//Not used ATM + card_data, stored_data_length); + } //If we got here, let's break break; } + //Signal end of transmission + cmd_send(CMD_ACK, + 0,//data length + 0,//Failed blocks? + 0,//Not used ATM + card_data, 0); + LED_A_OFF(); } diff --git a/client/cmdhficlass.c b/client/cmdhficlass.c index dba4f1132..ee7c0d6ce 100644 --- a/client/cmdhficlass.c +++ b/client/cmdhficlass.c @@ -272,87 +272,111 @@ int CmdHFiClassReader_Dump(const char *Cmd) uint8_t key_sel[8] = {0}; uint8_t key_sel_p[8] = { 0 }; - //HACK -- Below is for testing without access to a tag - uint8_t fake_dummy_test = false; - if(fake_dummy_test) - { - uint8_t xdata[16] = {0x01,0x02,0x03,0x04,0xF7,0xFF,0x12,0xE0, //CSN from http://www.proxmark.org/forum/viewtopic.php?pid=11230#p11230 - 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; // Just a random CC. Would be good to add a real testcase here - memcpy(resp.d.asBytes,xdata, 16); - resp.arg[0] = 2; - } - - //End hack - - UsbCommand c = {CMD_READER_ICLASS, {0}}; c.arg[0] = FLAG_ICLASS_READER_ONLY_ONCE| FLAG_ICLASS_READER_GET_CC; - if(!fake_dummy_test) - SendCommand(&c); + SendCommand(&c); - if (fake_dummy_test || WaitForResponseTimeout(CMD_ACK,&resp,4500)) { - uint8_t isOK = resp.arg[0] & 0xff; - uint8_t * data = resp.d.asBytes; + if (!WaitForResponseTimeout(CMD_ACK,&resp,4500)) + { + PrintAndLog("Command execute timeout"); + return 0; + } - memcpy(CSN,data,8); - memcpy(CCNR,data+8,8); + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t * data = resp.d.asBytes; - PrintAndLog("isOk:%02x", isOK); + memcpy(CSN,data,8); + memcpy(CCNR,data+8,8); - if(isOK > 0) - { - PrintAndLog("CSN: %s",sprint_hex(CSN,8)); - } - if(isOK > 1) - { - if(elite) - { - //Get the key index (hash1) - uint8_t key_index[8] = {0}; + PrintAndLog("isOk:%02x", isOK); - hash1(CSN, key_index); - printvar("hash1", key_index,8); - for(i = 0; i < 8 ; i++) - key_sel[i] = keytable[key_index[i]] & 0xFF; - PrintAndLog("Pre-fortified 'permuted' HS key that would be needed by an iclass reader to talk to above CSN:"); - printvar("k_sel", key_sel,8); - //Permute from iclass format to standard format - permutekey_rev(key_sel,key_sel_p); - used_key = key_sel_p; - }else{ - //Perhaps this should also be permuted to std format? - // Something like the code below? I have no std system - // to test this with /Martin + if(isOK > 0) + { + PrintAndLog("CSN: %s",sprint_hex(CSN,8)); + } + if(isOK <= 1){ + PrintAndLog("Failed to obtain CC! Aborting"); + return 0; + } + //Status 2 or higher - //uint8_t key_sel_p[8] = { 0 }; - //permutekey_rev(KEY,key_sel_p); - //used_key = key_sel_p; + if(elite) + { + //Get the key index (hash1) + uint8_t key_index[8] = {0}; - used_key = KEY; + hash1(CSN, key_index); + printvar("hash1", key_index,8); + for(i = 0; i < 8 ; i++) + key_sel[i] = keytable[key_index[i]] & 0xFF; + PrintAndLog("Pre-fortified 'permuted' HS key that would be needed by an iclass reader to talk to above CSN:"); + printvar("k_sel", key_sel,8); + //Permute from iclass format to standard format + permutekey_rev(key_sel,key_sel_p); + used_key = key_sel_p; + }else{ + used_key = KEY; + } - } + PrintAndLog("Pre-fortified key that would be needed by the OmniKey reader to talk to above CSN:"); + printvar("Used key",used_key,8); + diversifyKey(CSN,used_key, div_key); + PrintAndLog("Hash0, a.k.a diversified key, that is computed using Ksel and stored in the card (Block 3):"); + printvar("Div key", div_key, 8); + printvar("CC_NR:",CCNR,12); + doMAC(CCNR,12,div_key, MAC); + printvar("MAC", MAC, 4); - PrintAndLog("Pre-fortified key that would be needed by the OmniKey reader to talk to above CSN:"); - printvar("Used key",used_key,8); - diversifyKey(CSN,used_key, div_key); - PrintAndLog("Hash0, a.k.a diversified key, that is computed using Ksel and stored in the card (Block 3):"); - printvar("Div key", div_key, 8); - printvar("CC_NR:",CCNR,12); - doMAC(CCNR,12,div_key, MAC); - printvar("MAC", MAC, 4); + uint8_t iclass_data[32000] = {0}; + uint8_t iclass_datalen = 0; + uint8_t iclass_blocksFailed = 0;//Set to 1 if dump was incomplete - UsbCommand d = {CMD_READER_ICLASS_REPLAY, {readerType}}; - memcpy(d.d.asBytes, MAC, 4); - if(!fake_dummy_test) SendCommand(&d); + UsbCommand d = {CMD_READER_ICLASS_REPLAY, {readerType}}; + memcpy(d.d.asBytes, MAC, 4); + clearCommandBuffer(); + SendCommand(&d); + PrintAndLog("Waiting for device to dump data. Press button on device and key on keyboard to abort..."); + while (true) { + printf("."); + if (ukbhit()) { + getchar(); + printf("\naborted via keyboard!\n"); + break; + } + if(WaitForResponseTimeout(CMD_ACK,&resp,4500)) + { + uint64_t dataLength = resp.arg[0]; + iclass_blocksFailed |= resp.arg[1]; + + if(dataLength > 0) + { + memcpy(iclass_data, resp.d.asBytes,dataLength); + iclass_datalen += dataLength; + }else + {//Last transfer, datalength 0 means the dump is finished + PrintAndLog("Dumped %d bytes of data from tag. ", iclass_datalen); + if(iclass_blocksFailed) + { + PrintAndLog("OBS! Some blocks failed to be dumped correctly!"); + } + if(iclass_datalen > 0) + { + char filename[100] = {0}; + //create a preferred filename + snprintf(filename, 100,"iclass_tagdump-%02x%02x%02x%02x%02x%02x%02x%02x", + CSN[0],CSN[1],CSN[2],CSN[3], + CSN[4],CSN[5],CSN[6],CSN[7]); + saveFile(filename,"bin",iclass_data, iclass_datalen ); + + } + //Aaaand we're finished + return 0; + } + } + } - }else{ - PrintAndLog("Failed to obtain CC! Aborting"); - } - } else { - PrintAndLog("Command execute timeout"); - } return 0; } diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index 9ea9d1454..e2ca5ce52 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -40,7 +40,7 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si } fwrite(data, 1, datalen, fileHandle); fclose(fileHandle); - PrintAndLog(">Saved data to '%s'", fileName); + PrintAndLog("Saved data to '%s'", fileName); free(fileName); From 002c1ce57a46fad83ea62b9043efea6554921cc6 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 7 Jan 2015 11:10:46 +0100 Subject: [PATCH 062/133] CHG: removed leftover debugging statements proxmark3.c CHG: hint from Marshmellow that the flag "-lcrypto" needs be also in CFLAGS. --- client/Makefile | 2 +- client/proxmark3.c | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/client/Makefile b/client/Makefile index 93b163616..37616e485 100644 --- a/client/Makefile +++ b/client/Makefile @@ -15,7 +15,7 @@ OBJDIR = obj LDLIBS = -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm -lcrypto LDFLAGS = $(COMMON_FLAGS) -CFLAGS = -std=c99 -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 +CFLAGS = -std=c99 -lcrypto -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 LUAPLATFORM = generic ifneq (,$(findstring MINGW,$(platform))) diff --git a/client/proxmark3.c b/client/proxmark3.c index 059cc345e..0e2a698c1 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -144,12 +144,9 @@ static void *main_loop(void *targ) { } if (!script_file) { - PrintAndLog("FOO!!"); cmd = readline(PROXPROMPT); - PrintAndLog("BAR!!"); } - PrintAndLog("SNAFU!!"); if (cmd) { while(cmd[strlen(cmd) - 1] == ' ') From 23b598ee23c1599b849b2f1bff90f48c7751d928 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 7 Jan 2015 20:40:22 +0100 Subject: [PATCH 063/133] CHG: Minor code clean up. ADD: crc16.c - new crc16_ccitt calc. --- common/Makefile.common | 4 +++- common/cmd.c | 2 -- common/crc16.c | 23 +++++++++++++++++++++++ common/crc16.h | 5 +++-- common/usb_cdc.c | 8 ++------ include/usb_cmd.h | 2 ++ 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/common/Makefile.common b/common/Makefile.common index 2befd456d..2b2bb2fbd 100644 --- a/common/Makefile.common +++ b/common/Makefile.common @@ -54,7 +54,8 @@ DELETE=del /q MOVE=ren COPY=copy PATHSEP=\\# -FLASH_TOOL=winsrc\\prox.exe +#FLASH_TOOL=winsrc\\prox.exe +FLASH_TOOL=winsrc\\flash.exe DETECTED_OS=Windows endif @@ -67,6 +68,7 @@ INCLUDES = ../include/proxmark3.h ../include/at91sam7s512.h ../include/config_gp CFLAGS = -c $(INCLUDE) -Wall -Werror -pedantic -std=c99 $(APP_CFLAGS) -Os LDFLAGS = -nostartfiles -nodefaultlibs -Wl,-gc-sections -n + LIBS = -lgcc THUMBOBJ = $(patsubst %.c,$(OBJDIR)/%.o,$(THUMBSRC)) diff --git a/common/cmd.c b/common/cmd.c index 49d9d9424..0c3ecc1fe 100644 --- a/common/cmd.c +++ b/common/cmd.c @@ -34,8 +34,6 @@ #include "string.h" #include "proxmark3.h" -//static UsbCommand txcmd; - bool cmd_receive(UsbCommand* cmd) { // Check if there is a usb packet available diff --git a/common/crc16.c b/common/crc16.c index d181bb2a7..973cd103c 100644 --- a/common/crc16.c +++ b/common/crc16.c @@ -8,6 +8,7 @@ #include "crc16.h" + unsigned short update_crc16( unsigned short crc, unsigned char c ) { unsigned short i, v, tcrc = 0; @@ -20,3 +21,25 @@ unsigned short update_crc16( unsigned short crc, unsigned char c ) return ((crc >> 8) ^ tcrc)&0xffff; } + +uint16_t crc16(uint8_t const *message, int length, uint16_t remainder, uint16_t polynomial) { + + if (length == 0) + return (~remainder); + + for (int byte = 0; byte < length; ++byte) { + remainder ^= (message[byte] << 8); + for (uint8_t bit = 8; bit > 0; --bit) { + if (remainder & 0x8000) { + remainder = (remainder << 1) ^ polynomial; + } else { + remainder = (remainder << 1); + } + } + } + return remainder; +} + +uint16_t crc16_ccitt(uint8_t const *message, int length) { + return crc16(message, length, 0xffff, 0x1021); +} diff --git a/common/crc16.h b/common/crc16.h index 055a60bcd..d16d83b5a 100644 --- a/common/crc16.h +++ b/common/crc16.h @@ -5,10 +5,11 @@ //----------------------------------------------------------------------------- // CRC16 //----------------------------------------------------------------------------- +#include #ifndef __CRC16_H #define __CRC16_H - unsigned short update_crc16(unsigned short crc, unsigned char c); - +uint16_t crc16(uint8_t const *message, int length, uint16_t remainder, uint16_t polynomial); +uint16_t crc16_ccitt(uint8_t const *message, int length); #endif diff --git a/common/usb_cdc.c b/common/usb_cdc.c index e2787fb65..54f6a8e81 100644 --- a/common/usb_cdc.c +++ b/common/usb_cdc.c @@ -223,7 +223,6 @@ byte_t btReceiveBank = AT91C_UDP_RX_DATA_BK0; void usb_disable() { // Disconnect the USB device AT91C_BASE_PIOA->PIO_ODR = GPIO_USB_PU; -// SpinDelay(100); // Clear all lingering interrupts if(pUdp->UDP_ISR & AT91C_UDP_ENDBUSRES) { @@ -257,7 +256,6 @@ void usb_enable() { // Wait for a short while for (volatile size_t i=0; i<0x100000; i++); -// SpinDelay(100); // Reconnect USB reconnect AT91C_BASE_PIOA->PIO_SODR = GPIO_USB_PU; @@ -304,8 +302,7 @@ uint32_t usb_read(byte_t* data, size_t len) { uint32_t packetSize, nbBytesRcv = 0; uint32_t time_out = 0; - while (len) - { + while (len) { if (!usb_check()) break; if ( pUdp->UDP_CSR[AT91C_EP_OUT] & bank ) { @@ -314,8 +311,7 @@ uint32_t usb_read(byte_t* data, size_t len) { while(packetSize--) data[nbBytesRcv++] = pUdp->UDP_FDR[AT91C_EP_OUT]; pUdp->UDP_CSR[AT91C_EP_OUT] &= ~(bank); - if (bank == AT91C_UDP_RX_DATA_BK0) - { + if (bank == AT91C_UDP_RX_DATA_BK0) { bank = AT91C_UDP_RX_DATA_BK1; } else { bank = AT91C_UDP_RX_DATA_BK0; diff --git a/include/usb_cmd.h b/include/usb_cmd.h index 69c3c1b6a..c2e0b95bd 100644 --- a/include/usb_cmd.h +++ b/include/usb_cmd.h @@ -150,8 +150,10 @@ typedef struct { #define CMD_MIFARE_READBL 0x0620 #define CMD_MIFAREU_READBL 0x0720 + #define CMD_MIFARE_READSC 0x0621 #define CMD_MIFAREU_READCARD 0x0721 + #define CMD_MIFARE_WRITEBL 0x0622 #define CMD_MIFAREU_WRITEBL 0x0722 #define CMD_MIFAREU_WRITEBL_COMPAT 0x0723 From 3af373f352688d23b80eb9963703cf484ddbe075 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 7 Jan 2015 20:45:43 +0100 Subject: [PATCH 064/133] CHG: Added support for tnp3xx in lua scripts. ADD: a save file function in lua. --- client/lualibs/commands.lua | 26 +++++++++++++++++++++++++- client/lualibs/html_dumplib.lua | 14 ++++++++++++++ client/lualibs/htmlskel.lua | 1 + client/lualibs/mf_default_keys.lua | 18 ++++++++++++++++++ client/lualibs/read14a.lua | 1 + 5 files changed, 59 insertions(+), 1 deletion(-) diff --git a/client/lualibs/commands.lua b/client/lualibs/commands.lua index aeba31a7e..e93d0a97c 100644 --- a/client/lualibs/commands.lua +++ b/client/lualibs/commands.lua @@ -64,6 +64,7 @@ local _commands = { CMD_ISO_15693_COMMAND_DONE = 0x0314, CMD_ISO_15693_FIND_AFI = 0x0315, CMD_ISO_15693_DEBUG = 0x0316, + CMD_LF_SNOOP_RAW_ADC_SAMPLES = 0x0317, --// For Hitag2 transponders CMD_SNOOP_HITAG = 0x0370, @@ -80,10 +81,13 @@ local _commands = { CMD_READER_LEGIC_RF = 0x0388, CMD_WRITER_LEGIC_RF = 0x0389, CMD_EPA_PACE_COLLECT_NONCE = 0x038A, + --//CMD_EPA_ = 0x038B, CMD_SNOOP_ICLASS = 0x0392, CMD_SIMULATE_TAG_ICLASS = 0x0393, CMD_READER_ICLASS = 0x0394, + CMD_READER_ICLASS_REPLAY = 0x0395, + CMD_ICLASS_ISO14443A_WRITE = 0x0397, --// For measurements of the antenna tuning CMD_MEASURE_ANTENNA_TUNING = 0x0400, @@ -109,12 +113,33 @@ local _commands = { CMD_MIFARE_NESTED = 0x0612, CMD_MIFARE_READBL = 0x0620, + CMD_MIFAREU_READBL = 0x0720, + CMD_MIFARE_READSC = 0x0621, + CMD_MIFAREU_READCARD = 0x0721, + CMD_MIFARE_WRITEBL = 0x0622, + CMD_MIFAREU_WRITEBL = 0x0722, + CMD_MIFAREU_WRITEBL_COMPAT = 0x0723, + CMD_MIFARE_CHKKEYS = 0x0623, CMD_MIFARE_SNIFFER = 0x0630, + --//ultralightC + CMD_MIFAREUC_AUTH1 = 0x0724, + CMD_MIFAREUC_AUTH2 = 0x0725, + CMD_MIFAREUC_READCARD = 0x0726, + + --// mifare desfire + CMD_MIFARE_DESFIRE_READBL = 0x0728, + CMD_MIFARE_DESFIRE_WRITEBL = 0x0729, + CMD_MIFARE_DESFIRE_AUTH1 = 0x072a, + CMD_MIFARE_DESFIRE_AUTH2 = 0x072b, + CMD_MIFARE_DES_READER = 0x072c, + CMD_MIFARE_DESFIRE_INFO = 0x072d, + CMD_MIFARE_DESFIRE = 0x072e, + CMD_UNKNOWN = 0xFFFF, } @@ -184,7 +209,6 @@ function Command:getBytes() local data = self.data local cmd = self.cmd local arg1, arg2, arg3 = self.arg1, self.arg2, self.arg3 - return bin.pack("LLLLH",cmd, arg1, arg2, arg3,data); end diff --git a/client/lualibs/html_dumplib.lua b/client/lualibs/html_dumplib.lua index b8c7ccaa2..44b6b352b 100644 --- a/client/lualibs/html_dumplib.lua +++ b/client/lualibs/html_dumplib.lua @@ -47,6 +47,18 @@ local function save_HTML(javascript, filename) end +local function save_TEXT(data,filename) + -- Open the output file + local outfile = io.open(filename, "wb") + if outfile == nil then + return oops(string.format("Could not write to file %s",tostring(filename))) + end + + outfile:write(data) + io.close(outfile) + return filename +end + local function save_BIN(data, filename) -- Open the output file @@ -181,4 +193,6 @@ return { convert_bin_to_html = convert_bin_to_html, convert_eml_to_html = convert_eml_to_html, convert_eml_to_bin = convert_eml_to_bin, + SaveAsBinary = save_BIN, + SaveAsText = save_TEXT, } diff --git a/client/lualibs/htmlskel.lua b/client/lualibs/htmlskel.lua index a52abdef7..b468eb2db 100644 --- a/client/lualibs/htmlskel.lua +++ b/client/lualibs/htmlskel.lua @@ -55,6 +55,7 @@ local skel_1 = [[ return "UNKNOWN" } + add("04,,,Mifare TNP3xxx Activision 1K,0f01,01"); add("04,,,Mifare Mini,0004,09"); add("04,,,Mifare Classic 1k/Mifare Plus(4 byte UID) 2K SL1,0004,08"); add("04,,,Mifare Plus (4 byte UID) 2K SL2,0004,10"); diff --git a/client/lualibs/mf_default_keys.lua b/client/lualibs/mf_default_keys.lua index 4859ff0c1..757112c67 100644 --- a/client/lualibs/mf_default_keys.lua +++ b/client/lualibs/mf_default_keys.lua @@ -141,6 +141,24 @@ local _keys = { '200000000000', 'a00000000000', 'b00000000000', + + --[[ + Should be for Mifare TNP3xxx tags A KEY. + --]] + '4b0b20107ccb', + + --[[ + Kiev metro cards + --]] + '8fe644038790', + 'f14ee7cae863', + '632193be1c3c', + '569369c5a0e5', + '9de89e070277', + 'eff603e1efe9', + '644672bd4afe', + + 'b5ff67cba951', } --- diff --git a/client/lualibs/read14a.lua b/client/lualibs/read14a.lua index 24021a1dc..10e7c2d4a 100644 --- a/client/lualibs/read14a.lua +++ b/client/lualibs/read14a.lua @@ -25,6 +25,7 @@ local ISO14A_COMMAND = { local ISO14443a_TYPES = {} ISO14443a_TYPES[0x00] = "NXP MIFARE Ultralight | Ultralight C" +ISO14443a_TYPES[0x01] = "NXP MIFARE TNP3xxx Activision Game Appliance" ISO14443a_TYPES[0x04] = "NXP MIFARE (various !DESFire !DESFire EV1)" ISO14443a_TYPES[0x08] = "NXP MIFARE CLASSIC 1k | Plus 2k" ISO14443a_TYPES[0x09] = "NXP MIFARE Mini 0.3k" From 79544b28adc44792888788eac3d58a03003860c5 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 7 Jan 2015 20:52:03 +0100 Subject: [PATCH 065/133] CHG: minor code clean up ADD: added some helper-functions in util.c --- client/loclass/elite_crack.c | 1 - client/loclass/ikeys.c | 2 - client/util.c | 135 +++++++++++++++++++++++++++++++++++ client/util.h | 14 ++++ 4 files changed, 149 insertions(+), 3 deletions(-) diff --git a/client/loclass/elite_crack.c b/client/loclass/elite_crack.c index f0eb964bc..adedba856 100644 --- a/client/loclass/elite_crack.c +++ b/client/loclass/elite_crack.c @@ -514,7 +514,6 @@ int bruteforceDump(uint8_t dump[], size_t dumpsize, uint16_t keytable[]) */ int bruteforceFile(const char *filename, uint16_t keytable[]) { - FILE *f = fopen(filename, "rb"); if(!f) { prnlog("Failed to read from file '%s'", filename); diff --git a/client/loclass/ikeys.c b/client/loclass/ikeys.c index 4749181e3..f7115b197 100644 --- a/client/loclass/ikeys.c +++ b/client/loclass/ikeys.c @@ -725,7 +725,6 @@ int doTestsWithKnownInputs() int readKeyFile(uint8_t key[8]) { - FILE *f; int retval = 1; f = fopen("iclass_key.bin", "rb"); @@ -738,7 +737,6 @@ int readKeyFile(uint8_t key[8]) fclose(f); } return retval; - } diff --git a/client/util.c b/client/util.c index 15e911a14..a077aae90 100644 --- a/client/util.c +++ b/client/util.c @@ -13,6 +13,7 @@ #ifndef _WIN32 #include #include + int ukbhit(void) { int cnt = 0; @@ -112,6 +113,19 @@ char * sprint_hex(const uint8_t * data, const size_t len) { return buf; } +char * sprint_bin(const uint8_t * data, const size_t len) { + + int maxLen = ( len > 1024) ? 1024 : len; + static char buf[1024]; + char * tmp = buf; + size_t i; + + for (i=0; i < maxLen; ++i, ++tmp) + sprintf(tmp, "%u", data[i]); + + return buf; +} + void num_to_bytes(uint64_t n, size_t len, uint8_t* dest) { while (len--) { @@ -131,6 +145,28 @@ uint64_t bytes_to_num(uint8_t* src, size_t len) return num; } +//assumes little endian +char * printBits(size_t const size, void const * const ptr) +{ + unsigned char *b = (unsigned char*) ptr; + unsigned char byte; + static char buf[1024]; + char * tmp = buf; + int i, j; + + for (i=size-1;i>=0;i--) + { + for (j=7;j>=0;j--) + { + byte = b[i] & (1<>= j; + sprintf(tmp, "%u", byte); + tmp++; + } + } + return buf; +} + // ------------------------------------------------------------------------- // string parameters lib // ------------------------------------------------------------------------- @@ -248,3 +284,102 @@ int param_getstr(const char *line, int paramnum, char * str) return en - bg + 1; } + +/* +The following methods comes from Rfidler sourcecode. +https://github.com/ApertureLabsLtd/RFIDler/blob/master/firmware/Pic32/RFIDler.X/src/ +*/ + +// convert hex to sequence of 0/1 bit values +// returns number of bits converted +int hextobinarray(char *target, char *source) +{ + int length, i, count= 0; + char x; + + length = strlen(source); + // process 4 bits (1 hex digit) at a time + while(length--) + { + x= *(source++); + // capitalize + if (x >= 'a' && x <= 'f') + x -= 32; + // convert to numeric value + if (x >= '0' && x <= '9') + x -= '0'; + else if (x >= 'A' && x <= 'F') + x -= 'A' - 10; + else + return 0; + // output + for(i= 0 ; i < 4 ; ++i, ++count) + *(target++)= (x >> (3 - i)) & 1; + } + + return count; +} + +// convert hex to human readable binary string +int hextobinstring(char *target, char *source) +{ + int length; + + if(!(length= hextobinarray(target, source))) + return 0; + binarraytobinstring(target, target, length); + return length; +} + +// convert binary array of 0x00/0x01 values to hex (safe to do in place as target will always be shorter than source) +// return number of bits converted +int binarraytohex(char *target, char *source, int length) +{ + unsigned char i, x; + int j = length; + + if(j % 4) + return 0; + + while(j) + { + for(i= x= 0 ; i < 4 ; ++i) + x += ( source[i] << (3 - i)); + sprintf(target,"%X", x); + ++target; + source += 4; + j -= 4; + } + return length; +} + +// convert binary array to human readable binary +void binarraytobinstring(char *target, char *source, int length) +{ + int i; + + for(i= 0 ; i < length ; ++i) + *(target++)= *(source++) + '0'; + *target= '\0'; +} + +// return parity bit required to match type +uint8_t GetParity( char *bits, uint8_t type, int length) +{ + int x; + + for(x= 0 ; length > 0 ; --length) + x += bits[length - 1]; + x %= 2; + + return x ^ type; +} + +// add HID parity to binary array: EVEN prefix for 1st half of ID, ODD suffix for 2nd half +void wiegand_add_parity(char *target, char *source, char length) +{ + *(target++)= GetParity(source, EVEN, length / 2); + memcpy(target, source, length); + target += length; + *(target)= GetParity(source + length / 2, ODD, length / 2); +} diff --git a/client/util.h b/client/util.h index ce8876ed9..22d41e0c8 100644 --- a/client/util.h +++ b/client/util.h @@ -15,6 +15,7 @@ #include #include #include +#include "data.h" #ifndef MIN # define MIN(a, b) (((a) < (b)) ? (a) : (b)) @@ -22,6 +23,10 @@ #ifndef MAX # define MAX(a, b) (((a) > (b)) ? (a) : (b)) #endif +#define TRUE 1 +#define FALSE 0 +#define EVEN 0 +#define ODD 1 int ukbhit(void); @@ -33,9 +38,11 @@ void FillFileNameByUID(char *fileName, uint8_t * uid, char *ext, int byteCount); void print_hex(const uint8_t * data, const size_t len); char * sprint_hex(const uint8_t * data, const size_t len); +char * sprint_bin(const uint8_t * data, const size_t len); void num_to_bytes(uint64_t n, size_t len, uint8_t* dest); uint64_t bytes_to_num(uint8_t* src, size_t len); +char * printBits(size_t const size, void const * const ptr); char param_getchar(const char *line, int paramnum); uint8_t param_get8(const char *line, int paramnum); @@ -45,3 +52,10 @@ uint64_t param_get64ex(const char *line, int paramnum, int deflt, int base); int param_gethex(const char *line, int paramnum, uint8_t * data, int hexcnt); int param_getstr(const char *line, int paramnum, char * str); + int hextobinarray( char *target, char *source); + int hextobinstring( char *target, char *source); + int binarraytohex( char *target, char *source, int length); +void binarraytobinstring(char *target, char *source, int length); +uint8_t GetParity( char *string, uint8_t type, int length); +void wiegand_add_parity(char *target, char *source, char length); + From 52ab55ab0da1a34f4ce62d2f730e39ac099d0555 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 7 Jan 2015 21:06:15 +0100 Subject: [PATCH 066/133] ADD: added a lot of ic ids to cmdhf15.c Thanks to Asper for the list. ADD: added a manufacturer list in "hf 14a reader", only viable when UID is double or triple size. Thanks to Asper for the list. ADD: detect chinese magic backdoor commands in "hf 14a reader" CHG: minor code clean up. --- armsrc/appmain.c | 1 - armsrc/crapto1.c | 4 +- armsrc/iso14443a.c | 2 +- armsrc/mifarecmd.c | 1 - armsrc/mifaresniff.c | 1 + armsrc/mifareutil.c | 3 +- armsrc/string.c | 5 ++ armsrc/string.h | 1 + client/cmdhf14a.c | 133 ++++++++++++++++++++++++++++++++++++++++--- client/cmdhf14a.h | 1 + client/cmdhf15.c | 133 +++++++++++++++++++++++++++++++++++++------ client/cmdhfmf.c | 1 + client/cmdhw.c | 4 +- client/cmdlf.c | 14 +++-- client/cmdmain.c | 2 - client/data.h | 3 + client/graph.c | 2 + client/proxmark3.c | 2 +- 18 files changed, 270 insertions(+), 43 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 3c92a7fd2..d52ed94a3 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -18,7 +18,6 @@ #include "util.h" #include "printf.h" #include "string.h" - #include #include "legicrf.h" diff --git a/armsrc/crapto1.c b/armsrc/crapto1.c index 9d491d127..df0834b89 100644 --- a/armsrc/crapto1.c +++ b/armsrc/crapto1.c @@ -44,12 +44,12 @@ static void quicksort(uint32_t* const start, uint32_t* const stop) else if(*rit > *start) --rit; else - *it ^= (*it ^= *rit, *rit ^= *it); + *it ^= ( (*it ^= *rit ), *rit ^= *it); if(*rit >= *start) --rit; if(rit != start) - *rit ^= (*rit ^= *start, *start ^= *rit); + *rit ^= ( (*rit ^= *start), *start ^= *rit); quicksort(start, rit - 1); quicksort(rit + 1, stop); diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index c2f809fee..cf55e6068 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -1812,7 +1812,7 @@ int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, u if (!ReaderReceive(resp, resp_par)) return 0; sak = resp[0]; - // Test if more parts of the uid are comming + // Test if more parts of the uid are coming if ((sak & 0x04) /* && uid_resp[0] == 0x88 */) { // Remove first byte, 0x88 is not an UID byte, it CT, see page 3 of: // http://www.nxp.com/documents/application_note/AN10927.pdf diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index 8541553ba..a52ee4c91 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -214,7 +214,6 @@ void MifareUReadCard(uint8_t arg0, uint8_t *datain) // clear trace iso14a_clear_trace(); -// iso14a_set_tracing(false); iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); diff --git a/armsrc/mifaresniff.c b/armsrc/mifaresniff.c index fed127725..910ea74d5 100644 --- a/armsrc/mifaresniff.c +++ b/armsrc/mifaresniff.c @@ -11,6 +11,7 @@ #include "mifaresniff.h" #include "apps.h" + static int sniffState = SNF_INIT; static uint8_t sniffUIDType; static uint8_t sniffUID[8]; diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index 7c8565571..680af0fed 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -412,7 +412,8 @@ int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *bloc if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Send Error: %02x %d", receivedAnswer[0],len); return 1; } - return 0; + + return 0; } int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) diff --git a/armsrc/string.c b/armsrc/string.c index cc71276ce..945a4cf6d 100644 --- a/armsrc/string.c +++ b/armsrc/string.c @@ -48,6 +48,11 @@ int memcmp(const void *av, const void *bv, int len) return 0; } +void memxor(uint8_t * dest, uint8_t * src, size_t len) { + for( ; len > 0; len--,dest++,src++) + *dest ^= *src; +} + int strlen(const char *str) { int l = 0; diff --git a/armsrc/string.h b/armsrc/string.h index 421c2bf0e..a9dbd826f 100644 --- a/armsrc/string.h +++ b/armsrc/string.h @@ -19,6 +19,7 @@ int strlen(const char *str); RAMFUNC void *memcpy(void *dest, const void *src, int len); void *memset(void *dest, int c, int len); RAMFUNC int memcmp(const void *av, const void *bv, int len); +void memxor(uint8_t * dest, uint8_t * src, size_t len); char *strncat(char *dest, const char *src, unsigned int n); char *strcat(char *dest, const char *src); void strreverse(char s[]); diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 673737e2f..40173d832 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -27,6 +27,108 @@ static int CmdHelp(const char *Cmd); static void waitCmd(uint8_t iLen); + +// structure and database for uid -> tagtype lookups +typedef struct { + uint8_t uid; + char* desc; +} manufactureName; + +const manufactureName manufactureMapping[] = { + // ID, "Vendor Country" + { 0x01, "Motorola UK" }, + { 0x02, "ST Microelectronics SA France" }, + { 0x03, "Hitachi, Ltd Japan" }, + { 0x04, "NXP Semiconductors Germany" }, + { 0x05, "Infineon Technologies AG Germany" }, + { 0x06, "Cylink USA" }, + { 0x07, "Texas Instrument France" }, + { 0x08, "Fujitsu Limited Japan" }, + { 0x09, "Matsushita Electronics Corporation, Semiconductor Company Japan" }, + { 0x0A, "NEC Japan" }, + { 0x0B, "Oki Electric Industry Co. Ltd Japan" }, + { 0x0C, "Toshiba Corp. Japan" }, + { 0x0D, "Mitsubishi Electric Corp. Japan" }, + { 0x0E, "Samsung Electronics Co. Ltd Korea" }, + { 0x0F, "Hynix / Hyundai, Korea" }, + { 0x10, "LG-Semiconductors Co. Ltd Korea" }, + { 0x11, "Emosyn-EM Microelectronics USA" }, + { 0x12, "INSIDE Technology France" }, + { 0x13, "ORGA Kartensysteme GmbH Germany" }, + { 0x14, "SHARP Corporation Japan" }, + { 0x15, "ATMEL France" }, + { 0x16, "EM Microelectronic-Marin SA Switzerland" }, + { 0x17, "KSW Microtec GmbH Germany" }, + { 0x18, "ZMD AG Germany" }, + { 0x19, "XICOR, Inc. USA" }, + { 0x1A, "Sony Corporation Japan Identifier Company Country" }, + { 0x1B, "Malaysia Microelectronic Solutions Sdn. Bhd Malaysia" }, + { 0x1C, "Emosyn USA" }, + { 0x1D, "Shanghai Fudan Microelectronics Co. Ltd. P.R. China" }, + { 0x1E, "Magellan Technology Pty Limited Australia" }, + { 0x1F, "Melexis NV BO Switzerland" }, + { 0x20, "Renesas Technology Corp. Japan" }, + { 0x21, "TAGSYS France" }, + { 0x22, "Transcore USA" }, + { 0x23, "Shanghai belling corp., ltd. China" }, + { 0x24, "Masktech Germany Gmbh Germany" }, + { 0x25, "Innovision Research and Technology Plc UK" }, + { 0x26, "Hitachi ULSI Systems Co., Ltd. Japan" }, + { 0x27, "Cypak AB Sweden" }, + { 0x28, "Ricoh Japan" }, + { 0x29, "ASK France" }, + { 0x2A, "Unicore Microsystems, LLC Russian Federation" }, + { 0x2B, "Dallas Semiconductor/Maxim USA" }, + { 0x2C, "Impinj, Inc. USA" }, + { 0x2D, "RightPlug Alliance USA" }, + { 0x2E, "Broadcom Corporation USA" }, + { 0x2F, "MStar Semiconductor, Inc Taiwan, ROC" }, + { 0x30, "BeeDar Technology Inc. USA" }, + { 0x31, "RFIDsec Denmark" }, + { 0x32, "Schweizer Electronic AG Germany" }, + { 0x33, "AMIC Technology Corp Taiwan" }, + { 0x34, "Mikron JSC Russia" }, + { 0x35, "Fraunhofer Institute for Photonic Microsystems Germany" }, + { 0x36, "IDS Microchip AG Switzerland" }, + { 0x37, "Kovio USA" }, + { 0x38, "HMT Microelectronic Ltd Switzerland Identifier Company Country" }, + { 0x39, "Silicon Craft Technology Thailand" }, + { 0x3A, "Advanced Film Device Inc. Japan" }, + { 0x3B, "Nitecrest Ltd UK" }, + { 0x3C, "Verayo Inc. USA" }, + { 0x3D, "HID Global USA" }, + { 0x3E, "Productivity Engineering Gmbh Germany" }, + { 0x3F, "Austriamicrosystems AG (reserved) Austria" }, + { 0x40, "Gemalto SA France" }, + { 0x41, "Renesas Electronics Corporation Japan" }, + { 0x42, "3Alogics Inc Korea" }, + { 0x43, "Top TroniQ Asia Limited Hong Kong" }, + { 0x44, "Gentag Inc (USA) USA" }, + { 0x00, "no tag-info available" } // must be the last entry +}; + + +// get a product description based on the UID +// uid[8] tag uid +// returns description of the best match +static char* getTagInfo(uint8_t uid) { + + int i, best = -1; + int len = sizeof(manufactureMapping) / sizeof(manufactureName); + + for ( i = 0; i < len; ++i ) { + if ( uid == manufactureMapping[i].uid) { + if (best == -1) { + best = i; + } + } + } + + if (best>=0) return manufactureMapping[best].desc; + + return manufactureMapping[i].desc; +} + int CmdHF14AList(const char *Cmd) { PrintAndLog("Deprecated command, use 'hf list 14a' instead"); @@ -65,6 +167,11 @@ int CmdHF14AReader(const char *Cmd) PrintAndLog(" UID : %s", sprint_hex(card.uid, card.uidlen)); PrintAndLog(" SAK : %02x [%d]", card.sak, resp.arg[0]); + // Double & triple sized UID, can be mapped to a manufacturer. + if ( card.uidlen > 4 ) { + PrintAndLog("MANUFACTURER : %s", getTagInfo(card.uid[0])); + } + switch (card.sak) { case 0x00: PrintAndLog("TYPE : NXP MIFARE Ultralight | Ultralight C"); break; case 0x01: PrintAndLog("TYPE : NXP TNP3xxx Activision Game Appliance"); break; @@ -83,7 +190,6 @@ int CmdHF14AReader(const char *Cmd) default: ; } - // try to request ATS even if tag claims not to support it if (select_status == 2) { uint8_t rats[] = { 0xE0, 0x80 }; // FSDI=8 (FSD=256), CID=0 @@ -98,13 +204,6 @@ int CmdHF14AReader(const char *Cmd) card.ats_len = resp.arg[0]; // note: ats_len includes CRC Bytes } - // disconnect - c.arg[0] = 0; - c.arg[1] = 0; - c.arg[2] = 0; - SendCommand(&c); - - if(card.ats_len >= 3) { // a valid ATS consists of at least the length byte (TL) and 2 CRC bytes bool ta1 = 0, tb1 = 0, tc1 = 0; int pos; @@ -243,6 +342,24 @@ int CmdHF14AReader(const char *Cmd) PrintAndLog("proprietary non iso14443-4 card found, RATS not supported"); } + + // try to see if card responses to "chinese magic backdoor" commands. + c.cmd = CMD_MIFARE_CIDENT; + c.arg[0] = 0; + c.arg[1] = 0; + c.arg[2] = 0; + SendCommand(&c); + WaitForResponse(CMD_ACK,&resp); + uint8_t isOK = resp.arg[0] & 0xff; + PrintAndLog(" Answers to chinese magic backdoor commands: %s", (isOK ? "YES" : "NO") ); + + // disconnect + c.cmd = CMD_READER_ISO_14443a; + c.arg[0] = 0; + c.arg[1] = 0; + c.arg[2] = 0; + SendCommand(&c); + return select_status; } diff --git a/client/cmdhf14a.h b/client/cmdhf14a.h index 56329bed1..d2e203a10 100644 --- a/client/cmdhf14a.h +++ b/client/cmdhf14a.h @@ -20,4 +20,5 @@ int CmdHF14AReader(const char *Cmd); int CmdHF14ASim(const char *Cmd); int CmdHF14ASnoop(const char *Cmd); + #endif diff --git a/client/cmdhf15.c b/client/cmdhf15.c index b1e04e9ab..d6ab2000a 100644 --- a/client/cmdhf15.c +++ b/client/cmdhf15.c @@ -55,38 +55,135 @@ typedef struct { const productName uidmapping[] = { + // UID, #significant Bits, "Vendor(+Product)" - { 0xE001000000000000LL, 16, "Motorola" }, - { 0xE002000000000000LL, 16, "ST Microelectronics" }, - { 0xE003000000000000LL, 16, "Hitachi" }, - { 0xE004000000000000LL, 16, "NXP(Philips)" }, + { 0xE001000000000000LL, 16, "Motorola UK" }, + + // E0 02 xx + // 02 = ST Microelectronics + // XX = IC id (Chip ID Family) + { 0xE002000000000000LL, 16, "ST Microelectronics SA France" }, + { 0xE002050000000000LL, 24, "ST Microelectronics; LRI64 [IC id = 05]"}, + { 0xE002080000000000LL, 24, "ST Microelectronics; LRI2K [IC id = 08]"}, + { 0xE0020A0000000000LL, 24, "ST Microelectronics; LRIS2K [IC id = 10]"}, + { 0xE002440000000000LL, 24, "ST Microelectronics; LRIS64K [IC id = 68]"}, + + { 0xE003000000000000LL, 16, "Hitachi, Ltd Japan" }, + + // E0 04 xx + // 04 = Manufacturer code (Philips/NXP) + // XX = IC id (Chip ID Family) + //I-Code SLI SL2 ICS20 [IC id = 01] + //I-Code SLI-S [IC id = 02] + //I-Code SLI-L [IC id = 03] + //I-Code SLIX [IC id = 01 + bit36 set to 1 (starting from bit0 - different from normal SLI)] + //I-Code SLIX-S [IC id = 02 + bit36 set to 1] + //I-Code SLIX-L [IC id = 03 + bit36 set to 1] + { 0xE004000000000000LL, 16, "NXP Semiconductors Germany (Philips)" }, { 0xE004010000000000LL, 24, "NXP(Philips); IC SL2 ICS20/ICS21(SLI) ICS2002/ICS2102(SLIX)" }, { 0xE004020000000000LL, 24, "NXP(Philips); IC SL2 ICS53/ICS54(SLI-S) ICS5302/ICS5402(SLIX-S)" }, { 0xE004030000000000LL, 24, "NXP(Philips); IC SL2 ICS50/ICS51(SLI-L) ICS5002/ICS5102(SLIX-L)" }, - { 0xE005000000000000LL, 16, "Infineon" }, - { 0xE005400000000000LL, 24, "Infineon; 56x32bit" }, - { 0xE006000000000000LL, 16, "Cylinc" }, - { 0xE007000000000000LL, 16, "Texas Instrument; " }, + + // E0 05 XX .. .. .. + // 05 = Manufacturer code (Infineon) + // XX = IC id (Chip ID Family) + { 0xE005000000000000LL, 16, "Infineon Technologies AG Germany" }, + { 0xE005A10000000000LL, 24, "Infineon; SRF55V01P [IC id = 161] plain mode 1kBit"}, + { 0xE005A80000000000LL, 24, "Infineon; SRF55V01P [IC id = 168] pilot series 1kBit"}, + { 0xE005400000000000LL, 24, "Infineon; SRF55V02P [IC id = 64] plain mode 2kBit"}, + { 0xE005000000000000LL, 24, "Infineon; SRF55V10P [IC id = 00] plain mode 10KBit"}, + { 0xE005500000000000LL, 24, "Infineon; SRF55V02S [IC id = 80] secure mode 2kBit"}, + { 0xE005100000000000LL, 24, "Infineon; SRF55V10S [IC id = 16] secure mode 10KBit"}, + { 0xE0051E0000000000LL, 23, "Infineon; SLE66r01P [IC id = 3x = My-d Move or My-d move NFC]"}, + { 0xE005200000000000LL, 21, "Infineon; SLE66r01P [IC id = 3x = My-d Move or My-d move NFC]"}, + + { 0xE006000000000000LL, 16, "Cylink USA" }, + + + // E0 07 xx + // 07 = Texas Instruments + // XX = from bit 41 to bit 43 = product configuration - from bit 44 to bit 47 IC id (Chip ID Family) + //Tag IT RFIDType-I Plus, 2kBit, TI Inlay + //Tag-it HF-I Plus Inlay [IC id = 00] -> b'0000 000 2kBit + //Tag-it HF-I Plus Chip [IC id = 64] -> b'1000 000 2kBit + //Tag-it HF-I Standard Chip / Inlays [IC id = 96] -> b'1100 000 256Bit + //Tag-it HF-I Pro Chip / Inlays [IC id = 98] -> b'1100 010 256Bit, Password protection + { 0xE007000000000000LL, 16, "Texas Instrument France" }, { 0xE007000000000000LL, 20, "Texas Instrument; Tag-it HF-I Plus Inlay; 64x32bit" }, { 0xE007100000000000LL, 20, "Texas Instrument; Tag-it HF-I Plus Chip; 64x32bit" }, { 0xE007800000000000LL, 23, "Texas Instrument; Tag-it HF-I Plus (RF-HDT-DVBB tag or Third Party Products)" }, { 0xE007C00000000000LL, 23, "Texas Instrument; Tag-it HF-I Standard; 8x32bit" }, { 0xE007C40000000000LL, 23, "Texas Instrument; Tag-it HF-I Pro; 8x23bit; password" }, - { 0xE008000000000000LL, 16, "Fujitsu" }, - { 0xE009000000000000LL, 16, "Matsushita" }, - { 0xE00A000000000000LL, 16, "NEC" }, - { 0xE00B000000000000LL, 16, "Oki Electric" }, - { 0xE00C000000000000LL, 16, "Toshiba" }, - { 0xE00D000000000000LL, 16, "Mitsubishi" }, - { 0xE00E000000000000LL, 16, "Samsung" }, - { 0xE00F000000000000LL, 16, "Hyundai" }, - { 0xE010000000000000LL, 16, "LG-Semiconductors" }, + + { 0xE008000000000000LL, 16, "Fujitsu Limited Japan" }, + { 0xE009000000000000LL, 16, "Matsushita Electronics Corporation, Semiconductor Company Japan" }, + { 0xE00A000000000000LL, 16, "NEC Japan" }, + { 0xE00B000000000000LL, 16, "Oki Electric Industry Co. Ltd Japan" }, + { 0xE00C000000000000LL, 16, "Toshiba Corp. Japan" }, + { 0xE00D000000000000LL, 16, "Mitsubishi Electric Corp. Japan" }, + { 0xE00E000000000000LL, 16, "Samsung Electronics Co. Ltd Korea" }, + { 0xE00F000000000000LL, 16, "Hynix / Hyundai, Korea" }, + { 0xE010000000000000LL, 16, "LG-Semiconductors Co. Ltd Korea" }, + { 0xE011000000000000LL, 16, "Emosyn-EM Microelectronics USA" }, + { 0xE012000000000000LL, 16, "HID Corporation" }, - { 0xE016000000000000LL, 16, "EM-Marin SA (Skidata)" }, + { 0xE012000000000000LL, 16, "INSIDE Technology France" }, + { 0xE013000000000000LL, 16, "ORGA Kartensysteme GmbH Germany" }, + { 0xE014000000000000LL, 16, "SHARP Corporation Japan" }, + { 0xE015000000000000LL, 16, "ATMEL France" }, + + { 0xE016000000000000LL, 16, "EM Microelectronic-Marin SA Switzerland (Skidata)" }, { 0xE016040000000000LL, 24, "EM-Marin SA (Skidata Keycard-eco); EM4034? no 'read', just 'readmulti'" }, { 0xE0160c0000000000LL, 24, "EM-Marin SA; EM4035?" }, { 0xE016100000000000LL, 24, "EM-Marin SA (Skidata); EM4135; 36x64bit start page 13" }, { 0xE016940000000000LL, 24, "EM-Marin SA (Skidata); 51x64bit" }, + + { 0xE017000000000000LL, 16, "KSW Microtec GmbH Germany" }, + { 0xE018000000000000LL, 16, "ZMD AG Germany" }, + { 0xE019000000000000LL, 16, "XICOR, Inc. USA" }, + { 0xE01A000000000000LL, 16, "Sony Corporation Japan Identifier Company Country" }, + { 0xE01B000000000000LL, 16, "Malaysia Microelectronic Solutions Sdn. Bhd Malaysia" }, + { 0xE01C000000000000LL, 16, "Emosyn USA" }, + { 0xE01D000000000000LL, 16, "Shanghai Fudan Microelectronics Co. Ltd. P.R. China" }, + { 0xE01E000000000000LL, 16, "Magellan Technology Pty Limited Australia" }, + { 0xE01F000000000000LL, 16, "Melexis NV BO Switzerland" }, + { 0xE020000000000000LL, 16, "Renesas Technology Corp. Japan" }, + { 0xE021000000000000LL, 16, "TAGSYS France" }, + { 0xE022000000000000LL, 16, "Transcore USA" }, + { 0xE023000000000000LL, 16, "Shanghai belling corp., ltd. China" }, + { 0xE024000000000000LL, 16, "Masktech Germany Gmbh Germany" }, + { 0xE025000000000000LL, 16, "Innovision Research and Technology Plc UK" }, + { 0xE026000000000000LL, 16, "Hitachi ULSI Systems Co., Ltd. Japan" }, + { 0xE027000000000000LL, 16, "Cypak AB Sweden" }, + { 0xE028000000000000LL, 16, "Ricoh Japan" }, + { 0xE029000000000000LL, 16, "ASK France" }, + { 0xE02A000000000000LL, 16, "Unicore Microsystems, LLC Russian Federation" }, + { 0xE02B000000000000LL, 16, "Dallas Semiconductor/Maxim USA" }, + { 0xE02C000000000000LL, 16, "Impinj, Inc. USA" }, + { 0xE02D000000000000LL, 16, "RightPlug Alliance USA" }, + { 0xE02E000000000000LL, 16, "Broadcom Corporation USA" }, + { 0xE02F000000000000LL, 16, "MStar Semiconductor, Inc Taiwan, ROC" }, + { 0xE030000000000000LL, 16, "BeeDar Technology Inc. USA" }, + { 0xE031000000000000LL, 16, " RFIDsec Denmark" }, + { 0xE032000000000000LL, 16, " Schweizer Electronic AG Germany" }, + { 0xE033000000000000LL, 16, " AMIC Technology Corp Taiwan" }, + { 0xE034000000000000LL, 16, "Mikron JSC Russia" }, + { 0xE035000000000000LL, 16, "Fraunhofer Institute for Photonic Microsystems Germany" }, + { 0xE036000000000000LL, 16, "IDS Microchip AG Switzerland" }, + { 0xE037000000000000LL, 16, "Kovio USA" }, + { 0xE038000000000000LL, 16, "HMT Microelectronic Ltd Switzerland Identifier Company Country" }, + { 0xE039000000000000LL, 16, "Silicon Craft Technology Thailand" }, + { 0xE03A000000000000LL, 16, "Advanced Film Device Inc. Japan" }, + { 0xE03B000000000000LL, 16, "Nitecrest Ltd UK" }, + { 0xE03C000000000000LL, 16, "Verayo Inc. USA" }, + { 0xE03D000000000000LL, 16, "HID Global USA" }, + { 0xE03E000000000000LL, 16, "Productivity Engineering Gmbh Germany" }, + { 0xE03F000000000000LL, 16, "Austriamicrosystems AG (reserved) Austria" }, + { 0xE040000000000000LL, 16, "Gemalto SA France" }, + { 0xE041000000000000LL, 16, "Renesas Electronics Corporation Japan" }, + { 0xE042000000000000LL, 16, "3Alogics Inc Korea" }, + { 0xE043000000000000LL, 16, "Top TroniQ Asia Limited Hong Kong" }, + { 0xE044000000000000LL, 16, "Gentag Inc (USA) USA" }, { 0,0,"no tag-info available" } // must be the last entry }; diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 121736e99..46a11b563 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -988,6 +988,7 @@ int CmdHF14AMfChk(const char *Cmd) int transferToEml = 0; int createDumpFile = 0; + keyBlock = calloc(stKeyBlock, 6); if (keyBlock == NULL) return 1; diff --git a/client/cmdhw.c b/client/cmdhw.c index 443973b83..4f65fb8c2 100644 --- a/client/cmdhw.c +++ b/client/cmdhw.c @@ -13,9 +13,9 @@ #include #include #include "ui.h" -//#include "proxusb.h" #include "proxmark3.h" #include "cmdparser.h" +#include "cmddata.h" #include "cmdhw.h" #include "cmdmain.h" #include "cmddata.h" @@ -418,7 +418,7 @@ static command_t CommandTable[] = {"setlfdivisor", CmdSetDivisor, 0, "<19 - 255> -- Drive LF antenna at 12Mhz/(divisor+1)"}, {"setmux", CmdSetMux, 0, " -- Set the ADC mux to a specific value"}, {"tune", CmdTune, 0, "Measure antenna tuning"}, - {"version", CmdVersion, 0, "Show version inforation about the connected Proxmark"}, + {"version", CmdVersion, 0, "Show version information about the connected Proxmark"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmdlf.c b/client/cmdlf.c index 18bcf747e..41dcca574 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -392,7 +392,7 @@ static void ChkBitstream(const char *str) int CmdLFSim(const char *Cmd) { - int i; + int i,j; static int gap; sscanf(Cmd, "%i", &gap); @@ -400,18 +400,20 @@ int CmdLFSim(const char *Cmd) /* convert to bitstream if necessary */ ChkBitstream(Cmd); - PrintAndLog("Sending data, please wait..."); - for (i = 0; i < GraphTraceLen; i += 48) { + printf("Sending [%d bytes]", GraphTraceLen); + for (i = 0; i < GraphTraceLen; i += USB_CMD_DATA_SIZE) { UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}}; - int j; - for (j = 0; j < 48; j++) { + + for (j = 0; j < USB_CMD_DATA_SIZE; j++) { c.d.asBytes[j] = GraphBuffer[i+j]; } SendCommand(&c); WaitForResponse(CMD_ACK,NULL); + printf("."); } - PrintAndLog("Starting simulator..."); + printf("\n"); + PrintAndLog("Starting to simulate"); UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}}; SendCommand(&c); return 0; diff --git a/client/cmdmain.c b/client/cmdmain.c index 8d590e9e6..b6517caa5 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -132,11 +132,9 @@ int getCommand(UsbCommand* response) bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeout) { UsbCommand resp; - if (response == NULL) response = &resp; - // Wait until the command is received for(size_t dm_seconds=0; dm_seconds < ms_timeout/10; dm_seconds++) { diff --git a/client/data.h b/client/data.h index 33ee9d04e..41bd9a414 100644 --- a/client/data.h +++ b/client/data.h @@ -13,6 +13,9 @@ #include +//trace buffer size as defined in armsrc/apps.h TRACE_SIZE +#define TRACE_BUFFER_SIZE 4096 +#define FILE_PATH_SIZE 1000 #define SAMPLE_BUFFER_SIZE 64 extern uint8_t* sample_buf; diff --git a/client/graph.c b/client/graph.c index a0e85ffd4..a2753af7b 100644 --- a/client/graph.c +++ b/client/graph.c @@ -36,6 +36,8 @@ void AppendGraph(int redraw, int clock, int bit) int ClearGraph(int redraw) { int gtl = GraphTraceLen; + memset(GraphBuffer, 0x00, GraphTraceLen); + GraphTraceLen = 0; if (redraw) diff --git a/client/proxmark3.c b/client/proxmark3.c index 0e2a698c1..8a967c7f3 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -16,7 +16,7 @@ #include #include #include - +//#include "proxusb.h" #include "proxmark3.h" #include "proxgui.h" #include "cmdmain.h" From 4df54240c1350a946b86983eb6785af03046b5bd Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Wed, 7 Jan 2015 21:14:32 +0100 Subject: [PATCH 067/133] Added some more protocol support to the list annotation. Based on http://www.proxmark.org/forum/viewtopic.php?pid=13541#p13541 --- client/cmdhf.c | 238 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 201 insertions(+), 37 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 550f8e86d..2da4c2d90 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -34,9 +34,97 @@ int CmdHFTune(const char *Cmd) // for the time being. Need better Bigbuf handling. #define TRACE_SIZE 3000 +//The following data is taken from http://www.proxmark.org/forum/viewtopic.php?pid=13501#p13501 +/* +ISO14443A (usually NFC tags) + 26 (7bits) = REQA + 30 = Read (usage: 30+1byte block number+2bytes ISO14443A-CRC - answer: 16bytes) + A2 = Write (usage: A2+1byte block number+4bytes data+2bytes ISO14443A-CRC - answer: 0A [ACK] or 00 [NAK]) + 52 (7bits) = WUPA (usage: 52(7bits) - answer: 2bytes ATQA) + 93 20 = Anticollision (usage: 9320 - answer: 4bytes UID+1byte UID-bytes-xor) + 93 70 = Select (usage: 9370+5bytes 9320 answer - answer: 1byte SAK) + 95 20 = Anticollision of cascade level2 + 95 70 = Select of cascade level2 + 50 00 = Halt (usage: 5000+2bytes ISO14443A-CRC - no answer from card) +Mifare + 60 = Authenticate with KeyA + 61 = Authenticate with KeyB + 40 (7bits) = Used to put Chinese Changeable UID cards in special mode (must be followed by 43 (8bits) - answer: 0A) + C0 = Decrement + C1 = Increment + C2 = Restore + B0 = Transfer +Ultralight C + A0 = Compatibility Write (to accomodate MIFARE commands) + 1A = Step1 Authenticate + AF = Step2 Authenticate + + +ISO14443B + 05 = REQB + 1D = ATTRIB + 50 = HALT +SRIX4K (tag does not respond to 05) + 06 00 = INITIATE + 0E xx = SELECT ID (xx = Chip-ID) + 0B = Get UID + 08 yy = Read Block (yy = block number) + 09 yy dd dd dd dd = Write Block (yy = block number; dd dd dd dd = data to be written) + 0C = Reset to Inventory + 0F = Completion + 0A 11 22 33 44 55 66 = Authenticate (11 22 33 44 55 66 = data to authenticate) + + +ISO15693 + MANDATORY COMMANDS (all ISO15693 tags must support those) + 01 = Inventory (usage: 260100+2bytes ISO15693-CRC - answer: 12bytes) + 02 = Stay Quiet + OPTIONAL COMMANDS (not all tags support them) + 20 = Read Block (usage: 0220+1byte block number+2bytes ISO15693-CRC - answer: 4bytes) + 21 = Write Block (usage: 0221+1byte block number+4bytes data+2bytes ISO15693-CRC - answer: 4bytes) + 22 = Lock Block + 23 = Read Multiple Blocks (usage: 0223+1byte 1st block to read+1byte last block to read+2bytes ISO15693-CRC) + 25 = Select + 26 = Reset to Ready + 27 = Write AFI + 28 = Lock AFI + 29 = Write DSFID + 2A = Lock DSFID + 2B = Get_System_Info (usage: 022B+2bytes ISO15693-CRC - answer: 14 or more bytes) + 2C = Read Multiple Block Security Status (usage: 022C+1byte 1st block security to read+1byte last block security to read+2bytes ISO15693-CRC) + +EM Microelectronic CUSTOM COMMANDS + A5 = Active EAS (followed by 1byte IC Manufacturer code+1byte EAS type) + A7 = Write EAS ID (followed by 1byte IC Manufacturer code+2bytes EAS value) + B8 = Get Protection Status for a specific block (followed by 1byte IC Manufacturer code+1byte block number+1byte of how many blocks after the previous is needed the info) + E4 = Login (followed by 1byte IC Manufacturer code+4bytes password) +NXP/Philips CUSTOM COMMANDS + A0 = Inventory Read + A1 = Fast Inventory Read + A2 = Set EAS + A3 = Reset EAS + A4 = Lock EAS + A5 = EAS Alarm + A6 = Password Protect EAS + A7 = Write EAS ID + A8 = Read EPC + B0 = Inventory Page Read + B1 = Fast Inventory Page Read + B2 = Get Random Number + B3 = Set Password + B4 = Write Password + B5 = Lock Password + B6 = Bit Password Protection + B7 = Lock Page Protection Condition + B8 = Get Multiple Block Protection Status + B9 = Destroy SLI + BA = Enable Privacy + BB = 64bit Password Protection + 40 = Long Range CMD (Standard ISO/TR7003:1990) + */ + #define ICLASS_CMD_ACTALL 0x0A -#define ICLASS_CMD_IDENTIFY 0x0C -#define ICLASS_CMD_READ 0x0C +#define ICLASS_CMD_READ_OR_IDENTIFY 0x0C #define ICLASS_CMD_SELECT 0x81 #define ICLASS_CMD_PAGESEL 0x84 #define ICLASS_CMD_READCHECK 0x88 @@ -44,62 +132,108 @@ int CmdHFTune(const char *Cmd) #define ICLASS_CMD_SOF 0x0F #define ICLASS_CMD_HALT 0x00 -#define iso14443_CMD_WUPA 0x52 -#define iso14443_CMD_SELECT 0x93 -#define iso14443_CMD_SELECT_2 0x95 -#define iso14443_CMD_REQ 0x26 -#define iso14443_CMD_READBLOCK 0x30 -#define iso14443_CMD_WRITEBLOCK 0xA0 -#define iso14443_CMD_INC 0xC0 -#define iso14443_CMD_DEC 0xC1 -#define iso14443_CMD_RESTORE 0xC2 -#define iso14443_CMD_TRANSFER 0xB0 -#define iso14443_CMD_HALT 0x50 -#define iso14443_CMD_RATS 0xE0 +#define ISO14443_CMD_REQA 0x26 +#define ISO14443_CMD_READBLOCK 0x30 +#define ISO14443_CMD_WUPA 0x52 +#define ISO14443_CMD_ANTICOLL_OR_SELECT 0x93 +#define ISO14443_CMD_ANTICOLL_OR_SELECT_2 0x95 +#define ISO14443_CMD_WRITEBLOCK 0xA0 // or 0xA2 ? +#define ISO14443_CMD_HALT 0x50 +#define ISO14443_CMD_RATS 0xE0 + +#define MIFARE_AUTH_KEYA 0x60 +#define MIFARE_AUTH_KEYB 0x61 +#define MIFARE_MAGICMODE 0x40 +#define MIFARE_CMD_INC 0xC0 +#define MIFARE_CMD_DEC 0xC1 +#define MIFARE_CMD_RESTORE 0xC2 +#define MIFARE_CMD_TRANSFER 0xB0 + +#define MIFARE_ULC_WRITE 0xA0 +#define MIFARE_ULC_AUTH_1 0x1A +#define MIFARE_ULC_AUTH_2 0xAF + +#define ISO14443B_REQB 0x05 +#define ISO14443B_ATTRIB 0x1D +#define ISO14443B_HALT 0x50 + +//First byte is 26 +#define ISO15693_INVENTORY 0x01 +#define ISO15693_STAYQUIET 0x02 +//First byte is 02 +#define ISO15693_READBLOCK 0x20 +#define ISO15693_WRITEBLOCK 0x21 +#define ISO15693_LOCKBLOCK 0x22 +#define ISO15693_READ_MULTI_BLOCK 0x23 +#define ISO15693_SELECT 0x25 +#define ISO15693_RESET_TO_READY 0x26 +#define ISO15693_WRITE_AFI 0x27 +#define ISO15693_LOCK_AFI 0x28 +#define ISO15693_WRITE_DSFID 0x29 +#define ISO15693_LOCK_DSFID 0x2A +#define ISO15693_GET_SYSTEM_INFO 0x2B +#define ISO15693_READ_MULTI_SECSTATUS 0x2C + + void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) { switch(cmd[0]) { - case iso14443_CMD_WUPA: snprintf(exp,size,"WUPA"); break; - case iso14443_CMD_SELECT:{ - if(cmdsize > 2) + case ISO14443_CMD_WUPA: snprintf(exp,size,"WUPA"); break; + case ISO14443_CMD_ANTICOLL_OR_SELECT:{ + // 93 20 = Anticollision (usage: 9320 - answer: 4bytes UID+1byte UID-bytes-xor) + // 93 70 = Select (usage: 9370+5bytes 9320 answer - answer: 1byte SAK) + if(cmd[2] == 0x70) { snprintf(exp,size,"SELECT_UID"); break; }else { - snprintf(exp,size,"SELECT_ALL"); break; + snprintf(exp,size,"ANTICOLL"); break; } } - case iso14443_CMD_SELECT_2: snprintf(exp,size,"SELECT_2"); break; - case iso14443_CMD_REQ: snprintf(exp,size,"REW"); break; - case iso14443_CMD_READBLOCK: snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break; - case iso14443_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break; - case iso14443_CMD_INC: snprintf(exp,size,"INC(%d)",cmd[1]); break; - case iso14443_CMD_DEC: snprintf(exp,size,"DEC(%d)",cmd[1]); break; - case iso14443_CMD_RESTORE: snprintf(exp,size,"RESTORE(%d)",cmd[1]); break; - case iso14443_CMD_TRANSFER: snprintf(exp,size,"TRANSFER(%d)",cmd[1]); break; - case iso14443_CMD_HALT: snprintf(exp,size,"HALT"); break; - case iso14443_CMD_RATS: snprintf(exp,size,"RATS"); break; - default: snprintf(exp,size,"?"); break; + case ISO14443_CMD_ANTICOLL_OR_SELECT_2:{ + //95 20 = Anticollision of cascade level2 + //95 70 = Select of cascade level2 + if(cmd[2] == 0x70) + { + snprintf(exp,size,"SELECT_UID-2"); break; + }else + { + snprintf(exp,size,"ANTICOLL-2"); break; + } + } + case ISO14443_CMD_REQA: snprintf(exp,size,"REQA"); break; + case ISO14443_CMD_READBLOCK: snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break; + case ISO14443_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break; + case ISO14443_CMD_HALT: snprintf(exp,size,"HALT"); break; + case ISO14443_CMD_RATS: snprintf(exp,size,"RATS"); break; + case MIFARE_CMD_INC: snprintf(exp,size,"INC(%d)",cmd[1]); break; + case MIFARE_CMD_DEC: snprintf(exp,size,"DEC(%d)",cmd[1]); break; + case MIFARE_CMD_RESTORE: snprintf(exp,size,"RESTORE(%d)",cmd[1]); break; + case MIFARE_CMD_TRANSFER: snprintf(exp,size,"TRANSFER(%d)",cmd[1]); break; + case MIFARE_AUTH_KEYA: snprintf(exp,size,"AUTH-A"); break; + case MIFARE_AUTH_KEYB: snprintf(exp,size,"AUTH-B"); break; + case MIFARE_MAGICMODE: snprintf(exp,size,"MAGIC"); break; + default: snprintf(exp,size,"?"); break; } return; } void annotateIclass(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) { - - if(cmdsize > 1 && cmd[0] == ICLASS_CMD_READ) - { - snprintf(exp,size,"READ(%d)",cmd[1]); - return; - } - switch(cmd[0]) { case ICLASS_CMD_ACTALL: snprintf(exp,size,"ACTALL"); break; - case ICLASS_CMD_IDENTIFY: snprintf(exp,size,"IDENTIFY"); break; + case ICLASS_CMD_READ_OR_IDENTIFY:{ + if(cmdsize > 1){ + snprintf(exp,size,"READ(%d)",cmd[1]); + }else{ + snprintf(exp,size,"IDENTIFY"); + } + break; + } case ICLASS_CMD_SELECT: snprintf(exp,size,"SELECT"); break; case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL"); break; case ICLASS_CMD_READCHECK: snprintf(exp,size,"READCHECK"); break; @@ -111,7 +245,37 @@ void annotateIclass(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) return; } +void annotateIso15693(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) +{ + if(cmd[0] == 0x26) + { + switch(cmd[1]){ + case ISO15693_INVENTORY :snprintf(exp, size, "INVENTORY");break; + case ISO15693_STAYQUIET :snprintf(exp, size, "STAY_QUIET");break; + default: snprintf(exp,size,"?"); break; + + } + }else if(cmd[0] == 0x02) + { + switch(cmd[1]) + { + case ISO15693_READBLOCK :snprintf(exp, size, "READBLOCK");break; + case ISO15693_WRITEBLOCK :snprintf(exp, size, "WRITEBLOCK");break; + case ISO15693_LOCKBLOCK :snprintf(exp, size, "LOCKBLOCK");break; + case ISO15693_READ_MULTI_BLOCK :snprintf(exp, size, "READ_MULTI_BLOCK");break; + case ISO15693_SELECT :snprintf(exp, size, "SELECT");break; + case ISO15693_RESET_TO_READY :snprintf(exp, size, "RESET_TO_READY");break; + case ISO15693_WRITE_AFI :snprintf(exp, size, "WRITE_AFI");break; + case ISO15693_LOCK_AFI :snprintf(exp, size, "LOCK_AFI");break; + case ISO15693_WRITE_DSFID :snprintf(exp, size, "WRITE_DSFID");break; + case ISO15693_LOCK_DSFID :snprintf(exp, size, "LOCK_DSFID");break; + case ISO15693_GET_SYSTEM_INFO :snprintf(exp, size, "GET_SYSTEM_INFO");break; + case ISO15693_READ_MULTI_SECSTATUS :snprintf(exp, size, "READ_MULTI_SECSTATUS");break; + default: snprintf(exp,size,"?"); break; + } + } +} uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool showWaitCycles) { From d91a31f93587ed0b8804293a1653dbffed111703 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 7 Jan 2015 21:29:38 +0100 Subject: [PATCH 068/133] CHG: minor code clean up. ADD: tunesamples in cmddata.c pullrequest #33, was removed by Marshmellows other commits. I returned it. --- armsrc/lfops.c | 30 ++++++++++++---------------- client/cmddata.c | 51 ++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 54 insertions(+), 27 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index edddb1c60..fe2a7121a 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -647,15 +647,12 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) if (ledcontrol) LED_A_ON(); DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; // FSK demodulator - - int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); + size = HIDdemodFSK(dest, sizeof(BigBuf), &hi2, &hi, &lo); WDT_HIT(); - if (bitLen>0 && lo>0){ + if (size>0 && lo>0){ // final loop, go over previously decoded manchester data and decode into usable tag ID // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 if (hi2 != 0){ //extra large HID tags @@ -726,8 +723,7 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t bitLen=0; + size_t size=0; int clk=0, invert=0, errCnt=0; uint64_t lo=0; // Configure to go in 125Khz listen mode @@ -740,21 +736,22 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator - //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); - bitLen=size; //Dbprintf("DEBUG: Buffer got"); - errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); + //askdemod and manchester decode + errCnt = askmandemod(dest, &size, &clk, &invert); //Dbprintf("DEBUG: ASK Got"); WDT_HIT(); if (errCnt>=0){ - lo = Em410xDecode(dest,bitLen); + lo = Em410xDecode(dest,size); //Dbprintf("DEBUG: EM GOT"); - //printEM410x(lo); if (lo>0){ - Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); + Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)", + (uint32_t)(lo>>32), + (uint32_t)lo, + (uint32_t)(lo&0xFFFF), + (uint32_t)((lo>>16LL) & 0xFF), + (uint32_t)(lo & 0xFFFFFF)); } if (findone){ if (ledcontrol) LED_A_OFF(); @@ -769,7 +766,6 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) invert=0; errCnt=0; size=0; - //SpinDelay(50); } DbpString("Stopped"); if (ledcontrol) LED_A_OFF(); @@ -1519,6 +1515,7 @@ int IsBlock1PCF7931(uint8_t *Block) { return 0; } + #define ALLOC 16 void ReadPCF7931() { @@ -1778,7 +1775,6 @@ void SendForward(uint8_t fwd_bit_count) { } } - void EM4xLogin(uint32_t Password) { uint8_t fwd_bit_count; diff --git a/client/cmddata.c b/client/cmddata.c index 38917a33c..3ac8db25f 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -891,21 +891,52 @@ int CmdSamples(const char *Cmd) int CmdTuneSamples(const char *Cmd) { - int cnt = 0; - int n = 255; - uint8_t got[255]; + int timeout = 0; + printf("\nMeasuring antenna characteristics, please wait..."); - PrintAndLog("Reading %d samples\n", n); - GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 - WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; + UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING}; + SendCommand(&c); + + UsbCommand resp; + while(!WaitForResponseTimeout(CMD_MEASURED_ANTENNA_TUNING,&resp,1000)) { + timeout++; + printf("."); + if (timeout > 7) { + PrintAndLog("\nNo response from Proxmark. Aborting..."); + return 1; + } + } + + int peakv, peakf; + int vLf125, vLf134, vHf; + vLf125 = resp.arg[0] & 0xffff; + vLf134 = resp.arg[0] >> 16; + vHf = resp.arg[1] & 0xffff;; + peakf = resp.arg[2] & 0xffff; + peakv = resp.arg[2] >> 16; + PrintAndLog(""); + PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0); + PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0); + PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); + PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0); + if (peakv<2000) + PrintAndLog("# Your LF antenna is unusable."); + else if (peakv<10000) + PrintAndLog("# Your LF antenna is marginal."); + if (vHf<2000) + PrintAndLog("# Your HF antenna is unusable."); + else if (vHf<5000) + PrintAndLog("# Your HF antenna is marginal."); + + for (int i = 0; i < 256; i++) { + GraphBuffer[i] = resp.d.asBytes[i] - 128; } PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); PrintAndLog("\n"); - GraphTraceLen = n; - RepaintGraphWindow(); + GraphTraceLen = 256; + ShowGraphWindow(); + return 0; } From b915fda392487a876ccc7b0c8b79a1b31ca5e398 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 7 Jan 2015 22:00:29 +0100 Subject: [PATCH 069/133] FIX: a solution for the issue "hf mf esave - always saves 4K" FIX: a solution for the issue "hf eload, esave, cload, save - filepath variable too short" CHG: minor code clean up. ADD: AES / CRC16 for lua. (and tnp3xx scripts.) ADD: tnp3dump.lua script to dump tnp3xx tags. ADD: tnp3sim.lua script to let PM3 imitate an tnp3xx tag. Needs to be tested live --- client/cmddata.c | 25 ++- client/cmdhf.c | 33 +++- client/cmdhf14a.c | 5 +- client/cmdhf14a.h | 2 +- client/cmdhf14b.c | 10 +- client/cmdhflegic.c | 21 ++- client/cmdhfmf.c | 196 +++++++++++++------- client/cmdlf.c | 26 ++- client/cmdlfem4x.c | 16 +- client/cmdlfhitag.c | 56 ++++-- client/cmdmain.c | 2 + client/flasher.c | 3 - client/lualibs/commands.lua | 7 +- client/lualibs/utils.lua | 171 ++++++++++++++++- client/proxmark3.c | 2 +- client/scripting.c | 52 ++++++ client/scripts/tnp3dump.lua | 272 +++++++++++++++++++++++++++ client/scripts/tnp3sim.lua | 355 ++++++++++++++++++++++++++++++++++++ client/util.c | 16 +- 19 files changed, 1137 insertions(+), 133 deletions(-) create mode 100644 client/scripts/tnp3dump.lua create mode 100644 client/scripts/tnp3sim.lua diff --git a/client/cmddata.c b/client/cmddata.c index 3ac8db25f..d05f3fa15 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -696,7 +696,7 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating int lowLen = sizeof (LowTone) / sizeof (int); int highLen = sizeof (HighTone) / sizeof (int); - int convLen = (highLen > lowLen) ? highLen : lowLen; //if highlen > lowLen then highlen else lowlen + int convLen = (highLen > lowLen) ? highLen : lowLen; uint32_t hi = 0, lo = 0; int i, j; @@ -942,9 +942,16 @@ int CmdTuneSamples(const char *Cmd) int CmdLoad(const char *Cmd) { - FILE *f = fopen(Cmd, "r"); + char filename[FILE_PATH_SIZE] = {0x00}; + int len = 0; + + len = strlen(Cmd); + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); + + FILE *f = fopen(filename, "r"); if (!f) { - PrintAndLog("couldn't open '%s'", Cmd); + PrintAndLog("couldn't open '%s'", filename); return 0; } @@ -1250,9 +1257,17 @@ int CmdPlot(const char *Cmd) int CmdSave(const char *Cmd) { - FILE *f = fopen(Cmd, "w"); + char filename[FILE_PATH_SIZE] = {0x00}; + int len = 0; + + len = strlen(Cmd); + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); + + + FILE *f = fopen(filename, "w"); if(!f) { - PrintAndLog("couldn't open '%s'", Cmd); + PrintAndLog("couldn't open '%s'", filename); return 0; } int i; diff --git a/client/cmdhf.c b/client/cmdhf.c index 550f8e86d..b53742e4d 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -47,9 +47,11 @@ int CmdHFTune(const char *Cmd) #define iso14443_CMD_WUPA 0x52 #define iso14443_CMD_SELECT 0x93 #define iso14443_CMD_SELECT_2 0x95 +#define iso14443_CMD_SELECT_3 0x97 #define iso14443_CMD_REQ 0x26 #define iso14443_CMD_READBLOCK 0x30 #define iso14443_CMD_WRITEBLOCK 0xA0 +#define iso14443_CMD_WRITE 0xA2 #define iso14443_CMD_INC 0xC0 #define iso14443_CMD_DEC 0xC1 #define iso14443_CMD_RESTORE 0xC2 @@ -57,6 +59,15 @@ int CmdHFTune(const char *Cmd) #define iso14443_CMD_HALT 0x50 #define iso14443_CMD_RATS 0xE0 +#define iso14443_CMD_AUTH_KEYA 0x60 +#define iso14443_CMD_AUTH_KEYB 0x61 + +#define iso14443_CMD_AUTH_STEP1 0x1A +#define iso14443_CMD_AUTH_STEP2 0xAA +#define iso14443_CMD_AUTH_RESPONSE 0xAF + +#define CHINESE_BACKDOOR_INIT 0x40 +#define CHINESE_BACKDOOR_STEP2 0x43 void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) { @@ -76,12 +87,22 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) case iso14443_CMD_REQ: snprintf(exp,size,"REW"); break; case iso14443_CMD_READBLOCK: snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break; case iso14443_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break; + case iso14443_CMD_WRITE: snprintf(exp,size,"WRITE"); break; case iso14443_CMD_INC: snprintf(exp,size,"INC(%d)",cmd[1]); break; case iso14443_CMD_DEC: snprintf(exp,size,"DEC(%d)",cmd[1]); break; case iso14443_CMD_RESTORE: snprintf(exp,size,"RESTORE(%d)",cmd[1]); break; case iso14443_CMD_TRANSFER: snprintf(exp,size,"TRANSFER(%d)",cmd[1]); break; case iso14443_CMD_HALT: snprintf(exp,size,"HALT"); break; case iso14443_CMD_RATS: snprintf(exp,size,"RATS"); break; + + case iso14443_CMD_AUTH_KEYA: snprintf(exp,size,"AUTH KEY A"); break; + case iso14443_CMD_AUTH_KEYB: snprintf(exp,size,"AUTH KEY B"); break; + case iso14443_CMD_AUTH_STEP1: snprintf(exp,size,"AUTH REQ NONCE"); break; + case iso14443_CMD_AUTH_STEP2: snprintf(exp,size,"AUTH STEP 2"); break; + case iso14443_CMD_AUTH_RESPONSE: snprintf(exp,size,"AUTH RESPONSE"); break; + + case CHINESE_BACKDOOR_INIT: snprintf(exp,size,"BACKDOOR INIT");break; + case CHINESE_BACKDOOR_STEP2: snprintf(exp,size,"BACKDOOR STEP2");break; default: snprintf(exp,size,"?"); break; } return; @@ -89,7 +110,6 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) void annotateIclass(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) { - if(cmdsize > 1 && cmd[0] == ICLASS_CMD_READ) { snprintf(exp,size,"READ(%d)",cmd[1]); @@ -112,7 +132,6 @@ void annotateIclass(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) } - uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool showWaitCycles) { bool isResponse; @@ -178,8 +197,7 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho // Rough guess that this is a command from the reader // For iClass the command byte is not part of the CRC ComputeCrc14443(CRC_ICLASS, &frame[1], data_len-3, &b1, &b2); - } - else { + } else { // For other data.. CRC might not be applicable (UPDATE commands etc.) ComputeCrc14443(CRC_ICLASS, frame, data_len-2, &b1, &b2); } @@ -199,7 +217,6 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho } } } - } char *crc = crcError ? "!crc" :" "; @@ -207,8 +224,10 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho if(!isResponse) { - if(iclass) annotateIclass(explanation,sizeof(explanation),frame,data_len); - else annotateIso14443a(explanation,sizeof(explanation),frame,data_len); + if(iclass) + annotateIclass(explanation,sizeof(explanation),frame,data_len); + else + annotateIso14443a(explanation,sizeof(explanation),frame,data_len); } int num_lines = (data_len - 1)/16 + 1; diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 40173d832..0298f5094 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -111,7 +111,7 @@ const manufactureName manufactureMapping[] = { // get a product description based on the UID // uid[8] tag uid // returns description of the best match -static char* getTagInfo(uint8_t uid) { +char* getTagInfo(uint8_t uid) { int i, best = -1; int len = sizeof(manufactureMapping) / sizeof(manufactureName); @@ -168,6 +168,7 @@ int CmdHF14AReader(const char *Cmd) PrintAndLog(" SAK : %02x [%d]", card.sak, resp.arg[0]); // Double & triple sized UID, can be mapped to a manufacturer. + // HACK: does this apply for Ultralight cards? if ( card.uidlen > 4 ) { PrintAndLog("MANUFACTURER : %s", getTagInfo(card.uid[0])); } @@ -624,7 +625,7 @@ static void waitCmd(uint8_t iSelect) UsbCommand resp; char *hexout; - if (WaitForResponseTimeout(CMD_ACK,&resp,1000)) { + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { recv = resp.d.asBytes; uint8_t iLen = iSelect ? resp.arg[1] : resp.arg[0]; PrintAndLog("received %i octets",iLen); diff --git a/client/cmdhf14a.h b/client/cmdhf14a.h index d2e203a10..aa35dec6d 100644 --- a/client/cmdhf14a.h +++ b/client/cmdhf14a.h @@ -20,5 +20,5 @@ int CmdHF14AReader(const char *Cmd); int CmdHF14ASim(const char *Cmd); int CmdHF14ASnoop(const char *Cmd); - +char* getTagInfo(uint8_t uid); #endif diff --git a/client/cmdhf14b.c b/client/cmdhf14b.c index 7e4cbd009..713959f29 100644 --- a/client/cmdhf14b.c +++ b/client/cmdhf14b.c @@ -23,7 +23,6 @@ #include "cmdhf14b.h" #include "cmdmain.h" - static int CmdHelp(const char *Cmd); int CmdHF14BDemod(const char *Cmd) @@ -146,7 +145,7 @@ demodError: int CmdHF14BList(const char *Cmd) { - uint8_t got[960]; + uint8_t got[TRACE_BUFFER_SIZE]; GetFromBigBuf(got,sizeof(got),0); WaitForResponse(CMD_ACK,NULL); @@ -158,9 +157,8 @@ int CmdHF14BList(const char *Cmd) int prev = -1; for(;;) { - if(i >= 900) { - break; - } + + if(i >= TRACE_BUFFER_SIZE) { break; } bool isResponse; int timestamp = *((uint32_t *)(got+i)); @@ -177,7 +175,7 @@ int CmdHF14BList(const char *Cmd) if(len > 100) { break; } - if(i + len >= 900) { + if(i + len >= TRACE_BUFFER_SIZE) { break; } diff --git a/client/cmdhflegic.c b/client/cmdhflegic.c index bf874b624..35ba1f28c 100644 --- a/client/cmdhflegic.c +++ b/client/cmdhflegic.c @@ -218,7 +218,24 @@ int CmdLegicRFRead(const char *Cmd) int CmdLegicLoad(const char *Cmd) { - FILE *f = fopen(Cmd, "r"); + char filename[FILE_PATH_SIZE] = {0x00}; + int len = 0; + + if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) { + PrintAndLog("It loads datasamples from the file `filename`"); + PrintAndLog("Usage: hf legic load "); + PrintAndLog(" sample: hf legic load filename"); + return 0; + } + + len = strlen(Cmd); + if (len > FILE_PATH_SIZE) { + PrintAndLog("Filepath too long (was %s bytes), max allowed is %s ", len, FILE_PATH_SIZE); + return 0; + } + memcpy(filename, Cmd, len); + + FILE *f = fopen(filename, "r"); if(!f) { PrintAndLog("couldn't open '%s'", Cmd); return -1; @@ -251,7 +268,7 @@ int CmdLegicSave(const char *Cmd) int requested = 1024; int offset = 0; int delivered = 0; - char filename[1024]; + char filename[FILE_PATH_SIZE]; uint8_t got[1024]; sscanf(Cmd, " %s %i %i", filename, &requested, &offset); diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 46a11b563..7ad6e0a1e 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -66,8 +66,7 @@ start: if (isOK != 1) return 1; // execute original function from util nonce2key - if (nonce2key(uid, nt, nr, par_list, ks_list, &r_key)) - { + if (nonce2key(uid, nt, nr, par_list, ks_list, &r_key)) { isOK = 2; PrintAndLog("Key not found (lfsr_common_prefix list is null). Nt=%08x", nt); } else { @@ -512,6 +511,7 @@ int CmdHF14AMfDump(const char *Cmd) return 2; } } + fclose(fin); // Read access rights to sectors @@ -629,8 +629,8 @@ int CmdHF14AMfRestore(const char *Cmd) { uint8_t sectorNo,blockNo; uint8_t keyType = 0; - uint8_t key[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; - uint8_t bldata[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + uint8_t key[6] = {0xFF}; + uint8_t bldata[16] = {0x00}; uint8_t keyA[40][6]; uint8_t keyB[40][6]; uint8_t numSectors; @@ -657,21 +657,14 @@ int CmdHF14AMfRestore(const char *Cmd) return 0; } - if ((fdump = fopen("dumpdata.bin","rb")) == NULL) { - PrintAndLog("Could not find file dumpdata.bin"); - return 1; - } if ((fkeys = fopen("dumpkeys.bin","rb")) == NULL) { PrintAndLog("Could not find file dumpkeys.bin"); - fclose(fdump); return 1; } for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { if (fread(keyA[sectorNo], 1, 6, fkeys) == 0) { PrintAndLog("File reading error (dumpkeys.bin)."); - fclose(fdump); - fclose(fkeys); return 2; } } @@ -679,13 +672,16 @@ int CmdHF14AMfRestore(const char *Cmd) for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { if (fread(keyB[sectorNo], 1, 6, fkeys) == 0) { PrintAndLog("File reading error (dumpkeys.bin)."); - fclose(fdump); - fclose(fkeys); return 2; } } + fclose(fkeys); + if ((fdump = fopen("dumpdata.bin","rb")) == NULL) { + PrintAndLog("Could not find file dumpdata.bin"); + return 1; + } PrintAndLog("Restoring dumpdata.bin to card"); for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { @@ -773,11 +769,15 @@ int CmdHF14AMfNested(const char *Cmd) cmdp = param_getchar(Cmd, 0); blockNo = param_get8(Cmd, 1); ctmp = param_getchar(Cmd, 2); + if (ctmp != 'a' && ctmp != 'A' && ctmp != 'b' && ctmp != 'B') { PrintAndLog("Key type must be A or B"); return 1; } - if (ctmp != 'A' && ctmp != 'a') keyType = 1; + + if (ctmp != 'A' && ctmp != 'a') + keyType = 1; + if (param_gethex(Cmd, 3, key, 12)) { PrintAndLog("Key must include 12 HEX symbols"); return 1; @@ -791,8 +791,10 @@ int CmdHF14AMfNested(const char *Cmd) PrintAndLog("Target key type must be A or B"); return 1; } - if (ctmp != 'A' && ctmp != 'a') trgKeyType = 1; + if (ctmp != 'A' && ctmp != 'a') + trgKeyType = 1; } else { + switch (cmdp) { case '0': SectorsCnt = 05; break; case '1': SectorsCnt = 16; break; @@ -869,7 +871,6 @@ int CmdHF14AMfNested(const char *Cmd) } } - // nested sectors iterations = 0; PrintAndLog("nested..."); @@ -972,7 +973,7 @@ int CmdHF14AMfChk(const char *Cmd) } FILE * f; - char filename[256]={0}; + char filename[FILE_PATH_SIZE]={0}; char buf[13]; uint8_t *keyBlock = NULL, *p; uint8_t stKeyBlock = 20; @@ -988,7 +989,6 @@ int CmdHF14AMfChk(const char *Cmd) int transferToEml = 0; int createDumpFile = 0; - keyBlock = calloc(stKeyBlock, 6); if (keyBlock == NULL) return 1; @@ -1065,7 +1065,7 @@ int CmdHF14AMfChk(const char *Cmd) keycnt++; } else { // May be a dic file - if ( param_getstr(Cmd, 2 + i,filename) > 255 ) { + if ( param_getstr(Cmd, 2 + i,filename) >= FILE_PATH_SIZE ) { PrintAndLog("File name too long"); free(keyBlock); return 2; @@ -1346,26 +1346,44 @@ int CmdHF14AMfESet(const char *Cmd) int CmdHF14AMfELoad(const char *Cmd) { FILE * f; - char filename[20]; + char filename[FILE_PATH_SIZE]; char *fnameptr = filename; char buf[64]; uint8_t buf8[64]; - int i, len, blockNum; + int i, len, blockNum, numBlocks; + int nameParamNo = 1; memset(filename, 0, sizeof(filename)); memset(buf, 0, sizeof(buf)); - if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) { + char ctmp = param_getchar(Cmd, 0); + + if ( ctmp == 'h' || ctmp == 0x00) { PrintAndLog("It loads emul dump from the file `filename.eml`"); - PrintAndLog("Usage: hf mf eload "); + PrintAndLog("Usage: hf mf eload [card memory] "); + PrintAndLog(" [card memory]: 0 = 320 bytes (Mifare Mini), 1 = 1K (default), 2 = 2K, 4 = 4K"); + PrintAndLog(""); PrintAndLog(" sample: hf mf eload filename"); + PrintAndLog(" hf mf eload 4 filename"); return 0; } - len = strlen(Cmd); - if (len > 14) len = 14; + switch (ctmp) { + case '0' : numBlocks = 5*4; break; + case '1' : + case '\0': numBlocks = 16*4; break; + case '2' : numBlocks = 32*4; break; + case '4' : numBlocks = 256; break; + default: { + numBlocks = 16*4; + nameParamNo = 0; + } + } + + len = param_getstr(Cmd,nameParamNo,filename); + + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; - memcpy(filename, Cmd, len); fnameptr += len; sprintf(fnameptr, ".eml"); @@ -1380,14 +1398,16 @@ int CmdHF14AMfELoad(const char *Cmd) blockNum = 0; while(!feof(f)){ memset(buf, 0, sizeof(buf)); + if (fgets(buf, sizeof(buf), f) == NULL) { - if((blockNum == 16*4) || (blockNum == 32*4 + 8*16)) { // supports both old (1K) and new (4K) .eml files) - break; - } + + if (blockNum >= numBlocks) break; + PrintAndLog("File reading error."); fclose(f); return 2; } + if (strlen(buf) < 32){ if(strlen(buf) && feof(f)) break; @@ -1395,6 +1415,7 @@ int CmdHF14AMfELoad(const char *Cmd) fclose(f); return 2; } + for (i = 0; i < 32; i += 2) { sscanf(&buf[i], "%02x", (unsigned int *)&buf8[i / 2]); } @@ -1406,12 +1427,12 @@ int CmdHF14AMfELoad(const char *Cmd) } blockNum++; - if (blockNum >= 32*4 + 8*16) break; + if (blockNum >= numBlocks) break; } fclose(f); - if ((blockNum != 16*4) && (blockNum != 32*4 + 8*16)) { - PrintAndLog("File content error. There must be 64 or 256 blocks."); + if ((blockNum != numBlocks)) { + PrintAndLog("File content error. Got %d must be %d blocks.",blockNum, numBlocks); return 4; } PrintAndLog("Loaded %d blocks from file: %s", blockNum, filename); @@ -1422,45 +1443,70 @@ int CmdHF14AMfELoad(const char *Cmd) int CmdHF14AMfESave(const char *Cmd) { FILE * f; - char filename[20]; + char filename[FILE_PATH_SIZE]; char * fnameptr = filename; uint8_t buf[64]; - int i, j, len; + int i, j, len, numBlocks; + int nameParamNo = 1; memset(filename, 0, sizeof(filename)); memset(buf, 0, sizeof(buf)); - if (param_getchar(Cmd, 0) == 'h') { + char ctmp = param_getchar(Cmd, 0); + + if ( ctmp == 'h' || ctmp == 'H') { PrintAndLog("It saves emul dump into the file `filename.eml` or `cardID.eml`"); - PrintAndLog("Usage: hf mf esave [file name w/o `.eml`]"); + PrintAndLog(" Usage: hf mf esave [card memory] [file name w/o `.eml`]"); + PrintAndLog(" [card memory]: 0 = 320 bytes (Mifare Mini), 1 = 1K (default), 2 = 2K, 4 = 4K"); + PrintAndLog(""); PrintAndLog(" sample: hf mf esave "); - PrintAndLog(" hf mf esave filename"); + PrintAndLog(" hf mf esave 4"); + PrintAndLog(" hf mf esave 4 filename"); return 0; } - len = strlen(Cmd); - if (len > 14) len = 14; + switch (ctmp) { + case '0' : numBlocks = 5*4; break; + case '1' : + case '\0': numBlocks = 16*4; break; + case '2' : numBlocks = 32*4; break; + case '4' : numBlocks = 256; break; + default: { + numBlocks = 16*4; + nameParamNo = 0; + } + } + + len = param_getstr(Cmd,nameParamNo,filename); + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + + // user supplied filename? if (len < 1) { - // get filename + // get filename (UID from memory) if (mfEmlGetMem(buf, 0, 1)) { - PrintAndLog("Cant get block: %d", 0); - return 1; + PrintAndLog("Can\'t get UID from block: %d", 0); + sprintf(filename, "dump.eml"); } for (j = 0; j < 7; j++, fnameptr += 2) - sprintf(fnameptr, "%02x", buf[j]); + sprintf(fnameptr, "%02X", buf[j]); } else { - memcpy(filename, Cmd, len); fnameptr += len; } + // add file extension sprintf(fnameptr, ".eml"); // open file f = fopen(filename, "w+"); + if ( !f ) { + PrintAndLog("Can't open file %s ", filename); + return 1; + } + // put hex - for (i = 0; i < 32*4 + 8*16; i++) { + for (i = 0; i < numBlocks; i++) { if (mfEmlGetMem(buf, i, 1)) { PrintAndLog("Cant get block: %d", i); break; @@ -1471,7 +1517,7 @@ int CmdHF14AMfESave(const char *Cmd) } fclose(f); - PrintAndLog("Saved to file: %s", filename); + PrintAndLog("Saved %d blocks to file: %s", numBlocks, filename); return 0; } @@ -1520,13 +1566,34 @@ int CmdHF14AMfECFill(const char *Cmd) int CmdHF14AMfEKeyPrn(const char *Cmd) { int i; + uint8_t numSectors; uint8_t data[16]; uint64_t keyA, keyB; + if (param_getchar(Cmd, 0) == 'h') { + PrintAndLog("It prints the keys loaded in the emulator memory"); + PrintAndLog("Usage: hf mf ekeyprn [card memory]"); + PrintAndLog(" [card memory]: 0 = 320 bytes (Mifare Mini), 1 = 1K (default), 2 = 2K, 4 = 4K"); + PrintAndLog(""); + PrintAndLog(" sample: hf mf ekeyprn 1"); + return 0; + } + + char cmdp = param_getchar(Cmd, 0); + + switch (cmdp) { + case '0' : numSectors = 5; break; + case '1' : + case '\0': numSectors = 16; break; + case '2' : numSectors = 32; break; + case '4' : numSectors = 40; break; + default: numSectors = 16; + } + PrintAndLog("|---|----------------|----------------|"); PrintAndLog("|sec|key A |key B |"); PrintAndLog("|---|----------------|----------------|"); - for (i = 0; i < 40; i++) { + for (i = 0; i < numSectors; i++) { if (mfEmlGetMem(data, FirstBlockOfSector(i) + NumBlocksPerSector(i) - 1, 1)) { PrintAndLog("error get block %d", FirstBlockOfSector(i) + NumBlocksPerSector(i) - 1); break; @@ -1616,15 +1683,15 @@ int CmdHF14AMfCSetBlk(const char *Cmd) int CmdHF14AMfCLoad(const char *Cmd) { FILE * f; - char filename[20]; + char filename[FILE_PATH_SIZE] = {0x00}; char * fnameptr = filename; - char buf[64]; - uint8_t buf8[64]; + char buf[64] = {0x00}; + uint8_t buf8[64] = {0x00}; uint8_t fillFromEmulator = 0; int i, len, blockNum, flags; - memset(filename, 0, sizeof(filename)); - memset(buf, 0, sizeof(buf)); + // memset(filename, 0, sizeof(filename)); + // memset(buf, 0, sizeof(buf)); if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) { PrintAndLog("It loads magic Chinese card (only works with!!!) from the file `filename.eml`"); @@ -1657,7 +1724,7 @@ int CmdHF14AMfCLoad(const char *Cmd) return 0; } else { len = strlen(Cmd); - if (len > 14) len = 14; + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; memcpy(filename, Cmd, len); fnameptr += len; @@ -1702,7 +1769,7 @@ int CmdHF14AMfCLoad(const char *Cmd) } fclose(f); - if (blockNum != 16 * 4){ + if (blockNum != 16 * 4 && blockNum != 32 * 4 + 8 * 16){ PrintAndLog("File content error. There must be 64 blocks"); return 4; } @@ -1780,14 +1847,14 @@ int CmdHF14AMfCGetSc(const char *Cmd) { int CmdHF14AMfCSave(const char *Cmd) { FILE * f; - char filename[20]; + char filename[FILE_PATH_SIZE] = {0x00}; char * fnameptr = filename; uint8_t fillFromEmulator = 0; - uint8_t buf[64]; + uint8_t buf[64] = {0x00}; int i, j, len, flags; - memset(filename, 0, sizeof(filename)); - memset(buf, 0, sizeof(buf)); + // memset(filename, 0, sizeof(filename)); + // memset(buf, 0, sizeof(buf)); if (param_getchar(Cmd, 0) == 'h') { PrintAndLog("It saves `magic Chinese` card dump into the file `filename.eml` or `cardID.eml`"); @@ -1822,7 +1889,7 @@ int CmdHF14AMfCSave(const char *Cmd) { return 0; } else { len = strlen(Cmd); - if (len > 14) len = 14; + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; if (len < 1) { // get filename @@ -1842,6 +1909,11 @@ int CmdHF14AMfCSave(const char *Cmd) { // open file f = fopen(filename, "w+"); + if (f == NULL) { + PrintAndLog("File not found or locked."); + return 1; + } + // put hex flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC; for (i = 0; i < 16 * 4; i++) { @@ -2021,9 +2093,9 @@ static command_t CommandTable[] = {"ecfill", CmdHF14AMfECFill, 0, "Fill simulator memory with help of keys from simulator"}, {"ekeyprn", CmdHF14AMfEKeyPrn, 0, "Print keys from simulator memory"}, {"csetuid", CmdHF14AMfCSetUID, 0, "Set UID for magic Chinese card"}, - {"csetblk", CmdHF14AMfCSetBlk, 0, "Write block into magic Chinese card"}, - {"cgetblk", CmdHF14AMfCGetBlk, 0, "Read block from magic Chinese card"}, - {"cgetsc", CmdHF14AMfCGetSc, 0, "Read sector from magic Chinese card"}, + {"csetblk", CmdHF14AMfCSetBlk, 0, "Write block - Magic Chinese card"}, + {"cgetblk", CmdHF14AMfCGetBlk, 0, "Read block - Magic Chinese card"}, + {"cgetsc", CmdHF14AMfCGetSc, 0, "Read sector - Magic Chinese card"}, {"cload", CmdHF14AMfCLoad, 0, "Load dump into magic Chinese card"}, {"csave", CmdHF14AMfCSave, 0, "Save dump from magic Chinese card into file or emulator"}, {NULL, NULL, 0, NULL} diff --git a/client/cmdlf.c b/client/cmdlf.c index 41dcca574..572cda6ca 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -380,10 +380,8 @@ static void ChkBitstream(const char *str) int i; /* convert to bitstream if necessary */ - for (i = 0; i < (int)(GraphTraceLen / 2); i++) - { - if (GraphBuffer[i] > 1 || GraphBuffer[i] < 0) - { + for (i = 0; i < (int)(GraphTraceLen / 2); i++){ + if (GraphBuffer[i] > 1 || GraphBuffer[i] < 0) { CmdBitstream(str); break; } @@ -556,11 +554,25 @@ int CmdVchDemod(const char *Cmd) int CmdLFfind(const char *Cmd) { int ans=0; - if (!offline){ + char cmdp = param_getchar(Cmd, 0); + + if (strlen(Cmd) > 1 || cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: lf search <0|1>"); + PrintAndLog(" , if not set, try reading data from tag."); + PrintAndLog(""); + PrintAndLog(" sample: lf search"); + PrintAndLog(" : lf search 1"); + return 0; + } + + if (!offline || (cmdp != '1') ){ ans=CmdLFRead(""); - ans=CmdSamples("20000"); + ans=CmdSamples("20000"); + } else if (GraphTraceLen < 1000) { + PrintAndLog("Data in Graphbuffer was too small."); + return 0; } - if (GraphTraceLen<1000) return 0; + PrintAndLog("Checking for known tags:"); ans=Cmdaskmandemod(""); if (ans>0) return 1; diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index 32a0ff7c6..e0d88c24d 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -507,12 +507,12 @@ int CmdEM410xWrite(const char *Cmd) int CmdReadWord(const char *Cmd) { - int Word = 16; //default to invalid word + int Word = -1; //default to invalid word UsbCommand c; sscanf(Cmd, "%d", &Word); - if (Word > 15) { + if ( (Word > 15) | (Word < 0) ) { PrintAndLog("Word must be between 0 and 15"); return 1; } @@ -530,13 +530,13 @@ int CmdReadWord(const char *Cmd) int CmdReadWordPWD(const char *Cmd) { - int Word = 16; //default to invalid word + int Word = -1; //default to invalid word int Password = 0xFFFFFFFF; //default to blank password UsbCommand c; sscanf(Cmd, "%d %x", &Word, &Password); - if (Word > 15) { + if ( (Word > 15) | (Word < 0) ) { PrintAndLog("Word must be between 0 and 15"); return 1; } @@ -565,7 +565,7 @@ int CmdWriteWord(const char *Cmd) return 1; } - PrintAndLog("Writting word %d with data %08X", Word, Data); + PrintAndLog("Writing word %d with data %08X", Word, Data); c.cmd = CMD_EM4X_WRITE_WORD; c.d.asBytes[0] = 0x0; //Normal mode @@ -578,7 +578,7 @@ int CmdWriteWord(const char *Cmd) int CmdWriteWordPWD(const char *Cmd) { - int Word = 8; //default to invalid word + int Word = 16; //default to invalid word int Data = 0xFFFFFFFF; //default to blank data int Password = 0xFFFFFFFF; //default to blank password UsbCommand c; @@ -590,7 +590,7 @@ int CmdWriteWordPWD(const char *Cmd) return 1; } - PrintAndLog("Writting word %d with data %08X and password %08X", Word, Data, Password); + PrintAndLog("Writing word %d with data %08X and password %08X", Word, Data, Password); c.cmd = CMD_EM4X_WRITE_WORD; c.d.asBytes[0] = 0x1; //Password mode @@ -601,8 +601,6 @@ int CmdWriteWordPWD(const char *Cmd) return 0; } - - static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, diff --git a/client/cmdlfhitag.c b/client/cmdlfhitag.c index ab4a26095..549c427c7 100644 --- a/client/cmdlfhitag.c +++ b/client/cmdlfhitag.c @@ -29,7 +29,7 @@ size_t nbytes(size_t nbits) { int CmdLFHitagList(const char *Cmd) { - uint8_t got[3000]; + uint8_t got[TRACE_BUFFER_SIZE]; GetFromBigBuf(got,sizeof(got),0); WaitForResponse(CMD_ACK,NULL); @@ -39,11 +39,25 @@ int CmdLFHitagList(const char *Cmd) int i = 0; int prev = -1; + int len = strlen(Cmd); + + char filename[FILE_PATH_SIZE] = { 0x00 }; + FILE* pf = NULL; + + if (len > FILE_PATH_SIZE) + len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); + + if (strlen(filename) > 0) { + if ((pf = fopen(filename,"wb")) == NULL) { + PrintAndLog("Error: Could not open file [%s]",filename); + return 1; + } + } for (;;) { - if(i >= 1900) { - break; - } + + if(i >= TRACE_BUFFER_SIZE) { break; } bool isResponse; int timestamp = *((uint32_t *)(got+i)); @@ -68,9 +82,7 @@ int CmdLFHitagList(const char *Cmd) if (len > 100) { break; } - if (i + len >= 1900) { - break; - } + if (i + len >= TRACE_BUFFER_SIZE) { break;} uint8_t *frame = (got+i+9); @@ -103,18 +115,22 @@ int CmdLFHitagList(const char *Cmd) line); -// if (pf) { -// fprintf(pf," +%7d: %3d: %s %s\n", -// (prev < 0 ? 0 : (timestamp - prev)), -// bits, -// (isResponse ? "TAG" : " "), -// line); -// } + if (pf) { + fprintf(pf," +%7d: %3d: %s %s\n", + (prev < 0 ? 0 : (timestamp - prev)), + bits, + (isResponse ? "TAG" : " "), + line); + } prev = timestamp; i += (len + 9); } + if (pf) { + fclose(pf); + PrintAndLog("Recorded activity succesfully written to file: %s", filename); + } return 0; } @@ -126,12 +142,14 @@ int CmdLFHitagSnoop(const char *Cmd) { } int CmdLFHitagSim(const char *Cmd) { + UsbCommand c = {CMD_SIMULATE_HITAG}; - char filename[256] = { 0x00 }; + char filename[FILE_PATH_SIZE] = { 0x00 }; FILE* pf; bool tag_mem_supplied; - - param_getstr(Cmd,0,filename); + int len = strlen(Cmd); + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); if (strlen(filename) > 0) { if ((pf = fopen(filename,"rb+")) == NULL) { @@ -227,9 +245,9 @@ int CmdLFHitagReader(const char *Cmd) { static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, - {"list", CmdLFHitagList, 1, "List Hitag trace history"}, + {"list", CmdLFHitagList, 1, " List Hitag trace history"}, {"reader", CmdLFHitagReader, 1, "Act like a Hitag Reader"}, - {"sim", CmdLFHitagSim, 1, "Simulate Hitag transponder"}, + {"sim", CmdLFHitagSim, 1, " Simulate Hitag transponder"}, {"snoop", CmdLFHitagSnoop, 1, "Eavesdrop Hitag communication"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmdmain.c b/client/cmdmain.c index b6517caa5..15cb3f987 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -132,9 +132,11 @@ int getCommand(UsbCommand* response) bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeout) { UsbCommand resp; + if (response == NULL) response = &resp; + // Wait until the command is received for(size_t dm_seconds=0; dm_seconds < ms_timeout/10; dm_seconds++) { diff --git a/client/flasher.c b/client/flasher.c index 2a24ba8fc..c273c1f38 100644 --- a/client/flasher.c +++ b/client/flasher.c @@ -52,11 +52,8 @@ void ReceiveCommand(UsbCommand* rxcmd) { while (true) { rxlen = sizeof(UsbCommand) - (prx-prxcmd); if (uart_receive(sp,prx,&rxlen)) { -// printf("received [%zd] bytes\n",rxlen); prx += rxlen; if ((prx-prxcmd) >= sizeof(UsbCommand)) { -// printf("received: "); -// cmd_debug(rxcmd); return; } } diff --git a/client/lualibs/commands.lua b/client/lualibs/commands.lua index e93d0a97c..13b9c8e74 100644 --- a/client/lualibs/commands.lua +++ b/client/lualibs/commands.lua @@ -104,8 +104,11 @@ local _commands = { CMD_MIFARE_EML_MEMSET = 0x0602, CMD_MIFARE_EML_MEMGET = 0x0603, CMD_MIFARE_EML_CARDLOAD = 0x0604, - CMD_MIFARE_EML_CSETBLOCK = 0x0605, - CMD_MIFARE_EML_CGETBLOCK = 0x0606, + + --// magic chinese card commands + CMD_MIFARE_CSETBLOCK = 0x0605, + CMD_MIFARE_CGETBLOCK = 0x0606, + CMD_MIFARE_CIDENT = 0x0607, CMD_SIMULATE_MIFARE_CARD = 0x0610, diff --git a/client/lualibs/utils.lua b/client/lualibs/utils.lua index 3d27d5b68..e84f70ada 100644 --- a/client/lualibs/utils.lua +++ b/client/lualibs/utils.lua @@ -33,9 +33,86 @@ local Utils = return answer end, + + ------------ FILE READING + ReadDumpFile = function (filename) + + if filename == nil then + return nil, 'Filename is empty' + end + if #filename == 0 then + return nil, 'Filename length is zero' + end + + infile = io.open(filename, "rb") + if infile == nil then + return nil, string.format("Could not read file %s",filename) + end + local t = infile:read("*all") + len = string.len(t) + local _,hex = bin.unpack(("H%d"):format(len),t) + io.close(infile) + return hex + end, + + ------------ string split function + Split = function( inSplitPattern, outResults ) + if not outResults then + outResults = {} + end + local start = 1 + local splitStart, splitEnd = string.find( self, inSplitPattern, start ) + while splitStart do + table.insert( outResults, string.sub( self, start, splitStart-1 ) ) + start = splitEnd + 1 + splitStart, splitEnd = string.find( self, inSplitPattern, start ) + end + table.insert( outResults, string.sub( self, start ) ) + return outResults + end, + + ------------ CRC-16 ccitt checksums + + -- Takes a hex string and calculates a crc16 + Crc16 = function(s) + if s == nil then return nil end + if #s == 0 then return nil end + if type(s) == 'string' then + local utils = require('utils') + local asc = utils.ConvertHexToAscii(s) + local hash = core.crc16(asc) + return hash + end + return nil + end, + + -- input parameter is a string + -- Swaps the endianess and returns a number, + -- IE: 'cd7a' -> '7acd' -> 0x7acd + SwapEndianness = function(s, len) + if s == nil then return nil end + if #s == 0 then return '' end + if type(s) ~= 'string' then return nil end + + local retval = 0 + if len == 16 then + local t = s:sub(3,4)..s:sub(1,2) + retval = tonumber(t,16) + elseif len == 24 then + local t = s:sub(5,6)..s:sub(3,4)..s:sub(1,2) + retval = tonumber(t,16) + elseif len == 32 then + local t = s:sub(7,8)..s:sub(5,6)..s:sub(3,4)..s:sub(1,2) + retval = tonumber(t,16) + end + return retval + end, + + ------------ CONVERSIONS + -- -- Converts DECIMAL to HEX - ConvertDec2Hex = function(IN) + ConvertDecToHex = function(IN) local B,K,OUT,I,D=16,"0123456789ABCDEF","",0 while IN>0 do I=I+1 @@ -46,12 +123,100 @@ local Utils = end, --- -- Convert Byte array to string of hex - ConvertBytes2String = function(bytes) - s = {} + ConvertBytesToHex = function(bytes) + if #bytes == 0 then + return '' + end + local s={} for i = 1, #(bytes) do s[i] = string.format("%02X",bytes[i]) end return table.concat(s) end, + -- Convert byte array to string with ascii + ConvertBytesToAscii = function(bytes) + if #bytes == 0 then + return '' + end + local s={} + for i = 1, #(bytes) do + s[i] = string.char(bytes[i]) + end + return table.concat(s) + end, + ConvertHexToBytes = function(s) + local t={} + if s == nil then return t end + if #s == 0 then return t end + for k in s:gmatch"(%x%x)" do + table.insert(t,tonumber(k,16)) + end + return t + end, + ConvertAsciiToBytes = function(s) + local t={} + if s == nil then return t end + if #s == 0 then return t end + + for k in s:gmatch"(.)" do + table.insert(t, string.byte(k)) + end + return t + end, + ConvertHexToAscii = function(s) + local t={} + if s == nil then return t end + if #s == 0 then return t end + for k in s:gmatch"(%x%x)" do + table.insert(t, string.char(tonumber(k,16))) + end + return table.concat(t) + end, + + -- function convertStringToBytes(str) + -- local bytes = {} + -- local strLength = string.len(str) + -- for i=1,strLength do + -- table.insert(bytes, string.byte(str, i)) + -- end + + -- return bytes +-- end + +-- function convertBytesToString(bytes) + -- local bytesLength = table.getn(bytes) + -- local str = "" + -- for i=1,bytesLength do + -- str = str .. string.char(bytes[i]) + -- end + + -- return str +-- end + +-- function convertHexStringToBytes(str) + -- local bytes = {} + -- local strLength = string.len(str) + -- for k=2,strLength,2 do + -- local hexString = "0x" .. string.sub(str, (k - 1), k) + -- table.insert(bytes, hex.to_dec(hexString)) + -- end + + -- return bytes +-- end + +-- function convertBytesToHexString(bytes) + -- local str = "" + -- local bytesLength = table.getn(bytes) + -- for i=1,bytesLength do + -- local hexString = string.sub(hex.to_hex(bytes[i]), 3) + -- if string.len(hexString) == 1 then + -- hexString = "0" .. hexString + -- end + -- str = str .. hexString + -- end + + -- return str +-- end + } return Utils \ No newline at end of file diff --git a/client/proxmark3.c b/client/proxmark3.c index 8a967c7f3..0e2a698c1 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -16,7 +16,7 @@ #include #include #include -//#include "proxusb.h" + #include "proxmark3.h" #include "proxgui.h" #include "cmdmain.h" diff --git a/client/scripting.c b/client/scripting.c index 963bb64c2..eed5544b9 100644 --- a/client/scripting.c +++ b/client/scripting.c @@ -18,6 +18,8 @@ #include "util.h" #include "nonce2key/nonce2key.h" #include "../common/iso15693tools.h" +#include +#include "../common/crc16.h" /** * The following params expected: * UsbCommand c @@ -224,6 +226,54 @@ static int l_iso15693_crc(lua_State *L) return 1; } +/* + Simple AES 128 cbc hook up to OpenSSL. + params: key, input +*/ +static int l_aes(lua_State *L) +{ + //Check number of arguments + int i; + size_t size; + const char *p_key = luaL_checklstring(L, 1, &size); + if(size != 32) return returnToLuaWithError(L,"Wrong size of key, got %d bytes, expected 32", (int) size); + + const char *p_encTxt = luaL_checklstring(L, 2, &size); + + unsigned char indata[AES_BLOCK_SIZE] = {0x00}; + unsigned char outdata[AES_BLOCK_SIZE] = {0x00}; + unsigned char aes_key[AES_BLOCK_SIZE] = {0x00}; + unsigned char iv[AES_BLOCK_SIZE] = {0x00}; + + // convert key to bytearray + for (i = 0; i < 32; i += 2) { + sscanf(&p_encTxt[i], "%02x", (unsigned int *)&indata[i / 2]); + } + + // convert input to bytearray + for (i = 0; i < 32; i += 2) { + sscanf(&p_key[i], "%02x", (unsigned int *)&aes_key[i / 2]); + } + + AES_KEY key; + AES_set_decrypt_key(aes_key, 128, &key); + AES_cbc_encrypt(indata, outdata, sizeof(indata), &key, iv, AES_DECRYPT); + + //Push decrypted array as a string + lua_pushlstring(L,(const char *)&outdata, sizeof(outdata)); + return 1;// return 1 to signal one return value +} + +static int l_crc16(lua_State *L) +{ + size_t size; + const char *p_str = luaL_checklstring(L, 1, &size); + + uint16_t retval = crc16_ccitt( (uint8_t*) p_str, size); + lua_pushinteger(L, (int) retval); + return 1; +} + /** * @brief Sets the lua path to include "./lualibs/?.lua", in order for a script to be * able to do "require('foobar')" if foobar.lua is within lualibs folder. @@ -261,6 +311,8 @@ int set_pm3_libraries(lua_State *L) {"clearCommandBuffer", l_clearCommandBuffer}, {"console", l_CmdConsole}, {"iso15693_crc", l_iso15693_crc}, + {"aes", l_aes}, + {"crc16", l_crc16}, {NULL, NULL} }; diff --git a/client/scripts/tnp3dump.lua b/client/scripts/tnp3dump.lua new file mode 100644 index 000000000..520161b93 --- /dev/null +++ b/client/scripts/tnp3dump.lua @@ -0,0 +1,272 @@ +local cmds = require('commands') +local getopt = require('getopt') +local bin = require('bin') +local lib14a = require('read14a') +local utils = require('utils') +local md5 = require('md5') +local dumplib = require('html_dumplib') +local toyNames = require('default_toys') + +example =[[ + 1. script run tnp3dump + 2. script run tnp3dump -n + 3. script run tnp3dump -k aabbccddeeff + 4. script run tnp3dump -k aabbccddeeff -n + 5. script run tnp3dump -o myfile + 6. script run tnp3dump -n -o myfile + 7. script run tnp3dump -k aabbccddeeff -n -o myfile +]] +author = "Iceman" +usage = "script run tnp3dump -k -n -o " +desc =[[ +This script will try to dump the contents of a Mifare TNP3xxx card. +It will need a valid KeyA in order to find the other keys and decode the card. +Arguments: + -h : this help + -k : Sector 0 Key A. + -n : Use the nested cmd to find all keys + -o : filename for the saved dumps +]] + +local HASHCONSTANT = '20436F707972696768742028432920323031302041637469766973696F6E2E20416C6C205269676874732052657365727665642E20' + +local TIMEOUT = 2000 -- Shouldn't take longer than 2 seconds +local DEBUG = false -- the debug flag +local numBlocks = 64 +local numSectors = 16 +--- +-- A debug printout-function +function dbg(args) + if not DEBUG then + return + end + + if type(args) == "table" then + local i = 1 + while result[i] do + dbg(result[i]) + i = i+1 + end + else + print("###", args) + end +end +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) +end +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end +-- +-- Exit message +function ExitMsg(msg) + print( string.rep('--',20) ) + print( string.rep('--',20) ) + print(msg) + print() +end + +local function readdumpkeys(infile) + t = infile:read("*all") + len = string.len(t) + local len,hex = bin.unpack(("H%d"):format(len),t) + return hex +end + +local function waitCmd() + local response = core.WaitForResponseTimeout(cmds.CMD_ACK,TIMEOUT) + if response then + local count,cmd,arg0 = bin.unpack('LL',response) + if(arg0==1) then + local count,arg1,arg2,data = bin.unpack('LLH511',response,count) + return data:sub(1,32) + else + return nil, "Couldn't read block.." + end + end + return nil, "No response from device" +end + +local function computeCrc16(s) + local hash = core.crc16(utils.ConvertHexToAscii(s)) + return hash +end + +local function reverseCrcBytes(crc) + crc2 = crc:sub(3,4)..crc:sub(1,2) + return tonumber(crc2,16) +end + +local function main(args) + + print( string.rep('--',20) ) + print( string.rep('--',20) ) + + local keyA + local cmd + local err + local useNested = false + local cmdReadBlockString = 'hf mf rdbl %d A %s' + local input = "dumpkeys.bin" + local outputTemplate = os.date("toydump_%Y-%m-%d_%H%M%S"); + + -- Arguments for the script + for o, a in getopt.getopt(args, 'hk:no:') do + if o == "h" then return help() end + if o == "k" then keyA = a end + if o == "n" then useNested = true end + if o == "o" then outputTemplate = a end + end + + -- validate input args. + keyA = keyA or '4b0b20107ccb' + if #(keyA) ~= 12 then + return oops( string.format('Wrong length of write key (was %d) expected 12', #keyA)) + end + + -- Turn off Debug + local cmdSetDbgOff = "hf mf dbg 0" + core.console( cmdSetDbgOff) + + result, err = lib14a.read1443a(false) + if not result then + return oops(err) + end + + core.clearCommandBuffer() + + if 0x01 ~= result.sak then -- NXP MIFARE TNP3xxx + return oops('This is not a TNP3xxx tag. aborting.') + end + + -- Show tag info + print((' Found tag : %s'):format(result.name)) + print(('Using keyA : %s'):format(keyA)) + + --Trying to find the other keys + if useNested then + core.console( ('hf mf nested 1 0 A %s d'):format(keyA) ) + end + + core.clearCommandBuffer() + + -- Loading keyfile + print('Loading dumpkeys.bin') + local hex, err = utils.ReadDumpFile(input) + if not hex then + return oops(err) + end + + local akeys = hex:sub(0,12*16) + + -- Read block 0 + cmd = Command:new{cmd = cmds.CMD_MIFARE_READBL, arg1 = 0,arg2 = 0,arg3 = 0, data = keyA} + err = core.SendCommand(cmd:getBytes()) + if err then return oops(err) end + local block0, err = waitCmd() + if err then return oops(err) end + + -- Read block 1 + cmd = Command:new{cmd = cmds.CMD_MIFARE_READBL, arg1 = 1,arg2 = 0,arg3 = 0, data = keyA} + err = core.SendCommand(cmd:getBytes()) + if err then return oops(err) end + local block1, err = waitCmd() + if err then return oops(err) end + + local key + local pos = 0 + local blockNo + local blocks = {} + + print('Reading card data') + core.clearCommandBuffer() + + -- main loop + io.write('Decrypting blocks > ') + for blockNo = 0, numBlocks-1, 1 do + + if core.ukbhit() then + print("aborted by user") + break + end + + pos = (math.floor( blockNo / 4 ) * 12)+1 + key = akeys:sub(pos, pos + 11 ) + cmd = Command:new{cmd = cmds.CMD_MIFARE_READBL, arg1 = blockNo ,arg2 = 0,arg3 = 0, data = key} + local err = core.SendCommand(cmd:getBytes()) + if err then return oops(err) end + local blockdata, err = waitCmd() + if err then return oops(err) end + + if blockNo%4 ~= 3 then + if blockNo < 8 then + -- Block 0-7 not encrypted + blocks[blockNo+1] = ('%02d :: %s'):format(blockNo,blockdata) + else + local base = ('%s%s%02x%s'):format(block0, block1, blockNo, HASHCONSTANT) + local baseStr = utils.ConvertHexToAscii(base) + local md5hash = md5.sumhexa(baseStr) + local aestest = core.aes(md5hash, blockdata) + + local hex = utils.ConvertAsciiToBytes(aestest) + hex = utils.ConvertBytesToHex(hex) + + -- blocks with zero not encrypted. + if string.find(blockdata, '^0+$') then + blocks[blockNo+1] = ('%02d :: %s'):format(blockNo,blockdata) + else + blocks[blockNo+1] = ('%02d :: %s'):format(blockNo,hex) + io.write( blockNo..',') + end + end + else + -- Sectorblocks, not encrypted + blocks[blockNo+1] = ('%02d :: %s%s'):format(blockNo,key,blockdata:sub(13,32)) + end + end + io.write('\n') + + core.clearCommandBuffer() + + -- Print results + local bindata = {} + local emldata = '' + + for _,s in pairs(blocks) do + local slice = s:sub(8,#s) + local str = utils.ConvertBytesToAscii( + utils.ConvertHexToBytes(slice) + ) + emldata = emldata..slice..'\n' + for c in (str):gmatch('.') do + bindata[#bindata+1] = c + end + end + + -- Write dump to files + if not DEBUG then + local foo = dumplib.SaveAsBinary(bindata, outputTemplate..'.bin') + print(("Wrote a BIN dump to the file %s"):format(foo)) + local bar = dumplib.SaveAsText(emldata, outputTemplate..'.eml') + print(("Wrote a EML dump to the file %s"):format(bar)) + end + + local uid = block0:sub(1,8) + local itemtype = block1:sub(1,4) + local cardid = block1:sub(9,24) + + -- Show info + print( string.rep('--',20) ) + print( (' ITEM TYPE : 0x%s - %s'):format(itemtype, toyNames[itemtype]) ) + print( (' UID : 0x%s'):format(uid) ) + print( (' CARDID : 0x%s'):format(cardid ) ) + print( string.rep('--',20) ) + +end +main(args) \ No newline at end of file diff --git a/client/scripts/tnp3sim.lua b/client/scripts/tnp3sim.lua new file mode 100644 index 000000000..f43dafa24 --- /dev/null +++ b/client/scripts/tnp3sim.lua @@ -0,0 +1,355 @@ +local cmds = require('commands') +local getopt = require('getopt') +local bin = require('bin') +local lib14a = require('read14a') +local utils = require('utils') +local md5 = require('md5') +local toyNames = require('default_toys') + +example =[[ + 1. script run tnp3sim + 2. script run tnp3sim -m + 3. script run tnp3sim -m -i myfile +]] +author = "Iceman" +usage = "script run tnp3sim -h -m -i " +desc =[[ +This script will try to load a binary datadump of a Mifare TNP3xxx card. +It vill try to validate all checksums and view some information stored in the dump +For an experimental mode, it tries to manipulate some data. +At last it sends all data to the PM3 device memory where it can be used in the command "hf mf sim" + +Arguments: + -h : this help + -m : Maxed out items (experimental) + -i : filename for the datadump to read (bin) +]] + +local TIMEOUT = 2000 -- Shouldn't take longer than 2 seconds +local DEBUG = true -- the debug flag +--- +-- A debug printout-function +function dbg(args) + if not DEBUG then + return + end + + if type(args) == "table" then + local i = 1 + while result[i] do + dbg(result[i]) + i = i+1 + end + else + print("###", args) + end +end +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) +end +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end +-- +-- Exit message +function ExitMsg(msg) + print( string.rep('--',20) ) + print( string.rep('--',20) ) + print(msg) + print() +end + + +local function writedumpfile(infile) + t = infile:read("*all") + len = string.len(t) + local len,hex = bin.unpack(("H%d"):format(len),t) + return hex +end +-- blocks with data +-- there are two dataareas, in block 8 or block 36, ( 1==8 , +-- checksum type = 0, 1, 2, 3 +local function GetCheckSum(blocks, dataarea, chksumtype) + + local crc + local area = 36 + if dataarea == 1 then + area = 8 + end + + if chksumtype == 0 then + crc = blocks[1]:sub(29,32) + elseif chksumtype == 1 then + crc = blocks[area]:sub(29,32) + elseif chksumtype == 2 then + crc = blocks[area]:sub(25,28) + elseif chksumtype == 3 then + crc = blocks[area]:sub(21,24) + end + return utils.SwapEndianness(crc,16) +end + +local function SetCheckSum(blocks, chksumtype) + + if blocks == nil then return nil, 'Argument \"blocks\" nil' end + local newcrc + local area1 = 8 + local area2 = 36 + + if chksumtype == 0 then + newcrc = ('%04X'):format(CalcCheckSum(blocks,1,0)) + blocks[1] = blocks[1]:sub(1,28)..newcrc:sub(3,4)..newcrc:sub(1,2) + elseif chksumtype == 1 then + newcrc = ('%04X'):format(CalcCheckSum(blocks,1,1)) + blocks[area1] = blocks[area1]:sub(1,28)..newcrc:sub(3,4)..newcrc:sub(1,2) + newcrc = ('%04X'):format(CalcCheckSum(blocks,2,1)) + blocks[area2] = blocks[area2]:sub(1,28)..newcrc:sub(3,4)..newcrc:sub(1,2) + elseif chksumtype == 2 then + newcrc = ('%04X'):format(CalcCheckSum(blocks,1,2)) + blocks[area1] = blocks[area1]:sub(1,24)..newcrc:sub(3,4)..newcrc:sub(1,2)..blocks[area1]:sub(29,32) + newcrc = ('%04X'):format(CalcCheckSum(blocks,2,2)) + blocks[area2] = blocks[area2]:sub(1,24)..newcrc:sub(3,4)..newcrc:sub(1,2)..blocks[area2]:sub(29,32) + elseif chksumtype == 3 then + newcrc = ('%04X'):format(CalcCheckSum(blocks,1,3)) + blocks[area1] = blocks[area1]:sub(1,20)..newcrc:sub(3,4)..newcrc:sub(1,2)..blocks[area1]:sub(25,32) + newcrc = ('%04X'):format(CalcCheckSum(blocks,2,3)) + blocks[area2] = blocks[area2]:sub(1,20)..newcrc:sub(3,4)..newcrc:sub(1,2)..blocks[area2]:sub(25,32) + end +end + +function CalcCheckSum(blocks, dataarea, chksumtype) + local area = 36 + if dataarea == 1 then + area = 8 + end + + if chksumtype == 0 then + data = blocks[0]..blocks[1]:sub(1,28) + elseif chksumtype == 1 then + data = blocks[area]:sub(1,28)..'0500' + elseif chksumtype == 2 then + data = blocks[area+1]..blocks[area+2]..blocks[area+4] + elseif chksumtype == 3 then + data = blocks[area+5]..blocks[area+6]..blocks[area+8]..string.rep('00',0xe0) + end + return utils.Crc16(data) +end + +local function ValidateCheckSums(blocks) + + local isOk, crc, calc + -- Checksum Type 0 + crc = GetCheckSum(blocks,1,0) + calc = CalcCheckSum(blocks, 1, 0) + if crc == calc then isOk='Ok' else isOk = 'Error' end + io.write( ('TYPE 0 : %04x = %04x -- %s\n'):format(crc,calc,isOk)) + + -- Checksum Type 1 (DATAAREAHEADER 1) + crc = GetCheckSum(blocks,1,1) + calc = CalcCheckSum(blocks,1,1) + if crc == calc then isOk='Ok' else isOk = 'Error' end + io.write( ('TYPE 1 area 1: %04x = %04x -- %s\n'):format(crc,calc,isOk)) + + -- Checksum Type 1 (DATAAREAHEADER 2) + crc = GetCheckSum(blocks,2,1) + calc = CalcCheckSum(blocks,2,1) + if crc == calc then isOk='Ok' else isOk = 'Error' end + io.write( ('TYPE 1 area 2: %04x = %04x -- %s\n'):format(crc,calc,isOk)) + + -- Checksum Type 2 (DATAAREA 1) + crc = GetCheckSum(blocks,1,2) + calc = CalcCheckSum(blocks,1,2) + if crc == calc then isOk='Ok' else isOk = 'Error' end + io.write( ('TYPE 2 area 1: %04x = %04x -- %s\n'):format(crc,calc,isOk)) + + -- Checksum Type 2 (DATAAREA 2) + crc = GetCheckSum(blocks,2,2) + calc = CalcCheckSum(blocks,2,2) + if crc == calc then isOk='Ok' else isOk = 'Error' end + io.write( ('TYPE 2 area 2: %04x = %04x -- %s\n'):format(crc,calc,isOk)) + + -- Checksum Type 3 (DATAAREA 1) + crc = GetCheckSum(blocks,1,3) + calc = CalcCheckSum(blocks,1,3) + if crc == calc then isOk='Ok' else isOk = 'Error' end + io.write( ('TYPE 3 area 1: %04x = %04x -- %s\n'):format(crc,calc,isOk)) + + -- Checksum Type 3 (DATAAREA 2) + crc = GetCheckSum(blocks,2,3) + calc = CalcCheckSum(blocks,2,3) + if crc == calc then isOk='Ok' else isOk = 'Error' end + io.write( ('TYPE 3 area 2: %04x = %04x -- %s\n'):format(crc,calc,isOk)) +end + + +local function LoadEmulator(blocks) + local HASHCONSTANT = '20436F707972696768742028432920323031302041637469766973696F6E2E20416C6C205269676874732052657365727665642E20' + local cmd + local blockdata + for _,b in pairs(blocks) do + + blockdata = b + + if _%4 ~= 3 then + if (_ >= 8 and _<=21) or (_ >= 36 and _<=49) then + local base = ('%s%s%02x%s'):format(blocks[0], blocks[1], _ , HASHCONSTANT) + local baseStr = utils.ConvertHexToAscii(base) + local key = md5.sumhexa(baseStr) + local enc = core.aes(key, blockdata) + local hex = utils.ConvertAsciiToBytes(enc) + hex = utils.ConvertBytesToHex(hex) + + blockdata = hex + io.write( _..',') + end + end + + cmd = Command:new{cmd = cmds.CMD_MIFARE_EML_MEMSET, arg1 = _ ,arg2 = 1,arg3 = 0, data = blockdata} + local err = core.SendCommand(cmd:getBytes()) + if err then + return err + end + end + io.write('\n') +end + +local function main(args) + + print( string.rep('--',20) ) + print( string.rep('--',20) ) + + local result, err, hex + local maxed = false + local inputTemplate = "dumpdata.bin" + local outputTemplate = os.date("toydump_%Y-%m-%d_%H%M"); + + -- Arguments for the script + for o, a in getopt.getopt(args, 'hmi:o:') do + if o == "h" then return help() end + if o == "m" then maxed = true end + if o == "o" then outputTemplate = a end + if o == "i" then inputTemplate = a end + end + + -- Turn off Debug + local cmdSetDbgOff = "hf mf dbg 0" + core.console( cmdSetDbgOff) + + -- Look for tag present on reader, + result, err = lib14a.read1443a(false) + if not result then return oops(err) end + + core.clearCommandBuffer() + + if 0x01 ~= result.sak then -- NXP MIFARE TNP3xxx + return oops('This is not a TNP3xxx tag. aborting.') + end + + -- Show tag info + print((' Found tag : %s'):format(result.name)) + + -- Load dump.bin file + print( (' Load data from %s'):format(inputTemplate)) + hex, err = utils.ReadDumpFile(inputTemplate) + if not hex then return oops(err) end + + local blocks = {} + local blockindex = 0 + for i = 1, #hex, 32 do + blocks[blockindex] = hex:sub(i,i+31) + blockindex = blockindex + 1 + end + + if DEBUG then + print('Validating checksums in the loaded datadump') + ValidateCheckSums(blocks) + end + + -- + print( string.rep('--',20) ) + print(' Gathering info') + local uid = blocks[0]:sub(1,8) + local itemtype = blocks[1]:sub(1,4) + local cardid = blocks[1]:sub(9,24) + + -- Show info + print( string.rep('--',20) ) + print( (' ITEM TYPE : 0x%s - %s'):format(itemtype, toyNames[itemtype]) ) + print( (' UID : 0x%s'):format(uid) ) + print( (' CARDID : 0x%s'):format(cardid ) ) + print( string.rep('--',20) ) + + -- lets do something. + -- + local experience = blocks[8]:sub(1,6) + print(('Experience : %d'):format(utils.SwapEndianness(experience,24))) + local money = blocks[8]:sub(7,10) + print(('Money : %d'):format(utils.SwapEndianness(money,16))) + local fairy = blocks[9]:sub(1,8) + --FD0F = Left, FF0F = Right + local path = 'not choosen' + if fairy:sub(2,2) == 'D' then + path = 'Left' + elseif fairy:sub(2,2) == 'F' then + path = 'Right' + end + print(('Fairy : %d [Path: %s] '):format(utils.SwapEndianness(fairy,24),path)) + + local hat = blocks[9]:sub(8,11) + print(('Hat : %d'):format(utils.SwapEndianness(hat,16))) + + --0x0D 0x29 0x0A 0x02 16-bit hero points value. Maximum 100. + local heropoints = blocks[13]:sub(20,23) + print(('Hero points : %d'):format(utils.SwapEndianness(heropoints,16))) + + --0x10 0x2C 0x0C 0x04 32 bit flag value indicating heroic challenges completed. + local challenges = blocks[16]:sub(25,32) + print(('Finished hero challenges : %d'):format(utils.SwapEndianness(challenges,32))) + + if maxed then + print('Lets try to max out some values') + -- max out money, experience + --print (blocks[8]) + blocks[8] = 'FFFFFF'..'FFFF'..blocks[8]:sub(11,32) + blocks[36] = 'FFFFFF'..'FFFF'..blocks[36]:sub(11,32) + --print (blocks[8]) + + -- max out hero challenges + --print (blocks[16]) + blocks[16] = blocks[16]:sub(1,24)..'FFFFFFFF' + blocks[44] = blocks[44]:sub(1,24)..'FFFFFFFF' + --print (blocks[16]) + + -- max out heropoints + --print (blocks[13]) + blocks[13] = blocks[13]:sub(1,19)..'0064'..blocks[13]:sub(24,32) + blocks[41] = blocks[41]:sub(1,19)..'0064'..blocks[41]:sub(24,32) + --print (blocks[13]) + + -- Update Checksums + print('Updating all checksums') + SetCheckSum(blocks, 3) + SetCheckSum(blocks, 2) + SetCheckSum(blocks, 1) + SetCheckSum(blocks, 0) + + print('Validating all checksums') + ValidateCheckSums(blocks) + end + + --Load dumpdata to emulator memory + if DEBUG then + print('Sending dumpdata to emulator memory') + err = LoadEmulator(blocks) + if err then return oops(err) end + core.clearCommandBuffer() + print('The simulation is now prepared.\n --> run \"hf mf sim 5 '..uid..'\" <--') + end +end +main(args) \ No newline at end of file diff --git a/client/util.c b/client/util.c index a077aae90..b8d5c316c 100644 --- a/client/util.c +++ b/client/util.c @@ -46,12 +46,18 @@ int ukbhit(void) { #endif // log files functions -void AddLogLine(char *fileName, char *extData, char *c) { +void AddLogLine(char *file, char *extData, char *c) { FILE *fLog = NULL; + char filename[FILE_PATH_SIZE] = {0x00}; + int len = 0; - fLog = fopen(fileName, "a"); + len = strlen(file); + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + memcpy(filename, file, len); + + fLog = fopen(filename, "a"); if (!fLog) { - printf("Could not append log file %s", fileName); + printf("Could not append log file %s", filename); return; } @@ -103,11 +109,13 @@ void print_hex(const uint8_t * data, const size_t len) } char * sprint_hex(const uint8_t * data, const size_t len) { + + int maxLen = ( len > 1024/3) ? 1024/3 : len; static char buf[1024]; char * tmp = buf; size_t i; - for (i=0; i < len && i < 1024/3; i++, tmp += 3) + for (i=0; i < maxLen; ++i, tmp += 3) sprintf(tmp, "%02x ", data[i]); return buf; From 809fb6aeabdf2427cfd863bf56d7a05f0217ce46 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 7 Jan 2015 16:34:02 -0500 Subject: [PATCH 070/133] Fix Tune Samples (broken in commit 12/31 by me) --- client/cmddata.c | 54 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index bce5d2ced..657a118ba 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -1089,24 +1089,56 @@ int CmdSamples(const char *Cmd) int CmdTuneSamples(const char *Cmd) { - int cnt = 0; - int n = 255; - uint8_t got[255]; + int timeout = 0; + printf("\nMeasuring antenna characteristics, please wait..."); - PrintAndLog("Reading %d samples\n", n); - GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 - WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; + UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING}; + SendCommand(&c); + + UsbCommand resp; + while(!WaitForResponseTimeout(CMD_MEASURED_ANTENNA_TUNING,&resp,1000)) { + timeout++; + printf("."); + if (timeout > 7) { + PrintAndLog("\nNo response from Proxmark. Aborting..."); + return 1; + } + } + + int peakv, peakf; + int vLf125, vLf134, vHf; + vLf125 = resp.arg[0] & 0xffff; + vLf134 = resp.arg[0] >> 16; + vHf = resp.arg[1] & 0xffff;; + peakf = resp.arg[2] & 0xffff; + peakv = resp.arg[2] >> 16; + PrintAndLog(""); + PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0); + PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0); + PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); + PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0); + if (peakv<2000) + PrintAndLog("# Your LF antenna is unusable."); + else if (peakv<10000) + PrintAndLog("# Your LF antenna is marginal."); + if (vHf<2000) + PrintAndLog("# Your HF antenna is unusable."); + else if (vHf<5000) + PrintAndLog("# Your HF antenna is marginal."); + + for (int i = 0; i < 256; i++) { + GraphBuffer[i] = resp.d.asBytes[i] - 128; } PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); PrintAndLog("\n"); - GraphTraceLen = n; - RepaintGraphWindow(); - return 0; + GraphTraceLen = 256; + ShowGraphWindow(); + + return 0; } + int CmdLoad(const char *Cmd) { FILE *f = fopen(Cmd, "r"); From b5be31f9967700a184adce27d2eb172d5cc89989 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 7 Jan 2015 22:56:20 +0100 Subject: [PATCH 071/133] FIX: The input handling for "hf 14b write" is now correct. Thanks Asper for spotting the fault. ADD: crc32.c functionality --- client/cmdhf14b.c | 28 ++++++++++++++++++---------- common/crc32.c | 35 +++++++++++++++++++++++++++++++++++ common/crc32.h | 15 +++++++++++++++ 3 files changed, 68 insertions(+), 10 deletions(-) create mode 100644 common/crc32.c create mode 100644 common/crc32.h diff --git a/client/cmdhf14b.c b/client/cmdhf14b.c index 713959f29..e3d0fc230 100644 --- a/client/cmdhf14b.c +++ b/client/cmdhf14b.c @@ -404,20 +404,27 @@ int CmdHF14BWrite( const char *Cmd){ bool isSrix4k = true; char str[20]; - if (cmdp == 'h' || cmdp == 'H') { + if (strlen(Cmd) < 1 || cmdp == 'h' || cmdp == 'H') { PrintAndLog("Usage: hf 14b write <1|2> "); - PrintAndLog(""); - PrintAndLog(" sample: hf 14b write 1 127 11223344"); - PrintAndLog(" sample: hf 14b write 1 255 11223344"); - PrintAndLog(" sample: hf 14b write 2 15 11223344"); - PrintAndLog(" sample: hf 14b write 2 255 11223344"); + PrintAndLog(" [1 = SRIX4K]"); + PrintAndLog(" [2 = SRI512]"); + PrintAndLog(" [BLOCK number depends on tag, special block == FF]"); + PrintAndLog(" sample: hf 14b write 1 7F 11223344"); + PrintAndLog(" : hf 14b write 1 FF 11223344"); + PrintAndLog(" : hf 14b write 2 15 11223344"); + PrintAndLog(" : hf 14b write 2 FF 11223344"); return 0; } - if ( param_getchar(Cmd, 0) == '2' ) + if ( cmdp == '2' ) isSrix4k = false; - blockno = param_get8(Cmd, 1); + //blockno = param_get8(Cmd, 1); + + if ( param_gethex(Cmd,1, &blockno, 2) ) { + PrintAndLog("Block number must include 2 HEX symbols"); + return 0; + } if ( isSrix4k ){ if ( blockno > 0x7f && blockno != 0xff ){ @@ -437,11 +444,12 @@ int CmdHF14BWrite( const char *Cmd){ } if ( blockno == 0xff) - PrintAndLog("Writing to special block %02X [ %s]", blockno, sprint_hex(data,4) ); + PrintAndLog("[%s] Write special block %02X [ %s ]", (isSrix4k)?"SRIX4K":"SRI512" , blockno, sprint_hex(data,4) ); else - PrintAndLog("Writing to block %02X [ %s]", blockno, sprint_hex(data,4) ); + PrintAndLog("[%s] Write block %02X [ %s ]", (isSrix4k)?"SRIX4K":"SRI512", blockno, sprint_hex(data,4) ); sprintf(str, "-c -p 09 %02x %02x%02x%02x%02x", blockno, data[0], data[1], data[2], data[3]); + CmdHF14BCmdRaw(str); return 0; } diff --git a/common/crc32.c b/common/crc32.c new file mode 100644 index 000000000..69d770f4a --- /dev/null +++ b/common/crc32.c @@ -0,0 +1,35 @@ +#include +#include +#include "crc32.h" + +#define htole32(x) (x) +#define CRC32_PRESET 0xFFFFFFFF + + +static void crc32_byte (uint32_t *crc, const uint8_t value); + +static void crc32_byte (uint32_t *crc, const uint8_t value) { + /* x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 */ + const uint32_t poly = 0xEDB88320; + + *crc ^= value; + for (int current_bit = 7; current_bit >= 0; current_bit--) { + int bit_out = (*crc) & 0x00000001; + *crc >>= 1; + if (bit_out) + *crc ^= poly; + } +} + +void crc32 (const uint8_t *data, const size_t len, uint8_t *crc) { + uint32_t desfire_crc = CRC32_PRESET; + for (size_t i = 0; i < len; i++) { + crc32_byte (&desfire_crc, data[i]); + } + + *((uint32_t *)(crc)) = htole32 (desfire_crc); +} + +void crc32_append (uint8_t *data, const size_t len) { + crc32 (data, len, data + len); +} diff --git a/common/crc32.h b/common/crc32.h new file mode 100644 index 000000000..0dd2a3287 --- /dev/null +++ b/common/crc32.h @@ -0,0 +1,15 @@ +//----------------------------------------------------------------------------- +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// CRC32 +//----------------------------------------------------------------------------- + +#ifndef __CRC32_H +#define __CRC32_H + +void crc32 (const uint8_t *data, const size_t len, uint8_t *crc); +void crc32_append (uint8_t *data, const size_t len); + +#endif From 79bf1ad2cccdaf7af23b199f212be0542d02c061 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 7 Jan 2015 23:23:17 +0100 Subject: [PATCH 072/133] ADD: Jonor's timeout patch for "Hf 14a raw". minor code clean up --- client/cmdhf.c | 10 +++++----- client/cmdhf14a.c | 37 ++++++++++++++++++++++++++++++------- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 2da4c2d90..762fada43 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -342,8 +342,7 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho // Rough guess that this is a command from the reader // For iClass the command byte is not part of the CRC ComputeCrc14443(CRC_ICLASS, &frame[1], data_len-3, &b1, &b2); - } - else { + } else { // For other data.. CRC might not be applicable (UPDATE commands etc.) ComputeCrc14443(CRC_ICLASS, frame, data_len-2, &b1, &b2); } @@ -363,7 +362,6 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho } } } - } char *crc = crcError ? "!crc" :" "; @@ -371,8 +369,10 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho if(!isResponse) { - if(iclass) annotateIclass(explanation,sizeof(explanation),frame,data_len); - else annotateIso14443a(explanation,sizeof(explanation),frame,data_len); + if(iclass) + annotateIclass(explanation,sizeof(explanation),frame,data_len); + else + annotateIso14443a(explanation,sizeof(explanation),frame,data_len); } int num_lines = (data_len - 1)/16 + 1; diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 0298f5094..53ab240c7 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -27,7 +27,6 @@ static int CmdHelp(const char *Cmd); static void waitCmd(uint8_t iLen); - // structure and database for uid -> tagtype lookups typedef struct { uint8_t uid; @@ -515,19 +514,22 @@ int CmdHF14ACmdRaw(const char *cmd) { uint8_t active=0; uint8_t active_select=0; uint16_t numbits=0; + uint16_t timeout=0; + uint8_t bTimeout=0; char buf[5]=""; int i=0; - uint8_t data[100]; + uint8_t data[USB_CMD_DATA_SIZE]; unsigned int datalen=0, temp; if (strlen(cmd)<2) { - PrintAndLog("Usage: hf 14a raw [-r] [-c] [-p] [-f] [-b] <0A 0B 0C ... hex>"); + PrintAndLog("Usage: hf 14a raw [-r] [-c] [-p] [-f] [-b] [-t] <0A 0B 0C ... hex>"); PrintAndLog(" -r do not read response"); PrintAndLog(" -c calculate and append CRC"); PrintAndLog(" -p leave the signal field ON after receive"); PrintAndLog(" -a active signal field ON without select"); PrintAndLog(" -s active signal field ON with select"); PrintAndLog(" -b number of bits to send. Useful for send partial byte"); + PrintAndLog(" -t timeout"); return 0; } @@ -560,6 +562,14 @@ int CmdHF14ACmdRaw(const char *cmd) { while(cmd[i]!=' ' && cmd[i]!='\0') { i++; } i-=2; break; + case 't': + bTimeout=1; + sscanf(cmd+i+2,"%d",&temp); + timeout = temp & 0xFFFF; + i+=3; + while(cmd[i]!=' ' && cmd[i]!='\0') { i++; } + i+=2; + break; default: PrintAndLog("Invalid option"); return 0; @@ -577,15 +587,19 @@ int CmdHF14ACmdRaw(const char *cmd) { if (strlen(buf)>=2) { sscanf(buf,"%x",&temp); data[datalen]=(uint8_t)(temp & 0xff); - datalen++; *buf=0; + if (++datalen>sizeof(data)){ + if (crc) + PrintAndLog("Buffer is full, we can't add CRC to your data"); + break; + } } continue; } PrintAndLog("Invalid char on input"); return 0; } - if(crc && datalen>0) + if(crc && datalen>0 && datalenMAX_TIMEOUT) { + c.arg[2] = MAX_TIMEOUT; + PrintAndLog("Set timeout to 624 ms. The max we can wait for response"); + } + } if(power) c.arg[0] |= ISO14A_NO_DISCONNECT; if(datalen>0) c.arg[0] |= ISO14A_RAW; - c.arg[1] = datalen; - c.arg[2] = numbits; + // Max buffer is USB_CMD_DATA_SIZE + c.arg[1] = (datalen & 0xFFFF) | (numbits << 16); memcpy(c.d.asBytes,data,datalen); SendCommand(&c); From 787b5bd8a4368dfc4dff1b5390615b344cc1d20b Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 8 Jan 2015 00:08:33 +0100 Subject: [PATCH 073/133] CHG: minor code clean up in ArmSrc. ADD: added some more default keys in Hf mf nested, maybe it runs faster :) --- armsrc/appmain.c | 2 - armsrc/mifarecmd.c | 161 +++++++++++++++++++++----------------------- armsrc/mifareutil.c | 42 ++++++------ armsrc/util.c | 40 +++++++++++ armsrc/util.h | 4 ++ client/cmdhfmf.c | 16 +++-- 6 files changed, 150 insertions(+), 115 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index d52ed94a3..ca16ee60f 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -667,9 +667,7 @@ void UsbPacketReceived(uint8_t *packet, int len) WriteTItag(c->arg[0],c->arg[1],c->arg[2]); break; case CMD_SIMULATE_TAG_125K: - LED_A_ON(); SimulateTagLowFrequency(c->arg[0], c->arg[1], 1); - LED_A_OFF(); break; case CMD_LF_SIMULATE_BIDIR: SimulateTagLowFrequencyBidir(c->arg[0], c->arg[1]); diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index a52ee4c91..2619a9763 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -15,6 +15,7 @@ #include "mifarecmd.h" #include "apps.h" +#include "util.h" //----------------------------------------------------------------------------- // Select, Authenticate, Read a MIFARE tag. @@ -86,48 +87,40 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) void MifareUReadBlock(uint8_t arg0,uint8_t *datain) { - // params uint8_t blockNo = arg0; - - // variables - byte_t isOK = 0; - byte_t dataoutbuf[16]; - uint8_t uid[10]; + byte_t dataout[16] = {0x00}; + uint8_t uid[10] = {0x00}; uint32_t cuid; - // clear trace - iso14a_clear_trace(); - iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - LED_A_ON(); LED_B_OFF(); LED_C_OFF(); - while (true) { - if(!iso14443a_select_card(uid, NULL, &cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); - break; + iso14a_clear_trace(); + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); + + int len = iso14443a_select_card(uid, NULL, &cuid); + if(!len) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card"); + OnError(1); + return; }; - if(mifare_ultra_readblock(cuid, blockNo, dataoutbuf)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block error"); - break; + len = mifare_ultra_readblock(cuid, blockNo, dataout); + if(len) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Read block error"); + OnError(2); + return; }; - if(mifare_ultra_halt(cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); - break; + len = mifare_ultra_halt(cuid); + if(len) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Halt error"); + OnError(3); + return; }; - isOK = 1; - break; - } - - if (MF_DBGLEVEL >= 2) DbpString("READ BLOCK FINISHED"); - - LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); - LED_B_OFF(); + cmd_send(CMD_ACK,1,0,0,dataout,16); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); } @@ -200,57 +193,70 @@ void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) LEDsoff(); } - -void MifareUReadCard(uint8_t arg0, uint8_t *datain) +void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) { // params uint8_t sectorNo = arg0; - - // variables - byte_t isOK = 0; - byte_t dataoutbuf[16 * 4]; - uint8_t uid[10]; + int Pages = arg1; + int count_Pages = 0; + byte_t dataout[176] = {0x00};; + uint8_t uid[10] = {0x00}; uint32_t cuid; - // clear trace - iso14a_clear_trace(); - - iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - LED_A_ON(); LED_B_OFF(); LED_C_OFF(); - while (true) { - if(!iso14443a_select_card(uid, NULL, &cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card"); - break; - }; - for(int sec=0;sec<16;sec++){ - if(mifare_ultra_readblock(cuid, sectorNo * 4 + sec, dataoutbuf + 4 * sec)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Read block %d error",sec); - break; - }; - } - if(mifare_ultra_halt(cuid)) { - if (MF_DBGLEVEL >= 1) Dbprintf("Halt error"); - break; - }; + if (MF_DBGLEVEL >= MF_DBG_ALL) + Dbprintf("Pages %d",Pages); + + iso14a_clear_trace(); + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); - isOK = 1; - break; - } - - if (MF_DBGLEVEL >= 2) DbpString("READ CARD FINISHED"); + int len = iso14443a_select_card(uid, NULL, &cuid); + + if (!len) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Can't select card"); + OnError(1); + return; + } + + for (int i = 0; i < Pages; i++){ + + len = mifare_ultra_readblock(cuid, sectorNo * 4 + i, dataout + 4 * i); + + if (len) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Read block %d error",i); + OnError(2); + return; + } else { + count_Pages++; + } + } + + len = mifare_ultra_halt(cuid); + if (len) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Halt error"); + OnError(3); + return; + } + + if (MF_DBGLEVEL >= MF_DBG_ALL) { + Dbprintf("Pages read %d", count_Pages); + } - LED_B_ON(); - cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,64); - LED_B_OFF(); + len = 16*4; //64 bytes + + // Read a UL-C + if (Pages == 44 && count_Pages > 16) + len = 176; - // Thats it... + cmd_send(CMD_ACK, 1, 0, 0, dataout, len); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); - } @@ -330,19 +336,16 @@ void MifareUWriteBlock(uint8_t arg0, uint8_t *datain) { // params uint8_t blockNo = arg0; - byte_t blockdata[16]; + byte_t blockdata[16] = {0x00}; - memset(blockdata,'\0',16); memcpy(blockdata, datain,16); // variables byte_t isOK = 0; - uint8_t uid[10]; + uint8_t uid[10] = {0x00}; uint32_t cuid; - // clear trace iso14a_clear_trace(); - iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); LED_A_ON(); @@ -371,33 +374,25 @@ void MifareUWriteBlock(uint8_t arg0, uint8_t *datain) if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED"); - LED_B_ON(); cmd_send(CMD_ACK,isOK,0,0,0,0); - LED_B_OFF(); - - - // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); -// iso14a_set_tracing(TRUE); } void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain) { // params uint8_t blockNo = arg0; - byte_t blockdata[4]; + byte_t blockdata[4] = {0x00}; memcpy(blockdata, datain,4); // variables byte_t isOK = 0; - uint8_t uid[10]; + uint8_t uid[10] = {0x00}; uint32_t cuid; - // clear trace iso14a_clear_trace(); - iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); LED_A_ON(); @@ -426,11 +421,7 @@ void MifareUWriteBlock_Special(uint8_t arg0, uint8_t *datain) if (MF_DBGLEVEL >= 2) DbpString("WRITE BLOCK FINISHED"); - LED_B_ON(); cmd_send(CMD_ACK,isOK,0,0,0,0); - LED_B_OFF(); - - // Thats it... FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); } diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index 680af0fed..976f6dca7 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -149,7 +149,7 @@ int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cm return len; } -// mifare commands +// mifare classic commands int mifare_classic_auth(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint8_t isNested) { return mifare_classic_authex(pcs, uid, blockNo, keyType, ui64Key, isNested, NULL, NULL); @@ -280,10 +280,8 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) { - // variables uint16_t len; uint8_t bt[2]; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; @@ -291,18 +289,21 @@ int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) // command MIFARE_CLASSIC_READBLOCK len = mifare_sendcmd_short(NULL, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL); if (len == 1) { - if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Error: %02x", receivedAnswer[0]); + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Cmd Error: %02x", receivedAnswer[0]); return 1; } if (len != 18) { - if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Error: card timeout. len: %x", len); + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Cmd Error: card timeout. len: %x", len); return 2; } memcpy(bt, receivedAnswer + 16, 2); AppendCrc14443a(receivedAnswer, 16); if (bt[0] != receivedAnswer[16] || bt[1] != receivedAnswer[17]) { - if (MF_DBGLEVEL >= 1) Dbprintf("Cmd CRC response error."); + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Cmd CRC response error."); return 3; } @@ -360,10 +361,9 @@ int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t bl int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) { - // variables uint16_t len; uint8_t par[3] = {0}; // enough for 18 parity bits - uint8_t d_block[18]; + uint8_t d_block[18] = {0x00}; uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; @@ -371,49 +371,46 @@ int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) len = mifare_sendcmd_short(NULL, true, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL); if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK - if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Addr Error: %02x", receivedAnswer[0]); + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Cmd Addr Error: %02x", receivedAnswer[0]); return 1; } - memset(d_block,'\0',18); memcpy(d_block, blockData, 16); AppendCrc14443a(d_block, 16); ReaderTransmitPar(d_block, sizeof(d_block), par, NULL); - // Receive the response len = ReaderReceive(receivedAnswer, receivedAnswerPar); if ((len != 1) || (receivedAnswer[0] != 0x0A)) { // 0x0a - ACK - if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Data Error: %02x %d", receivedAnswer[0],len); + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Cmd Data Error: %02x %d", receivedAnswer[0],len); return 2; } - return 0; } int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) { uint16_t len; - uint8_t d_block[8]; + uint8_t d_block[8] = {0x00}; uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; // command MIFARE_CLASSIC_WRITEBLOCK - memset(d_block,'\0',8); d_block[0]= blockNo; memcpy(d_block+1,blockData,4); AppendCrc14443a(d_block, 6); - //i know the data send here is correct len = mifare_sendcmd_short_special(NULL, 1, 0xA2, d_block, receivedAnswer, receivedAnswerPar, NULL); if (receivedAnswer[0] != 0x0A) { // 0x0a - ACK - if (MF_DBGLEVEL >= 1) Dbprintf("Cmd Send Error: %02x %d", receivedAnswer[0],len); + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Cmd Send Error: %02x %d", receivedAnswer[0],len); return 1; } - - return 0; + return 0; } int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) @@ -424,7 +421,8 @@ int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) len = mifare_sendcmd_short(pcs, pcs == NULL ? false:true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL); if (len != 0) { - if (MF_DBGLEVEL >= 1) Dbprintf("halt error. response len: %x", len); + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("halt error. response len: %x", len); return 1; } @@ -439,10 +437,10 @@ int mifare_ultra_halt(uint32_t uid) len = mifare_sendcmd_short(NULL, true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL); if (len != 0) { - if (MF_DBGLEVEL >= 1) Dbprintf("halt error. response len: %x", len); + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("halt error. response len: %x", len); return 1; } - return 0; } diff --git a/armsrc/util.c b/armsrc/util.c index 5b68f5134..674f1b91f 100644 --- a/armsrc/util.c +++ b/armsrc/util.c @@ -13,6 +13,26 @@ #include "string.h" #include "apps.h" + + +void print_result(char *name, uint8_t *buf, size_t len) { + uint8_t *p = buf; + + if ( len % 16 == 0 ) { + for(; p-buf < len; p += 16) + Dbprintf("[%s:%d/%d] %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x", + name, + p-buf, + len, + p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7],p[8], p[9], p[10], p[11], p[12], p[13], p[14], p[15] + ); + } + else { + for(; p-buf < len; p += 8) + Dbprintf("[%s:%d/%d] %02x %02x %02x %02x %02x %02x %02x %02x", name, p-buf, len, p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]); + } +} + size_t nbytes(size_t nbits) { return (nbits/8)+((nbits%8)>0); } @@ -45,6 +65,26 @@ uint64_t bytes_to_num(uint8_t* src, size_t len) return num; } +// RotateLeft - Ultralight, Desfire +void rol(uint8_t *data, const size_t len){ + uint8_t first = data[0]; + for (size_t i = 0; i < len-1; i++) { + data[i] = data[i+1]; + } + data[len-1] = first; +} +void lsl (uint8_t *data, size_t len) { + for (size_t n = 0; n < len - 1; n++) { + data[n] = (data[n] << 1) | (data[n+1] >> 7); + } + data[len - 1] <<= 1; +} + +int32_t le24toh (uint8_t data[3]) +{ + return (data[2] << 16) | (data[1] << 8) | data[0]; +} + void LEDsoff() { LED_A_OFF(); diff --git a/armsrc/util.h b/armsrc/util.h index e8b9cdffb..d7eacd705 100644 --- a/armsrc/util.h +++ b/armsrc/util.h @@ -27,10 +27,14 @@ #define BUTTON_DOUBLE_CLICK -2 #define BUTTON_ERROR -99 +void print_result(char *name, uint8_t *buf, size_t len); size_t nbytes(size_t nbits); uint32_t SwapBits(uint32_t value, int nrbits); void num_to_bytes(uint64_t n, size_t len, uint8_t* dest); uint64_t bytes_to_num(uint8_t* src, size_t len); +void rol(uint8_t *data, const size_t len); +void lsl (uint8_t *data, size_t len); +int32_t le24toh (uint8_t data[3]); void SpinDelay(int ms); void SpinDelayUs(int us); diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 7ad6e0a1e..66c0b25d1 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -513,7 +513,6 @@ int CmdHF14AMfDump(const char *Cmd) } fclose(fin); - // Read access rights to sectors PrintAndLog("|-----------------------------------------|"); PrintAndLog("|------ Reading sector access bits...-----|"); @@ -544,8 +543,6 @@ int CmdHF14AMfDump(const char *Cmd) } } - // Read blocks and print to file - PrintAndLog("|-----------------------------------------|"); PrintAndLog("|----- Dumping all blocks to file... -----|"); PrintAndLog("|-----------------------------------------|"); @@ -739,7 +736,7 @@ int CmdHF14AMfNested(const char *Cmd) uint8_t trgKeyType = 0; uint8_t SectorsCnt = 0; uint8_t key[6] = {0, 0, 0, 0, 0, 0}; - uint8_t keyBlock[6*6]; + uint8_t keyBlock[13*6]; uint64_t key64 = 0; bool transferToEml = false; @@ -856,6 +853,14 @@ int CmdHF14AMfNested(const char *Cmd) num_to_bytes(0xa0a1a2a3a4a5, 6, (uint8_t*)(keyBlock + 3 * 6)); num_to_bytes(0xb0b1b2b3b4b5, 6, (uint8_t*)(keyBlock + 4 * 6)); num_to_bytes(0xaabbccddeeff, 6, (uint8_t*)(keyBlock + 5 * 6)); + num_to_bytes(0x4d3a99c351dd, 6, (uint8_t*)(keyBlock + 6 * 6)); + num_to_bytes(0x1a982c7e459a, 6, (uint8_t*)(keyBlock + 7 * 6)); + num_to_bytes(0xd3f7d3f7d3f7, 6, (uint8_t*)(keyBlock + 8 * 6)); + num_to_bytes(0x714c5c886e97, 6, (uint8_t*)(keyBlock + 9 * 6)); + num_to_bytes(0x587ee5f9350f, 6, (uint8_t*)(keyBlock + 10 * 6)); + num_to_bytes(0xa0478cc39091, 6, (uint8_t*)(keyBlock + 11 * 6)); + num_to_bytes(0x533cb6c723f6, 6, (uint8_t*)(keyBlock + 12 * 6)); + num_to_bytes(0x8fd0a4f256e9, 6, (uint8_t*)(keyBlock + 13 * 6)); PrintAndLog("Testing known keys. Sector count=%d", SectorsCnt); for (i = 0; i < SectorsCnt; i++) { @@ -883,8 +888,7 @@ int CmdHF14AMfNested(const char *Cmd) if(mfnested(blockNo, keyType, key, FirstBlockOfSector(sectorNo), trgKeyType, keyBlock, calibrate)) { PrintAndLog("Nested error.\n"); free(e_sector); - return 2; - } + return 2; } else { calibrate = false; } From 4118b74dc8834bd2f45002ca6b781ce7cfae6d0c Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 6 Jan 2015 09:20:36 -0500 Subject: [PATCH 074/133] added data psk* cmds for pskdemod fixed a couple small bugs in other lf functions as well including detectaskclock, stopped changes from being made to graphbuffer. --- armsrc/lfops.c | 2840 ++--- client/cmddata.c | 337 +- client/cmddata.h | 9 +- client/cmdlf.c | 30 +- client/cmdlfem4x.c | 2 +- client/graph.c | 52 +- client/graph.h | 1 + common/lfdemod.c | 1619 +-- common/lfdemod.h | 8 +- traces/ATA5577-HIDemu-FC1-C9.pm3 | 16000 +++++++++++++++++++++++++++++ traces/README.txt | 7 + 11 files changed, 18827 insertions(+), 2078 deletions(-) create mode 100644 traces/ATA5577-HIDemu-FC1-C9.pm3 diff --git a/armsrc/lfops.c b/armsrc/lfops.c index edddb1c60..79d59bf9c 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -25,40 +25,40 @@ */ void DoAcquisition125k_internal(int trigger_threshold,bool silent) { - uint8_t *dest = (uint8_t *)BigBuf; - int n = sizeof(BigBuf); - int i; + uint8_t *dest = (uint8_t *)BigBuf; + int n = sizeof(BigBuf); + int i; - memset(dest, 0, n); - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - LED_D_ON(); - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - LED_D_OFF(); - if (trigger_threshold != -1 && dest[i] < trigger_threshold) - continue; - else - trigger_threshold = -1; - if (++i >= n) break; - } - } - if(!silent) - { - Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", - dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); - - } + memset(dest, 0, n); + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + LED_D_ON(); + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + LED_D_OFF(); + if (trigger_threshold != -1 && dest[i] < trigger_threshold) + continue; + else + trigger_threshold = -1; + if (++i >= n) break; + } + } + if(!silent) + { + Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", + dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); + + } } /** * Perform sample aquisition. */ void DoAcquisition125k(int trigger_threshold) { - DoAcquisition125k_internal(trigger_threshold, false); + DoAcquisition125k_internal(trigger_threshold, false); } /** @@ -70,31 +70,31 @@ void DoAcquisition125k(int trigger_threshold) **/ void LFSetupFPGAForADC(int divisor, bool lf_field) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else if (divisor == 0) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + else if (divisor == 0) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + else + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); } /** * Initializes the FPGA, and acquires the samples. **/ void AcquireRawAdcSamples125k(int divisor) { - LFSetupFPGAForADC(divisor, true); - // Now call the acquisition routine - DoAcquisition125k_internal(-1,false); + LFSetupFPGAForADC(divisor, true); + // Now call the acquisition routine + DoAcquisition125k_internal(-1,false); } /** * Initializes the FPGA for snoop-mode, and acquires the samples. @@ -102,60 +102,60 @@ void AcquireRawAdcSamples125k(int divisor) void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) { - LFSetupFPGAForADC(divisor, false); - DoAcquisition125k(trigger_threshold); + LFSetupFPGAForADC(divisor, false); + DoAcquisition125k(trigger_threshold); } void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) { - /* Make sure the tag is reset */ - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(2500); + /* Make sure the tag is reset */ + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(2500); - int divisor_used = 95; // 125 KHz - // see if 'h' was specified + int divisor_used = 95; // 125 KHz + // see if 'h' was specified - if (command[strlen((char *) command) - 1] == 'h') - divisor_used = 88; // 134.8 KHz + if (command[strlen((char *) command) - 1] == 'h') + divisor_used = 88; // 134.8 KHz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); - // And a little more time for the tag to fully power up - SpinDelay(2000); + // And a little more time for the tag to fully power up + SpinDelay(2000); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - // now modulate the reader field - while(*command != '\0' && *command != ' ') { - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + // now modulate the reader field + while(*command != '\0' && *command != ' ') { + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - LED_D_ON(); - if(*(command++) == '0') - SpinDelayUs(period_0); - else - SpinDelayUs(period_1); - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + if(*(command++) == '0') + SpinDelayUs(period_0); + else + SpinDelayUs(period_1); + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // now do the read - DoAcquisition125k(-1); + // now do the read + DoAcquisition125k(-1); } /* blank r/w tag data stream @@ -169,228 +169,230 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, */ void ReadTItag(void) { - // some hardcoded initial params - // when we read a TI tag we sample the zerocross line at 2Mhz - // TI tags modulate a 1 as 16 cycles of 123.2Khz - // TI tags modulate a 0 as 16 cycles of 134.2Khz -#define FSAMPLE 2000000 -#define FREQLO 123200 -#define FREQHI 134200 + // some hardcoded initial params + // when we read a TI tag we sample the zerocross line at 2Mhz + // TI tags modulate a 1 as 16 cycles of 123.2Khz + // TI tags modulate a 0 as 16 cycles of 134.2Khz + #define FSAMPLE 2000000 + #define FREQLO 123200 + #define FREQHI 134200 - signed char *dest = (signed char *)BigBuf; - int n = sizeof(BigBuf); + signed char *dest = (signed char *)BigBuf; + int n = sizeof(BigBuf); +// int *dest = GraphBuffer; +// int n = GraphTraceLen; - // 128 bit shift register [shift3:shift2:shift1:shift0] - uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; + // 128 bit shift register [shift3:shift2:shift1:shift0] + uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; - int i, cycles=0, samples=0; - // how many sample points fit in 16 cycles of each frequency - uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; - // when to tell if we're close enough to one freq or another - uint32_t threshold = (sampleslo - sampleshi + 1)>>1; + int i, cycles=0, samples=0; + // how many sample points fit in 16 cycles of each frequency + uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; + // when to tell if we're close enough to one freq or another + uint32_t threshold = (sampleslo - sampleshi + 1)>>1; - // TI tags charge at 134.2Khz - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // TI tags charge at 134.2Khz + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - for (i=0; i0) ) { - cycles++; - // after 16 cycles, measure the frequency - if (cycles>15) { - cycles=0; - samples=i-samples; // number of samples in these 16 cycles + for (i=0; i0) ) { + cycles++; + // after 16 cycles, measure the frequency + if (cycles>15) { + cycles=0; + samples=i-samples; // number of samples in these 16 cycles - // TI bits are coming to us lsb first so shift them - // right through our 128 bit right shift register - shift0 = (shift0>>1) | (shift1 << 31); - shift1 = (shift1>>1) | (shift2 << 31); - shift2 = (shift2>>1) | (shift3 << 31); - shift3 >>= 1; + // TI bits are coming to us lsb first so shift them + // right through our 128 bit right shift register + shift0 = (shift0>>1) | (shift1 << 31); + shift1 = (shift1>>1) | (shift2 << 31); + shift2 = (shift2>>1) | (shift3 << 31); + shift3 >>= 1; - // check if the cycles fall close to the number - // expected for either the low or high frequency - if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { - // low frequency represents a 1 - shift3 |= (1<<31); - } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { - // high frequency represents a 0 - } else { - // probably detected a gay waveform or noise - // use this as gaydar or discard shift register and start again - shift3 = shift2 = shift1 = shift0 = 0; - } - samples = i; + // check if the cycles fall close to the number + // expected for either the low or high frequency + if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { + // low frequency represents a 1 + shift3 |= (1<<31); + } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { + // high frequency represents a 0 + } else { + // probably detected a gay waveform or noise + // use this as gaydar or discard shift register and start again + shift3 = shift2 = shift1 = shift0 = 0; + } + samples = i; - // for each bit we receive, test if we've detected a valid tag + // for each bit we receive, test if we've detected a valid tag - // if we see 17 zeroes followed by 6 ones, we might have a tag - // remember the bits are backwards - if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { - // if start and end bytes match, we have a tag so break out of the loop - if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { - cycles = 0xF0B; //use this as a flag (ugly but whatever) - break; - } - } - } - } - } + // if we see 17 zeroes followed by 6 ones, we might have a tag + // remember the bits are backwards + if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { + // if start and end bytes match, we have a tag so break out of the loop + if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { + cycles = 0xF0B; //use this as a flag (ugly but whatever) + break; + } + } + } + } + } - // if flag is set we have a tag - if (cycles!=0xF0B) { - DbpString("Info: No valid tag detected."); - } else { - // put 64 bit data into shift1 and shift0 - shift0 = (shift0>>24) | (shift1 << 8); - shift1 = (shift1>>24) | (shift2 << 8); + // if flag is set we have a tag + if (cycles!=0xF0B) { + DbpString("Info: No valid tag detected."); + } else { + // put 64 bit data into shift1 and shift0 + shift0 = (shift0>>24) | (shift1 << 8); + shift1 = (shift1>>24) | (shift2 << 8); - // align 16 bit crc into lower half of shift2 - shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; + // align 16 bit crc into lower half of shift2 + shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; - // if r/w tag, check ident match - if ( shift3&(1<<15) ) { - DbpString("Info: TI tag is rewriteable"); - // only 15 bits compare, last bit of ident is not valid - if ( ((shift3>>16)^shift0)&0x7fff ) { - DbpString("Error: Ident mismatch!"); - } else { - DbpString("Info: TI tag ident is valid"); - } - } else { - DbpString("Info: TI tag is readonly"); - } + // if r/w tag, check ident match + if ( shift3&(1<<15) ) { + DbpString("Info: TI tag is rewriteable"); + // only 15 bits compare, last bit of ident is not valid + if ( ((shift3>>16)^shift0)&0x7fff ) { + DbpString("Error: Ident mismatch!"); + } else { + DbpString("Info: TI tag ident is valid"); + } + } else { + DbpString("Info: TI tag is readonly"); + } - // WARNING the order of the bytes in which we calc crc below needs checking - // i'm 99% sure the crc algorithm is correct, but it may need to eat the - // bytes in reverse or something - // calculate CRC - uint32_t crc=0; + // WARNING the order of the bytes in which we calc crc below needs checking + // i'm 99% sure the crc algorithm is correct, but it may need to eat the + // bytes in reverse or something + // calculate CRC + uint32_t crc=0; - crc = update_crc16(crc, (shift0)&0xff); - crc = update_crc16(crc, (shift0>>8)&0xff); - crc = update_crc16(crc, (shift0>>16)&0xff); - crc = update_crc16(crc, (shift0>>24)&0xff); - crc = update_crc16(crc, (shift1)&0xff); - crc = update_crc16(crc, (shift1>>8)&0xff); - crc = update_crc16(crc, (shift1>>16)&0xff); - crc = update_crc16(crc, (shift1>>24)&0xff); + crc = update_crc16(crc, (shift0)&0xff); + crc = update_crc16(crc, (shift0>>8)&0xff); + crc = update_crc16(crc, (shift0>>16)&0xff); + crc = update_crc16(crc, (shift0>>24)&0xff); + crc = update_crc16(crc, (shift1)&0xff); + crc = update_crc16(crc, (shift1>>8)&0xff); + crc = update_crc16(crc, (shift1>>16)&0xff); + crc = update_crc16(crc, (shift1>>24)&0xff); - Dbprintf("Info: Tag data: %x%08x, crc=%x", - (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); - if (crc != (shift2&0xffff)) { - Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); - } else { - DbpString("Info: CRC is good"); - } - } + Dbprintf("Info: Tag data: %x%08x, crc=%x", + (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); + if (crc != (shift2&0xffff)) { + Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); + } else { + DbpString("Info: CRC is good"); + } + } } void WriteTIbyte(uint8_t b) { - int i = 0; + int i = 0; - // modulate 8 bits out to the antenna - for (i=0; i<8; i++) - { - if (b&(1<PIO_PDR = GPIO_SSC_DIN; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; + // Set up the synchronous serial port + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DIN; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; - // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long - // 48/2 = 24 MHz clock must be divided by 12 - AT91C_BASE_SSC->SSC_CMR = 12; + // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long + // 48/2 = 24 MHz clock must be divided by 12 + AT91C_BASE_SSC->SSC_CMR = 12; - AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); - AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; - AT91C_BASE_SSC->SSC_TCMR = 0; - AT91C_BASE_SSC->SSC_TFMR = 0; + AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); + AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; + AT91C_BASE_SSC->SSC_TCMR = 0; + AT91C_BASE_SSC->SSC_TFMR = 0; - LED_D_ON(); + LED_D_ON(); - // modulate antenna - HIGH(GPIO_SSC_DOUT); + // modulate antenna + HIGH(GPIO_SSC_DOUT); - // Charge TI tag for 50ms. - SpinDelay(50); + // Charge TI tag for 50ms. + SpinDelay(50); - // stop modulating antenna and listen - LOW(GPIO_SSC_DOUT); + // stop modulating antenna and listen + LOW(GPIO_SSC_DOUT); - LED_D_OFF(); + LED_D_OFF(); - i = 0; - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer - i++; if(i >= TIBUFLEN) break; - } - WDT_HIT(); - } + i = 0; + for(;;) { + if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer + i++; if(i >= TIBUFLEN) break; + } + WDT_HIT(); + } - // return stolen pin to SSP - AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; + // return stolen pin to SSP + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; - char *dest = (char *)BigBuf; - n = TIBUFLEN*32; - // unpack buffer - for (i=TIBUFLEN-1; i>=0; i--) { - for (j=0; j<32; j++) { - if(BigBuf[i] & (1 << j)) { - dest[--n] = 1; - } else { - dest[--n] = -1; - } - } - } + char *dest = (char *)BigBuf; + n = TIBUFLEN*32; + // unpack buffer + for (i=TIBUFLEN-1; i>=0; i--) { + for (j=0; j<32; j++) { + if(BigBuf[i] & (1 << j)) { + dest[--n] = 1; + } else { + dest[--n] = -1; + } + } + } } // arguments: 64bit data split into 32bit idhi:idlo and optional 16bit crc @@ -398,127 +400,127 @@ void AcquireTiType(void) // if not provided a valid crc will be computed from the data and written. void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if(crc == 0) { - crc = update_crc16(crc, (idlo)&0xff); - crc = update_crc16(crc, (idlo>>8)&0xff); - crc = update_crc16(crc, (idlo>>16)&0xff); - crc = update_crc16(crc, (idlo>>24)&0xff); - crc = update_crc16(crc, (idhi)&0xff); - crc = update_crc16(crc, (idhi>>8)&0xff); - crc = update_crc16(crc, (idhi>>16)&0xff); - crc = update_crc16(crc, (idhi>>24)&0xff); - } - Dbprintf("Writing to tag: %x%08x, crc=%x", - (unsigned int) idhi, (unsigned int) idlo, crc); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if(crc == 0) { + crc = update_crc16(crc, (idlo)&0xff); + crc = update_crc16(crc, (idlo>>8)&0xff); + crc = update_crc16(crc, (idlo>>16)&0xff); + crc = update_crc16(crc, (idlo>>24)&0xff); + crc = update_crc16(crc, (idhi)&0xff); + crc = update_crc16(crc, (idhi>>8)&0xff); + crc = update_crc16(crc, (idhi>>16)&0xff); + crc = update_crc16(crc, (idhi>>24)&0xff); + } + Dbprintf("Writing to tag: %x%08x, crc=%x", + (unsigned int) idhi, (unsigned int) idlo, crc); - // TI tags charge at 134.2Khz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - LED_A_ON(); + // TI tags charge at 134.2Khz + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + LED_A_ON(); - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - // writing algorithm: - // a high bit consists of a field off for 1ms and field on for 1ms - // a low bit consists of a field off for 0.3ms and field on for 1.7ms - // initiate a charge time of 50ms (field on) then immediately start writing bits - // start by writing 0xBB (keyword) and 0xEB (password) - // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) - // finally end with 0x0300 (write frame) - // all data is sent lsb firts - // finish with 15ms programming time + // writing algorithm: + // a high bit consists of a field off for 1ms and field on for 1ms + // a low bit consists of a field off for 0.3ms and field on for 1.7ms + // initiate a charge time of 50ms (field on) then immediately start writing bits + // start by writing 0xBB (keyword) and 0xEB (password) + // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) + // finally end with 0x0300 (write frame) + // all data is sent lsb firts + // finish with 15ms programming time - // modulate antenna - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // charge time + // modulate antenna + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // charge time - WriteTIbyte(0xbb); // keyword - WriteTIbyte(0xeb); // password - WriteTIbyte( (idlo )&0xff ); - WriteTIbyte( (idlo>>8 )&0xff ); - WriteTIbyte( (idlo>>16)&0xff ); - WriteTIbyte( (idlo>>24)&0xff ); - WriteTIbyte( (idhi )&0xff ); - WriteTIbyte( (idhi>>8 )&0xff ); - WriteTIbyte( (idhi>>16)&0xff ); - WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo - WriteTIbyte( (crc )&0xff ); // crc lo - WriteTIbyte( (crc>>8 )&0xff ); // crc hi - WriteTIbyte(0x00); // write frame lo - WriteTIbyte(0x03); // write frame hi - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // programming time + WriteTIbyte(0xbb); // keyword + WriteTIbyte(0xeb); // password + WriteTIbyte( (idlo )&0xff ); + WriteTIbyte( (idlo>>8 )&0xff ); + WriteTIbyte( (idlo>>16)&0xff ); + WriteTIbyte( (idlo>>24)&0xff ); + WriteTIbyte( (idhi )&0xff ); + WriteTIbyte( (idhi>>8 )&0xff ); + WriteTIbyte( (idhi>>16)&0xff ); + WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo + WriteTIbyte( (crc )&0xff ); // crc lo + WriteTIbyte( (crc>>8 )&0xff ); // crc hi + WriteTIbyte(0x00); // write frame lo + WriteTIbyte(0x03); // write frame hi + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // programming time - LED_A_OFF(); + LED_A_OFF(); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - DbpString("Now use tiread to check"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + DbpString("Now use tiread to check"); } void SimulateTagLowFrequency(int period, int gap, int ledcontrol) { - int i; - uint8_t *tab = (uint8_t *)BigBuf; + int i; + uint8_t *tab = (uint8_t *)BigBuf; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; #define SHORT_COIL() LOW(GPIO_SSC_DOUT) #define OPEN_COIL() HIGH(GPIO_SSC_DOUT) - i = 0; - for(;;) { - while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } + i = 0; + for(;;) { + while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } - if (ledcontrol) - LED_D_ON(); + if (ledcontrol) + LED_D_ON(); - if(tab[i]) - OPEN_COIL(); - else - SHORT_COIL(); + if(tab[i]) + OPEN_COIL(); + else + SHORT_COIL(); - if (ledcontrol) - LED_D_OFF(); + if (ledcontrol) + LED_D_OFF(); - while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } + while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } - i++; - if(i == period) { - i = 0; - if (gap) { - SHORT_COIL(); - SpinDelayUs(gap); - } - } - } + i++; + if(i == period) { + i = 0; + if (gap) { + SHORT_COIL(); + SpinDelayUs(gap); + } + } + } } #define DEBUG_FRAME_CONTENTS 1 @@ -528,314 +530,318 @@ void SimulateTagLowFrequencyBidir(int divisor, int t0) // compose fc/8 fc/10 waveform static void fc(int c, int *n) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx; + uint8_t *dest = (uint8_t *)BigBuf; + int idx; - // for when we want an fc8 pattern every 4 logical bits - if(c==0) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples - if(c==8) { - for (idx=0; idx<6; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // for when we want an fc8 pattern every 4 logical bits + if(c==0) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples + if(c==8) { + for (idx=0; idx<6; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } - // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples - if(c==10) { - for (idx=0; idx<5; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples + if(c==10) { + for (idx=0; idx<5; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } } // prepare a waveform pattern in the buffer based on the ID given then // simulate a HID tag until the button is pressed void CmdHIDsimTAG(int hi, int lo, int ledcontrol) { - int n=0, i=0; - /* - HID tag bitstream format - The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits - A 1 bit is represented as 6 fc8 and 5 fc10 patterns - A 0 bit is represented as 5 fc10 and 6 fc8 patterns - A fc8 is inserted before every 4 bits - A special start of frame pattern is used consisting a0b0 where a and b are neither 0 - nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) - */ + int n=0, i=0; + /* + HID tag bitstream format + The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits + A 1 bit is represented as 6 fc8 and 5 fc10 patterns + A 0 bit is represented as 5 fc10 and 6 fc8 patterns + A fc8 is inserted before every 4 bits + A special start of frame pattern is used consisting a0b0 where a and b are neither 0 + nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) + */ - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - fc(0,&n); - // special start of frame marker containing invalid bit sequences - fc(8, &n); fc(8, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 - fc(10, &n); fc(10, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + fc(0,&n); + // special start of frame marker containing invalid bit sequences + fc(8, &n); fc(8, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 + fc(10, &n); fc(10, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 - WDT_HIT(); - // manchester encode bits 43 to 32 - for (i=11; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((hi>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 43 to 32 + for (i=11; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((hi>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - WDT_HIT(); - // manchester encode bits 31 to 0 - for (i=31; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((lo>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 31 to 0 + for (i=31; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((lo>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - if (ledcontrol) - LED_A_ON(); - - SimulateTagLowFrequency(n, 0, ledcontrol); + if (ledcontrol) + LED_A_ON(); + SimulateTagLowFrequency(n, 0, ledcontrol); - if (ledcontrol) - LED_A_OFF(); + if (ledcontrol) + LED_A_OFF(); } // loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t hi2=0, hi=0, lo=0; + size_t size=0; //, found=0; + uint32_t hi2=0, hi=0, lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + if (size < 2000) continue; + // FSK demodulator - int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); + int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); + + WDT_HIT(); - WDT_HIT(); - - if (bitLen>0 && lo>0){ - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - if (hi2 != 0){ //extra large HID tags - Dbprintf("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - }else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t bitlen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - bitlen =idx3+19; - fc =0; - cardnum=0; - if(bitlen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(bitlen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(bitlen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - bitlen= 37; - fc =0; - cardnum=0; - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - //Dbprintf("TAG ID: %x%08x (%d)", - // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - // reset - hi2 = hi = lo = 0; - } - WDT_HIT(); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + if (bitLen>0 && lo>0){ + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + if (hi2 != 0){ //extra large HID tags + Dbprintf("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + }else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; + } + bitlen =idx3+19; + fc =0; + cardnum=0; + if(bitlen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + //Dbprintf("TAG ID: %x%08x (%d)", + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + // reset + hi2 = hi = lo = 0; + } + WDT_HIT(); + //SpinDelay(50); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t bitLen=0; - int clk=0, invert=0, errCnt=0; - uint64_t lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + size_t size=0; //, found=0; + int bitLen=0; + int clk=0, invert=0, errCnt=0; + uint64_t lo=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator - //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); - bitLen=size; - //Dbprintf("DEBUG: Buffer got"); - errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); - //Dbprintf("DEBUG: ASK Got"); - WDT_HIT(); + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + if (size < 2000) continue; + // FSK demodulator + //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); + bitLen=size; + //Dbprintf("DEBUG: Buffer got"); + errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); + //Dbprintf("DEBUG: ASK Got"); + WDT_HIT(); - if (errCnt>=0){ - lo = Em410xDecode(dest,bitLen); - //Dbprintf("DEBUG: EM GOT"); - //printEM410x(lo); - if (lo>0){ - Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - } else{ - //Dbprintf("DEBUG: No Tag"); - } - WDT_HIT(); - lo = 0; - clk=0; - invert=0; - errCnt=0; - size=0; - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + if (errCnt>=0){ + lo = Em410xDecode(dest,bitLen); + //Dbprintf("DEBUG: EM GOT"); + //printEM410x(lo); + if (lo>0){ + Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + } else{ + //Dbprintf("DEBUG: No Tag"); + } + WDT_HIT(); + lo = 0; + clk=0; + invert=0; + errCnt=0; + size=0; + //SpinDelay(50); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx=0; - uint32_t code=0, code2=0; - uint8_t version=0; - uint8_t facilitycode=0; - uint16_t number=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + uint8_t *dest = (uint8_t *)BigBuf; + size_t size=0; + int idx=0; + uint32_t code=0, code2=0; + uint8_t version=0; + uint8_t facilitycode=0; + uint16_t number=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); + + while(!BUTTON_PRESS()) { + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + //make sure buffer has data + if (size < 2000) continue; + //fskdemod and get start index + WDT_HIT(); + idx = IOdemodFSK(dest,size); + if (idx>0){ + //valid tag found - while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - //fskdemod and get start index - WDT_HIT(); - idx = IOdemodFSK(dest,sizeof(BigBuf)); - if (idx>0){ - //valid tag found - - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - if(findone){ //only print binary if we are doing one - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); - Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); - } - code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); - version = bytebits_to_byte(dest+idx+27,8); //14,4 - facilitycode = bytebits_to_byte(dest+idx+18,8) ; - number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 - - Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - // if we're only looking for one tag - if (findone){ - if (ledcontrol) LED_A_OFF(); - //LED_A_OFF(); - return; - } - code=code2=0; - version=facilitycode=0; - number=0; - idx=0; - } - WDT_HIT(); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + if(findone){ //only print binary if we are doing one + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); + Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); + } + code = bytebits_to_byte(dest+idx,32); + code2 = bytebits_to_byte(dest+idx+32,32); + version = bytebits_to_byte(dest+idx+27,8); //14,4 + facilitycode = bytebits_to_byte(dest+idx+18,8) ; + number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 + + Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + // if we're only looking for one tag + if (findone){ + if (ledcontrol) LED_A_OFF(); + //LED_A_OFF(); + return; + } + code=code2=0; + version=facilitycode=0; + number=0; + idx=0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } /*------------------------------ @@ -905,307 +911,307 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) // Write one bit to card void T55xxWriteBit(int bit) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - if (bit == 0) - SpinDelayUs(WRITE_0); - else - SpinDelayUs(WRITE_1); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(WRITE_GAP); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + if (bit == 0) + SpinDelayUs(WRITE_0); + else + SpinDelayUs(WRITE_1); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(WRITE_GAP); } // Write one card block in page 0, no lock void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - //unsigned int i; //enio adjustment 12/10/14 - uint32_t i; + //unsigned int i; //enio adjustment 12/10/14 + uint32_t i; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); - - // Data + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Data & i); + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); + // Data + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Data & i); - // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, - // so wait a little more) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); + + // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, + // so wait a little more) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); } // Read one card block in page 0 void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - uint8_t *dest = (uint8_t *)BigBuf; - //int m=0, i=0; //enio adjustment 12/10/14 - uint32_t m=0, i=0; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); - - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; - i++; - if (i >= m) break; - } - } - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + uint8_t *dest = (uint8_t *)BigBuf; + //int m=0, i=0; //enio adjustment 12/10/14 + uint32_t m=0, i=0; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); + + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); + + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; + i++; + if (i >= m) break; + } + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } // Read card traceability data (page 1) void T55xxReadTrace(void){ - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; - - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(1); //Page 1 - - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; + + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); + + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(1); //Page 1 + + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } /*-------------- Cloning routines -----------*/ // Copy HID id to card and setup block 0 config void CopyHIDtoT55x7(uint32_t hi2, uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format - int last_block = 0; - - if (longFMT){ - // Ensure no more than 84 bits supplied - if (hi2>0xFFFFF) { - DbpString("Tags can only have 84 bits."); - return; - } - // Build the 6 data blocks for supplied 84bit ID - last_block = 6; - data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) - for (int i=0;i<4;i++) { - if (hi2 & (1<<(19-i))) - data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((3-i)*2)); // 0 -> 01 - } - - data2 = 0; - for (int i=0;i<16;i++) { - if (hi2 & (1<<(15-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data3 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(31-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data4 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(15-i))) - data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data4 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data5 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data5 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data6 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data6 |= (1<<((15-i)*2)); // 0 -> 01 - } + int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format + int last_block = 0; + + if (longFMT){ + // Ensure no more than 84 bits supplied + if (hi2>0xFFFFF) { + DbpString("Tags can only have 84 bits."); + return; + } + // Build the 6 data blocks for supplied 84bit ID + last_block = 6; + data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) + for (int i=0;i<4;i++) { + if (hi2 & (1<<(19-i))) + data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((3-i)*2)); // 0 -> 01 + } + + data2 = 0; + for (int i=0;i<16;i++) { + if (hi2 & (1<<(15-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 } - else { - // Ensure no more than 44 bits supplied - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - - // Build the 3 data blocks for supplied 44bit ID - last_block = 3; - - data1 = 0x1D000000; // load preamble - - for (int i=0;i<12;i++) { - if (hi & (1<<(11-i))) - data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((11-i)*2)); // 0 -> 01 - } - - data2 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data3 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } + + data3 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(31-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data4 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(15-i))) + data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data4 |= (1<<((15-i)*2)); // 0 -> 01 } - - LED_D_ON(); - // Program the data blocks for supplied ID - // and the block 0 for HID format - T55xxWriteBlock(data1,1,0,0); - T55xxWriteBlock(data2,2,0,0); - T55xxWriteBlock(data3,3,0,0); - - if (longFMT) { // if long format there are 6 blocks - T55xxWriteBlock(data4,4,0,0); - T55xxWriteBlock(data5,5,0,0); - T55xxWriteBlock(data6,6,0,0); + + data5 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data5 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data6 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data6 |= (1<<((15-i)*2)); // 0 -> 01 } - - // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) - T55xxWriteBlock(T55x7_BITRATE_RF_50 | - T55x7_MODULATION_FSK2a | - last_block << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - - LED_D_OFF(); - - DbpString("DONE!"); + } + else { + // Ensure no more than 44 bits supplied + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + + // Build the 3 data blocks for supplied 44bit ID + last_block = 3; + + data1 = 0x1D000000; // load preamble + + for (int i=0;i<12;i++) { + if (hi & (1<<(11-i))) + data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((11-i)*2)); // 0 -> 01 + } + + data2 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data3 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } + } + + LED_D_ON(); + // Program the data blocks for supplied ID + // and the block 0 for HID format + T55xxWriteBlock(data1,1,0,0); + T55xxWriteBlock(data2,2,0,0); + T55xxWriteBlock(data3,3,0,0); + + if (longFMT) { // if long format there are 6 blocks + T55xxWriteBlock(data4,4,0,0); + T55xxWriteBlock(data5,5,0,0); + T55xxWriteBlock(data6,6,0,0); + } + + // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) + T55xxWriteBlock(T55x7_BITRATE_RF_50 | + T55x7_MODULATION_FSK2a | + last_block << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + + LED_D_OFF(); + + DbpString("DONE!"); } void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0; //up to six blocks for long format - + int data1=0, data2=0; //up to six blocks for long format + data1 = hi; // load preamble data2 = lo; @@ -1214,11 +1220,11 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) // and the block 0 for HID format T55xxWriteBlock(data1,1,0,0); T55xxWriteBlock(data2,2,0,0); - + //Config Block T55xxWriteBlock(0x00147040,0,0,0); LED_D_OFF(); - + DbpString("DONE!"); } @@ -1228,148 +1234,152 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) { - int i, id_bit; - uint64_t id = EM410X_HEADER; - uint64_t rev_id = 0; // reversed ID - int c_parity[4]; // column parity - int r_parity = 0; // row parity - uint32_t clock = 0; + int i, id_bit; + uint64_t id = EM410X_HEADER; + uint64_t rev_id = 0; // reversed ID + int c_parity[4]; // column parity + int r_parity = 0; // row parity + uint32_t clock = 0; - // Reverse ID bits given as parameter (for simpler operations) - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - if (i < 32) { - rev_id = (rev_id << 1) | (id_lo & 1); - id_lo >>= 1; - } else { - rev_id = (rev_id << 1) | (id_hi & 1); - id_hi >>= 1; - } - } + // Reverse ID bits given as parameter (for simpler operations) + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + if (i < 32) { + rev_id = (rev_id << 1) | (id_lo & 1); + id_lo >>= 1; + } else { + rev_id = (rev_id << 1) | (id_hi & 1); + id_hi >>= 1; + } + } - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - id_bit = rev_id & 1; + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + id_bit = rev_id & 1; - if (i % 4 == 0) { - // Don't write row parity bit at start of parsing - if (i) - id = (id << 1) | r_parity; - // Start counting parity for new row - r_parity = id_bit; - } else { - // Count row parity - r_parity ^= id_bit; - } + if (i % 4 == 0) { + // Don't write row parity bit at start of parsing + if (i) + id = (id << 1) | r_parity; + // Start counting parity for new row + r_parity = id_bit; + } else { + // Count row parity + r_parity ^= id_bit; + } - // First elements in column? - if (i < 4) - // Fill out first elements - c_parity[i] = id_bit; - else - // Count column parity - c_parity[i % 4] ^= id_bit; + // First elements in column? + if (i < 4) + // Fill out first elements + c_parity[i] = id_bit; + else + // Count column parity + c_parity[i % 4] ^= id_bit; - // Insert ID bit - id = (id << 1) | id_bit; - rev_id >>= 1; - } + // Insert ID bit + id = (id << 1) | id_bit; + rev_id >>= 1; + } - // Insert parity bit of last row - id = (id << 1) | r_parity; + // Insert parity bit of last row + id = (id << 1) | r_parity; - // Fill out column parity at the end of tag - for (i = 0; i < 4; ++i) - id = (id << 1) | c_parity[i]; + // Fill out column parity at the end of tag + for (i = 0; i < 4; ++i) + id = (id << 1) | c_parity[i]; - // Add stop bit - id <<= 1; + // Add stop bit + id <<= 1; - Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); - LED_D_ON(); + Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); + LED_D_ON(); - // Write EM410x ID - T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); - T55xxWriteBlock((uint32_t)id, 2, 0, 0); + // Write EM410x ID + T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); + T55xxWriteBlock((uint32_t)id, 2, 0, 0); - // Config for EM410x (RF/64, Manchester, Maxblock=2) - if (card) { - // Clock rate is stored in bits 8-15 of the card value - clock = (card & 0xFF00) >> 8; - Dbprintf("Clock rate: %d", clock); - switch (clock) - { - case 32: - clock = T55x7_BITRATE_RF_32; - break; - case 16: - clock = T55x7_BITRATE_RF_16; - break; - case 0: - // A value of 0 is assumed to be 64 for backwards-compatibility - // Fall through... - case 64: - clock = T55x7_BITRATE_RF_64; - break; - default: - Dbprintf("Invalid clock rate: %d", clock); - return; - } + // Config for EM410x (RF/64, Manchester, Maxblock=2) + if (card) { + // Clock rate is stored in bits 8-15 of the card value + clock = (card & 0xFF00) >> 8; + Dbprintf("Clock rate: %d", clock); + switch (clock) + { + case 32: + clock = T55x7_BITRATE_RF_32; + break; + case 16: + clock = T55x7_BITRATE_RF_16; + break; + case 0: + // A value of 0 is assumed to be 64 for backwards-compatibility + // Fall through... + case 64: + clock = T55x7_BITRATE_RF_64; + break; + default: + Dbprintf("Invalid clock rate: %d", clock); + return; + } - // Writing configuration for T55x7 tag - T55xxWriteBlock(clock | - T55x7_MODULATION_MANCHESTER | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - } - else - // Writing configuration for T5555(Q5) tag - T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | - T5555_MODULATION_MANCHESTER | - 2 << T5555_MAXBLOCK_SHIFT, - 0, 0, 0); + // Writing configuration for T55x7 tag + T55xxWriteBlock(clock | + T55x7_MODULATION_MANCHESTER | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + } + else + // Writing configuration for T5555(Q5) tag + T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | + T5555_MODULATION_MANCHESTER | + 2 << T5555_MAXBLOCK_SHIFT, + 0, 0, 0); - LED_D_OFF(); - Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", - (uint32_t)(id >> 32), (uint32_t)id); + LED_D_OFF(); + Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", + (uint32_t)(id >> 32), (uint32_t)id); } // Clone Indala 64-bit tag by UID to T55x7 void CopyIndala64toT55x7(int hi, int lo) { - //Program the 2 data blocks for supplied 64bit UID - // and the block 0 for Indala64 format - T55xxWriteBlock(hi,1,0,0); - T55xxWriteBlock(lo,2,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) - // T5567WriteBlock(0x603E1042,0); - DbpString("DONE!"); + //Program the 2 data blocks for supplied 64bit UID + // and the block 0 for Indala64 format + T55xxWriteBlock(hi,1,0,0); + T55xxWriteBlock(lo,2,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) +// T5567WriteBlock(0x603E1042,0); + + DbpString("DONE!"); + } void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int uid6, int uid7) { - //Program the 7 data blocks for supplied 224bit UID - // and the block 0 for Indala224 format - T55xxWriteBlock(uid1,1,0,0); - T55xxWriteBlock(uid2,2,0,0); - T55xxWriteBlock(uid3,3,0,0); - T55xxWriteBlock(uid4,4,0,0); - T55xxWriteBlock(uid5,5,0,0); - T55xxWriteBlock(uid6,6,0,0); - T55xxWriteBlock(uid7,7,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 7 << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) - // T5567WriteBlock(0x603E10E2,0); - DbpString("DONE!"); + //Program the 7 data blocks for supplied 224bit UID + // and the block 0 for Indala224 format + T55xxWriteBlock(uid1,1,0,0); + T55xxWriteBlock(uid2,2,0,0); + T55xxWriteBlock(uid3,3,0,0); + T55xxWriteBlock(uid4,4,0,0); + T55xxWriteBlock(uid5,5,0,0); + T55xxWriteBlock(uid6,6,0,0); + T55xxWriteBlock(uid7,7,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 7 << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) +// T5567WriteBlock(0x603E10E2,0); + + DbpString("DONE!"); + } @@ -1377,260 +1387,261 @@ void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int #define max(x,y) ( x GraphBuffer[0]) { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) - break; - i++; - } - dir = 0; + uint8_t BitStream[256]; + uint8_t Blocks[8][16]; + uint8_t *GraphBuffer = (uint8_t *)BigBuf; + int GraphTraceLen = sizeof(BigBuf); + int i, j, lastval, bitidx, half_switch; + int clock = 64; + int tolerance = clock / 8; + int pmc, block_done; + int lc, warnings = 0; + int num_blocks = 0; + int lmin=128, lmax=128; + uint8_t dir; + + AcquireRawAdcSamples125k(0); + + lmin = 64; + lmax = 192; + + i = 2; + + /* Find first local max/min */ + if(GraphBuffer[1] > GraphBuffer[0]) { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) + break; + i++; } - else { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) - break; - i++; - } - dir = 1; + dir = 0; + } + else { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) + break; + i++; } - - lastval = i++; - half_switch = 0; - pmc = 0; - block_done = 0; - - for (bitidx = 0; i < GraphTraceLen; i++) - { - if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) - { - lc = i - lastval; - lastval = i; - - // Switch depending on lc length: - // Tolerance is 1/8 of clock rate (arbitrary) - if (abs(lc-clock/4) < tolerance) { - // 16T0 - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33+16)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else { - pmc = i; - } - } else if (abs(lc-clock/2) < tolerance) { - // 32TO - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else if(half_switch == 1) { - BitStream[bitidx++] = 0; - half_switch = 0; - } - else - half_switch++; - } else if (abs(lc-clock) < tolerance) { - // 64TO - BitStream[bitidx++] = 1; - } else { - // Error - warnings++; - if (warnings > 10) - { - Dbprintf("Error: too many detection errors, aborting."); - return 0; - } - } - - if(block_done == 1) { - if(bitidx == 128) { - for(j=0; j<16; j++) { - Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ - 64*BitStream[j*8+6]+ - 32*BitStream[j*8+5]+ - 16*BitStream[j*8+4]+ - 8*BitStream[j*8+3]+ - 4*BitStream[j*8+2]+ - 2*BitStream[j*8+1]+ - BitStream[j*8]; - } - num_blocks++; - } - bitidx = 0; - block_done = 0; - half_switch = 0; - } - if(i < GraphTraceLen) - { - if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; - else dir = 1; - } - } - if(bitidx==255) - bitidx=0; - warnings = 0; - if(num_blocks == 4) break; - } - memcpy(outBlocks, Blocks, 16*num_blocks); - return num_blocks; + dir = 1; + } + + lastval = i++; + half_switch = 0; + pmc = 0; + block_done = 0; + + for (bitidx = 0; i < GraphTraceLen; i++) + { + if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) + { + lc = i - lastval; + lastval = i; + + // Switch depending on lc length: + // Tolerance is 1/8 of clock rate (arbitrary) + if (abs(lc-clock/4) < tolerance) { + // 16T0 + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33+16)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else { + pmc = i; + } + } else if (abs(lc-clock/2) < tolerance) { + // 32TO + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else if(half_switch == 1) { + BitStream[bitidx++] = 0; + half_switch = 0; + } + else + half_switch++; + } else if (abs(lc-clock) < tolerance) { + // 64TO + BitStream[bitidx++] = 1; + } else { + // Error + warnings++; + if (warnings > 10) + { + Dbprintf("Error: too many detection errors, aborting."); + return 0; + } + } + + if(block_done == 1) { + if(bitidx == 128) { + for(j=0; j<16; j++) { + Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ + 64*BitStream[j*8+6]+ + 32*BitStream[j*8+5]+ + 16*BitStream[j*8+4]+ + 8*BitStream[j*8+3]+ + 4*BitStream[j*8+2]+ + 2*BitStream[j*8+1]+ + BitStream[j*8]; + } + num_blocks++; + } + bitidx = 0; + block_done = 0; + half_switch = 0; + } + if(i < GraphTraceLen) + { + if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; + else dir = 1; + } + } + if(bitidx==255) + bitidx=0; + warnings = 0; + if(num_blocks == 4) break; + } + memcpy(outBlocks, Blocks, 16*num_blocks); + return num_blocks; } int IsBlock0PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled - return 1; - if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? - return 1; - return 0; + // Assume RFU means 0 :) + if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled + return 1; + if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? + return 1; + return 0; } int IsBlock1PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) - if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) - return 1; - - return 0; + // Assume RFU means 0 :) + if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) + if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) + return 1; + + return 0; } + #define ALLOC 16 void ReadPCF7931() { - uint8_t Blocks[8][17]; - uint8_t tmpBlocks[4][16]; - int i, j, ind, ind2, n; - int num_blocks = 0; - int max_blocks = 8; - int ident = 0; - int error = 0; - int tries = 0; - - memset(Blocks, 0, 8*17*sizeof(uint8_t)); - - do { - memset(tmpBlocks, 0, 4*16*sizeof(uint8_t)); - n = DemodPCF7931((uint8_t**)tmpBlocks); - if(!n) - error++; - if(error==10 && num_blocks == 0) { - Dbprintf("Error, no tag or bad tag"); - return; - } - else if (tries==20 || error==10) { - Dbprintf("Error reading the tag"); - Dbprintf("Here is the partial content"); - goto end; - } - - for(i=0; i= 0; ind--,ind2--) { - if(ind2 < 0) - ind2 = max_blocks; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { - if(ind2 > max_blocks) - ind2 = 0; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - } - } - } - } - } - tries++; - if (BUTTON_PRESS()) return; - } while (num_blocks != max_blocks); -end: - Dbprintf("-----------------------------------------"); - Dbprintf("Memory content:"); - Dbprintf("-----------------------------------------"); - for(i=0; i", i); + uint8_t Blocks[8][17]; + uint8_t tmpBlocks[4][16]; + int i, j, ind, ind2, n; + int num_blocks = 0; + int max_blocks = 8; + int ident = 0; + int error = 0; + int tries = 0; + + memset(Blocks, 0, 8*17*sizeof(uint8_t)); + + do { + memset(tmpBlocks, 0, 4*16*sizeof(uint8_t)); + n = DemodPCF7931((uint8_t**)tmpBlocks); + if(!n) + error++; + if(error==10 && num_blocks == 0) { + Dbprintf("Error, no tag or bad tag"); + return; } - Dbprintf("-----------------------------------------"); - - return ; + else if (tries==20 || error==10) { + Dbprintf("Error reading the tag"); + Dbprintf("Here is the partial content"); + goto end; + } + + for(i=0; i= 0; ind--,ind2--) { + if(ind2 < 0) + ind2 = max_blocks; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { + if(ind2 > max_blocks) + ind2 = 0; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + } + } + } + } + } + tries++; + if (BUTTON_PRESS()) return; + } while (num_blocks != max_blocks); +end: + Dbprintf("-----------------------------------------"); + Dbprintf("Memory content:"); + Dbprintf("-----------------------------------------"); + for(i=0; i", i); + } + Dbprintf("-----------------------------------------"); + + return ; } @@ -1654,20 +1665,20 @@ uint8_t * fwd_write_ptr; //forwardlink bit pointer //==================================================================== //-------------------------------------------------------------------- uint8_t Prepare_Cmd( uint8_t cmd ) { - //-------------------------------------------------------------------- - - *forward_ptr++ = 0; //start bit - *forward_ptr++ = 0; //second pause for 4050 code - - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - - return 6; //return number of emited bits + //-------------------------------------------------------------------- + + *forward_ptr++ = 0; //start bit + *forward_ptr++ = 0; //second pause for 4050 code + + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + + return 6; //return number of emited bits } //==================================================================== @@ -1677,21 +1688,21 @@ uint8_t Prepare_Cmd( uint8_t cmd ) { //-------------------------------------------------------------------- uint8_t Prepare_Addr( uint8_t addr ) { - //-------------------------------------------------------------------- - - register uint8_t line_parity; - - uint8_t i; - line_parity = 0; - for(i=0;i<6;i++) { - *forward_ptr++ = addr; - line_parity ^= addr; - addr >>= 1; - } - - *forward_ptr++ = (line_parity & 1); - - return 7; //return number of emited bits + //-------------------------------------------------------------------- + + register uint8_t line_parity; + + uint8_t i; + line_parity = 0; + for(i=0;i<6;i++) { + *forward_ptr++ = addr; + line_parity ^= addr; + addr >>= 1; + } + + *forward_ptr++ = (line_parity & 1); + + return 7; //return number of emited bits } //==================================================================== @@ -1701,36 +1712,36 @@ uint8_t Prepare_Addr( uint8_t addr ) { //-------------------------------------------------------------------- uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { - //-------------------------------------------------------------------- - - register uint8_t line_parity; - register uint8_t column_parity; - register uint8_t i, j; - register uint16_t data; - - data = data_low; - column_parity = 0; - - for(i=0; i<4; i++) { - line_parity = 0; - for(j=0; j<8; j++) { - line_parity ^= data; - column_parity ^= (data & 1) << j; - *forward_ptr++ = data; - data >>= 1; - } - *forward_ptr++ = line_parity; - if(i == 1) - data = data_hi; - } - + //-------------------------------------------------------------------- + + register uint8_t line_parity; + register uint8_t column_parity; + register uint8_t i, j; + register uint16_t data; + + data = data_low; + column_parity = 0; + + for(i=0; i<4; i++) { + line_parity = 0; for(j=0; j<8; j++) { - *forward_ptr++ = column_parity; - column_parity >>= 1; + line_parity ^= data; + column_parity ^= (data & 1) << j; + *forward_ptr++ = data; + data >>= 1; } - *forward_ptr = 0; - - return 45; //return number of emited bits + *forward_ptr++ = line_parity; + if(i == 1) + data = data_hi; + } + + for(j=0; j<8; j++) { + *forward_ptr++ = column_parity; + column_parity >>= 1; + } + *forward_ptr = 0; + + return 45; //return number of emited bits } //==================================================================== @@ -1739,116 +1750,115 @@ uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { // fwd_bit_count set with number of bits to be sent //==================================================================== void SendForward(uint8_t fwd_bit_count) { - - fwd_write_ptr = forwardLink_data; - fwd_bit_sz = fwd_bit_count; - - LED_D_ON(); - - //Field on - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // force 1st mod pulse (start gap must be longer for 4305) - fwd_bit_sz--; //prepare next bit modulation - fwd_write_ptr++; - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(16*8); //16 cycles on (8us each) - - // now start writting - while(fwd_bit_sz-- > 0) { //prepare next bit modulation - if(((*fwd_write_ptr++) & 1) == 1) - SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) - else { - //These timings work for 4469/4269/4305 (with the 55*8 above) - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(23*8); //16-4 cycles off (8us each) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(9*8); //16 cycles on (8us each) - } + + fwd_write_ptr = forwardLink_data; + fwd_bit_sz = fwd_bit_count; + + LED_D_ON(); + + //Field on + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // force 1st mod pulse (start gap must be longer for 4305) + fwd_bit_sz--; //prepare next bit modulation + fwd_write_ptr++; + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(16*8); //16 cycles on (8us each) + + // now start writting + while(fwd_bit_sz-- > 0) { //prepare next bit modulation + if(((*fwd_write_ptr++) & 1) == 1) + SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) + else { + //These timings work for 4469/4269/4305 (with the 55*8 above) + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(23*8); //16-4 cycles off (8us each) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(9*8); //16 cycles on (8us each) } + } } - void EM4xLogin(uint32_t Password) { - - uint8_t fwd_bit_count; - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); - fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); - - SendForward(fwd_bit_count); - - //Wait for command to complete - SpinDelay(20); - + + uint8_t fwd_bit_count; + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); + fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); + + SendForward(fwd_bit_count); + + //Wait for command to complete + SpinDelay(20); + } void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - - uint8_t fwd_bit_count; - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; - - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); - fwd_bit_count += Prepare_Addr( Address ); - - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - SendForward(fwd_bit_count); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } + + uint8_t fwd_bit_count; + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; + + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); + fwd_bit_count += Prepare_Addr( Address ); + + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + SendForward(fwd_bit_count); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } void EM4xWriteWord(uint32_t Data, uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - - uint8_t fwd_bit_count; - - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); - fwd_bit_count += Prepare_Addr( Address ); - fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); - - SendForward(fwd_bit_count); - - //Wait for write to complete - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + + uint8_t fwd_bit_count; + + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); + fwd_bit_count += Prepare_Addr( Address ); + fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); + + SendForward(fwd_bit_count); + + //Wait for write to complete + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } diff --git a/client/cmddata.c b/client/cmddata.c index 38917a33c..4b5cb0401 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -21,9 +21,55 @@ #include "cmdmain.h" #include "cmddata.h" #include "lfdemod.h" - +uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN]; +int DemodBufferLen; static int CmdHelp(const char *Cmd); +//set the demod buffer with given array of binary (one bit per byte) +//by marshmellow +void setDemodBuf(uint8_t *buff,int size) +{ + int i=0; + for (; i < size; ++i){ + DemodBuffer[i]=buff[i]; + } + DemodBufferLen=size; + return; +} + +//by marshmellow +void printDemodBuff() +{ + uint32_t i = 0; + int bitLen = DemodBufferLen; + if (bitLen<16) { + PrintAndLog("no bits found in demod buffer"); + return; + } + if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty + for (i = 0; i <= (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + DemodBuffer[i], + DemodBuffer[i+1], + DemodBuffer[i+2], + DemodBuffer[i+3], + DemodBuffer[i+4], + DemodBuffer[i+5], + DemodBuffer[i+6], + DemodBuffer[i+7], + DemodBuffer[i+8], + DemodBuffer[i+9], + DemodBuffer[i+10], + DemodBuffer[i+11], + DemodBuffer[i+12], + DemodBuffer[i+13], + DemodBuffer[i+14], + DemodBuffer[i+15]); + } + return; +} + + int CmdAmp(const char *Cmd) { int i, rising, falling; @@ -185,10 +231,10 @@ void printEM410x(uint64_t id) int CmdEm410xDecode(const char *Cmd) { uint64_t id=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - uint32_t i=0; - i=getFromGraphBuf(BitStream); - id = Em410xDecode(BitStream,i); + // uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + // uint32_t i=0; + // i=getFromGraphBuf(BitStream); + id = Em410xDecode(DemodBuffer,DemodBufferLen); printEM410x(id); if (id>0) return 1; return 0; @@ -209,15 +255,15 @@ int Cmdaskmandemod(const char *Cmd) PrintAndLog("Invalid argument: %s", Cmd); return 0; } - uint32_t BitLen = getFromGraphBuf(BitStream); + + int BitLen = getFromGraphBuf(BitStream); // PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); int errCnt=0; errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); - if (errCnt<0){ //if fatal error (or -1) + if (errCnt<0||BitLen<16){ //if fatal error (or -1) // PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); return 0; } - if (BitLen<16) return 0; PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen); //output @@ -226,12 +272,12 @@ int Cmdaskmandemod(const char *Cmd) } PrintAndLog("ASK/Manchester decoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits - printBitStream(BitStream,BitLen); + setDemodBuf(BitStream,BitLen); + printDemodBuff(); uint64_t lo =0; lo = Em410xDecode(BitStream,BitLen); if (lo>0){ //set GraphBuffer for clone or sim command - setGraphBuf(BitStream,BitLen); PrintAndLog("EM410x pattern found: "); printEM410x(lo); return 1; @@ -250,10 +296,10 @@ int Cmdmandecoderaw(const char *Cmd) int bitnum=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; int high=0,low=0; - for (;ihigh) high=GraphBuffer[i]; - else if(GraphBuffer[i]high) high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0 ){ PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode"); @@ -268,15 +314,9 @@ int Cmdmandecoderaw(const char *Cmd) PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); printBitStream(BitStream,bitnum); if (errCnt==0){ - //put back in graphbuffer - ClearGraph(0); - for (i=0; i0) setDemodBuf(BitStream,bitnum); printEM410x(id); } return 1; @@ -301,10 +341,10 @@ int CmdBiphaseDecodeRaw(const char *Cmd) sscanf(Cmd, "%i", &offset); uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; //get graphbuffer & high and low - for (;ihigh)high=GraphBuffer[i]; - else if(GraphBuffer[i]high)high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0){ PrintAndLog("Error: please raw demod the wave first then decode"); @@ -329,7 +369,6 @@ int CmdBiphaseDecodeRaw(const char *Cmd) //prints binary found and saves in graphbuffer for further commands int Cmdaskrawdemod(const char *Cmd) { - int invert=0; int clk=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; @@ -340,23 +379,21 @@ int Cmdaskrawdemod(const char *Cmd) } int BitLen = getFromGraphBuf(BitStream); int errCnt=0; - errCnt = askrawdemod(BitStream, &BitLen, &clk, &invert); - if (errCnt==-1){ //throw away static - allow 1 and -1 (in case of threshold command first) + errCnt = askrawdemod(BitStream, &BitLen,&clk,&invert); + if (errCnt==-1||BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) PrintAndLog("no data found"); return 0; } - if (BitLen<16) return 0; PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to GraphBuffer - setGraphBuf(BitStream, BitLen); - + //move BitStream back to DemodBuffer + setDemodBuf(BitStream,BitLen); + + //output if (errCnt>0){ PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); } - PrintAndLog("ASK demoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits printBitStream(BitStream,BitLen); @@ -472,6 +509,10 @@ int CmdBitstream(const char *Cmd) bit ^= 1; AppendGraph(0, clock, bit); + // for (j = 0; j < (int)(clock/2); j++) + // GraphBuffer[(i * clock) + j] = bit ^ 1; + // for (j = (int)(clock/2); j < clock; j++) + // GraphBuffer[(i * clock) + j] = bit; } RepaintGraphWindow(); @@ -501,6 +542,8 @@ int CmdDec(const char *Cmd) int CmdDetectClockRate(const char *Cmd) { GetClock("",0,0); + //int clock = DetectASKClock(0); + //PrintAndLog("Auto-detected clock rate: %d", clock); return 0; } @@ -527,18 +570,12 @@ int CmdFSKrawdemod(const char *Cmd) } else if(rfLen==0) rfLen=50; } PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); - uint32_t i=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; uint32_t BitLen = getFromGraphBuf(BitStream); int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); if (size>0){ PrintAndLog("FSK decoded bitstream:"); - ClearGraph(0); - for (i=0;i (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size @@ -567,9 +604,9 @@ int CmdFSKdemodHID(const char *Cmd) } if (hi2==0 && hi==0 && lo==0) return 0; if (hi2 != 0){ //extra large HID tags - PrintAndLog("TAG ID: %x%08x%08x (%d)", + PrintAndLog("HID Prox TAG ID: %x%08x%08x (%d)", (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - setGraphBuf(BitStream,BitLen); + setDemodBuf(BitStream,BitLen); return 1; } else { //standard HID tags <38 bits @@ -614,10 +651,10 @@ int CmdFSKdemodHID(const char *Cmd) fc = ((hi&0xF)<<12)|(lo>>20); } } - PrintAndLog("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + PrintAndLog("HID Prox TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum); - setGraphBuf(BitStream,BitLen); + setDemodBuf(BitStream,BitLen); return 1; } return 0; @@ -671,9 +708,12 @@ int CmdFSKdemodIO(const char *Cmd) uint8_t version = bytebits_to_byte(BitStream+idx+27,8); //14,4 uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ; uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 - - PrintAndLog("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - setGraphBuf(BitStream,BitLen); + PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + int i; + for (i=0;i<64;++i) + DemodBuffer[i]=BitStream[idx++]; + + DemodBufferLen=64; return 1; } int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating @@ -762,7 +802,8 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating PrintAndLog("actual data bits start at sample %d", maxPos); PrintAndLog("length %d/%d", highLen, lowLen); - uint8_t bits[46] = {0x00}; + uint8_t bits[46]; + bits[sizeof(bits)-1] = '\0'; // find bit pairs and manchester decode them for (i = 0; i < arraylen(bits) - 1; ++i) { @@ -794,6 +835,160 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating return 0; } +int CmdDetectNRZpskClockRate(const char *Cmd) +{ + GetNRZpskClock("",0,0); + return 0; +} + +int PSKnrzDemod(const char *Cmd){ + int invert=0; + int clk=0; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return -1; + } + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + int BitLen = getFromGraphBuf(BitStream); + int errCnt=0; + errCnt = pskNRZrawDemod(BitStream, &BitLen,&clk,&invert); + if (errCnt<0|| BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) + //PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); + return -1; + } + PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); + + //prime demod buffer for output + setDemodBuf(BitStream,BitLen); + return errCnt; +} +// Indala 26 bit decode +// by marshmellow +// optional arguments - same as CmdpskNRZrawDemod (clock & invert) +int CmdIndalaDecode(const char *Cmd) +{ + + int ans=PSKnrzDemod(Cmd); + if (ans < 0){ + PrintAndLog("Error1: %d",ans); + return 0; + } + uint8_t invert=0; + ans = indala26decode(DemodBuffer, &DemodBufferLen, &invert); + if (ans < 1) { + PrintAndLog("Error2: %d",ans); + return -1; + } + char showbits[251]; + if(invert==1) PrintAndLog("Had to invert bits"); + //convert UID to HEX + uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; + int idx; + uid1=0; + uid2=0; + PrintAndLog("BitLen: %d",DemodBufferLen); + if (DemodBufferLen==64){ + for( idx=0; idx<64; idx++) { + uid1=(uid1<<1)|(uid2>>31); + if (DemodBuffer[idx] == 0) { + uid2=(uid2<<1)|0; + showbits[idx]='0'; + } else { + uid2=(uid2<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x)", showbits, uid1, uid2); + } + else { + uid3=0; + uid4=0; + uid5=0; + uid6=0; + uid7=0; + for( idx=0; idx>31); + uid2=(uid2<<1)|(uid3>>31); + uid3=(uid3<<1)|(uid4>>31); + uid4=(uid4<<1)|(uid5>>31); + uid5=(uid5<<1)|(uid6>>31); + uid6=(uid6<<1)|(uid7>>31); + if (DemodBuffer[idx] == 0) { + uid7=(uid7<<1)|0; + showbits[idx]='0'; + } + else { + uid7=(uid7<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); + } + return 1; +} + +/* +//by marshmellow (attempt to get rid of high immediately after a low) +void pskCleanWave2(uint8_t *bitStream, int bitLen) +{ + int i; + int low=128; + int gap = 4; + // int loopMax = 2048; + int newLow=0; + + for (i=0; i0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("PSK or NRZ demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + + return 1; +} + + + int CmdGrid(const char *Cmd) { sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); @@ -869,21 +1064,22 @@ int CmdHpf(const char *Cmd) int CmdSamples(const char *Cmd) { - uint8_t got[40000] = {0x00}; + int cnt = 0; + int n; + uint8_t got[40000]; - int n = strtol(Cmd, NULL, 0); - if (n == 0) - n = 20000; - - if (n > sizeof(got)) - n = sizeof(got); + n = strtol(Cmd, NULL, 0); + if (n == 0) n = 6000; + if (n > sizeof(got)) n = sizeof(got); - PrintAndLog("Reading %d samples from device memory\n", n); + PrintAndLog("Reading %d samples\n", n); GetFromBigBuf(got,n,0); WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; ++j) { - GraphBuffer[j] = ((int)got[j]) - 128; + for (int j = 0; j < n; j++) { + GraphBuffer[cnt++] = ((int)got[j]) - 128; } + + PrintAndLog("Done!\n"); GraphTraceLen = n; RepaintGraphWindow(); return 0; @@ -1203,8 +1399,9 @@ int CmdNorm(const char *Cmd) if (max != min) { for (i = 0; i < GraphTraceLen; ++i) { - GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 1000 / - (max - min); + GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 256 / + (max - min); + //marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work } } RepaintGraphWindow(); @@ -1327,15 +1524,15 @@ static command_t CommandTable[] = {"help", CmdHelp, 1, "This help"}, {"amp", CmdAmp, 1, "Amplify peaks"}, {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, - {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert <0|1>] -- Attempt to demodulate ASK/Manchester tags and output binary"}, - {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert <0|1>] -- Attempt to demodulate ASK tags and output binary"}, + {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, {"dec", CmdDec, 1, "Decimate samples"}, - {"detectaskclock",CmdDetectClockRate, 1, "Detect ASK clock rate"}, + {"detectclock", CmdDetectClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, @@ -1350,15 +1547,19 @@ static command_t CommandTable[] = {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, {"manrawdecode", Cmdmandecoderaw, 1, "Manchester decode binary stream already in graph buffer"}, {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, - {"norm", CmdNorm, 1, "Normalize max/min to +/-500"}, + {"norm", CmdNorm, 1, "Normalize max/min to +/-128"}, {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, + {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, + {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, + {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional[clock will try Auto-detect])"}, + {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional[clock will try Auto-detect])"}, {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, - {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, {"save", CmdSave, 1, " -- Save trace (from graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, - {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, + {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, + {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, {NULL, NULL, 0, NULL} }; diff --git a/client/cmddata.h b/client/cmddata.h index 999e6438c..8723b847a 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -14,7 +14,7 @@ command_t * CmdDataCommands(); int CmdData(const char *Cmd); - +void printDemodBuff(); int CmdAmp(const char *Cmd); int Cmdaskdemod(const char *Cmd); int Cmdaskrawdemod(const char *Cmd); @@ -30,6 +30,8 @@ int CmdFSKdemod(const char *Cmd); int CmdFSKdemodHID(const char *Cmd); int CmdFSKdemodIO(const char *Cmd); int CmdFSKrawdemod(const char *Cmd); +int CmdDetectNRZpskClockRate(const char *Cmd); +int CmdpskNRZrawDemod(const char *Cmd); int CmdGrid(const char *Cmd); int CmdHexsamples(const char *Cmd); int CmdHide(const char *Cmd); @@ -49,5 +51,10 @@ int CmdScale(const char *Cmd); int CmdThreshold(const char *Cmd); int CmdDirectionalThreshold(const char *Cmd); int CmdZerocrossings(const char *Cmd); +int CmdIndalaDecode(const char *Cmd); + +#define MAX_DEMOD_BUF_LEN (1024*128) +extern uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN]; +extern int DemodBufferLen; #endif diff --git a/client/cmdlf.c b/client/cmdlf.c index 18bcf747e..b39868973 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -56,7 +56,7 @@ int CmdFlexdemod(const char *Cmd) } } -#define LONG_WAIT 100 + #define LONG_WAIT 100 int start; for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { int first = GraphBuffer[start]; @@ -559,18 +559,32 @@ int CmdLFfind(const char *Cmd) ans=CmdSamples("20000"); } if (GraphTraceLen<1000) return 0; + PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); PrintAndLog("Checking for known tags:"); + ans=Cmdaskmandemod(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid EM410x ID Found!"); + return 1; + } ans=CmdFSKdemodHID(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid HID Prox ID Found!"); + return 1; + } ans=CmdFSKdemodIO(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid IO Prox ID Found!"); + return 1; + } //add psk and indala - ans=CmdIndalaDemod(""); - if (ans>0) return 1; - ans=CmdIndalaDemod("224"); - if (ans>0) return 1; + ans=CmdIndalaDecode(""); + if (ans>0) { + PrintAndLog("Valid Indala ID Found!"); + return 1; + } + // ans=CmdIndalaDemod("224"); + // if (ans>0) return 1; PrintAndLog("No Known Tags Found!\n"); return 0; } diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index 32a0ff7c6..f6f103bf2 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -606,7 +606,7 @@ int CmdWriteWordPWD(const char *Cmd) static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, - {"em410xdemod", CmdEMdemodASK, 0, "[clock rate] -- Extract ID from EM410x tag"}, + {"em410xdemod", CmdEMdemodASK, 0, "[findone] -- Extract ID from EM410x tag (option 0 for continuous loop, 1 for only 1 tag)"}, {"em410xread", CmdEM410xRead, 1, "[clock rate] -- Extract ID from EM410x tag"}, {"em410xsim", CmdEM410xSim, 0, " -- Simulate EM410x tag"}, {"em410xwatch", CmdEM410xWatch, 0, "['h'] -- Watches for EM410x 125/134 kHz tags (option 'h' for 134)"}, diff --git a/client/graph.c b/client/graph.c index a0e85ffd4..d63c42714 100644 --- a/client/graph.c +++ b/client/graph.c @@ -146,7 +146,7 @@ void setGraphBuf(uint8_t *buff,int size) int i=0; ClearGraph(0); for (; i < size; ++i){ - GraphBuffer[i]=buff[i]; + GraphBuffer[i]=buff[i]-128; } GraphTraceLen=size; RepaintGraphWindow(); @@ -187,3 +187,53 @@ int GetClock(const char *str, int peak, int verbose) return clock; } +int GetNRZpskClock(const char *str, int peak, int verbose) +{ + // return GetClock(str,peak,verbose); + int clock; + // int clock2; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; + + /* Auto-detect clock */ + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + int size = getFromGraphBuf(grph); + clock = DetectpskNRZClock(grph,size,0); + //clock2 = DetectClock2(peak); + /* Only print this message if we're not looping something */ + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } + return clock; +} +// Get or auto-detect clock rate +/* +int GetNRZpskClock(const char *str, int peak, int verbose) +{ + int clock; +// int clock2; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; + + // Auto-detect clock + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + int size = getFromGraphBuf(grph); + clock = DetectASKClock(grph,size,0); + //clock2 = DetectClock2(peak); + // Only print this message if we're not looping something + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } + return clock; +} +*/ \ No newline at end of file diff --git a/client/graph.h b/client/graph.h index 325582a67..c5c137986 100644 --- a/client/graph.h +++ b/client/graph.h @@ -17,6 +17,7 @@ int ClearGraph(int redraw); //int DetectClock(int peak); int getFromGraphBuf(uint8_t *buff); int GetClock(const char *str, int peak, int verbose); +int GetNRZpskClock(const char *str, int peak, int verbose); void setGraphBuf(uint8_t *buff,int size); #define MAX_GRAPH_TRACE_LEN (1024*128) diff --git a/common/lfdemod.c b/common/lfdemod.c index 144783198..ad4721f16 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -14,195 +14,195 @@ //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID -uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) +uint64_t Em410xDecode(uint8_t *BitStream, int BitLen) { - //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future - // otherwise could be a void with no arguments - //set defaults - int high=0, low=128; - uint64_t lo=0; //hi=0, + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + int high=0, low=128; + uint64_t lo=0; //hi=0, - uint32_t i = 0; - uint32_t initLoopMax = 65; - if (initLoopMax>BitLen) initLoopMax=BitLen; + uint32_t i = 0; + uint32_t initLoopMax = 65; + if (initLoopMax>BitLen) initLoopMax=BitLen; - for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values - { - if (BitStream[i] > high) - high = BitStream[i]; - else if (BitStream[i] < low) - low = BitStream[i]; - } - if (((high !=1)||(low !=0))){ //allow only 1s and 0s - // PrintAndLog("no data found"); - return 0; - } - uint8_t parityTest=0; - // 111111111 bit pattern represent start of frame - uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; - uint32_t idx = 0; - uint32_t ii=0; - uint8_t resetCnt = 0; - while( (idx + 64) < BitLen) { -restart: - // search for a start of frame marker - if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=9;//sizeof(frame_marker_mask); - for (i=0; i<10;i++){ - for(ii=0; ii<5; ++ii){ - parityTest += BitStream[(i*5)+ii+idx]; - } - if (parityTest== ((parityTest>>1)<<1)){ - parityTest=0; - for (ii=0; ii<4;++ii){ - //hi = (hi<<1)|(lo>>31); - lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); - } - //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); - }else {//parity failed - //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); - parityTest=0; - idx-=8; - if (resetCnt>5)return 0; - resetCnt++; - goto restart;//continue; - } - } - //skip last 5 bit parity test for simplicity. - return lo; - }else{ - idx++; - } - } + for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values + { + if (BitStream[i] > high) + high = BitStream[i]; + else if (BitStream[i] < low) + low = BitStream[i]; + } + if (((high !=1)||(low !=0))){ //allow only 1s and 0s + // PrintAndLog("no data found"); return 0; + } + uint8_t parityTest=0; + // 111111111 bit pattern represent start of frame + uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t ii=0; + uint8_t resetCnt = 0; + while( (idx + 64) < BitLen) { + restart: + // search for a start of frame marker + if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=9;//sizeof(frame_marker_mask); + for (i=0; i<10;i++){ + for(ii=0; ii<5; ++ii){ + parityTest += BitStream[(i*5)+ii+idx]; + } + if (parityTest== ((parityTest>>1)<<1)){ + parityTest=0; + for (ii=0; ii<4;++ii){ + //hi = (hi<<1)|(lo>>31); + lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); + } + //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); + }else {//parity failed + //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); + parityTest=0; + idx-=8; + if (resetCnt>5)return 0; + resetCnt++; + goto restart;//continue; + } + } + //skip last 5 bit parity test for simplicity. + return lo; + }else{ + idx++; + } + } + return 0; } //by marshmellow //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask while decoding manchester //prints binary found and saves in graphbuffer for further commands -int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) +int askmandemod(uint8_t * BinStream, int *BitLen,int *clk, int *invert) { - int i; - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default + int i; + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert=0; - uint32_t initLoopMax = 200; - if (initLoopMax>*BitLen) initLoopMax=*BitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158) ){ //throw away static - //PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; - - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - int iii = 0; - uint32_t gLen = *BitLen; - if (gLen > 3000) gLen=3000; - uint8_t errCnt =0; - uint32_t bestStart = *BitLen; - uint32_t bestErrCnt = (*BitLen/1000); - uint32_t maxErr = (*BitLen/1000); - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - errCnt=0; - //loop through to see if this start location works - for (i = iii; i < *BitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over - } - } - if ((i-iii) >(400 * *clk)) break; //got plenty of bits - } - //we got more than 64 good bits and not all errors - if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt*BitLen) initLoopMax=*BitLen; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 158) ){ //throw away static + //PrintAndLog("no data found"); + return -2; + } + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; + + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + int iii = 0; + uint32_t gLen = *BitLen; + if (gLen > 3000) gLen=3000; + uint8_t errCnt =0; + uint32_t bestStart = *BitLen; + uint32_t bestErrCnt = (*BitLen/1000); + uint32_t maxErr = (*BitLen/1000); + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + errCnt=0; + //loop through to see if this start location works + for (i = iii; i < *BitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over + } } - } - if (bestErrCnt= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BinStream[bitnum] = *invert; - bitnum++; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BinStream[bitnum] = 1-*invert; - bitnum++; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BinStream[bitnum]=77; - bitnum++; - } - - lastBit+=*clk;//skip over error - } - } - if (bitnum >=400) break; + if ((i-iii) >(400 * *clk)) break; //got plenty of bits + } + //we got more than 64 good bits and not all errors + if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BinStream[bitnum] = *invert; + bitnum++; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BinStream[bitnum] = 1-*invert; + bitnum++; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BinStream[bitnum]=77; + bitnum++; + } + + lastBit+=*clk;//skip over error + } + } + if (bitnum >=400) break; + } + *BitLen=bitnum; + } else{ + *invert=bestStart; + *clk=iii; + return -1; + } + return bestErrCnt; } //by marshmellow @@ -210,46 +210,46 @@ int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) //run through 2 times and take least errCnt int manrawdecode(uint8_t * BitStream, int *bitLen) { - int bitnum=0; - int errCnt =0; - int i=1; - int bestErr = 1000; - int bestRun = 0; - int ii=1; - for (ii=1;ii<3;++ii){ - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - } else { - errCnt++; - } - if(bitnum>300) break; - } - if (bestErr>errCnt){ - bestErr=errCnt; - bestRun=ii; - } - errCnt=0; - } - errCnt=bestErr; - if (errCnt<20){ - ii=bestRun; - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - BitStream[bitnum++]=0; - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - BitStream[bitnum++]=1; - } else { - BitStream[bitnum++]=77; - //errCnt++; - } - if(bitnum>300) break; - } - *bitLen=bitnum; - } - return errCnt; + int bitnum=0; + int errCnt =0; + int i=1; + int bestErr = 1000; + int bestRun = 0; + int ii=1; + for (ii=1;ii<3;++ii){ + i=1; + for (i=i+ii;i<*bitLen-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + } else { + errCnt++; + } + if(bitnum>300) break; + } + if (bestErr>errCnt){ + bestErr=errCnt; + bestRun=ii; + } + errCnt=0; + } + errCnt=bestErr; + if (errCnt<20){ + ii=bestRun; + i=1; + for (i=i+ii;i<*bitLen-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + BitStream[bitnum++]=0; + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + BitStream[bitnum++]=1; + } else { + BitStream[bitnum++]=77; + //errCnt++; + } + if(bitnum>300) break; + } + *bitLen=bitnum; + } + return errCnt; } @@ -257,23 +257,23 @@ int manrawdecode(uint8_t * BitStream, int *bitLen) //take 01 or 10 = 0 and 11 or 00 = 1 int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) { - uint8_t bitnum=0; - uint32_t errCnt =0; - uint32_t i=1; - i=offset; - for (;i<*bitLen-2;i+=2){ - if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ - BitStream[bitnum++]=1; - } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ - BitStream[bitnum++]=0; - } else { - BitStream[bitnum++]=77; - errCnt++; - } - if(bitnum>250) break; + uint8_t bitnum=0; + uint32_t errCnt =0; + uint32_t i=1; + i=offset; + for (;i<*bitLen-2;i+=2){ + if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ + BitStream[bitnum++]=1; + } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ + BitStream[bitnum++]=0; + } else { + BitStream[bitnum++]=77; + errCnt++; } - *bitLen=bitnum; - return errCnt; + if(bitnum>250) break; + } + *bitLen=bitnum; + return errCnt; } //by marshmellow @@ -282,351 +282,352 @@ int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) //prints binary found and saves in graphbuffer for further commands int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) { - uint32_t i; - // int invert=0; //invert default - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default - uint8_t BitStream[502] = {0}; + uint32_t i; + // int invert=0; //invert default + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default + uint8_t BitStream[502] = {0}; - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert =0; - uint32_t initLoopMax = 200; - if (initLoopMax>*bitLen) initLoopMax=*bitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158)){ //throw away static - // PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + if (*clk<8) *clk =64; + if (*clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert =0; + uint32_t initLoopMax = 200; + if (initLoopMax>*bitLen) initLoopMax=*bitLen; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 158)){ //throw away static + // PrintAndLog("no data found"); + return -2; + } + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - uint32_t iii = 0; - uint32_t gLen = *bitLen; - if (gLen > 500) gLen=500; - uint8_t errCnt =0; - uint32_t bestStart = *bitLen; - uint32_t bestErrCnt = (*bitLen/1000); - uint8_t midBit=0; - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - //loop through to see if this start location works - for (i = iii; i < *bitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BitStream[bitnum] = *invert; - bitnum++; - midBit=0; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BitStream[bitnum] = 1-*invert; - bitnum++; - midBit=0; - } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= 1-*invert; - bitnum++; - } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= *invert; - bitnum++; - } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ - //no mid bar found - midBit=1; - BitStream[bitnum]= BitStream[bitnum-1]; - bitnum++; - } else { - //mid value found or no bar supposed to be here + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint32_t iii = 0; + uint32_t gLen = *bitLen; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + uint32_t bestStart = *bitLen; + uint32_t bestErrCnt = (*bitLen/1000); + uint8_t midBit=0; + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *bitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BitStream[bitnum] = *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BitStream[bitnum] = 1-*invert; + bitnum++; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= 1-*invert; + bitnum++; + } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= *invert; + bitnum++; + } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ + //no mid bar found + midBit=1; + BitStream[bitnum]= BitStream[bitnum-1]; + bitnum++; + } else { + //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BitStream[bitnum]=77; - bitnum++; - } - - - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over - errCnt=0; - bitnum=0;//start over - break; - } - } - } - if (bitnum>500) break; + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BitStream[bitnum]=77; + bitnum++; } - //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { - //possible good read - if (errCnt==0) break; //great read - finish - if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish - if (errCnt((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over + errCnt=0; + bitnum=0;//start over + break; } + } } - if (iii>=gLen){ //exhausted test - //if there was a ok test go back to that one and re-run the best run (then dump after that run) - if (bestErrCnt < (*bitLen/1000)) iii=bestStart; + if (bitnum>500) break; + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { + //possible good read + if (errCnt==0) break; //great read - finish + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt16){ + if (iii>=gLen){ //exhausted test + //if there was a ok test go back to that one and re-run the best run (then dump after that run) + if (bestErrCnt < (*bitLen/1000)) iii=bestStart; + } + } + if (bitnum>16){ + + // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to BinStream + // ClearGraph(0); + for (i=0; i < bitnum; ++i){ + BinStream[i]=BitStream[i]; + } + *bitLen=bitnum; + // RepaintGraphWindow(); + //output + // if (errCnt>0){ + // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + // } + // PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + // printBitStream2(BitStream,bitnum); + //int errCnt=0; + //errCnt=manrawdemod(BitStream,bitnum); - // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to BinStream - // ClearGraph(0); - for (i=0; i < bitnum; ++i){ - BinStream[i]=BitStream[i]; - } - *bitLen=bitnum; - // RepaintGraphWindow(); - //output - // if (errCnt>0){ - // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - // } - // PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - // printBitStream2(BitStream,bitnum); - //int errCnt=0; - //errCnt=manrawdemod(BitStream,bitnum); - - // Em410xDecode(Cmd); - } else return -1; - return errCnt; + // Em410xDecode(Cmd); + } else return -1; + return errCnt; } //translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow) { - uint32_t last_transition = 0; - uint32_t idx = 1; - uint32_t maxVal=0; - if (fchigh==0) fchigh=10; - if (fclow==0) fclow=8; - // we do care about the actual theshold value as sometimes near the center of the - // wave we may get static that changes direction of wave for one value - // if our value is too low it might affect the read. and if our tag or - // antenna is weak a setting too high might not see anything. [marshmellow] - if (size<100) return 0; - for(idx=1; idx<100; idx++){ - if(maxVal1 transition - if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise - //do nothing with extra garbage - } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves - dest[numBits]=1; - } else { //9+ = 10 waves - dest[numBits]=0; - } - last_transition = idx; - numBits++; - } - } - return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 + // Check for 0->1 transition + if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition + if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise + //do nothing with extra garbage + } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves + dest[numBits]=1; + } else { //9+ = 10 waves + dest[numBits]=0; + } + last_transition = idx; + numBits++; + } + } + return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 } uint32_t myround2(float f) { - if (f >= 2000) return 2000;//something bad happened - return (uint32_t) (f + (float)0.5); + if (f >= 2000) return 2000;//something bad happened + return (uint32_t) (f + (float)0.5); } //translate 11111100000 to 10 size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert,uint8_t fchigh,uint8_t fclow )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, { - uint8_t lastval=dest[0]; - uint32_t idx=0; - size_t numBits=0; - uint32_t n=1; + uint8_t lastval=dest[0]; + uint32_t idx=0; + size_t numBits=0; + uint32_t n=1; - for( idx=1; idx < size; idx++) { + for( idx=1; idx < size; idx++) { - if (dest[idx]==lastval) { - n++; - continue; - } - //if lastval was 1, we have a 1->0 crossing - if ( dest[idx-1]==1 ) { - n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); - //n=(n+1) / h2l_crossing_value; - } else {// 0->1 crossing - n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor - //n=(n+1) / l2h_crossing_value; - } - if (n == 0) n = 1; + if (dest[idx]==lastval) { + n++; + continue; + } + //if lastval was 1, we have a 1->0 crossing + if ( dest[idx-1]==1 ) { + n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); + //n=(n+1) / h2l_crossing_value; + } else {// 0->1 crossing + n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor + //n=(n+1) / l2h_crossing_value; + } + if (n == 0) n = 1; - if(n < maxConsequtiveBits) //Consecutive - { - if(invert==0){ //invert bits - memset(dest+numBits, dest[idx-1] , n); - }else{ - memset(dest+numBits, dest[idx-1]^1 , n); - } - numBits += n; - } - n=0; - lastval=dest[idx]; - }//end for - return numBits; + if(n < maxConsequtiveBits) //Consecutive + { + if(invert==0){ //invert bits + memset(dest+numBits, dest[idx-1] , n); + }else{ + memset(dest+numBits, dest[idx-1]^1 , n); + } + numBits += n; + } + n=0; + lastval=dest[idx]; + }//end for + return numBits; } //by marshmellow (from holiman's base) // full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod) int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow) { - // FSK demodulator - size = fsk_wave_demod(dest, size, fchigh, fclow); - size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); - return size; + // FSK demodulator + size = fsk_wave_demod(dest, size, fchigh, fclow); + size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); + return size; } // loop to get raw HID waveform then FSK demodulate the TAG ID from it int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { + + size_t idx=0; //, found=0; //size=0, + // FSK demodulator + size = fskdemod(dest, size,50,0,10,8); - size_t idx=0; //, found=0; //size=0, - // FSK demodulator - size = fskdemod(dest, size,50,0,10,8); - - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; - int numshifts = 0; - idx = 0; - //one scan - while( idx + sizeof(frame_marker_mask) < size) { - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - *hi2 = (*hi2<<1)|(*hi>>31); - *hi = (*hi<<1)|(*lo>>31); - //Then, shift in a 0 or one into low - if (dest[idx] && !dest[idx+1]) // 1 0 - *lo=(*lo<<1)|0; - else // 0 1 - *lo=(*lo<<1)|1; - numshifts++; - idx += 2; - } - // Hopefully, we read a tag and hit upon the next frame marker - if(idx + sizeof(frame_marker_mask) < size) - { - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - //good return - return idx; - } - } - // reset - *hi2 = *hi = *lo = 0; - numshifts = 0; - }else { - idx++; - } - } - return -1; + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; + int numshifts = 0; + idx = 0; + //one scan + while( idx + sizeof(frame_marker_mask) < size) { + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=sizeof(frame_marker_mask); + while(dest[idx] != dest[idx+1] && idx < size-2) + { + // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|0; + else // 0 1 + *lo=(*lo<<1)|1; + numshifts++; + idx += 2; + } + // Hopefully, we read a tag and hit upon the next frame marker + if(idx + sizeof(frame_marker_mask) < size) + { + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + //good return + return idx; + } + } + // reset + *hi2 = *hi = *lo = 0; + numshifts = 0; + }else { + idx++; + } + } + return -1; } uint32_t bytebits_to_byte(uint8_t* src, int numbits) { - uint32_t num = 0; - for(int i = 0 ; i < numbits ; i++) - { - num = (num << 1) | (*src); - src++; - } - return num; + uint32_t num = 0; + for(int i = 0 ; i < numbits ; i++) + { + num = (num << 1) | (*src); + src++; + } + return num; } int IOdemodFSK(uint8_t *dest, size_t size) { - static const uint8_t THRESHOLD = 140; - uint32_t idx=0; - //make sure buffer has data - if (size < 66) return -1; - //test samples are not just noise - uint8_t justNoise = 1; - for(idx=0;idx< size && justNoise ;idx++){ - justNoise = dest[idx] < THRESHOLD; + uint32_t idx=0; + //make sure buffer has data + if (size < 66) return -1; + //test samples are not just noise + uint8_t testMax=0; + for(idx=0;idx<65;idx++){ + if (testMax170){ + // FSK demodulator + size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert + if (size < 65) return -1; //did we get a good demod? + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 65); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + //frame marker found + if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ + //confirmed proper separator bits found + //return start position + return (int) idx; + } + } } - } - return 0; + } + return 0; } // by marshmellow @@ -634,67 +635,521 @@ int IOdemodFSK(uint8_t *dest, size_t size) // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(uint8_t dest[], size_t size, int clock) { - int i=0; - int peak=0; - int low=128; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 256; //don't need to loop through entire array... - if (sizepeak){ - peak = dest[i]; - } - if(dest[i]peak){ + peak = dest[i]; } - peak=(int)((peak-128)*.75)+128; - low= (int)((low-128)*.75)+128; - int ii; - int clkCnt; - int tol = 0; - int bestErr=1000; - int errCnt[]={0,0,0,0,0,0,0,0}; - //test each valid clock from smallest to greatest to see which lines up - for(clkCnt=0; clkCnt<6;++clkCnt){ - if (clk[clkCnt]==32){ - tol=1; - }else{ - tol=0; - } - bestErr=1000; - //try lining up the peaks by moving starting point (try first 256) - for (ii=0; ii=peak) || (dest[ii]<=low)){ - errCnt[clkCnt]=0; - // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ - if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt[clkCnt]++; - } - } - //if we found no errors this is correct one - return this clock - if(errCnt[clkCnt]==0) return clk[clkCnt]; - //if we found errors see if it is lowest so far and save it as best run - if(errCnt[clkCnt]=peak) || (dest[ii]<=low)){ + errCnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt++; + } + } + //if we found no errors this is correct one - return this clock + if(errCnt==0) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCntpeak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + errCnt=0; + peakcnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + peakcnt++; + }else{ //error no peak detected + errCnt++; + } + } + if(peakcnt>peaksdet[clkCnt]) { + peaksdet[clkCnt]=peakcnt; + bestErr[clkCnt]=errCnt; + } + } + } + } + int iii=0; + int best=0; + //int ratio2; //debug + int ratio; + //int bits; + for (iii=0; iii<7;++iii){ + ratio=1000; + //ratio2=1000; //debug + //bits=size/clk[iii]; //debug + if (peaksdet[iii]>0){ + ratio=bestErr[iii]/peaksdet[iii]; + if (((bestErr[best]/peaksdet[best])>(ratio)+1)){ + best = iii; + } + //ratio2=bits/peaksdet[iii]; //debug + } + //PrintAndLog("DEBUG: Clk: %d, peaks: %d, errs: %d, bestClk: %d, ratio: %d, bits: %d, peakbitr: %d",clk[iii],peaksdet[iii],bestErr[iii],clk[best],ratio, bits,ratio2); + } + return clk[best]; +} + +/* +int DetectNRZpskClock(uint8_t dest[], size_t size, int clock) +{ + int i=0; + int peak=0; + int low=128; + int clk[]={16,32,40,50,64,100,128,256}; + int loopCnt = 1500; //don't need to loop through entire array... + if (sizepeak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + lastClk = ii-*clk; + errCnt[clkCnt]=0; + // now that we have the first one lined up test rest of wave array + for (i=ii; i=peak || dest[i]<=low) && (i>=lastClk+*clk-tol && i<=lastClk+*clk+tol)){ + bitHigh=1; + lastClk=lastClk+*clk; + ignorewin=clk[clkCnt]/8; + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + if (i>=lastClk+*clk+tol){ //past possible bar + lowBitCnt[clkCnt]++; + } + }else if ((dest[i]>=peak || dest[i]<=low) && (i=lastClk+*clk+tol) && (bitHigh==0)){ + //error bar found no clock... + errCnt[clkCnt]++; + } + } + //if we found no errors this is correct one - return this clock + if(errCnt[clkCnt]==0 && lowBitCnt[clkCnt]==0) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCnt[clkCnt]high) high=bitStream[i]; + } + high = (int)(((high-128)*.80)+128); + low = (int)(((low-128)*.90)+128); + //low = (uint8_t)(((int)(low)-128)*.80)+128; + for (i=0; i=high) newHigh=1; + } + return; +} + +int indala26decode(uint8_t *bitStream, int *bitLen, uint8_t *invert) +{ + //26 bit 40134 format (don't know other formats) + // Finding the start of a UID + int i; + int long_wait; + //uidlen = 64; + long_wait = 29;//29 leading zeros in format + int start; + int first = 0; + int first2 = 0; + int bitCnt = 0; + int ii; + for (start = 0; start <= *bitLen - 250; start++) { + first = bitStream[start]; + for (i = start; i < start + long_wait; i++) { + if (bitStream[i] != first) { + break; + } + } + if (i == (start + long_wait)) { + break; + } + } + if (start == *bitLen - 250 + 1) { + // did not find start sequence + return -1; + } + //found start once now test length by finding next one + // Inverting signal if needed + if (first == 1) { + for (i = start; i < *bitLen; i++) { + bitStream[i] = !bitStream[i]; + } + *invert = 1; + }else *invert=0; + + int iii; + for (ii=start+29; ii <= *bitLen - 250; ii++) { + first2 = bitStream[ii]; + for (iii = ii; iii < ii + long_wait; iii++) { + if (bitStream[iii] != first2) { + break; + } + } + if (iii == (ii + long_wait)) { + break; + } + } + if (ii== *bitLen - 250 + 1){ + // did not find second start sequence + return -2; + } + bitCnt=ii-start; + + // Dumping UID + i = start; + for (ii = 0; ii < bitCnt; ii++) { + bitStream[ii] = bitStream[i++]; + //showbits[bit] = '0' + bits[bit]; + } + *bitLen=bitCnt; + return 1; +} + +int pskNRZrawDemod(uint8_t *dest, int *bitLen, int *clk, int *invert) +{ + pskCleanWave(dest,*bitLen); + int clk2 = DetectpskNRZClock(dest, *bitLen, *clk); + *clk=clk2; + uint32_t i; + uint8_t high=0, low=128; + uint32_t gLen = *bitLen; + if (gLen > 1280) gLen=1280; + // get high + for (i=0; ihigh) high = dest[i]; + if (dest[i]=high)||(dest[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *bitLen; ++i) { + //if we found a high bar and we are at a clock bit + if ((dest[i]>=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + //curBit=1-*invert; + //dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + ignorewin=*clk/8; + //curBit=*invert; + //dest[bitnum]=curBit; + bitnum++; + //else if no bars found + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i>=lastBit+*clk+tol){ //clock val + //dest[bitnum]=curBit; + lastBit+=*clk; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && (ilastBit+*clk+tol) && (bitHigh==0)){ + //error bar found no clock... + errCnt++; + } + if (bitnum>=1000) break; + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(maxErr))) { + //possible good read + if (errCnt==0){ + bestStart = iii; + bestErrCnt=errCnt; + break; //great read - finish + } + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=1-*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if no bars found + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i>=lastBit+*clk+tol){ //clock val + lastBit+=*clk; + dest[bitnum]=curBit; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && ((ilastBit+*clk+tol)) && (bitHigh==0)){ + //error bar found no clock... + bitHigh=1; + dest[bitnum]=77; + bitnum++; + errCnt++; + } + if (bitnum >=1000) break; + } + *bitLen=bitnum; + } else{ + *bitLen=bitnum; + *clk=bestStart; + return -1; + } + + if (bitnum>16){ + *bitLen=bitnum; + } else return -1; + return errCnt; +} + + + /*not needed? + uint32_t i; + uint8_t high=0, low=128; + uint32_t loopMax = 1280; //20 raw bits + + // get high + if (sizehigh) high = dest[i]; + if (dest[i]=high) dest[i]=high; + else if(dest[i]<=low) dest[i]=low; + else dest[i]=0; + } + */ diff --git a/common/lfdemod.h b/common/lfdemod.h index ad95fda5e..2e0acf751 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -12,8 +12,8 @@ #include int DetectASKClock(uint8_t dest[], size_t size, int clock); -int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); -uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen); +int askmandemod(uint8_t *BinStream,int *BitLen,int *clk, int *invert); +uint64_t Em410xDecode(uint8_t *BitStream,int BitLen); int manrawdecode(uint8_t *BitStream, int *bitLen); int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset); int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); @@ -21,5 +21,9 @@ int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_ int IOdemodFSK(uint8_t *dest, size_t size); int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow); uint32_t bytebits_to_byte(uint8_t* src, int numbits); +int pskNRZrawDemod(uint8_t *dest, int *bitLen, int *clk, int *invert); +int DetectpskNRZClock(uint8_t dest[], size_t size, int clock); +int indala26decode(uint8_t *bitStream, int *bitLen, uint8_t *invert); +void pskCleanWave(uint8_t *bitStream, int bitLen); #endif diff --git a/traces/ATA5577-HIDemu-FC1-C9.pm3 b/traces/ATA5577-HIDemu-FC1-C9.pm3 new file mode 100644 index 000000000..7c0a878e8 --- /dev/null +++ b/traces/ATA5577-HIDemu-FC1-C9.pm3 @@ -0,0 +1,16000 @@ +69 +73 +35 +-4 +-36 +-64 +-86 +-106 +-46 +60 +74 +38 +3 +-31 +-58 +-82 +-101 +-102 +-41 +68 +86 +50 +14 +-22 +-50 +-75 +-96 +-113 +-34 +75 +92 +55 +19 +-17 +-46 +-72 +-92 +-111 +-31 +79 +96 +60 +23 +-14 +-43 +-70 +-91 +-109 +-28 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-108 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +85 +102 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +103 +66 +29 +-9 +-40 +-66 +-88 +-107 +-24 +85 +102 +66 +29 +-9 +-40 +-66 +-88 +-106 +-25 +85 +102 +65 +28 +-10 +-40 +-67 +-88 +-16 +92 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +77 +40 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +25 +-11 +-42 +-68 +-90 +-107 +-26 +85 +100 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +55 +12 +-22 +-51 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-28 +77 +81 +42 +2 +-31 +-59 +-82 +-31 +74 +77 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-4 +-35 +-63 +-85 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-35 +69 +72 +34 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +72 +35 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +35 +-3 +-35 +-63 +-85 +-105 +-104 +-46 +65 +80 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +74 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +25 +-11 +-42 +-68 +-90 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-107 +-26 +86 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +86 +100 +65 +27 +-9 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-9 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +22 +-13 +-44 +-69 +-13 +91 +94 +55 +12 +-22 +-52 +-76 +-22 +82 +85 +47 +6 +-27 +-56 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +83 +49 +11 +-22 +-52 +-76 +-97 +-97 +-35 +76 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-31 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +82 +97 +63 +23 +-12 +-43 +-68 +-90 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-70 +-15 +89 +92 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +77 +39 +-1 +-33 +-62 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-104 +-43 +63 +78 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +97 +58 +15 +-19 +-49 +-73 +-20 +83 +86 +48 +7 +-27 +-56 +-79 +-26 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +75 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +96 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +96 +58 +15 +-19 +-49 +-73 +-20 +84 +88 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +75 +37 +-1 +-33 +-61 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-24 +81 +85 +46 +5 +-28 +-57 +-80 +-29 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-35 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +21 +-15 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-29 +-56 +-81 +-100 +-101 +-38 +71 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-3 +-34 +-62 +-85 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-105 +-44 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +51 +15 +-20 +-49 +-75 +-95 +-112 +-33 +76 +93 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +99 +62 +25 +-12 +-42 +-68 +-90 +-108 +-27 +82 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +101 +63 +26 +-11 +-41 +-68 +-89 +-107 +-26 +83 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +83 +100 +64 +27 +-10 +-40 +-67 +-88 +-16 +92 +99 +59 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +77 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +35 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +72 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-45 +66 +81 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-15 +-44 +-70 +-91 +-109 +-29 +81 +98 +62 +25 +-13 +-42 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +89 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +15 +-20 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +20 +-16 +-46 +-72 +-92 +-110 +-30 +79 +96 +60 +23 +-14 +-44 +-70 +-91 +-109 +-28 +81 +98 +61 +24 +-13 +-43 +-69 +-90 +-19 +89 +97 +58 +15 +-19 +-49 +-74 +-21 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +69 +75 +37 +-1 +-33 +-61 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-29 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +72 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-45 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +12 +-22 +-52 +-76 +-22 +81 +86 +47 +6 +-27 +-56 +-80 +-27 +77 +81 +42 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-38 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-16 +-45 +-71 +-91 +-110 +-29 +80 +96 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +48 +7 +-26 +-56 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-104 +-44 +62 +77 +40 +6 +-29 +-56 +-81 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +98 +61 +25 +-13 +-43 +-69 +-90 +-108 +-27 +81 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +58 +15 +-19 +-49 +-74 +-20 +83 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-37 +67 +72 +34 +-3 +-35 +-63 +-85 +-105 +-104 +-46 +65 +79 +47 +9 +-24 +-54 +-77 +-98 +-98 +-37 +74 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +80 +95 +61 +22 +-14 +-45 +-69 +-91 +-109 +-28 +83 +97 +64 +25 +-11 +-42 +-68 +-90 +-107 +-26 +86 +100 +66 +22 +-13 +-44 +-69 +-13 +91 +94 +55 +13 +-21 +-51 +-75 +-22 +83 +86 +47 +6 +-27 +-56 +-80 +-27 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-30 +81 +96 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +97 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +47 +5 +-28 +-57 +-80 +-27 +77 +80 +42 +1 +-31 +-60 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-104 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-99 +-101 +-38 +71 +88 +52 +16 +-19 +-49 +-74 +-94 +-112 +-32 +77 +95 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-108 +-26 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +101 +64 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-89 +-107 +-25 +84 +101 +65 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-89 +-17 +91 +98 +59 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-30 +75 +78 +40 +0 +-32 +-60 +-83 +-32 +72 +75 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +16 +-20 +-49 +-74 +-95 +-112 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +96 +60 +24 +-14 +-43 +-69 +-90 +-109 +-28 +81 +99 +62 +25 +-12 +-42 +-69 +-90 +-18 +89 +97 +59 +15 +-19 +-49 +-73 +-20 +83 +87 +48 +7 +-27 +-56 +-79 +-26 +78 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-63 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +72 +34 +-5 +-36 +-64 +-86 +-36 +69 +73 +35 +-2 +-34 +-62 +-85 +-105 +-104 +-45 +66 +81 +48 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +83 +98 +64 +20 +-15 +-46 +-70 +-14 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-38 +70 +88 +51 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +49 +8 +-26 +-55 +-78 +-25 +79 +82 +44 +3 +-29 +-58 +-81 +-29 +76 +80 +42 +1 +-32 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-104 +-43 +63 +77 +40 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +96 +58 +15 +-19 +-49 +-73 +-20 +83 +87 +48 +7 +-26 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +66 +80 +47 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +80 +95 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +92 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +47 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +69 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +49 +11 +-22 +-52 +-76 +-97 +-97 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +80 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +50 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-58 +-81 +-29 +75 +79 +40 +0 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-105 +-44 +63 +77 +40 +6 +-28 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-19 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +98 +62 +25 +-12 +-42 +-69 +-89 +-108 +-27 +82 +100 +63 +26 +-12 +-42 +-68 +-89 +-108 +-26 +82 +100 +64 +27 +-11 +-41 +-67 +-89 +-107 +-25 +83 +100 +63 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +101 +65 +27 +-10 +-41 +-67 +-88 +-107 +-26 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +59 +16 +-18 +-49 +-73 +-19 +85 +88 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-33 +72 +75 +37 +-3 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +68 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-44 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-108 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-14 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-31 +-60 +-82 +-31 +74 +77 +40 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +89 +97 +58 +15 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +44 +3 +-30 +-58 +-81 +-30 +75 +78 +41 +0 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-104 +-44 +63 +78 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +74 +89 +55 +17 +-18 +-48 +-73 +-94 +-111 +-32 +79 +93 +59 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-71 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-24 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-43 +68 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-75 +-95 +-113 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-41 +-68 +-89 +-17 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +98 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +83 +44 +3 +-30 +-59 +-81 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-32 +73 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-43 +67 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +96 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-71 +-16 +88 +91 +52 +10 +-24 +-53 +-77 +-25 +79 +83 +44 +4 +-29 +-58 +-81 +-30 +74 +77 +39 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-52 +-76 +-97 +-98 +-35 +76 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +81 +96 +62 +24 +-12 +-43 +-69 +-91 +-108 +-27 +84 +99 +64 +26 +-10 +-42 +-67 +-89 +-107 +-27 +84 +99 +65 +22 +-14 +-44 +-69 +-14 +90 +94 +55 +12 +-22 +-51 +-75 +-23 +81 +85 +47 +6 +-27 +-56 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-46 +61 +75 +40 +5 +-29 +-57 +-81 +-100 +-102 +-40 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-46 +-72 +-92 +-110 +-29 +79 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +100 +63 +26 +-11 +-41 +-68 +-89 +-17 +91 +97 +59 +16 +-18 +-49 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-25 +79 +82 +44 +3 +-29 +-58 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-2 +-35 +-62 +-85 +-105 +-44 +62 +77 +40 +6 +-29 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-27 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +74 +78 +40 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +37 +-1 +-33 +-62 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-89 +-107 +-27 +84 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-27 +84 +98 +64 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +21 +-14 +-45 +-70 +-13 +90 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +47 +5 +-28 +-57 +-80 +-28 +76 +81 +43 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +68 +72 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-106 +-46 +61 +75 +39 +4 +-30 +-57 +-81 +-101 +-102 +-39 +70 +87 +51 +15 +-20 +-49 +-75 +-95 +-113 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-1 +-33 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +15 +-20 +-49 +-74 +-95 +-112 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +83 +99 +63 +26 +-11 +-41 +-68 +-89 +-108 +-25 +84 +101 +65 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +85 +101 +65 +28 +-10 +-40 +-66 +-88 +-107 +-24 +85 +102 +65 +27 +-10 +-40 +-67 +-88 +-107 +-25 +85 +101 +64 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-78 +-26 +77 +81 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +67 +81 +48 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-29 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +74 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-5 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-35 +69 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +72 +35 +-4 +-36 +-64 +-86 +-36 +69 +72 +35 +-2 +-34 +-63 +-85 +-105 +-104 +-45 +67 +81 +48 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-28 +83 +97 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +27 +-9 +-41 +-66 +-89 +-106 +-26 +86 +100 +66 +27 +-9 +-41 +-66 +-89 +-106 +-26 +86 +100 +66 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +27 +-9 +-41 +-66 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +82 +85 +47 +6 +-27 +-56 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +72 +77 +39 +-1 +-33 +-61 +-84 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +74 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +21 +-14 +-45 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +2 +-31 +-59 +-82 +-30 +75 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +79 +82 +43 +3 +-30 +-59 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +85 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-3 +-35 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-30 +-57 +-81 +-100 +-102 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +58 +15 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-30 +75 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-28 +81 +98 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +83 +100 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-40 +-67 +-88 +-107 +-25 +84 +102 +65 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +68 +73 +35 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +67 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-36 +74 +89 +56 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +93 +60 +21 +-14 +-45 +-70 +-92 +-109 +-30 +81 +96 +62 +23 +-13 +-44 +-69 +-91 +-108 +-29 +82 +96 +62 +19 +-16 +-47 +-71 +-16 +87 +91 +52 +10 +-24 +-53 +-77 +-25 +79 +83 +44 +3 +-29 +-58 +-81 +-30 +75 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-44 +63 +77 +41 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +89 +53 +17 +-19 +-48 +-73 +-94 +-112 +-31 +78 +96 +60 +23 +-14 +-44 +-70 +-91 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-108 +-27 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-17 +91 +98 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +-1 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +69 +74 +36 +-4 +-35 +-63 +-85 +-105 +-46 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-102 +-39 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-33 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +98 +62 +25 +-12 +-42 +-69 +-90 +-108 +-26 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-17 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +84 +88 +49 +8 +-25 +-55 +-78 +-26 +78 +82 +44 +3 +-29 +-58 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-32 +72 +77 +38 +-2 +-34 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +89 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +64 +20 +-15 +-45 +-70 +-15 +88 +93 +54 +11 +-23 +-52 +-76 +-24 +80 +84 +46 +5 +-28 +-57 +-80 +-29 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-35 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +97 +62 +23 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +63 +20 +-15 +-46 +-71 +-16 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-27 +77 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +88 +49 +8 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-45 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-26 +86 +100 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +55 +12 +-22 +-52 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-28 +76 +81 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-34 +69 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-111 +-32 +79 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +92 +54 +11 +-23 +-52 +-76 +-24 +80 +84 +46 +4 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +75 +40 +5 +-29 +-57 +-81 +-100 +-102 +-39 +71 +87 +51 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +95 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-26 +83 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-26 +83 +101 +64 +27 +-10 +-41 +-67 +-88 +-17 +91 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-58 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-3 +-35 +-63 +-85 +-105 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-36 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-31 +79 +94 +60 +21 +-14 +-45 +-70 +-91 +-109 +-29 +82 +97 +62 +23 +-12 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +20 +-15 +-46 +-70 +-14 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +38 +-1 +-33 +-62 +-84 +-33 +71 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +39 +5 +-30 +-57 +-81 +-100 +-102 +-39 +70 +87 +51 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +96 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +100 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +3 +-30 +-59 +-82 +-30 +75 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +75 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-61 +-84 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-70 +-91 +-109 +-29 +83 +97 +64 +24 +-11 +-43 +-68 +-90 +-107 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +93 +55 +12 +-22 +-52 +-75 +-22 +82 +85 +47 +5 +-27 +-56 +-80 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +91 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-28 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-24 +81 +84 +46 +5 +-28 +-57 +-80 +-29 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-1 +-34 +-62 +-84 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +69 +73 +35 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +39 +5 +-30 +-57 +-81 +-101 +-102 +-40 +70 +88 +52 +15 +-20 +-49 +-75 +-95 +-113 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +26 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +64 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +63 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-16 +91 +98 +60 +17 +-18 +-48 +-73 +-19 +85 +89 +50 +8 +-25 +-55 +-78 +-25 +79 +82 +44 +3 +-29 +-58 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +74 +36 +-4 +-35 +-63 +-85 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-2 +-34 +-62 +-85 +-105 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-69 +-91 +-109 +-28 +82 +97 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +84 +98 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +39 +4 +-30 +-57 +-81 +-101 +-102 +-39 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-34 +76 +93 +56 +20 +-17 +-46 +-72 +-92 +-110 +-31 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-30 +80 +97 +60 +23 +-14 +-43 +-70 +-91 +-20 +88 +95 +56 +14 +-20 +-50 +-74 +-21 +83 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +77 +39 +-1 +-33 +-62 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-104 +-43 +63 +78 +42 +7 +-28 +-55 +-80 +-99 +-100 +-37 +72 +90 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-14 +-44 +-70 +-91 +-109 +-29 +80 +97 +61 +25 +-13 +-42 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +58 +15 +-19 +-49 +-73 +-20 +83 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +42 +2 +-31 +-59 +-82 +-31 +74 +78 +40 +0 +-33 +-61 +-83 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-35 +76 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-30 +81 +95 +62 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-26 +85 +100 +65 +22 +-14 +-45 +-69 +-14 +90 +94 +54 +12 +-22 +-51 +-75 +-23 +81 +85 +47 +6 +-27 +-56 +-80 +-28 +77 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +68 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-35 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +63 +20 +-15 +-46 +-70 +-15 +89 +92 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +76 +93 +57 +20 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +23 +-14 +-44 +-70 +-91 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +87 +48 +7 +-27 +-56 +-79 +-26 +77 +82 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-60 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-28 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +65 +21 +-14 +-45 +-70 +-14 +89 +94 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +76 +38 +-1 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-1 +-33 +-61 +-84 +-104 +-103 +-43 +68 +83 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +82 +96 +62 +23 +-12 +-44 +-69 +-91 +-108 +-27 +83 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +93 +54 +12 +-22 +-52 +-76 +-22 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +15 +-20 +-49 +-75 +-95 +-97 +-32 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +98 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +97 +58 +15 +-19 +-49 +-73 +-21 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +40 +0 +-33 +-61 +-83 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-27 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-92 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +66 +27 +-9 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +22 +-14 +-45 +-69 +-13 +90 +94 +55 +12 +-22 +-51 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +77 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-34 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-35 +69 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-106 +-46 +60 +75 +39 +4 +-30 +-58 +-82 +-101 +-102 +-40 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-97 +-33 +77 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +48 +7 +-26 +-55 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-31 +74 +77 +40 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-26 +83 +100 +64 +27 +-11 +-41 +-68 +-88 +-107 +-26 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +100 +64 +27 +-10 +-41 +-67 +-88 +-107 +-26 +83 +101 +65 +27 +-10 +-40 +-67 +-88 +-16 +91 +98 +60 +17 +-18 +-48 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +77 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-32 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +62 +24 +-12 +-43 +-68 +-90 +-108 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +89 +93 +53 +11 +-23 +-52 +-76 +-22 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +38 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +74 +35 +-4 +-36 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +71 +33 +-6 +-37 +-65 +-87 +-37 +67 +72 +33 +-6 +-37 +-65 +-87 +-37 +68 +72 +34 +-5 +-37 +-64 +-86 +-37 +68 +72 +33 +-5 +-37 +-65 +-87 +-37 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +73 +35 +-3 +-35 +-62 +-85 +-105 +-104 +-45 +65 +80 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +74 +89 +56 +17 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-92 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +85 +99 +64 +25 +-10 +-42 +-67 +-89 +-107 +-27 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-27 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +66 +22 +-13 +-44 +-69 +-14 +90 +94 +55 +12 +-22 +-52 +-75 +-22 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +77 +81 +42 +2 +-31 +-59 +-82 +-30 +74 +77 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +0 +-33 +-61 +-84 +-104 +-103 +-43 +68 +83 +49 +12 +-22 +-52 +-76 +-97 +-97 +-35 +76 +90 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +81 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-14 +90 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +95 +58 +22 +-15 +-45 +-71 +-91 +-110 +-28 +81 +98 +62 +25 +-13 +-42 +-69 +-90 +-108 +-27 +82 +100 +63 +26 +-11 +-42 +-68 +-89 +-17 +91 +98 +59 +16 +-18 +-49 +-73 +-19 +85 +88 +50 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +39 +-1 +-33 +-61 +-84 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +38 +4 +-30 +-57 +-81 +-101 +-102 +-40 +69 +86 +50 +14 +-22 +-50 +-76 +-96 +-113 +-35 +74 +91 +55 +19 +-17 +-47 +-72 +-93 +-111 +-31 +78 +95 +58 +22 +-15 +-45 +-71 +-91 +-109 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-19 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +84 +87 +48 +7 +-27 +-55 +-79 +-26 +79 +83 +44 +3 +-30 +-58 +-81 +-29 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-1 +-34 +-62 +-84 +-33 +71 +76 +37 +0 +-32 +-61 +-83 +-103 +-103 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-98 +-36 +75 +91 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-70 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +88 +92 +53 +11 +-23 +-53 +-76 +-24 +80 +83 +45 +4 +-29 +-57 +-81 +-29 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +70 +75 +37 +0 +-33 +-61 +-83 +-104 +-103 +-43 +69 +83 +50 +12 +-22 +-52 +-76 +-97 +-97 +-35 +77 +91 +57 +19 +-16 +-47 +-71 +-93 +-110 +-30 +81 +95 +62 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +69 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +77 +40 +0 +-33 +-61 +-83 +-32 +71 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +75 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-75 +-95 +-97 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +23 +-14 +-43 +-70 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-108 +-27 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +101 +63 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +65 +27 +-10 +-40 +-67 +-88 +-107 +-25 +84 +101 +65 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +59 +16 +-18 +-48 +-73 +-19 +84 +88 +50 +8 +-25 +-55 +-78 +-26 +79 +82 +44 +3 +-30 +-58 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +74 +37 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +73 +35 +-2 +-34 +-62 +-85 +-105 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +84 +46 +5 +-29 +-57 +-80 +-28 +75 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-34 +-62 +-85 +-104 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-37 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-31 +78 +95 +59 +22 +-15 +-44 +-70 +-91 +-109 +-28 +81 +97 +61 +25 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +87 +48 +7 +-26 +-56 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +75 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +36 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +39 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +51 +15 +-20 +-49 +-74 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +81 +98 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +49 +7 +-26 +-55 +-79 +-27 +77 +81 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-34 +70 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +38 +-1 +-34 +-62 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-35 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-23 +-52 +-76 +-97 +-98 +-36 +75 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-108 +-28 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +2 +-31 +-59 +-82 +-31 +73 +77 +40 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +58 +22 +-15 +-45 +-71 +-91 +-110 +-28 +81 +97 +62 +24 +-13 +-43 +-69 +-90 +-108 +-27 +83 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-31 +74 +77 +40 +0 +-33 +-61 +-83 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +75 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-90 +-18 +89 +96 +57 +15 +-20 +-50 +-74 +-20 +83 +86 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +79 +40 +0 +-33 +-61 +-83 +-32 +71 +75 +37 +-3 +-35 +-62 +-85 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +21 +-14 +-45 +-70 +-14 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +48 +11 +-23 +-53 +-76 +-97 +-98 +-35 +75 +90 +57 +18 +-16 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +21 +-15 +-45 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-29 +-56 +-81 +-100 +-101 +-39 +71 +89 +52 +16 +-19 +-49 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-15 +-44 +-71 +-91 +-109 +-28 +81 +99 +62 +25 +-13 +-42 +-69 +-90 +-108 +-27 +83 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-10 +-41 +-67 +-88 +-107 +-25 +84 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +84 +101 +65 +27 +-10 +-41 +-67 +-88 +-16 +91 +98 +60 +17 +-18 +-48 +-73 +-19 +84 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +43 +3 +-30 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-62 +-85 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-105 +-45 +61 +75 +39 +4 +-30 +-57 +-81 +-101 +-102 +-40 +70 +87 +51 +15 +-21 +-49 +-75 +-95 +-113 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-30 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +74 +36 +-3 +-35 +-63 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +35 +-4 +-36 +-64 +-86 +-36 +68 +73 +35 +-2 +-34 +-63 +-85 +-104 +-104 +-45 +66 +81 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +2 +-31 +-59 +-82 +-30 +74 +77 +40 +-1 +-33 +-61 +-84 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +40 +6 +-29 +-56 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +81 +98 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-55 +-79 +-26 +78 +81 +43 +2 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +89 +52 +16 +-19 +-49 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-14 +-44 +-70 +-91 +-109 +-28 +81 +98 +62 +25 +-12 +-42 +-69 +-90 +-108 +-26 +83 +99 +63 +26 +-11 +-41 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +81 +42 +2 +-31 +-59 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +68 +72 +34 +-3 +-35 +-63 +-85 +-105 +-104 +-46 +65 +79 +46 +9 +-25 +-54 +-78 +-98 +-99 +-38 +73 +88 +54 +16 +-18 +-49 +-73 +-94 +-111 +-33 +78 +93 +59 +21 +-14 +-45 +-70 +-92 +-109 +-30 +82 +97 +62 +23 +-12 +-44 +-69 +-91 +-108 +-27 +85 +99 +65 +21 +-14 +-45 +-70 +-14 +90 +94 +54 +12 +-22 +-52 +-76 +-22 +82 +86 +47 +6 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-29 +75 +78 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +83 +49 +11 +-22 +-52 +-76 +-97 +-98 +-36 +76 +90 +57 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-30 +82 +96 +62 +23 +-12 +-43 +-69 +-91 +-108 +-28 +83 +97 +63 +19 +-16 +-46 +-71 +-15 +89 +92 +53 +11 +-23 +-53 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-30 +74 +78 +40 +0 +-32 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +72 +89 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +58 +22 +-15 +-45 +-70 +-91 +-110 +-28 +81 +98 +62 +24 +-13 +-42 +-69 +-90 +-108 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-18 +-49 +-73 +-20 +83 +88 +49 +7 +-26 +-55 +-79 +-26 +77 +82 +43 +3 +-30 +-59 +-82 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +15 +-20 +-49 +-75 +-95 +-97 +-33 +76 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-108 +-26 +83 +100 +64 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +84 +101 +63 +27 +-11 +-41 +-67 +-89 +-107 +-26 +83 +100 +64 +27 +-11 +-41 +-67 +-88 +-17 +91 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +87 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +73 +35 +-4 +-36 +-63 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-2 +-34 +-62 +-85 +-104 +-104 +-45 +67 +81 +48 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +90 +56 +17 +-17 +-48 +-72 +-94 +-111 +-31 +80 +94 +60 +22 +-14 +-45 +-69 +-91 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +98 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +96 +58 +15 +-19 +-49 +-74 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +44 +3 +-30 +-58 +-81 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-31 +72 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +38 +-2 +-34 +-62 +-84 +-104 +-44 +63 +78 +42 +6 +-28 +-56 +-80 +-99 +-101 +-37 +71 +88 +52 +16 +-19 +-48 +-74 +-94 +-112 +-33 +77 +95 +58 +21 +-16 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +6 +-27 +-56 +-79 +-26 +78 +81 +43 +2 +-31 +-59 +-82 +-31 +74 +79 +40 +0 +-32 +-60 +-83 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +67 +80 +47 +10 +-23 +-53 +-77 +-98 +-98 +-36 +75 +89 +56 +18 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +77 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-23 +-52 +-76 +-97 +-98 +-36 +76 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +94 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-28 +83 +98 +64 +20 +-15 +-45 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +80 +84 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-70 +-90 +-109 +-27 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-58 +-81 +-29 +75 +78 +40 +0 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-105 +-43 +63 +77 +41 +6 +-28 +-56 +-80 +-100 +-101 +-38 +71 +88 +53 +17 +-19 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +22 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +58 +15 +-19 +-49 +-74 +-20 +83 +87 +48 +7 +-27 +-56 +-79 +-27 +77 +81 +43 +2 +-31 +-59 +-82 +-30 +74 +78 +40 +-1 +-33 +-61 +-84 +-32 +71 +75 +37 +-3 +-35 +-62 +-85 +-33 +70 +74 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +81 +47 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-31 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +24 +-12 +-43 +-68 +-90 +-108 +-28 +84 +98 +63 +20 +-15 +-46 +-70 +-15 +89 +93 +53 +11 +-23 +-52 +-76 +-23 +81 +84 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +67 +82 +49 +11 +-22 +-52 +-76 +-97 +-97 +-36 +76 +91 +57 +18 +-17 +-47 +-71 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-45 +-69 +-91 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +83 +98 +64 +20 +-15 +-45 +-70 +-14 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +75 +80 +42 +1 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +71 +76 +37 +-2 +-34 +-62 +-85 +-34 +70 +74 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-28 +82 +99 +63 +26 +-12 +-42 +-68 +-89 +-18 +90 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +48 +7 +-26 +-56 +-79 +-26 +78 +82 +43 +2 +-30 +-59 +-82 +-30 +75 +79 +40 +0 +-32 +-60 +-83 +-32 +73 +77 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-2 +-34 +-62 +-85 +-104 +-44 +62 +77 +41 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +88 +53 +17 +-19 +-48 +-74 +-94 +-112 +-32 +77 +95 +59 +22 +-15 +-44 +-70 +-91 +-110 +-28 +81 +98 +62 +25 +-12 +-42 +-69 +-90 +-108 +-27 +83 +99 +63 +26 +-11 +-42 +-68 +-89 +-17 +91 +97 +59 +16 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-78 +-26 +78 +82 +43 +2 +-30 +-59 +-81 +-30 +75 +79 +41 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +66 +81 +48 +10 +-24 +-53 +-77 +-97 +-98 +-37 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +59 +21 +-14 +-45 +-70 +-92 +-109 +-30 +81 +96 +61 +23 +-13 +-44 +-69 +-91 +-108 +-28 +83 +98 +63 +24 +-11 +-43 +-68 +-90 +-107 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +84 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +100 +65 +26 +-10 +-41 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +22 +-14 +-44 +-69 +-14 +90 +94 +55 +12 +-21 +-51 +-75 +-22 +82 +86 +47 +6 +-27 +-56 +-80 +-28 +77 +80 +42 +1 +-31 +-59 +-82 +-31 +74 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-3 +-34 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +68 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-106 +-46 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +77 +93 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +60 +23 +-14 +-43 +-70 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +85 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +82 +44 +3 +-30 +-58 +-81 +-29 +75 +79 +41 +1 +-32 +-60 +-83 +-32 +73 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-104 +-44 +63 +77 +40 +5 +-29 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-19 +-49 +-74 +-94 +-112 +-33 +77 +94 +57 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-108 +-26 +83 +100 +63 +26 +-11 +-41 +-68 +-89 +-107 +-26 +84 +100 +63 +27 +-11 +-41 +-68 +-89 +-107 +-26 +83 +101 +64 +27 +-11 +-41 +-67 +-88 +-107 +-25 +85 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +101 +65 +28 +-10 +-40 +-67 +-88 +-16 +91 +98 +60 +17 +-17 +-48 +-72 +-19 +86 +89 +50 +8 +-25 +-54 +-78 +-25 +79 +83 +45 +4 +-29 +-58 +-81 +-29 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +75 +89 +55 +17 +-18 +-48 +-73 +-94 +-111 +-33 +78 +92 +58 +20 +-15 +-46 +-71 +-92 +-109 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-91 +-109 +-30 +82 +96 +62 +19 +-16 +-47 +-71 +-16 +87 +92 +52 +10 +-23 +-53 +-77 +-24 +80 +84 +45 +4 +-29 +-58 +-81 +-29 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +40 +-1 +-33 +-61 +-83 +-32 +72 +76 +38 +-1 +-33 +-62 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-2 +-34 +-62 +-85 +-33 +70 +75 +37 +-3 +-35 +-63 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-5 +-36 +-64 +-86 +-36 +69 +72 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-65 +-86 +-36 +68 +72 +34 +-5 +-37 +-65 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +72 +34 +-5 +-37 +-64 +-86 +-36 +68 +72 +35 +-5 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-35 +69 +74 +35 +-4 +-36 +-63 +-86 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +74 +36 +-4 +-35 +-63 +-86 +-35 +69 +74 +36 +-4 +-35 +-63 +-85 +-35 +70 +74 +36 +-1 +-33 +-62 +-84 +-104 +-104 +-44 +67 +82 +48 +11 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-110 +-31 +80 +95 +61 +22 +-13 +-44 +-69 +-91 +-109 +-29 +82 +96 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +25 +-11 +-42 +-67 +-90 +-107 +-27 +85 +98 +64 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-42 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-42 +-67 +-89 +-107 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-107 +-26 +86 +100 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +26 +-9 +-41 +-67 +-89 +-106 +-26 +85 +99 +65 +26 +-10 +-41 +-67 +-89 +-106 +-26 +86 +100 +65 +22 +-14 +-45 +-69 +-14 +90 +94 +54 +12 +-22 +-51 +-76 +-22 +82 +85 +46 +5 +-28 +-57 +-80 +-28 +77 +80 +41 +1 +-32 +-60 +-82 +-31 +73 +77 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +69 +73 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +67 +81 +48 +11 +-23 +-53 +-76 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-94 +-110 +-31 +80 +95 +61 +22 +-14 +-45 +-69 +-92 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +99 +64 +21 +-14 +-45 +-70 +-14 +90 +93 +54 +12 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-59 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +71 +75 +37 +-2 +-35 +-62 +-85 +-34 +70 +74 +36 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +51 +16 +-20 +-49 +-74 +-94 +-112 +-33 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +60 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +15 +-19 +-49 +-73 +-20 +84 +87 +49 +7 +-26 +-55 +-79 +-27 +78 +82 +43 +3 +-30 +-59 +-82 +-29 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +6 +-28 +-56 +-81 +-100 +-101 +-38 +71 +88 +52 +16 +-20 +-49 +-74 +-95 +-112 +-33 +76 +94 +57 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +63 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +59 +16 +-19 +-49 +-73 +-19 +84 +88 +49 +8 +-26 +-55 +-78 +-26 +78 +83 +44 +3 +-30 +-58 +-81 +-29 +75 +80 +42 +1 +-31 +-60 +-83 +-32 +73 +77 +39 +-1 +-33 +-61 +-84 +-32 +71 +75 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-1 +-33 +-61 +-84 +-104 +-103 +-44 +68 +82 +48 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-47 +-72 +-93 +-111 +-31 +80 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +84 +98 +64 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-23 +-52 +-76 +-23 +80 +84 +45 +4 +-29 +-57 +-81 +-28 +76 +80 +41 +1 +-32 +-60 +-83 +-31 +73 +77 +39 +-1 +-33 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-34 +69 +74 +36 +-2 +-34 +-62 +-84 +-104 +-104 +-44 +67 +81 +47 +10 +-23 +-53 +-77 +-97 +-98 +-36 +75 +90 +56 +18 +-17 +-48 +-72 +-94 +-110 +-31 +79 +95 +61 +22 +-13 +-45 +-69 +-91 +-109 +-29 +83 +97 +63 +24 +-12 +-43 +-68 +-90 +-108 +-27 +83 +97 +63 +20 +-15 +-46 +-70 +-14 +90 +93 +54 +11 +-23 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +70 +87 +51 +16 +-20 +-49 +-74 +-95 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-18 +89 +97 +59 +16 +-19 +-49 +-73 +-20 +83 +87 +48 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-32 +-60 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-33 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-44 +62 +76 +40 +5 +-29 +-57 +-81 +-100 +-102 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-15 +-45 +-71 +-91 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-108 +-27 +83 +100 +63 +26 +-12 +-42 +-68 +-89 +-108 +-26 +84 +101 +63 +27 +-11 +-41 +-68 +-89 +-108 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-25 +84 +101 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +102 +65 +28 +-10 +-40 +-67 +-88 +-107 +-24 +85 +102 +65 +27 +-10 +-40 +-67 +-88 +-16 +92 +98 +60 +16 +-18 +-48 +-73 +-19 +85 +89 +50 +8 +-25 +-55 +-78 +-25 +79 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +72 +76 +38 +-2 +-34 +-62 +-84 +-34 +70 +74 +36 +-4 +-35 +-63 +-85 +-35 +70 +74 +36 +-3 +-35 +-63 +-85 +-35 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +35 +-4 +-36 +-64 +-86 +-36 +69 +73 +34 +-5 +-36 +-64 +-86 +-36 +68 +72 +35 +-3 +-34 +-62 +-85 +-105 +-104 +-45 +66 +81 +47 +10 +-24 +-53 +-77 +-98 +-98 +-37 +75 +89 +55 +17 +-17 +-48 +-72 +-94 +-111 +-32 +79 +94 +60 +21 +-14 +-45 +-70 +-92 +-109 +-29 +82 +96 +62 +23 +-12 +-44 +-69 +-91 +-108 +-28 +83 +98 +63 +20 +-15 +-46 +-70 +-15 +89 +93 +54 +11 +-22 +-52 +-76 +-23 +81 +85 +46 +5 +-28 +-57 +-80 +-28 +76 +80 +42 +1 +-31 +-60 +-82 +-31 +73 +77 +39 +-1 +-33 +-61 +-84 +-33 +72 +76 +37 +-2 +-34 +-62 +-85 +-34 +71 +75 +37 +-3 +-35 +-63 +-85 +-105 +-45 +61 +76 +40 +5 +-29 +-57 +-81 +-100 +-101 +-39 +71 +88 +52 +16 +-20 +-49 +-74 +-94 +-112 +-32 +77 +94 +58 +21 +-16 +-45 +-71 +-92 +-110 +-29 +80 +97 +61 +24 +-13 +-43 +-69 +-90 +-109 +-27 +82 +99 +62 +25 +-12 +-42 +-68 +-89 +-17 +90 +97 +58 +15 +-19 +-49 +-74 +-20 +84 +88 +49 +7 +-26 +-55 +-79 +-26 +78 +82 +43 +3 +-30 +-59 +-81 +-30 +74 +78 +40 +0 +-33 +-61 +-83 +-32 +71 +76 +38 +-2 +-34 +-62 +-84 +-33 diff --git a/traces/README.txt b/traces/README.txt index 50b14aaee..424092dc5 100644 --- a/traces/README.txt +++ b/traces/README.txt @@ -15,3 +15,10 @@ Transit999-best.pm3: Transit 999 format (UID 99531670) The files 'modulation-'... are all encoded with identical data (hex 00 01 02 03 04 05 06 07 08 09 0A 0B) for the purpose of recognition and testing of demodulation schemes. They were created by writing Q5 tags appropriately configured. The raw data is in 'modulation-data.dat'. + +ata5577-HIDemu-FC1-C9.pm3: ata5577 in hid prox 26 bit emulation facility code:1 card#:9 +casi-12ed825c29.pm3: casi rusco 40 bit (EM410x ID: 12ed825c29) +EM4102-Fob.pm3: (ID: 0400193cbe) +ioprox-XSF-01-3B-44725.pm3: IO Prox FSK RF/64 ID in name +ioprox-XSF-01-BE-03011.pm3: IO Prox FSK RF/64 ID in name +indala-504278295.pm3: PSK 26 bit indala \ No newline at end of file From c07b79fcbf72f530cbff5bc1e49c12bff311f50f Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 6 Jan 2015 10:58:35 -0500 Subject: [PATCH 075/133] sync with master lf files to resolve conflicts --- armsrc/lfops.c | 2834 +++++++++++++++++++++++----------------------- common/lfdemod.c | 1616 ++++++++++---------------- common/lfdemod.h | 8 +- 3 files changed, 1998 insertions(+), 2460 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 79d59bf9c..ab196325f 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -25,40 +25,40 @@ */ void DoAcquisition125k_internal(int trigger_threshold,bool silent) { - uint8_t *dest = (uint8_t *)BigBuf; - int n = sizeof(BigBuf); - int i; + uint8_t *dest = (uint8_t *)BigBuf; + int n = sizeof(BigBuf); + int i; - memset(dest, 0, n); - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - LED_D_ON(); - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - LED_D_OFF(); - if (trigger_threshold != -1 && dest[i] < trigger_threshold) - continue; - else - trigger_threshold = -1; - if (++i >= n) break; - } - } - if(!silent) - { - Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", - dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); - - } + memset(dest, 0, n); + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + LED_D_ON(); + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + LED_D_OFF(); + if (trigger_threshold != -1 && dest[i] < trigger_threshold) + continue; + else + trigger_threshold = -1; + if (++i >= n) break; + } + } + if(!silent) + { + Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", + dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); + + } } /** * Perform sample aquisition. */ void DoAcquisition125k(int trigger_threshold) { - DoAcquisition125k_internal(trigger_threshold, false); + DoAcquisition125k_internal(trigger_threshold, false); } /** @@ -70,31 +70,31 @@ void DoAcquisition125k(int trigger_threshold) **/ void LFSetupFPGAForADC(int divisor, bool lf_field) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else if (divisor == 0) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + else if (divisor == 0) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + else + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); } /** * Initializes the FPGA, and acquires the samples. **/ void AcquireRawAdcSamples125k(int divisor) { - LFSetupFPGAForADC(divisor, true); - // Now call the acquisition routine - DoAcquisition125k_internal(-1,false); + LFSetupFPGAForADC(divisor, true); + // Now call the acquisition routine + DoAcquisition125k_internal(-1,false); } /** * Initializes the FPGA for snoop-mode, and acquires the samples. @@ -102,60 +102,60 @@ void AcquireRawAdcSamples125k(int divisor) void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) { - LFSetupFPGAForADC(divisor, false); - DoAcquisition125k(trigger_threshold); + LFSetupFPGAForADC(divisor, false); + DoAcquisition125k(trigger_threshold); } void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) { - /* Make sure the tag is reset */ - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(2500); + /* Make sure the tag is reset */ + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(2500); - int divisor_used = 95; // 125 KHz - // see if 'h' was specified + int divisor_used = 95; // 125 KHz + // see if 'h' was specified - if (command[strlen((char *) command) - 1] == 'h') - divisor_used = 88; // 134.8 KHz + if (command[strlen((char *) command) - 1] == 'h') + divisor_used = 88; // 134.8 KHz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); - // And a little more time for the tag to fully power up - SpinDelay(2000); + // And a little more time for the tag to fully power up + SpinDelay(2000); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - // now modulate the reader field - while(*command != '\0' && *command != ' ') { - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + // now modulate the reader field + while(*command != '\0' && *command != ' ') { + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - LED_D_ON(); - if(*(command++) == '0') - SpinDelayUs(period_0); - else - SpinDelayUs(period_1); - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + if(*(command++) == '0') + SpinDelayUs(period_0); + else + SpinDelayUs(period_1); + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // now do the read - DoAcquisition125k(-1); + // now do the read + DoAcquisition125k(-1); } /* blank r/w tag data stream @@ -169,230 +169,230 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, */ void ReadTItag(void) { - // some hardcoded initial params - // when we read a TI tag we sample the zerocross line at 2Mhz - // TI tags modulate a 1 as 16 cycles of 123.2Khz - // TI tags modulate a 0 as 16 cycles of 134.2Khz - #define FSAMPLE 2000000 - #define FREQLO 123200 - #define FREQHI 134200 + // some hardcoded initial params + // when we read a TI tag we sample the zerocross line at 2Mhz + // TI tags modulate a 1 as 16 cycles of 123.2Khz + // TI tags modulate a 0 as 16 cycles of 134.2Khz +#define FSAMPLE 2000000 +#define FREQLO 123200 +#define FREQHI 134200 - signed char *dest = (signed char *)BigBuf; - int n = sizeof(BigBuf); -// int *dest = GraphBuffer; -// int n = GraphTraceLen; + signed char *dest = (signed char *)BigBuf; + int n = sizeof(BigBuf); + // int *dest = GraphBuffer; + // int n = GraphTraceLen; - // 128 bit shift register [shift3:shift2:shift1:shift0] - uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; + // 128 bit shift register [shift3:shift2:shift1:shift0] + uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; - int i, cycles=0, samples=0; - // how many sample points fit in 16 cycles of each frequency - uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; - // when to tell if we're close enough to one freq or another - uint32_t threshold = (sampleslo - sampleshi + 1)>>1; + int i, cycles=0, samples=0; + // how many sample points fit in 16 cycles of each frequency + uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; + // when to tell if we're close enough to one freq or another + uint32_t threshold = (sampleslo - sampleshi + 1)>>1; - // TI tags charge at 134.2Khz - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // TI tags charge at 134.2Khz + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - for (i=0; i0) ) { - cycles++; - // after 16 cycles, measure the frequency - if (cycles>15) { - cycles=0; - samples=i-samples; // number of samples in these 16 cycles + for (i=0; i0) ) { + cycles++; + // after 16 cycles, measure the frequency + if (cycles>15) { + cycles=0; + samples=i-samples; // number of samples in these 16 cycles - // TI bits are coming to us lsb first so shift them - // right through our 128 bit right shift register - shift0 = (shift0>>1) | (shift1 << 31); - shift1 = (shift1>>1) | (shift2 << 31); - shift2 = (shift2>>1) | (shift3 << 31); - shift3 >>= 1; + // TI bits are coming to us lsb first so shift them + // right through our 128 bit right shift register + shift0 = (shift0>>1) | (shift1 << 31); + shift1 = (shift1>>1) | (shift2 << 31); + shift2 = (shift2>>1) | (shift3 << 31); + shift3 >>= 1; - // check if the cycles fall close to the number - // expected for either the low or high frequency - if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { - // low frequency represents a 1 - shift3 |= (1<<31); - } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { - // high frequency represents a 0 - } else { - // probably detected a gay waveform or noise - // use this as gaydar or discard shift register and start again - shift3 = shift2 = shift1 = shift0 = 0; - } - samples = i; + // check if the cycles fall close to the number + // expected for either the low or high frequency + if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { + // low frequency represents a 1 + shift3 |= (1<<31); + } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { + // high frequency represents a 0 + } else { + // probably detected a gay waveform or noise + // use this as gaydar or discard shift register and start again + shift3 = shift2 = shift1 = shift0 = 0; + } + samples = i; - // for each bit we receive, test if we've detected a valid tag + // for each bit we receive, test if we've detected a valid tag - // if we see 17 zeroes followed by 6 ones, we might have a tag - // remember the bits are backwards - if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { - // if start and end bytes match, we have a tag so break out of the loop - if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { - cycles = 0xF0B; //use this as a flag (ugly but whatever) - break; - } - } - } - } - } + // if we see 17 zeroes followed by 6 ones, we might have a tag + // remember the bits are backwards + if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { + // if start and end bytes match, we have a tag so break out of the loop + if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { + cycles = 0xF0B; //use this as a flag (ugly but whatever) + break; + } + } + } + } + } - // if flag is set we have a tag - if (cycles!=0xF0B) { - DbpString("Info: No valid tag detected."); - } else { - // put 64 bit data into shift1 and shift0 - shift0 = (shift0>>24) | (shift1 << 8); - shift1 = (shift1>>24) | (shift2 << 8); + // if flag is set we have a tag + if (cycles!=0xF0B) { + DbpString("Info: No valid tag detected."); + } else { + // put 64 bit data into shift1 and shift0 + shift0 = (shift0>>24) | (shift1 << 8); + shift1 = (shift1>>24) | (shift2 << 8); - // align 16 bit crc into lower half of shift2 - shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; + // align 16 bit crc into lower half of shift2 + shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; - // if r/w tag, check ident match - if ( shift3&(1<<15) ) { - DbpString("Info: TI tag is rewriteable"); - // only 15 bits compare, last bit of ident is not valid - if ( ((shift3>>16)^shift0)&0x7fff ) { - DbpString("Error: Ident mismatch!"); - } else { - DbpString("Info: TI tag ident is valid"); - } - } else { - DbpString("Info: TI tag is readonly"); - } + // if r/w tag, check ident match + if ( shift3&(1<<15) ) { + DbpString("Info: TI tag is rewriteable"); + // only 15 bits compare, last bit of ident is not valid + if ( ((shift3>>16)^shift0)&0x7fff ) { + DbpString("Error: Ident mismatch!"); + } else { + DbpString("Info: TI tag ident is valid"); + } + } else { + DbpString("Info: TI tag is readonly"); + } - // WARNING the order of the bytes in which we calc crc below needs checking - // i'm 99% sure the crc algorithm is correct, but it may need to eat the - // bytes in reverse or something - // calculate CRC - uint32_t crc=0; + // WARNING the order of the bytes in which we calc crc below needs checking + // i'm 99% sure the crc algorithm is correct, but it may need to eat the + // bytes in reverse or something + // calculate CRC + uint32_t crc=0; - crc = update_crc16(crc, (shift0)&0xff); - crc = update_crc16(crc, (shift0>>8)&0xff); - crc = update_crc16(crc, (shift0>>16)&0xff); - crc = update_crc16(crc, (shift0>>24)&0xff); - crc = update_crc16(crc, (shift1)&0xff); - crc = update_crc16(crc, (shift1>>8)&0xff); - crc = update_crc16(crc, (shift1>>16)&0xff); - crc = update_crc16(crc, (shift1>>24)&0xff); + crc = update_crc16(crc, (shift0)&0xff); + crc = update_crc16(crc, (shift0>>8)&0xff); + crc = update_crc16(crc, (shift0>>16)&0xff); + crc = update_crc16(crc, (shift0>>24)&0xff); + crc = update_crc16(crc, (shift1)&0xff); + crc = update_crc16(crc, (shift1>>8)&0xff); + crc = update_crc16(crc, (shift1>>16)&0xff); + crc = update_crc16(crc, (shift1>>24)&0xff); - Dbprintf("Info: Tag data: %x%08x, crc=%x", - (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); - if (crc != (shift2&0xffff)) { - Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); - } else { - DbpString("Info: CRC is good"); - } - } + Dbprintf("Info: Tag data: %x%08x, crc=%x", + (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); + if (crc != (shift2&0xffff)) { + Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); + } else { + DbpString("Info: CRC is good"); + } + } } void WriteTIbyte(uint8_t b) { - int i = 0; + int i = 0; - // modulate 8 bits out to the antenna - for (i=0; i<8; i++) - { - if (b&(1<PIO_PDR = GPIO_SSC_DIN; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; + // Set up the synchronous serial port + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DIN; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; - // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long - // 48/2 = 24 MHz clock must be divided by 12 - AT91C_BASE_SSC->SSC_CMR = 12; + // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long + // 48/2 = 24 MHz clock must be divided by 12 + AT91C_BASE_SSC->SSC_CMR = 12; - AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); - AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; - AT91C_BASE_SSC->SSC_TCMR = 0; - AT91C_BASE_SSC->SSC_TFMR = 0; + AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); + AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; + AT91C_BASE_SSC->SSC_TCMR = 0; + AT91C_BASE_SSC->SSC_TFMR = 0; - LED_D_ON(); + LED_D_ON(); - // modulate antenna - HIGH(GPIO_SSC_DOUT); + // modulate antenna + HIGH(GPIO_SSC_DOUT); - // Charge TI tag for 50ms. - SpinDelay(50); + // Charge TI tag for 50ms. + SpinDelay(50); - // stop modulating antenna and listen - LOW(GPIO_SSC_DOUT); + // stop modulating antenna and listen + LOW(GPIO_SSC_DOUT); - LED_D_OFF(); + LED_D_OFF(); - i = 0; - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer - i++; if(i >= TIBUFLEN) break; - } - WDT_HIT(); - } + i = 0; + for(;;) { + if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer + i++; if(i >= TIBUFLEN) break; + } + WDT_HIT(); + } - // return stolen pin to SSP - AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; + // return stolen pin to SSP + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; - char *dest = (char *)BigBuf; - n = TIBUFLEN*32; - // unpack buffer - for (i=TIBUFLEN-1; i>=0; i--) { - for (j=0; j<32; j++) { - if(BigBuf[i] & (1 << j)) { - dest[--n] = 1; - } else { - dest[--n] = -1; - } - } - } + char *dest = (char *)BigBuf; + n = TIBUFLEN*32; + // unpack buffer + for (i=TIBUFLEN-1; i>=0; i--) { + for (j=0; j<32; j++) { + if(BigBuf[i] & (1 << j)) { + dest[--n] = 1; + } else { + dest[--n] = -1; + } + } + } } // arguments: 64bit data split into 32bit idhi:idlo and optional 16bit crc @@ -400,127 +400,127 @@ void AcquireTiType(void) // if not provided a valid crc will be computed from the data and written. void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if(crc == 0) { - crc = update_crc16(crc, (idlo)&0xff); - crc = update_crc16(crc, (idlo>>8)&0xff); - crc = update_crc16(crc, (idlo>>16)&0xff); - crc = update_crc16(crc, (idlo>>24)&0xff); - crc = update_crc16(crc, (idhi)&0xff); - crc = update_crc16(crc, (idhi>>8)&0xff); - crc = update_crc16(crc, (idhi>>16)&0xff); - crc = update_crc16(crc, (idhi>>24)&0xff); - } - Dbprintf("Writing to tag: %x%08x, crc=%x", - (unsigned int) idhi, (unsigned int) idlo, crc); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if(crc == 0) { + crc = update_crc16(crc, (idlo)&0xff); + crc = update_crc16(crc, (idlo>>8)&0xff); + crc = update_crc16(crc, (idlo>>16)&0xff); + crc = update_crc16(crc, (idlo>>24)&0xff); + crc = update_crc16(crc, (idhi)&0xff); + crc = update_crc16(crc, (idhi>>8)&0xff); + crc = update_crc16(crc, (idhi>>16)&0xff); + crc = update_crc16(crc, (idhi>>24)&0xff); + } + Dbprintf("Writing to tag: %x%08x, crc=%x", + (unsigned int) idhi, (unsigned int) idlo, crc); - // TI tags charge at 134.2Khz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - LED_A_ON(); + // TI tags charge at 134.2Khz + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + LED_A_ON(); - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - // writing algorithm: - // a high bit consists of a field off for 1ms and field on for 1ms - // a low bit consists of a field off for 0.3ms and field on for 1.7ms - // initiate a charge time of 50ms (field on) then immediately start writing bits - // start by writing 0xBB (keyword) and 0xEB (password) - // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) - // finally end with 0x0300 (write frame) - // all data is sent lsb firts - // finish with 15ms programming time + // writing algorithm: + // a high bit consists of a field off for 1ms and field on for 1ms + // a low bit consists of a field off for 0.3ms and field on for 1.7ms + // initiate a charge time of 50ms (field on) then immediately start writing bits + // start by writing 0xBB (keyword) and 0xEB (password) + // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) + // finally end with 0x0300 (write frame) + // all data is sent lsb firts + // finish with 15ms programming time - // modulate antenna - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // charge time + // modulate antenna + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // charge time - WriteTIbyte(0xbb); // keyword - WriteTIbyte(0xeb); // password - WriteTIbyte( (idlo )&0xff ); - WriteTIbyte( (idlo>>8 )&0xff ); - WriteTIbyte( (idlo>>16)&0xff ); - WriteTIbyte( (idlo>>24)&0xff ); - WriteTIbyte( (idhi )&0xff ); - WriteTIbyte( (idhi>>8 )&0xff ); - WriteTIbyte( (idhi>>16)&0xff ); - WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo - WriteTIbyte( (crc )&0xff ); // crc lo - WriteTIbyte( (crc>>8 )&0xff ); // crc hi - WriteTIbyte(0x00); // write frame lo - WriteTIbyte(0x03); // write frame hi - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // programming time + WriteTIbyte(0xbb); // keyword + WriteTIbyte(0xeb); // password + WriteTIbyte( (idlo )&0xff ); + WriteTIbyte( (idlo>>8 )&0xff ); + WriteTIbyte( (idlo>>16)&0xff ); + WriteTIbyte( (idlo>>24)&0xff ); + WriteTIbyte( (idhi )&0xff ); + WriteTIbyte( (idhi>>8 )&0xff ); + WriteTIbyte( (idhi>>16)&0xff ); + WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo + WriteTIbyte( (crc )&0xff ); // crc lo + WriteTIbyte( (crc>>8 )&0xff ); // crc hi + WriteTIbyte(0x00); // write frame lo + WriteTIbyte(0x03); // write frame hi + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // programming time - LED_A_OFF(); + LED_A_OFF(); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - DbpString("Now use tiread to check"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + DbpString("Now use tiread to check"); } void SimulateTagLowFrequency(int period, int gap, int ledcontrol) { - int i; - uint8_t *tab = (uint8_t *)BigBuf; + int i; + uint8_t *tab = (uint8_t *)BigBuf; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; #define SHORT_COIL() LOW(GPIO_SSC_DOUT) #define OPEN_COIL() HIGH(GPIO_SSC_DOUT) - i = 0; - for(;;) { - while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } + i = 0; + for(;;) { + while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } - if (ledcontrol) - LED_D_ON(); + if (ledcontrol) + LED_D_ON(); - if(tab[i]) - OPEN_COIL(); - else - SHORT_COIL(); + if(tab[i]) + OPEN_COIL(); + else + SHORT_COIL(); - if (ledcontrol) - LED_D_OFF(); + if (ledcontrol) + LED_D_OFF(); - while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } + while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } - i++; - if(i == period) { - i = 0; - if (gap) { - SHORT_COIL(); - SpinDelayUs(gap); - } - } - } + i++; + if(i == period) { + i = 0; + if (gap) { + SHORT_COIL(); + SpinDelayUs(gap); + } + } + } } #define DEBUG_FRAME_CONTENTS 1 @@ -530,318 +530,314 @@ void SimulateTagLowFrequencyBidir(int divisor, int t0) // compose fc/8 fc/10 waveform static void fc(int c, int *n) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx; + uint8_t *dest = (uint8_t *)BigBuf; + int idx; - // for when we want an fc8 pattern every 4 logical bits - if(c==0) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples - if(c==8) { - for (idx=0; idx<6; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // for when we want an fc8 pattern every 4 logical bits + if(c==0) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples + if(c==8) { + for (idx=0; idx<6; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } - // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples - if(c==10) { - for (idx=0; idx<5; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples + if(c==10) { + for (idx=0; idx<5; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } } // prepare a waveform pattern in the buffer based on the ID given then // simulate a HID tag until the button is pressed void CmdHIDsimTAG(int hi, int lo, int ledcontrol) { - int n=0, i=0; - /* - HID tag bitstream format - The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits - A 1 bit is represented as 6 fc8 and 5 fc10 patterns - A 0 bit is represented as 5 fc10 and 6 fc8 patterns - A fc8 is inserted before every 4 bits - A special start of frame pattern is used consisting a0b0 where a and b are neither 0 - nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) - */ + int n=0, i=0; + /* + HID tag bitstream format + The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits + A 1 bit is represented as 6 fc8 and 5 fc10 patterns + A 0 bit is represented as 5 fc10 and 6 fc8 patterns + A fc8 is inserted before every 4 bits + A special start of frame pattern is used consisting a0b0 where a and b are neither 0 + nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) + */ - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - fc(0,&n); - // special start of frame marker containing invalid bit sequences - fc(8, &n); fc(8, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 - fc(10, &n); fc(10, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + fc(0,&n); + // special start of frame marker containing invalid bit sequences + fc(8, &n); fc(8, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 + fc(10, &n); fc(10, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 - WDT_HIT(); - // manchester encode bits 43 to 32 - for (i=11; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((hi>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 43 to 32 + for (i=11; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((hi>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - WDT_HIT(); - // manchester encode bits 31 to 0 - for (i=31; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((lo>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 31 to 0 + for (i=31; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((lo>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - if (ledcontrol) - LED_A_ON(); - SimulateTagLowFrequency(n, 0, ledcontrol); + if (ledcontrol) + LED_A_ON(); + SimulateTagLowFrequency(n, 0, ledcontrol); - if (ledcontrol) - LED_A_OFF(); + if (ledcontrol) + LED_A_OFF(); } // loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t hi2=0, hi=0, lo=0; + size_t size=0; //, found=0; + uint32_t hi2=0, hi=0, lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + if (size < 2000) continue; + // FSK demodulator - int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); - - WDT_HIT(); + int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); - if (bitLen>0 && lo>0){ - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - if (hi2 != 0){ //extra large HID tags - Dbprintf("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - }else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t bitlen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - bitlen =idx3+19; - fc =0; - cardnum=0; - if(bitlen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(bitlen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(bitlen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - bitlen= 37; - fc =0; - cardnum=0; - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - //Dbprintf("TAG ID: %x%08x (%d)", - // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - // reset - hi2 = hi = lo = 0; - } - WDT_HIT(); - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + WDT_HIT(); + + if (bitLen>0 && lo>0){ + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + if (hi2 != 0){ //extra large HID tags + Dbprintf("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + }else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; + } + bitlen =idx3+19; + fc =0; + cardnum=0; + if(bitlen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + //Dbprintf("TAG ID: %x%08x (%d)", + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + // reset + hi2 = hi = lo = 0; + } + WDT_HIT(); + //SpinDelay(50); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - int bitLen=0; - int clk=0, invert=0, errCnt=0; - uint64_t lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + size_t size=0; //, found=0; + uint32_t bitLen=0; + int clk=0, invert=0, errCnt=0; + uint64_t lo=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator - //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); - bitLen=size; - //Dbprintf("DEBUG: Buffer got"); - errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); - //Dbprintf("DEBUG: ASK Got"); - WDT_HIT(); + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + if (size < 2000) continue; + // FSK demodulator + //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); + bitLen=size; + //Dbprintf("DEBUG: Buffer got"); + errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); + //Dbprintf("DEBUG: ASK Got"); + WDT_HIT(); - if (errCnt>=0){ - lo = Em410xDecode(dest,bitLen); - //Dbprintf("DEBUG: EM GOT"); - //printEM410x(lo); - if (lo>0){ - Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - } else{ - //Dbprintf("DEBUG: No Tag"); - } - WDT_HIT(); - lo = 0; - clk=0; - invert=0; - errCnt=0; - size=0; - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + if (errCnt>=0){ + lo = Em410xDecode(dest,bitLen); + //Dbprintf("DEBUG: EM GOT"); + //printEM410x(lo); + if (lo>0){ + Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + } else{ + //Dbprintf("DEBUG: No Tag"); + } + WDT_HIT(); + lo = 0; + clk=0; + invert=0; + errCnt=0; + size=0; + //SpinDelay(50); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; - int idx=0; - uint32_t code=0, code2=0; - uint8_t version=0; - uint8_t facilitycode=0; - uint16_t number=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); - - while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - //make sure buffer has data - if (size < 2000) continue; - //fskdemod and get start index - WDT_HIT(); - idx = IOdemodFSK(dest,size); - if (idx>0){ - //valid tag found + uint8_t *dest = (uint8_t *)BigBuf; + int idx=0; + uint32_t code=0, code2=0; + uint8_t version=0; + uint8_t facilitycode=0; + uint16_t number=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - if(findone){ //only print binary if we are doing one - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); - Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); - } - code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); - version = bytebits_to_byte(dest+idx+27,8); //14,4 - facilitycode = bytebits_to_byte(dest+idx+18,8) ; - number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 - - Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - // if we're only looking for one tag - if (findone){ - if (ledcontrol) LED_A_OFF(); - //LED_A_OFF(); - return; - } - code=code2=0; - version=facilitycode=0; - number=0; - idx=0; - } - WDT_HIT(); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + while(!BUTTON_PRESS()) { + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + DoAcquisition125k_internal(-1,true); + //fskdemod and get start index + WDT_HIT(); + idx = IOdemodFSK(dest,sizeof(BigBuf)); + if (idx>0){ + //valid tag found + + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + if(findone){ //only print binary if we are doing one + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); + Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); + } + code = bytebits_to_byte(dest+idx,32); + code2 = bytebits_to_byte(dest+idx+32,32); + version = bytebits_to_byte(dest+idx+27,8); //14,4 + facilitycode = bytebits_to_byte(dest+idx+18,8) ; + number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 + + Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + // if we're only looking for one tag + if (findone){ + if (ledcontrol) LED_A_OFF(); + //LED_A_OFF(); + return; + } + code=code2=0; + version=facilitycode=0; + number=0; + idx=0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } /*------------------------------ @@ -911,307 +907,307 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) // Write one bit to card void T55xxWriteBit(int bit) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - if (bit == 0) - SpinDelayUs(WRITE_0); - else - SpinDelayUs(WRITE_1); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(WRITE_GAP); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + if (bit == 0) + SpinDelayUs(WRITE_0); + else + SpinDelayUs(WRITE_1); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(WRITE_GAP); } // Write one card block in page 0, no lock void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - //unsigned int i; //enio adjustment 12/10/14 - uint32_t i; + //unsigned int i; //enio adjustment 12/10/14 + uint32_t i; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); + + // Data for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); + T55xxWriteBit(Data & i); - // Data - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Data & i); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); - - // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, - // so wait a little more) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, + // so wait a little more) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); } // Read one card block in page 0 void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - uint8_t *dest = (uint8_t *)BigBuf; - //int m=0, i=0; //enio adjustment 12/10/14 - uint32_t m=0, i=0; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); - - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; - i++; - if (i >= m) break; - } - } - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + uint8_t *dest = (uint8_t *)BigBuf; + //int m=0, i=0; //enio adjustment 12/10/14 + uint32_t m=0, i=0; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); + + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); + + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; + i++; + if (i >= m) break; + } + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } // Read card traceability data (page 1) void T55xxReadTrace(void){ - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; - - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); - - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(1); //Page 1 - - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } - - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; + + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); + + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(1); //Page 1 + + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } + + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } /*-------------- Cloning routines -----------*/ // Copy HID id to card and setup block 0 config void CopyHIDtoT55x7(uint32_t hi2, uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format - int last_block = 0; - - if (longFMT){ - // Ensure no more than 84 bits supplied - if (hi2>0xFFFFF) { - DbpString("Tags can only have 84 bits."); - return; - } - // Build the 6 data blocks for supplied 84bit ID - last_block = 6; - data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) - for (int i=0;i<4;i++) { - if (hi2 & (1<<(19-i))) - data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((3-i)*2)); // 0 -> 01 - } - - data2 = 0; - for (int i=0;i<16;i++) { - if (hi2 & (1<<(15-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 + int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format + int last_block = 0; + + if (longFMT){ + // Ensure no more than 84 bits supplied + if (hi2>0xFFFFF) { + DbpString("Tags can only have 84 bits."); + return; + } + // Build the 6 data blocks for supplied 84bit ID + last_block = 6; + data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) + for (int i=0;i<4;i++) { + if (hi2 & (1<<(19-i))) + data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((3-i)*2)); // 0 -> 01 + } + + data2 = 0; + for (int i=0;i<16;i++) { + if (hi2 & (1<<(15-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data3 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(31-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data4 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(15-i))) + data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data4 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data5 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data5 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data6 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data6 |= (1<<((15-i)*2)); // 0 -> 01 + } } - - data3 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(31-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data4 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(15-i))) - data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data4 |= (1<<((15-i)*2)); // 0 -> 01 + else { + // Ensure no more than 44 bits supplied + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + + // Build the 3 data blocks for supplied 44bit ID + last_block = 3; + + data1 = 0x1D000000; // load preamble + + for (int i=0;i<12;i++) { + if (hi & (1<<(11-i))) + data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((11-i)*2)); // 0 -> 01 + } + + data2 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } + + data3 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } } - - data5 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data5 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data6 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data6 |= (1<<((15-i)*2)); // 0 -> 01 + + LED_D_ON(); + // Program the data blocks for supplied ID + // and the block 0 for HID format + T55xxWriteBlock(data1,1,0,0); + T55xxWriteBlock(data2,2,0,0); + T55xxWriteBlock(data3,3,0,0); + + if (longFMT) { // if long format there are 6 blocks + T55xxWriteBlock(data4,4,0,0); + T55xxWriteBlock(data5,5,0,0); + T55xxWriteBlock(data6,6,0,0); } - } - else { - // Ensure no more than 44 bits supplied - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - - // Build the 3 data blocks for supplied 44bit ID - last_block = 3; - - data1 = 0x1D000000; // load preamble - - for (int i=0;i<12;i++) { - if (hi & (1<<(11-i))) - data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((11-i)*2)); // 0 -> 01 - } - - data2 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } - - data3 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - } - - LED_D_ON(); - // Program the data blocks for supplied ID - // and the block 0 for HID format - T55xxWriteBlock(data1,1,0,0); - T55xxWriteBlock(data2,2,0,0); - T55xxWriteBlock(data3,3,0,0); - - if (longFMT) { // if long format there are 6 blocks - T55xxWriteBlock(data4,4,0,0); - T55xxWriteBlock(data5,5,0,0); - T55xxWriteBlock(data6,6,0,0); - } - - // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) - T55xxWriteBlock(T55x7_BITRATE_RF_50 | - T55x7_MODULATION_FSK2a | - last_block << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - - LED_D_OFF(); - - DbpString("DONE!"); + + // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) + T55xxWriteBlock(T55x7_BITRATE_RF_50 | + T55x7_MODULATION_FSK2a | + last_block << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + + LED_D_OFF(); + + DbpString("DONE!"); } void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0; //up to six blocks for long format - + int data1=0, data2=0; //up to six blocks for long format + data1 = hi; // load preamble data2 = lo; @@ -1220,11 +1216,11 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) // and the block 0 for HID format T55xxWriteBlock(data1,1,0,0); T55xxWriteBlock(data2,2,0,0); - + //Config Block T55xxWriteBlock(0x00147040,0,0,0); LED_D_OFF(); - + DbpString("DONE!"); } @@ -1234,151 +1230,151 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) { - int i, id_bit; - uint64_t id = EM410X_HEADER; - uint64_t rev_id = 0; // reversed ID - int c_parity[4]; // column parity - int r_parity = 0; // row parity - uint32_t clock = 0; + int i, id_bit; + uint64_t id = EM410X_HEADER; + uint64_t rev_id = 0; // reversed ID + int c_parity[4]; // column parity + int r_parity = 0; // row parity + uint32_t clock = 0; - // Reverse ID bits given as parameter (for simpler operations) - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - if (i < 32) { - rev_id = (rev_id << 1) | (id_lo & 1); - id_lo >>= 1; - } else { - rev_id = (rev_id << 1) | (id_hi & 1); - id_hi >>= 1; - } - } + // Reverse ID bits given as parameter (for simpler operations) + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + if (i < 32) { + rev_id = (rev_id << 1) | (id_lo & 1); + id_lo >>= 1; + } else { + rev_id = (rev_id << 1) | (id_hi & 1); + id_hi >>= 1; + } + } - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - id_bit = rev_id & 1; + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + id_bit = rev_id & 1; - if (i % 4 == 0) { - // Don't write row parity bit at start of parsing - if (i) - id = (id << 1) | r_parity; - // Start counting parity for new row - r_parity = id_bit; - } else { - // Count row parity - r_parity ^= id_bit; - } + if (i % 4 == 0) { + // Don't write row parity bit at start of parsing + if (i) + id = (id << 1) | r_parity; + // Start counting parity for new row + r_parity = id_bit; + } else { + // Count row parity + r_parity ^= id_bit; + } - // First elements in column? - if (i < 4) - // Fill out first elements - c_parity[i] = id_bit; - else - // Count column parity - c_parity[i % 4] ^= id_bit; + // First elements in column? + if (i < 4) + // Fill out first elements + c_parity[i] = id_bit; + else + // Count column parity + c_parity[i % 4] ^= id_bit; - // Insert ID bit - id = (id << 1) | id_bit; - rev_id >>= 1; - } + // Insert ID bit + id = (id << 1) | id_bit; + rev_id >>= 1; + } - // Insert parity bit of last row - id = (id << 1) | r_parity; + // Insert parity bit of last row + id = (id << 1) | r_parity; - // Fill out column parity at the end of tag - for (i = 0; i < 4; ++i) - id = (id << 1) | c_parity[i]; + // Fill out column parity at the end of tag + for (i = 0; i < 4; ++i) + id = (id << 1) | c_parity[i]; - // Add stop bit - id <<= 1; + // Add stop bit + id <<= 1; - Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); - LED_D_ON(); + Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); + LED_D_ON(); - // Write EM410x ID - T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); - T55xxWriteBlock((uint32_t)id, 2, 0, 0); + // Write EM410x ID + T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); + T55xxWriteBlock((uint32_t)id, 2, 0, 0); - // Config for EM410x (RF/64, Manchester, Maxblock=2) - if (card) { - // Clock rate is stored in bits 8-15 of the card value - clock = (card & 0xFF00) >> 8; - Dbprintf("Clock rate: %d", clock); - switch (clock) - { - case 32: - clock = T55x7_BITRATE_RF_32; - break; - case 16: - clock = T55x7_BITRATE_RF_16; - break; - case 0: - // A value of 0 is assumed to be 64 for backwards-compatibility - // Fall through... - case 64: - clock = T55x7_BITRATE_RF_64; - break; - default: - Dbprintf("Invalid clock rate: %d", clock); - return; - } + // Config for EM410x (RF/64, Manchester, Maxblock=2) + if (card) { + // Clock rate is stored in bits 8-15 of the card value + clock = (card & 0xFF00) >> 8; + Dbprintf("Clock rate: %d", clock); + switch (clock) + { + case 32: + clock = T55x7_BITRATE_RF_32; + break; + case 16: + clock = T55x7_BITRATE_RF_16; + break; + case 0: + // A value of 0 is assumed to be 64 for backwards-compatibility + // Fall through... + case 64: + clock = T55x7_BITRATE_RF_64; + break; + default: + Dbprintf("Invalid clock rate: %d", clock); + return; + } - // Writing configuration for T55x7 tag - T55xxWriteBlock(clock | - T55x7_MODULATION_MANCHESTER | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - } - else - // Writing configuration for T5555(Q5) tag - T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | - T5555_MODULATION_MANCHESTER | - 2 << T5555_MAXBLOCK_SHIFT, - 0, 0, 0); + // Writing configuration for T55x7 tag + T55xxWriteBlock(clock | + T55x7_MODULATION_MANCHESTER | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + } + else + // Writing configuration for T5555(Q5) tag + T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | + T5555_MODULATION_MANCHESTER | + 2 << T5555_MAXBLOCK_SHIFT, + 0, 0, 0); - LED_D_OFF(); - Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", - (uint32_t)(id >> 32), (uint32_t)id); + LED_D_OFF(); + Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", + (uint32_t)(id >> 32), (uint32_t)id); } // Clone Indala 64-bit tag by UID to T55x7 void CopyIndala64toT55x7(int hi, int lo) { - //Program the 2 data blocks for supplied 64bit UID - // and the block 0 for Indala64 format - T55xxWriteBlock(hi,1,0,0); - T55xxWriteBlock(lo,2,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) -// T5567WriteBlock(0x603E1042,0); + //Program the 2 data blocks for supplied 64bit UID + // and the block 0 for Indala64 format + T55xxWriteBlock(hi,1,0,0); + T55xxWriteBlock(lo,2,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) + // T5567WriteBlock(0x603E1042,0); - DbpString("DONE!"); + DbpString("DONE!"); } void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int uid6, int uid7) { - //Program the 7 data blocks for supplied 224bit UID - // and the block 0 for Indala224 format - T55xxWriteBlock(uid1,1,0,0); - T55xxWriteBlock(uid2,2,0,0); - T55xxWriteBlock(uid3,3,0,0); - T55xxWriteBlock(uid4,4,0,0); - T55xxWriteBlock(uid5,5,0,0); - T55xxWriteBlock(uid6,6,0,0); - T55xxWriteBlock(uid7,7,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 7 << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) -// T5567WriteBlock(0x603E10E2,0); + //Program the 7 data blocks for supplied 224bit UID + // and the block 0 for Indala224 format + T55xxWriteBlock(uid1,1,0,0); + T55xxWriteBlock(uid2,2,0,0); + T55xxWriteBlock(uid3,3,0,0); + T55xxWriteBlock(uid4,4,0,0); + T55xxWriteBlock(uid5,5,0,0); + T55xxWriteBlock(uid6,6,0,0); + T55xxWriteBlock(uid7,7,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 7 << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) + // T5567WriteBlock(0x603E10E2,0); - DbpString("DONE!"); + DbpString("DONE!"); } @@ -1387,261 +1383,261 @@ void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int #define max(x,y) ( x GraphBuffer[0]) { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) - break; - i++; + uint8_t BitStream[256]; + uint8_t Blocks[8][16]; + uint8_t *GraphBuffer = (uint8_t *)BigBuf; + int GraphTraceLen = sizeof(BigBuf); + int i, j, lastval, bitidx, half_switch; + int clock = 64; + int tolerance = clock / 8; + int pmc, block_done; + int lc, warnings = 0; + int num_blocks = 0; + int lmin=128, lmax=128; + uint8_t dir; + + AcquireRawAdcSamples125k(0); + + lmin = 64; + lmax = 192; + + i = 2; + + /* Find first local max/min */ + if(GraphBuffer[1] > GraphBuffer[0]) { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) + break; + i++; + } + dir = 0; } - dir = 0; - } - else { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) - break; - i++; + else { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) + break; + i++; + } + dir = 1; } - dir = 1; - } - - lastval = i++; - half_switch = 0; - pmc = 0; - block_done = 0; - - for (bitidx = 0; i < GraphTraceLen; i++) - { - if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) - { - lc = i - lastval; - lastval = i; - - // Switch depending on lc length: - // Tolerance is 1/8 of clock rate (arbitrary) - if (abs(lc-clock/4) < tolerance) { - // 16T0 - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33+16)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else { - pmc = i; - } - } else if (abs(lc-clock/2) < tolerance) { - // 32TO - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else if(half_switch == 1) { - BitStream[bitidx++] = 0; - half_switch = 0; - } - else - half_switch++; - } else if (abs(lc-clock) < tolerance) { - // 64TO - BitStream[bitidx++] = 1; - } else { - // Error - warnings++; - if (warnings > 10) - { - Dbprintf("Error: too many detection errors, aborting."); - return 0; - } - } - - if(block_done == 1) { - if(bitidx == 128) { - for(j=0; j<16; j++) { - Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ - 64*BitStream[j*8+6]+ - 32*BitStream[j*8+5]+ - 16*BitStream[j*8+4]+ - 8*BitStream[j*8+3]+ - 4*BitStream[j*8+2]+ - 2*BitStream[j*8+1]+ - BitStream[j*8]; - } - num_blocks++; - } - bitidx = 0; - block_done = 0; - half_switch = 0; - } - if(i < GraphTraceLen) - { - if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; - else dir = 1; - } - } - if(bitidx==255) - bitidx=0; - warnings = 0; - if(num_blocks == 4) break; - } - memcpy(outBlocks, Blocks, 16*num_blocks); - return num_blocks; + + lastval = i++; + half_switch = 0; + pmc = 0; + block_done = 0; + + for (bitidx = 0; i < GraphTraceLen; i++) + { + if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) + { + lc = i - lastval; + lastval = i; + + // Switch depending on lc length: + // Tolerance is 1/8 of clock rate (arbitrary) + if (abs(lc-clock/4) < tolerance) { + // 16T0 + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33+16)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else { + pmc = i; + } + } else if (abs(lc-clock/2) < tolerance) { + // 32TO + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else if(half_switch == 1) { + BitStream[bitidx++] = 0; + half_switch = 0; + } + else + half_switch++; + } else if (abs(lc-clock) < tolerance) { + // 64TO + BitStream[bitidx++] = 1; + } else { + // Error + warnings++; + if (warnings > 10) + { + Dbprintf("Error: too many detection errors, aborting."); + return 0; + } + } + + if(block_done == 1) { + if(bitidx == 128) { + for(j=0; j<16; j++) { + Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ + 64*BitStream[j*8+6]+ + 32*BitStream[j*8+5]+ + 16*BitStream[j*8+4]+ + 8*BitStream[j*8+3]+ + 4*BitStream[j*8+2]+ + 2*BitStream[j*8+1]+ + BitStream[j*8]; + } + num_blocks++; + } + bitidx = 0; + block_done = 0; + half_switch = 0; + } + if(i < GraphTraceLen) + { + if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; + else dir = 1; + } + } + if(bitidx==255) + bitidx=0; + warnings = 0; + if(num_blocks == 4) break; + } + memcpy(outBlocks, Blocks, 16*num_blocks); + return num_blocks; } int IsBlock0PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled - return 1; - if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? - return 1; - return 0; + // Assume RFU means 0 :) + if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled + return 1; + if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? + return 1; + return 0; } int IsBlock1PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) - if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) - return 1; - - return 0; + // Assume RFU means 0 :) + if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) + if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) + return 1; + + return 0; } #define ALLOC 16 void ReadPCF7931() { - uint8_t Blocks[8][17]; - uint8_t tmpBlocks[4][16]; - int i, j, ind, ind2, n; - int num_blocks = 0; - int max_blocks = 8; - int ident = 0; - int error = 0; - int tries = 0; - - memset(Blocks, 0, 8*17*sizeof(uint8_t)); - - do { - memset(tmpBlocks, 0, 4*16*sizeof(uint8_t)); - n = DemodPCF7931((uint8_t**)tmpBlocks); - if(!n) - error++; - if(error==10 && num_blocks == 0) { - Dbprintf("Error, no tag or bad tag"); - return; - } - else if (tries==20 || error==10) { - Dbprintf("Error reading the tag"); - Dbprintf("Here is the partial content"); - goto end; - } - - for(i=0; i= 0; ind--,ind2--) { - if(ind2 < 0) - ind2 = max_blocks; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { - if(ind2 > max_blocks) - ind2 = 0; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - } - } + else if (tries==20 || error==10) { + Dbprintf("Error reading the tag"); + Dbprintf("Here is the partial content"); + goto end; } - } - } - tries++; - if (BUTTON_PRESS()) return; - } while (num_blocks != max_blocks); + + for(i=0; i= 0; ind--,ind2--) { + if(ind2 < 0) + ind2 = max_blocks; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { + if(ind2 > max_blocks) + ind2 = 0; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + } + } + } + } + } + tries++; + if (BUTTON_PRESS()) return; + } while (num_blocks != max_blocks); end: - Dbprintf("-----------------------------------------"); - Dbprintf("Memory content:"); - Dbprintf("-----------------------------------------"); - for(i=0; i", i); - } - Dbprintf("-----------------------------------------"); - - return ; + Dbprintf("-----------------------------------------"); + Dbprintf("Memory content:"); + Dbprintf("-----------------------------------------"); + for(i=0; i", i); + } + Dbprintf("-----------------------------------------"); + + return ; } @@ -1665,20 +1661,20 @@ uint8_t * fwd_write_ptr; //forwardlink bit pointer //==================================================================== //-------------------------------------------------------------------- uint8_t Prepare_Cmd( uint8_t cmd ) { - //-------------------------------------------------------------------- - - *forward_ptr++ = 0; //start bit - *forward_ptr++ = 0; //second pause for 4050 code - - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - - return 6; //return number of emited bits + //-------------------------------------------------------------------- + + *forward_ptr++ = 0; //start bit + *forward_ptr++ = 0; //second pause for 4050 code + + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + + return 6; //return number of emited bits } //==================================================================== @@ -1688,21 +1684,21 @@ uint8_t Prepare_Cmd( uint8_t cmd ) { //-------------------------------------------------------------------- uint8_t Prepare_Addr( uint8_t addr ) { - //-------------------------------------------------------------------- - - register uint8_t line_parity; - - uint8_t i; - line_parity = 0; - for(i=0;i<6;i++) { - *forward_ptr++ = addr; - line_parity ^= addr; - addr >>= 1; - } - - *forward_ptr++ = (line_parity & 1); - - return 7; //return number of emited bits + //-------------------------------------------------------------------- + + register uint8_t line_parity; + + uint8_t i; + line_parity = 0; + for(i=0;i<6;i++) { + *forward_ptr++ = addr; + line_parity ^= addr; + addr >>= 1; + } + + *forward_ptr++ = (line_parity & 1); + + return 7; //return number of emited bits } //==================================================================== @@ -1712,36 +1708,36 @@ uint8_t Prepare_Addr( uint8_t addr ) { //-------------------------------------------------------------------- uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { - //-------------------------------------------------------------------- - - register uint8_t line_parity; - register uint8_t column_parity; - register uint8_t i, j; - register uint16_t data; - - data = data_low; - column_parity = 0; - - for(i=0; i<4; i++) { - line_parity = 0; - for(j=0; j<8; j++) { - line_parity ^= data; - column_parity ^= (data & 1) << j; - *forward_ptr++ = data; - data >>= 1; + //-------------------------------------------------------------------- + + register uint8_t line_parity; + register uint8_t column_parity; + register uint8_t i, j; + register uint16_t data; + + data = data_low; + column_parity = 0; + + for(i=0; i<4; i++) { + line_parity = 0; + for(j=0; j<8; j++) { + line_parity ^= data; + column_parity ^= (data & 1) << j; + *forward_ptr++ = data; + data >>= 1; + } + *forward_ptr++ = line_parity; + if(i == 1) + data = data_hi; } - *forward_ptr++ = line_parity; - if(i == 1) - data = data_hi; - } - - for(j=0; j<8; j++) { - *forward_ptr++ = column_parity; - column_parity >>= 1; - } - *forward_ptr = 0; - - return 45; //return number of emited bits + + for(j=0; j<8; j++) { + *forward_ptr++ = column_parity; + column_parity >>= 1; + } + *forward_ptr = 0; + + return 45; //return number of emited bits } //==================================================================== @@ -1750,115 +1746,115 @@ uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { // fwd_bit_count set with number of bits to be sent //==================================================================== void SendForward(uint8_t fwd_bit_count) { - - fwd_write_ptr = forwardLink_data; - fwd_bit_sz = fwd_bit_count; - - LED_D_ON(); - - //Field on - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); - - // force 1st mod pulse (start gap must be longer for 4305) - fwd_bit_sz--; //prepare next bit modulation - fwd_write_ptr++; - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(16*8); //16 cycles on (8us each) - - // now start writting - while(fwd_bit_sz-- > 0) { //prepare next bit modulation - if(((*fwd_write_ptr++) & 1) == 1) - SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) - else { - //These timings work for 4469/4269/4305 (with the 55*8 above) - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(23*8); //16-4 cycles off (8us each) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(9*8); //16 cycles on (8us each) + + fwd_write_ptr = forwardLink_data; + fwd_bit_sz = fwd_bit_count; + + LED_D_ON(); + + //Field on + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); + + // force 1st mod pulse (start gap must be longer for 4305) + fwd_bit_sz--; //prepare next bit modulation + fwd_write_ptr++; + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(16*8); //16 cycles on (8us each) + + // now start writting + while(fwd_bit_sz-- > 0) { //prepare next bit modulation + if(((*fwd_write_ptr++) & 1) == 1) + SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) + else { + //These timings work for 4469/4269/4305 (with the 55*8 above) + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(23*8); //16-4 cycles off (8us each) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(9*8); //16 cycles on (8us each) + } } - } } void EM4xLogin(uint32_t Password) { - - uint8_t fwd_bit_count; - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); - fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); - - SendForward(fwd_bit_count); - - //Wait for command to complete - SpinDelay(20); - + + uint8_t fwd_bit_count; + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); + fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); + + SendForward(fwd_bit_count); + + //Wait for command to complete + SpinDelay(20); + } void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - - uint8_t fwd_bit_count; - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; - - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); - fwd_bit_count += Prepare_Addr( Address ); - - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); - - SendForward(fwd_bit_count); - - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; + + uint8_t fwd_bit_count; + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; + + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); + fwd_bit_count += Prepare_Addr( Address ); + + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); + + SendForward(fwd_bit_count); + + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } void EM4xWriteWord(uint32_t Data, uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - - uint8_t fwd_bit_count; - - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); - - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); - fwd_bit_count += Prepare_Addr( Address ); - fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); - - SendForward(fwd_bit_count); - - //Wait for write to complete - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + + uint8_t fwd_bit_count; + + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); + + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); + fwd_bit_count += Prepare_Addr( Address ); + fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); + + SendForward(fwd_bit_count); + + //Wait for write to complete + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } diff --git a/common/lfdemod.c b/common/lfdemod.c index ad4721f16..79c99f733 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -14,195 +14,195 @@ //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID -uint64_t Em410xDecode(uint8_t *BitStream, int BitLen) +uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) { - //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future - // otherwise could be a void with no arguments - //set defaults - int high=0, low=128; - uint64_t lo=0; //hi=0, + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + int high=0, low=128; + uint64_t lo=0; //hi=0, - uint32_t i = 0; - uint32_t initLoopMax = 65; - if (initLoopMax>BitLen) initLoopMax=BitLen; + uint32_t i = 0; + uint32_t initLoopMax = 65; + if (initLoopMax>BitLen) initLoopMax=BitLen; - for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values - { - if (BitStream[i] > high) - high = BitStream[i]; - else if (BitStream[i] < low) - low = BitStream[i]; - } - if (((high !=1)||(low !=0))){ //allow only 1s and 0s - // PrintAndLog("no data found"); - return 0; - } - uint8_t parityTest=0; - // 111111111 bit pattern represent start of frame - uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; - uint32_t idx = 0; - uint32_t ii=0; - uint8_t resetCnt = 0; - while( (idx + 64) < BitLen) { - restart: - // search for a start of frame marker - if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=9;//sizeof(frame_marker_mask); - for (i=0; i<10;i++){ - for(ii=0; ii<5; ++ii){ - parityTest += BitStream[(i*5)+ii+idx]; - } - if (parityTest== ((parityTest>>1)<<1)){ - parityTest=0; - for (ii=0; ii<4;++ii){ - //hi = (hi<<1)|(lo>>31); - lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); - } - //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); - }else {//parity failed - //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); - parityTest=0; - idx-=8; - if (resetCnt>5)return 0; - resetCnt++; - goto restart;//continue; - } - } - //skip last 5 bit parity test for simplicity. - return lo; - }else{ - idx++; + for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values + { + if (BitStream[i] > high) + high = BitStream[i]; + else if (BitStream[i] < low) + low = BitStream[i]; } - } - return 0; + if (((high !=1)||(low !=0))){ //allow only 1s and 0s + // PrintAndLog("no data found"); + return 0; + } + uint8_t parityTest=0; + // 111111111 bit pattern represent start of frame + uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t ii=0; + uint8_t resetCnt = 0; + while( (idx + 64) < BitLen) { +restart: + // search for a start of frame marker + if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=9;//sizeof(frame_marker_mask); + for (i=0; i<10;i++){ + for(ii=0; ii<5; ++ii){ + parityTest += BitStream[(i*5)+ii+idx]; + } + if (parityTest== ((parityTest>>1)<<1)){ + parityTest=0; + for (ii=0; ii<4;++ii){ + //hi = (hi<<1)|(lo>>31); + lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); + } + //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); + }else {//parity failed + //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); + parityTest=0; + idx-=8; + if (resetCnt>5)return 0; + resetCnt++; + goto restart;//continue; + } + } + //skip last 5 bit parity test for simplicity. + return lo; + }else{ + idx++; + } + } + return 0; } //by marshmellow //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask while decoding manchester //prints binary found and saves in graphbuffer for further commands -int askmandemod(uint8_t * BinStream, int *BitLen,int *clk, int *invert) +int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) { - int i; - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default + int i; + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert=0; - uint32_t initLoopMax = 200; - if (initLoopMax>*BitLen) initLoopMax=*BitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158) ){ //throw away static - //PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; - - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - int iii = 0; - uint32_t gLen = *BitLen; - if (gLen > 3000) gLen=3000; - uint8_t errCnt =0; - uint32_t bestStart = *BitLen; - uint32_t bestErrCnt = (*BitLen/1000); - uint32_t maxErr = (*BitLen/1000); - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - errCnt=0; - //loop through to see if this start location works - for (i = iii; i < *BitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over - } - } - if ((i-iii) >(400 * *clk)) break; //got plenty of bits - } - //we got more than 64 good bits and not all errors - if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt*BitLen) initLoopMax=*BitLen; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; } - } - if (bestErrCnt= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BinStream[bitnum] = *invert; - bitnum++; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BinStream[bitnum] = 1-*invert; - bitnum++; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BinStream[bitnum]=77; - bitnum++; - } - - lastBit+=*clk;//skip over error - } - } - if (bitnum >=400) break; + if ((high < 158) ){ //throw away static + //PrintAndLog("no data found"); + return -2; } - *BitLen=bitnum; - } else{ - *invert=bestStart; - *clk=iii; - return -1; - } - return bestErrCnt; + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; + + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + int iii = 0; + uint32_t gLen = *BitLen; + if (gLen > 3000) gLen=3000; + uint8_t errCnt =0; + uint32_t bestStart = *BitLen; + uint32_t bestErrCnt = (*BitLen/1000); + uint32_t maxErr = (*BitLen/1000); + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + errCnt=0; + //loop through to see if this start location works + for (i = iii; i < *BitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over + } + } + if ((i-iii) >(400 * *clk)) break; //got plenty of bits + } + //we got more than 64 good bits and not all errors + if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BinStream[bitnum] = *invert; + bitnum++; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BinStream[bitnum] = 1-*invert; + bitnum++; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BinStream[bitnum]=77; + bitnum++; + } + + lastBit+=*clk;//skip over error + } + } + if (bitnum >=400) break; + } + *BitLen=bitnum; + } else{ + *invert=bestStart; + *clk=iii; + return -1; + } + return bestErrCnt; } //by marshmellow @@ -210,46 +210,46 @@ int askmandemod(uint8_t * BinStream, int *BitLen,int *clk, int *invert) //run through 2 times and take least errCnt int manrawdecode(uint8_t * BitStream, int *bitLen) { - int bitnum=0; - int errCnt =0; - int i=1; - int bestErr = 1000; - int bestRun = 0; - int ii=1; - for (ii=1;ii<3;++ii){ - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - } else { - errCnt++; - } - if(bitnum>300) break; - } - if (bestErr>errCnt){ - bestErr=errCnt; - bestRun=ii; - } - errCnt=0; - } - errCnt=bestErr; - if (errCnt<20){ - ii=bestRun; - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - BitStream[bitnum++]=0; - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - BitStream[bitnum++]=1; - } else { - BitStream[bitnum++]=77; - //errCnt++; - } - if(bitnum>300) break; - } - *bitLen=bitnum; - } - return errCnt; + int bitnum=0; + int errCnt =0; + int i=1; + int bestErr = 1000; + int bestRun = 0; + int ii=1; + for (ii=1;ii<3;++ii){ + i=1; + for (i=i+ii;i<*bitLen-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + } else { + errCnt++; + } + if(bitnum>300) break; + } + if (bestErr>errCnt){ + bestErr=errCnt; + bestRun=ii; + } + errCnt=0; + } + errCnt=bestErr; + if (errCnt<20){ + ii=bestRun; + i=1; + for (i=i+ii;i<*bitLen-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + BitStream[bitnum++]=0; + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + BitStream[bitnum++]=1; + } else { + BitStream[bitnum++]=77; + //errCnt++; + } + if(bitnum>300) break; + } + *bitLen=bitnum; + } + return errCnt; } @@ -257,23 +257,23 @@ int manrawdecode(uint8_t * BitStream, int *bitLen) //take 01 or 10 = 0 and 11 or 00 = 1 int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) { - uint8_t bitnum=0; - uint32_t errCnt =0; - uint32_t i=1; - i=offset; - for (;i<*bitLen-2;i+=2){ - if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ - BitStream[bitnum++]=1; - } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ - BitStream[bitnum++]=0; - } else { - BitStream[bitnum++]=77; - errCnt++; + uint8_t bitnum=0; + uint32_t errCnt =0; + uint32_t i=1; + i=offset; + for (;i<*bitLen-2;i+=2){ + if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ + BitStream[bitnum++]=1; + } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ + BitStream[bitnum++]=0; + } else { + BitStream[bitnum++]=77; + errCnt++; + } + if(bitnum>250) break; } - if(bitnum>250) break; - } - *bitLen=bitnum; - return errCnt; + *bitLen=bitnum; + return errCnt; } //by marshmellow @@ -282,352 +282,352 @@ int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) //prints binary found and saves in graphbuffer for further commands int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) { - uint32_t i; - // int invert=0; //invert default - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default - uint8_t BitStream[502] = {0}; + uint32_t i; + // int invert=0; //invert default + int high = 0, low = 128; + *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default + uint8_t BitStream[502] = {0}; - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert =0; - uint32_t initLoopMax = 200; - if (initLoopMax>*bitLen) initLoopMax=*bitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158)){ //throw away static - // PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + if (*clk<8) *clk =64; + if (*clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert =0; + uint32_t initLoopMax = 200; + if (initLoopMax>*bitLen) initLoopMax=*bitLen; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 158)){ //throw away static + // PrintAndLog("no data found"); + return -2; + } + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - uint32_t iii = 0; - uint32_t gLen = *bitLen; - if (gLen > 500) gLen=500; - uint8_t errCnt =0; - uint32_t bestStart = *bitLen; - uint32_t bestErrCnt = (*bitLen/1000); - uint8_t midBit=0; - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - //loop through to see if this start location works - for (i = iii; i < *bitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BitStream[bitnum] = *invert; - bitnum++; - midBit=0; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BitStream[bitnum] = 1-*invert; - bitnum++; - midBit=0; - } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= 1-*invert; - bitnum++; - } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= *invert; - bitnum++; - } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ - //no mid bar found - midBit=1; - BitStream[bitnum]= BitStream[bitnum-1]; - bitnum++; - } else { - //mid value found or no bar supposed to be here + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint32_t iii = 0; + uint32_t gLen = *bitLen; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + uint32_t bestStart = *bitLen; + uint32_t bestErrCnt = (*bitLen/1000); + uint8_t midBit=0; + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *bitLen; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BitStream[bitnum] = *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BitStream[bitnum] = 1-*invert; + bitnum++; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= 1-*invert; + bitnum++; + } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= *invert; + bitnum++; + } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ + //no mid bar found + midBit=1; + BitStream[bitnum]= BitStream[bitnum-1]; + bitnum++; + } else { + //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BitStream[bitnum]=77; - bitnum++; + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BitStream[bitnum]=77; + bitnum++; + } + + + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over + errCnt=0; + bitnum=0;//start over + break; + } + } + } + if (bitnum>500) break; } - - - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over - errCnt=0; - bitnum=0;//start over - break; + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { + //possible good read + if (errCnt==0) break; //great read - finish + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt500) break; - } - //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { - //possible good read - if (errCnt==0) break; //great read - finish - if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish - if (errCnt=gLen){ //exhausted test + //if there was a ok test go back to that one and re-run the best run (then dump after that run) + if (bestErrCnt < (*bitLen/1000)) iii=bestStart; } - } } - if (iii>=gLen){ //exhausted test - //if there was a ok test go back to that one and re-run the best run (then dump after that run) - if (bestErrCnt < (*bitLen/1000)) iii=bestStart; - } - } - if (bitnum>16){ - - // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to BinStream - // ClearGraph(0); - for (i=0; i < bitnum; ++i){ - BinStream[i]=BitStream[i]; - } - *bitLen=bitnum; - // RepaintGraphWindow(); - //output - // if (errCnt>0){ - // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - // } - // PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - // printBitStream2(BitStream,bitnum); - //int errCnt=0; - //errCnt=manrawdemod(BitStream,bitnum); + if (bitnum>16){ - // Em410xDecode(Cmd); - } else return -1; - return errCnt; + // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to BinStream + // ClearGraph(0); + for (i=0; i < bitnum; ++i){ + BinStream[i]=BitStream[i]; + } + *bitLen=bitnum; + // RepaintGraphWindow(); + //output + // if (errCnt>0){ + // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + // } + // PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + // printBitStream2(BitStream,bitnum); + //int errCnt=0; + //errCnt=manrawdemod(BitStream,bitnum); + + // Em410xDecode(Cmd); + } else return -1; + return errCnt; } //translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow) { - uint32_t last_transition = 0; - uint32_t idx = 1; - uint32_t maxVal=0; - if (fchigh==0) fchigh=10; - if (fclow==0) fclow=8; - // we do care about the actual theshold value as sometimes near the center of the - // wave we may get static that changes direction of wave for one value - // if our value is too low it might affect the read. and if our tag or - // antenna is weak a setting too high might not see anything. [marshmellow] - if (size<100) return 0; - for(idx=1; idx<100; idx++){ - if(maxVal1 transition - if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise - //do nothing with extra garbage - } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves - dest[numBits]=1; - } else { //9+ = 10 waves - dest[numBits]=0; - } - last_transition = idx; - numBits++; - } - } - return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 + size_t numBits = 0; + // count cycles between consecutive lo-hi transitions, there should be either 8 (fc/8) + // or 10 (fc/10) cycles but in practice due to noise etc we may end up with with anywhere + // between 7 to 11 cycles so fuzz it by treat anything <9 as 8 and anything else as 10 + for(idx = 1; idx < size; idx++) { + // threshold current value + + if (dest[idx] < threshold_value) dest[idx] = 0; + else dest[idx] = 1; + + // Check for 0->1 transition + if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition + if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise + //do nothing with extra garbage + } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves + dest[numBits]=1; + } else { //9+ = 10 waves + dest[numBits]=0; + } + last_transition = idx; + numBits++; + } + } + return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 } uint32_t myround2(float f) { - if (f >= 2000) return 2000;//something bad happened - return (uint32_t) (f + (float)0.5); + if (f >= 2000) return 2000;//something bad happened + return (uint32_t) (f + (float)0.5); } //translate 11111100000 to 10 size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert,uint8_t fchigh,uint8_t fclow )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, { - uint8_t lastval=dest[0]; - uint32_t idx=0; - size_t numBits=0; - uint32_t n=1; + uint8_t lastval=dest[0]; + uint32_t idx=0; + size_t numBits=0; + uint32_t n=1; - for( idx=1; idx < size; idx++) { + for( idx=1; idx < size; idx++) { - if (dest[idx]==lastval) { - n++; - continue; - } - //if lastval was 1, we have a 1->0 crossing - if ( dest[idx-1]==1 ) { - n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); - //n=(n+1) / h2l_crossing_value; - } else {// 0->1 crossing - n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor - //n=(n+1) / l2h_crossing_value; - } - if (n == 0) n = 1; + if (dest[idx]==lastval) { + n++; + continue; + } + //if lastval was 1, we have a 1->0 crossing + if ( dest[idx-1]==1 ) { + n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); + //n=(n+1) / h2l_crossing_value; + } else {// 0->1 crossing + n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor + //n=(n+1) / l2h_crossing_value; + } + if (n == 0) n = 1; - if(n < maxConsequtiveBits) //Consecutive - { - if(invert==0){ //invert bits - memset(dest+numBits, dest[idx-1] , n); - }else{ - memset(dest+numBits, dest[idx-1]^1 , n); - } - numBits += n; - } - n=0; - lastval=dest[idx]; - }//end for - return numBits; + if(n < maxConsequtiveBits) //Consecutive + { + if(invert==0){ //invert bits + memset(dest+numBits, dest[idx-1] , n); + }else{ + memset(dest+numBits, dest[idx-1]^1 , n); + } + numBits += n; + } + n=0; + lastval=dest[idx]; + }//end for + return numBits; } //by marshmellow (from holiman's base) // full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod) int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow) { - // FSK demodulator - size = fsk_wave_demod(dest, size, fchigh, fclow); - size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); - return size; + // FSK demodulator + size = fsk_wave_demod(dest, size, fchigh, fclow); + size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); + return size; } // loop to get raw HID waveform then FSK demodulate the TAG ID from it int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { - - size_t idx=0; //, found=0; //size=0, - // FSK demodulator - size = fskdemod(dest, size,50,0,10,8); - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; - int numshifts = 0; - idx = 0; - //one scan - while( idx + sizeof(frame_marker_mask) < size) { - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - *hi2 = (*hi2<<1)|(*hi>>31); - *hi = (*hi<<1)|(*lo>>31); - //Then, shift in a 0 or one into low - if (dest[idx] && !dest[idx+1]) // 1 0 - *lo=(*lo<<1)|0; - else // 0 1 - *lo=(*lo<<1)|1; - numshifts++; - idx += 2; - } - // Hopefully, we read a tag and hit upon the next frame marker - if(idx + sizeof(frame_marker_mask) < size) - { - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - //good return - return idx; - } - } - // reset - *hi2 = *hi = *lo = 0; - numshifts = 0; - }else { - idx++; - } - } - return -1; + size_t idx=0; //, found=0; //size=0, + // FSK demodulator + size = fskdemod(dest, size,50,0,10,8); + + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; + int numshifts = 0; + idx = 0; + //one scan + while( idx + sizeof(frame_marker_mask) < size) { + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=sizeof(frame_marker_mask); + while(dest[idx] != dest[idx+1] && idx < size-2) + { + // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|0; + else // 0 1 + *lo=(*lo<<1)|1; + numshifts++; + idx += 2; + } + // Hopefully, we read a tag and hit upon the next frame marker + if(idx + sizeof(frame_marker_mask) < size) + { + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + //good return + return idx; + } + } + // reset + *hi2 = *hi = *lo = 0; + numshifts = 0; + }else { + idx++; + } + } + return -1; } uint32_t bytebits_to_byte(uint8_t* src, int numbits) { - uint32_t num = 0; - for(int i = 0 ; i < numbits ; i++) - { - num = (num << 1) | (*src); - src++; - } - return num; + uint32_t num = 0; + for(int i = 0 ; i < numbits ; i++) + { + num = (num << 1) | (*src); + src++; + } + return num; } int IOdemodFSK(uint8_t *dest, size_t size) { - uint32_t idx=0; - //make sure buffer has data - if (size < 66) return -1; - //test samples are not just noise - uint8_t testMax=0; - for(idx=0;idx<65;idx++){ - if (testMax170){ - // FSK demodulator - size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert - if (size < 65) return -1; //did we get a good demod? - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 65); idx++) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - //frame marker found - if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ - //confirmed proper separator bits found - //return start position - return (int) idx; - } - } - } - } - return 0; + uint32_t idx=0; + //make sure buffer has data + if (size < 66) return -1; + //test samples are not just noise + uint8_t testMax=0; + for(idx=0;idx<65;idx++){ + if (testMax20){ + // FSK demodulator + size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert + if (size < 65) return -1; //did we get a good demod? + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 65); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + //frame marker found + if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ + //confirmed proper separator bits found + //return start position + return (int) idx; + } + } + } + } + return 0; } // by marshmellow @@ -635,521 +635,67 @@ int IOdemodFSK(uint8_t *dest, size_t size) // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(uint8_t dest[], size_t size, int clock) { - int i=0; - int peak=0; - int low=128; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 256; //don't need to loop through entire array... - if (sizepeak){ - peak = dest[i]; - } - if(dest[i]=peak) || (dest[ii]<=low)){ - errCnt=0; - // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ - if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt++; - } + //get high and low peak + for (i=0;ipeak){ + peak = dest[i]; } - //if we found no errors this is correct one - return this clock - if(errCnt==0) return clk[clkCnt]; - //if we found errors see if it is lowest so far and save it as best run - if(errCntpeak){ - peak = dest[i]; - } - if(dest[i]=peak) || (dest[ii]<=low)){ - errCnt=0; - peakcnt=0; - // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ - if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - peakcnt++; - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ - peakcnt++; - }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ - peakcnt++; - }else{ //error no peak detected - errCnt++; - } + if(dest[i]peaksdet[clkCnt]) { - peaksdet[clkCnt]=peakcnt; - bestErr[clkCnt]=errCnt; - } - } - } - } - int iii=0; - int best=0; - //int ratio2; //debug - int ratio; - //int bits; - for (iii=0; iii<7;++iii){ - ratio=1000; - //ratio2=1000; //debug - //bits=size/clk[iii]; //debug - if (peaksdet[iii]>0){ - ratio=bestErr[iii]/peaksdet[iii]; - if (((bestErr[best]/peaksdet[best])>(ratio)+1)){ - best = iii; - } - //ratio2=bits/peaksdet[iii]; //debug - } - //PrintAndLog("DEBUG: Clk: %d, peaks: %d, errs: %d, bestClk: %d, ratio: %d, bits: %d, peakbitr: %d",clk[iii],peaksdet[iii],bestErr[iii],clk[best],ratio, bits,ratio2); - } - return clk[best]; -} - -/* -int DetectNRZpskClock(uint8_t dest[], size_t size, int clock) -{ - int i=0; - int peak=0; - int low=128; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 1500; //don't need to loop through entire array... - if (sizepeak){ - peak = dest[i]; } - if(dest[i]=peak) || (dest[ii]<=low)){ - lastClk = ii-*clk; - errCnt[clkCnt]=0; - // now that we have the first one lined up test rest of wave array - for (i=ii; i=peak || dest[i]<=low) && (i>=lastClk+*clk-tol && i<=lastClk+*clk+tol)){ - bitHigh=1; - lastClk=lastClk+*clk; - ignorewin=clk[clkCnt]/8; - }else if(dest[i]low) { - if (ignorewin==0){ - bitHigh=0; - }else ignorewin--; - if (i>=lastClk+*clk+tol){ //past possible bar - lowBitCnt[clkCnt]++; + peak=(int)((peak-128)*.75)+128; + low= (int)((low-128)*.75)+128; + int ii; + int clkCnt; + int tol = 0; + int bestErr=1000; + int errCnt[]={0,0,0,0,0,0,0,0}; + //test each valid clock from smallest to greatest to see which lines up + for(clkCnt=0; clkCnt<6;++clkCnt){ + if (clk[clkCnt]==32){ + tol=1; + }else{ + tol=0; + } + bestErr=1000; + //try lining up the peaks by moving starting point (try first 256) + for (ii=0; ii=peak) || (dest[ii]<=low)){ + errCnt[clkCnt]=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt[clkCnt]++; + } + } + //if we found no errors this is correct one - return this clock + if(errCnt[clkCnt]==0) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCnt[clkCnt]=peak || dest[i]<=low) && (i=lastClk+*clk+tol) && (bitHigh==0)){ - //error bar found no clock... - errCnt[clkCnt]++; - } } - //if we found no errors this is correct one - return this clock - if(errCnt[clkCnt]==0 && lowBitCnt[clkCnt]==0) return clk[clkCnt]; - //if we found errors see if it is lowest so far and save it as best run - if(errCnt[clkCnt]high) high=bitStream[i]; - } - high = (int)(((high-128)*.80)+128); - low = (int)(((low-128)*.90)+128); - //low = (uint8_t)(((int)(low)-128)*.80)+128; - for (i=0; i=high) newHigh=1; - } - return; -} - -int indala26decode(uint8_t *bitStream, int *bitLen, uint8_t *invert) -{ - //26 bit 40134 format (don't know other formats) - // Finding the start of a UID - int i; - int long_wait; - //uidlen = 64; - long_wait = 29;//29 leading zeros in format - int start; - int first = 0; - int first2 = 0; - int bitCnt = 0; - int ii; - for (start = 0; start <= *bitLen - 250; start++) { - first = bitStream[start]; - for (i = start; i < start + long_wait; i++) { - if (bitStream[i] != first) { - break; - } - } - if (i == (start + long_wait)) { - break; - } - } - if (start == *bitLen - 250 + 1) { - // did not find start sequence - return -1; - } - //found start once now test length by finding next one - // Inverting signal if needed - if (first == 1) { - for (i = start; i < *bitLen; i++) { - bitStream[i] = !bitStream[i]; - } - *invert = 1; - }else *invert=0; - - int iii; - for (ii=start+29; ii <= *bitLen - 250; ii++) { - first2 = bitStream[ii]; - for (iii = ii; iii < ii + long_wait; iii++) { - if (bitStream[iii] != first2) { - break; - } - } - if (iii == (ii + long_wait)) { - break; - } - } - if (ii== *bitLen - 250 + 1){ - // did not find second start sequence - return -2; - } - bitCnt=ii-start; - - // Dumping UID - i = start; - for (ii = 0; ii < bitCnt; ii++) { - bitStream[ii] = bitStream[i++]; - //showbits[bit] = '0' + bits[bit]; - } - *bitLen=bitCnt; - return 1; -} - -int pskNRZrawDemod(uint8_t *dest, int *bitLen, int *clk, int *invert) -{ - pskCleanWave(dest,*bitLen); - int clk2 = DetectpskNRZClock(dest, *bitLen, *clk); - *clk=clk2; - uint32_t i; - uint8_t high=0, low=128; - uint32_t gLen = *bitLen; - if (gLen > 1280) gLen=1280; - // get high - for (i=0; ihigh) high = dest[i]; - if (dest[i]=high)||(dest[iii]<=low)){ - lastBit=iii-*clk; - //loop through to see if this start location works - for (i = iii; i < *bitLen; ++i) { - //if we found a high bar and we are at a clock bit - if ((dest[i]>=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ - bitHigh=1; - lastBit+=*clk; - //curBit=1-*invert; - //dest[bitnum]=curBit; - ignorewin=*clk/8; - bitnum++; - //else if low bar found and we are at a clock point - }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ - bitHigh=1; - lastBit+=*clk; - ignorewin=*clk/8; - //curBit=*invert; - //dest[bitnum]=curBit; - bitnum++; - //else if no bars found - }else if(dest[i]low) { - if (ignorewin==0){ - bitHigh=0; - }else ignorewin--; - //if we are past a clock point - if (i>=lastBit+*clk+tol){ //clock val - //dest[bitnum]=curBit; - lastBit+=*clk; - bitnum++; - } - //else if bar found but we are not at a clock bit and we did not just have a clock bit - }else if ((dest[i]>=high || dest[i]<=low) && (ilastBit+*clk+tol) && (bitHigh==0)){ - //error bar found no clock... - errCnt++; - } - if (bitnum>=1000) break; - } - //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(maxErr))) { - //possible good read - if (errCnt==0){ - bestStart = iii; - bestErrCnt=errCnt; - break; //great read - finish + int iii=0; + int best=0; + for (iii=0; iii<6;++iii){ + if (errCnt[iii]=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ - bitHigh=1; - lastBit+=*clk; - curBit=1-*invert; - dest[bitnum]=curBit; - ignorewin=*clk/8; - bitnum++; - //else if low bar found and we are at a clock point - }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ - bitHigh=1; - lastBit+=*clk; - curBit=*invert; - dest[bitnum]=curBit; - ignorewin=*clk/8; - bitnum++; - //else if no bars found - }else if(dest[i]low) { - if (ignorewin==0){ - bitHigh=0; - }else ignorewin--; - //if we are past a clock point - if (i>=lastBit+*clk+tol){ //clock val - lastBit+=*clk; - dest[bitnum]=curBit; - bitnum++; - } - //else if bar found but we are not at a clock bit and we did not just have a clock bit - }else if ((dest[i]>=high || dest[i]<=low) && ((ilastBit+*clk+tol)) && (bitHigh==0)){ - //error bar found no clock... - bitHigh=1; - dest[bitnum]=77; - bitnum++; - errCnt++; - } - if (bitnum >=1000) break; - } - *bitLen=bitnum; - } else{ - *bitLen=bitnum; - *clk=bestStart; - return -1; - } - - if (bitnum>16){ - *bitLen=bitnum; - } else return -1; - return errCnt; + return clk[best]; } - - - /*not needed? - uint32_t i; - uint8_t high=0, low=128; - uint32_t loopMax = 1280; //20 raw bits - - // get high - if (sizehigh) high = dest[i]; - if (dest[i]=high) dest[i]=high; - else if(dest[i]<=low) dest[i]=low; - else dest[i]=0; - } - */ diff --git a/common/lfdemod.h b/common/lfdemod.h index 2e0acf751..ad95fda5e 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -12,8 +12,8 @@ #include int DetectASKClock(uint8_t dest[], size_t size, int clock); -int askmandemod(uint8_t *BinStream,int *BitLen,int *clk, int *invert); -uint64_t Em410xDecode(uint8_t *BitStream,int BitLen); +int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); +uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen); int manrawdecode(uint8_t *BitStream, int *bitLen); int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset); int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); @@ -21,9 +21,5 @@ int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_ int IOdemodFSK(uint8_t *dest, size_t size); int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow); uint32_t bytebits_to_byte(uint8_t* src, int numbits); -int pskNRZrawDemod(uint8_t *dest, int *bitLen, int *clk, int *invert); -int DetectpskNRZClock(uint8_t dest[], size_t size, int clock); -int indala26decode(uint8_t *bitStream, int *bitLen, uint8_t *invert); -void pskCleanWave(uint8_t *bitStream, int bitLen); #endif From ba1a299ce67e4699e77fefe6a8ef825e30118961 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 6 Jan 2015 23:29:45 -0500 Subject: [PATCH 076/133] code cleanup. re-added psk commands. also fixed a bug in detect clock functions. sync with master prep for pull request --- armsrc/lfops.c | 2738 +++++++++++++++++++++++----------------------- client/cmddata.c | 2402 ++++++++++++++++++++-------------------- client/cmdlf.c | 997 +++++++++-------- client/graph.c | 324 +++--- client/graph.h | 4 +- common/lfdemod.c | 1532 ++++++++++++++++---------- common/lfdemod.h | 18 +- 7 files changed, 4174 insertions(+), 3841 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index ab196325f..b9dbb8e27 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -18,144 +18,144 @@ /** -* Does the sample acquisition. If threshold is specified, the actual sampling -* is not commenced until the threshold has been reached. +* Does the sample acquisition. If threshold is specified, the actual sampling +* is not commenced until the threshold has been reached. * @param trigger_threshold - the threshold * @param silent - is true, now outputs are made. If false, dbprints the status */ void DoAcquisition125k_internal(int trigger_threshold,bool silent) { - uint8_t *dest = (uint8_t *)BigBuf; - int n = sizeof(BigBuf); - int i; + uint8_t *dest = (uint8_t *)BigBuf; + int n = sizeof(BigBuf); + int i; - memset(dest, 0, n); - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - LED_D_ON(); - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - LED_D_OFF(); - if (trigger_threshold != -1 && dest[i] < trigger_threshold) - continue; - else - trigger_threshold = -1; - if (++i >= n) break; - } - } - if(!silent) - { - Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", - dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); + memset(dest, 0, n); + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + LED_D_ON(); + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + LED_D_OFF(); + if (trigger_threshold != -1 && dest[i] < trigger_threshold) + continue; + else + trigger_threshold = -1; + if (++i >= n) break; + } + } + if(!silent) + { + Dbprintf("buffer samples: %02x %02x %02x %02x %02x %02x %02x %02x ...", + dest[0], dest[1], dest[2], dest[3], dest[4], dest[5], dest[6], dest[7]); - } + } } /** -* Perform sample aquisition. +* Perform sample aquisition. */ void DoAcquisition125k(int trigger_threshold) { - DoAcquisition125k_internal(trigger_threshold, false); + DoAcquisition125k_internal(trigger_threshold, false); } /** -* Setup the FPGA to listen for samples. This method downloads the FPGA bitstream -* if not already loaded, sets divisor and starts up the antenna. +* Setup the FPGA to listen for samples. This method downloads the FPGA bitstream +* if not already loaded, sets divisor and starts up the antenna. * @param divisor : 1, 88> 255 or negative ==> 134.8 KHz * 0 or 95 ==> 125 KHz -* +* **/ void LFSetupFPGAForADC(int divisor, bool lf_field) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - else if (divisor == 0) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - else - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if ( (divisor == 1) || (divisor < 0) || (divisor > 255) ) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + else if (divisor == 0) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + else + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | (lf_field ? FPGA_LF_ADC_READER_FIELD : 0)); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); } /** -* Initializes the FPGA, and acquires the samples. +* Initializes the FPGA, and acquires the samples. **/ void AcquireRawAdcSamples125k(int divisor) { - LFSetupFPGAForADC(divisor, true); - // Now call the acquisition routine - DoAcquisition125k_internal(-1,false); + LFSetupFPGAForADC(divisor, true); + // Now call the acquisition routine + DoAcquisition125k_internal(-1,false); } /** -* Initializes the FPGA for snoop-mode, and acquires the samples. +* Initializes the FPGA for snoop-mode, and acquires the samples. **/ void SnoopLFRawAdcSamples(int divisor, int trigger_threshold) { - LFSetupFPGAForADC(divisor, false); - DoAcquisition125k(trigger_threshold); + LFSetupFPGAForADC(divisor, false); + DoAcquisition125k(trigger_threshold); } void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, uint8_t *command) { - /* Make sure the tag is reset */ - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelay(2500); + /* Make sure the tag is reset */ + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelay(2500); - int divisor_used = 95; // 125 KHz - // see if 'h' was specified + int divisor_used = 95; // 125 KHz + // see if 'h' was specified - if (command[strlen((char *) command) - 1] == 'h') - divisor_used = 88; // 134.8 KHz + if (command[strlen((char *) command) - 1] == 'h') + divisor_used = 88; // 134.8 KHz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - SpinDelay(50); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Give it a bit of time for the resonant antenna to settle. + SpinDelay(50); - // And a little more time for the tag to fully power up - SpinDelay(2000); + // And a little more time for the tag to fully power up + SpinDelay(2000); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - // now modulate the reader field - while(*command != '\0' && *command != ' ') { - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + // now modulate the reader field + while(*command != '\0' && *command != ' ') { + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - LED_D_ON(); - if(*(command++) == '0') - SpinDelayUs(period_0); - else - SpinDelayUs(period_1); - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LED_D_OFF(); - SpinDelayUs(delay_off); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + if(*(command++) == '0') + SpinDelayUs(period_0); + else + SpinDelayUs(period_1); + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LED_D_OFF(); + SpinDelayUs(delay_off); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, divisor_used); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // now do the read - DoAcquisition125k(-1); + // now do the read + DoAcquisition125k(-1); } /* blank r/w tag data stream @@ -169,230 +169,227 @@ void ModThenAcquireRawAdcSamples125k(int delay_off, int period_0, int period_1, */ void ReadTItag(void) { - // some hardcoded initial params - // when we read a TI tag we sample the zerocross line at 2Mhz - // TI tags modulate a 1 as 16 cycles of 123.2Khz - // TI tags modulate a 0 as 16 cycles of 134.2Khz -#define FSAMPLE 2000000 -#define FREQLO 123200 -#define FREQHI 134200 + // some hardcoded initial params + // when we read a TI tag we sample the zerocross line at 2Mhz + // TI tags modulate a 1 as 16 cycles of 123.2Khz + // TI tags modulate a 0 as 16 cycles of 134.2Khz + #define FSAMPLE 2000000 + #define FREQLO 123200 + #define FREQHI 134200 - signed char *dest = (signed char *)BigBuf; - int n = sizeof(BigBuf); - // int *dest = GraphBuffer; - // int n = GraphTraceLen; + signed char *dest = (signed char *)BigBuf; + int n = sizeof(BigBuf); + // 128 bit shift register [shift3:shift2:shift1:shift0] + uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; - // 128 bit shift register [shift3:shift2:shift1:shift0] - uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; + int i, cycles=0, samples=0; + // how many sample points fit in 16 cycles of each frequency + uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; + // when to tell if we're close enough to one freq or another + uint32_t threshold = (sampleslo - sampleshi + 1)>>1; - int i, cycles=0, samples=0; - // how many sample points fit in 16 cycles of each frequency - uint32_t sampleslo = (FSAMPLE<<4)/FREQLO, sampleshi = (FSAMPLE<<4)/FREQHI; - // when to tell if we're close enough to one freq or another - uint32_t threshold = (sampleslo - sampleshi + 1)>>1; + // TI tags charge at 134.2Khz + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // TI tags charge at 134.2Khz - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + // get TI tag data into the buffer + AcquireTiType(); - // get TI tag data into the buffer - AcquireTiType(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + for (i=0; i0) ) { + cycles++; + // after 16 cycles, measure the frequency + if (cycles>15) { + cycles=0; + samples=i-samples; // number of samples in these 16 cycles - for (i=0; i0) ) { - cycles++; - // after 16 cycles, measure the frequency - if (cycles>15) { - cycles=0; - samples=i-samples; // number of samples in these 16 cycles + // TI bits are coming to us lsb first so shift them + // right through our 128 bit right shift register + shift0 = (shift0>>1) | (shift1 << 31); + shift1 = (shift1>>1) | (shift2 << 31); + shift2 = (shift2>>1) | (shift3 << 31); + shift3 >>= 1; - // TI bits are coming to us lsb first so shift them - // right through our 128 bit right shift register - shift0 = (shift0>>1) | (shift1 << 31); - shift1 = (shift1>>1) | (shift2 << 31); - shift2 = (shift2>>1) | (shift3 << 31); - shift3 >>= 1; + // check if the cycles fall close to the number + // expected for either the low or high frequency + if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { + // low frequency represents a 1 + shift3 |= (1<<31); + } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { + // high frequency represents a 0 + } else { + // probably detected a gay waveform or noise + // use this as gaydar or discard shift register and start again + shift3 = shift2 = shift1 = shift0 = 0; + } + samples = i; - // check if the cycles fall close to the number - // expected for either the low or high frequency - if ( (samples>(sampleslo-threshold)) && (samples<(sampleslo+threshold)) ) { - // low frequency represents a 1 - shift3 |= (1<<31); - } else if ( (samples>(sampleshi-threshold)) && (samples<(sampleshi+threshold)) ) { - // high frequency represents a 0 - } else { - // probably detected a gay waveform or noise - // use this as gaydar or discard shift register and start again - shift3 = shift2 = shift1 = shift0 = 0; - } - samples = i; + // for each bit we receive, test if we've detected a valid tag - // for each bit we receive, test if we've detected a valid tag + // if we see 17 zeroes followed by 6 ones, we might have a tag + // remember the bits are backwards + if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { + // if start and end bytes match, we have a tag so break out of the loop + if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { + cycles = 0xF0B; //use this as a flag (ugly but whatever) + break; + } + } + } + } + } - // if we see 17 zeroes followed by 6 ones, we might have a tag - // remember the bits are backwards - if ( ((shift0 & 0x7fffff) == 0x7e0000) ) { - // if start and end bytes match, we have a tag so break out of the loop - if ( ((shift0>>16)&0xff) == ((shift3>>8)&0xff) ) { - cycles = 0xF0B; //use this as a flag (ugly but whatever) - break; - } - } - } - } - } + // if flag is set we have a tag + if (cycles!=0xF0B) { + DbpString("Info: No valid tag detected."); + } else { + // put 64 bit data into shift1 and shift0 + shift0 = (shift0>>24) | (shift1 << 8); + shift1 = (shift1>>24) | (shift2 << 8); - // if flag is set we have a tag - if (cycles!=0xF0B) { - DbpString("Info: No valid tag detected."); - } else { - // put 64 bit data into shift1 and shift0 - shift0 = (shift0>>24) | (shift1 << 8); - shift1 = (shift1>>24) | (shift2 << 8); + // align 16 bit crc into lower half of shift2 + shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; - // align 16 bit crc into lower half of shift2 - shift2 = ((shift2>>24) | (shift3 << 8)) & 0x0ffff; + // if r/w tag, check ident match + if (shift3 & (1<<15) ) { + DbpString("Info: TI tag is rewriteable"); + // only 15 bits compare, last bit of ident is not valid + if (((shift3 >> 16) ^ shift0) & 0x7fff ) { + DbpString("Error: Ident mismatch!"); + } else { + DbpString("Info: TI tag ident is valid"); + } + } else { + DbpString("Info: TI tag is readonly"); + } - // if r/w tag, check ident match - if ( shift3&(1<<15) ) { - DbpString("Info: TI tag is rewriteable"); - // only 15 bits compare, last bit of ident is not valid - if ( ((shift3>>16)^shift0)&0x7fff ) { - DbpString("Error: Ident mismatch!"); - } else { - DbpString("Info: TI tag ident is valid"); - } - } else { - DbpString("Info: TI tag is readonly"); - } + // WARNING the order of the bytes in which we calc crc below needs checking + // i'm 99% sure the crc algorithm is correct, but it may need to eat the + // bytes in reverse or something + // calculate CRC + uint32_t crc=0; - // WARNING the order of the bytes in which we calc crc below needs checking - // i'm 99% sure the crc algorithm is correct, but it may need to eat the - // bytes in reverse or something - // calculate CRC - uint32_t crc=0; + crc = update_crc16(crc, (shift0)&0xff); + crc = update_crc16(crc, (shift0>>8)&0xff); + crc = update_crc16(crc, (shift0>>16)&0xff); + crc = update_crc16(crc, (shift0>>24)&0xff); + crc = update_crc16(crc, (shift1)&0xff); + crc = update_crc16(crc, (shift1>>8)&0xff); + crc = update_crc16(crc, (shift1>>16)&0xff); + crc = update_crc16(crc, (shift1>>24)&0xff); - crc = update_crc16(crc, (shift0)&0xff); - crc = update_crc16(crc, (shift0>>8)&0xff); - crc = update_crc16(crc, (shift0>>16)&0xff); - crc = update_crc16(crc, (shift0>>24)&0xff); - crc = update_crc16(crc, (shift1)&0xff); - crc = update_crc16(crc, (shift1>>8)&0xff); - crc = update_crc16(crc, (shift1>>16)&0xff); - crc = update_crc16(crc, (shift1>>24)&0xff); - - Dbprintf("Info: Tag data: %x%08x, crc=%x", - (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); - if (crc != (shift2&0xffff)) { - Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); - } else { - DbpString("Info: CRC is good"); - } - } + Dbprintf("Info: Tag data: %x%08x, crc=%x", + (unsigned int)shift1, (unsigned int)shift0, (unsigned int)shift2 & 0xFFFF); + if (crc != (shift2&0xffff)) { + Dbprintf("Error: CRC mismatch, expected %x", (unsigned int)crc); + } else { + DbpString("Info: CRC is good"); + } + } } void WriteTIbyte(uint8_t b) { - int i = 0; + int i = 0; - // modulate 8 bits out to the antenna - for (i=0; i<8; i++) - { - if (b&(1<PIO_PDR = GPIO_SSC_DIN; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; + // Set up the synchronous serial port + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DIN; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN; - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; - AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_SWRST; + AT91C_BASE_SSC->SSC_CR = AT91C_SSC_RXEN | AT91C_SSC_TXEN; - // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long - // 48/2 = 24 MHz clock must be divided by 12 - AT91C_BASE_SSC->SSC_CMR = 12; + // Sample at 2 Mbit/s, so TI tags are 16.2 vs. 14.9 clocks long + // 48/2 = 24 MHz clock must be divided by 12 + AT91C_BASE_SSC->SSC_CMR = 12; - AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); - AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; - AT91C_BASE_SSC->SSC_TCMR = 0; - AT91C_BASE_SSC->SSC_TFMR = 0; + AT91C_BASE_SSC->SSC_RCMR = SSC_CLOCK_MODE_SELECT(0); + AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(32) | AT91C_SSC_MSBF; + AT91C_BASE_SSC->SSC_TCMR = 0; + AT91C_BASE_SSC->SSC_TFMR = 0; - LED_D_ON(); + LED_D_ON(); - // modulate antenna - HIGH(GPIO_SSC_DOUT); + // modulate antenna + HIGH(GPIO_SSC_DOUT); - // Charge TI tag for 50ms. - SpinDelay(50); + // Charge TI tag for 50ms. + SpinDelay(50); - // stop modulating antenna and listen - LOW(GPIO_SSC_DOUT); + // stop modulating antenna and listen + LOW(GPIO_SSC_DOUT); - LED_D_OFF(); + LED_D_OFF(); - i = 0; - for(;;) { - if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer - i++; if(i >= TIBUFLEN) break; - } - WDT_HIT(); - } + i = 0; + for(;;) { + if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + BigBuf[i] = AT91C_BASE_SSC->SSC_RHR; // store 32 bit values in buffer + i++; if(i >= TIBUFLEN) break; + } + WDT_HIT(); + } - // return stolen pin to SSP - AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; + // return stolen pin to SSP + AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; - char *dest = (char *)BigBuf; - n = TIBUFLEN*32; - // unpack buffer - for (i=TIBUFLEN-1; i>=0; i--) { - for (j=0; j<32; j++) { - if(BigBuf[i] & (1 << j)) { - dest[--n] = 1; - } else { - dest[--n] = -1; - } - } - } + char *dest = (char *)BigBuf; + n = TIBUFLEN*32; + // unpack buffer + for (i=TIBUFLEN-1; i>=0; i--) { + for (j=0; j<32; j++) { + if(BigBuf[i] & (1 << j)) { + dest[--n] = 1; + } else { + dest[--n] = -1; + } + } + } } // arguments: 64bit data split into 32bit idhi:idlo and optional 16bit crc @@ -400,127 +397,127 @@ void AcquireTiType(void) // if not provided a valid crc will be computed from the data and written. void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - if(crc == 0) { - crc = update_crc16(crc, (idlo)&0xff); - crc = update_crc16(crc, (idlo>>8)&0xff); - crc = update_crc16(crc, (idlo>>16)&0xff); - crc = update_crc16(crc, (idlo>>24)&0xff); - crc = update_crc16(crc, (idhi)&0xff); - crc = update_crc16(crc, (idhi>>8)&0xff); - crc = update_crc16(crc, (idhi>>16)&0xff); - crc = update_crc16(crc, (idhi>>24)&0xff); - } - Dbprintf("Writing to tag: %x%08x, crc=%x", - (unsigned int) idhi, (unsigned int) idlo, crc); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + if(crc == 0) { + crc = update_crc16(crc, (idlo)&0xff); + crc = update_crc16(crc, (idlo>>8)&0xff); + crc = update_crc16(crc, (idlo>>16)&0xff); + crc = update_crc16(crc, (idlo>>24)&0xff); + crc = update_crc16(crc, (idhi)&0xff); + crc = update_crc16(crc, (idhi>>8)&0xff); + crc = update_crc16(crc, (idhi>>16)&0xff); + crc = update_crc16(crc, (idhi>>24)&0xff); + } + Dbprintf("Writing to tag: %x%08x, crc=%x", + (unsigned int) idhi, (unsigned int) idlo, crc); - // TI tags charge at 134.2Khz - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz - // Place FPGA in passthrough mode, in this mode the CROSS_LO line - // connects to SSP_DIN and the SSP_DOUT logic level controls - // whether we're modulating the antenna (high) - // or listening to the antenna (low) - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); - LED_A_ON(); + // TI tags charge at 134.2Khz + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 88); //134.8Khz + // Place FPGA in passthrough mode, in this mode the CROSS_LO line + // connects to SSP_DIN and the SSP_DOUT logic level controls + // whether we're modulating the antenna (high) + // or listening to the antenna (low) + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_PASSTHRU); + LED_A_ON(); - // steal this pin from the SSP and use it to control the modulation - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + // steal this pin from the SSP and use it to control the modulation + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - // writing algorithm: - // a high bit consists of a field off for 1ms and field on for 1ms - // a low bit consists of a field off for 0.3ms and field on for 1.7ms - // initiate a charge time of 50ms (field on) then immediately start writing bits - // start by writing 0xBB (keyword) and 0xEB (password) - // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) - // finally end with 0x0300 (write frame) - // all data is sent lsb firts - // finish with 15ms programming time + // writing algorithm: + // a high bit consists of a field off for 1ms and field on for 1ms + // a low bit consists of a field off for 0.3ms and field on for 1.7ms + // initiate a charge time of 50ms (field on) then immediately start writing bits + // start by writing 0xBB (keyword) and 0xEB (password) + // then write 80 bits of data (or 64 bit data + 16 bit crc if you prefer) + // finally end with 0x0300 (write frame) + // all data is sent lsb firts + // finish with 15ms programming time - // modulate antenna - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // charge time + // modulate antenna + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // charge time - WriteTIbyte(0xbb); // keyword - WriteTIbyte(0xeb); // password - WriteTIbyte( (idlo )&0xff ); - WriteTIbyte( (idlo>>8 )&0xff ); - WriteTIbyte( (idlo>>16)&0xff ); - WriteTIbyte( (idlo>>24)&0xff ); - WriteTIbyte( (idhi )&0xff ); - WriteTIbyte( (idhi>>8 )&0xff ); - WriteTIbyte( (idhi>>16)&0xff ); - WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo - WriteTIbyte( (crc )&0xff ); // crc lo - WriteTIbyte( (crc>>8 )&0xff ); // crc hi - WriteTIbyte(0x00); // write frame lo - WriteTIbyte(0x03); // write frame hi - HIGH(GPIO_SSC_DOUT); - SpinDelay(50); // programming time + WriteTIbyte(0xbb); // keyword + WriteTIbyte(0xeb); // password + WriteTIbyte( (idlo )&0xff ); + WriteTIbyte( (idlo>>8 )&0xff ); + WriteTIbyte( (idlo>>16)&0xff ); + WriteTIbyte( (idlo>>24)&0xff ); + WriteTIbyte( (idhi )&0xff ); + WriteTIbyte( (idhi>>8 )&0xff ); + WriteTIbyte( (idhi>>16)&0xff ); + WriteTIbyte( (idhi>>24)&0xff ); // data hi to lo + WriteTIbyte( (crc )&0xff ); // crc lo + WriteTIbyte( (crc>>8 )&0xff ); // crc hi + WriteTIbyte(0x00); // write frame lo + WriteTIbyte(0x03); // write frame hi + HIGH(GPIO_SSC_DOUT); + SpinDelay(50); // programming time - LED_A_OFF(); + LED_A_OFF(); - // get TI tag data into the buffer - AcquireTiType(); + // get TI tag data into the buffer + AcquireTiType(); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - DbpString("Now use tiread to check"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + DbpString("Now use tiread to check"); } void SimulateTagLowFrequency(int period, int gap, int ledcontrol) { - int i; - uint8_t *tab = (uint8_t *)BigBuf; - - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); - - AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; - - AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; - AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; - + int i; + uint8_t *tab = (uint8_t *)BigBuf; + + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); + + AT91C_BASE_PIOA->PIO_PER = GPIO_SSC_DOUT | GPIO_SSC_CLK; + + AT91C_BASE_PIOA->PIO_OER = GPIO_SSC_DOUT; + AT91C_BASE_PIOA->PIO_ODR = GPIO_SSC_CLK; + #define SHORT_COIL() LOW(GPIO_SSC_DOUT) #define OPEN_COIL() HIGH(GPIO_SSC_DOUT) - - i = 0; - for(;;) { - while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } - - if (ledcontrol) - LED_D_ON(); - - if(tab[i]) - OPEN_COIL(); - else - SHORT_COIL(); - - if (ledcontrol) - LED_D_OFF(); - - while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { - if(BUTTON_PRESS()) { - DbpString("Stopped"); - return; - } - WDT_HIT(); - } - - i++; - if(i == period) { - i = 0; - if (gap) { - SHORT_COIL(); - SpinDelayUs(gap); - } - } - } + + i = 0; + for(;;) { + while(!(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK)) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } + + if (ledcontrol) + LED_D_ON(); + + if(tab[i]) + OPEN_COIL(); + else + SHORT_COIL(); + + if (ledcontrol) + LED_D_OFF(); + + while(AT91C_BASE_PIOA->PIO_PDSR & GPIO_SSC_CLK) { + if(BUTTON_PRESS()) { + DbpString("Stopped"); + return; + } + WDT_HIT(); + } + + i++; + if(i == period) { + i = 0; + if (gap) { + SHORT_COIL(); + SpinDelayUs(gap); + } + } + } } #define DEBUG_FRAME_CONTENTS 1 @@ -530,314 +527,309 @@ void SimulateTagLowFrequencyBidir(int divisor, int t0) // compose fc/8 fc/10 waveform static void fc(int c, int *n) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx; + uint8_t *dest = (uint8_t *)BigBuf; + int idx; - // for when we want an fc8 pattern every 4 logical bits - if(c==0) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples - if(c==8) { - for (idx=0; idx<6; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // for when we want an fc8 pattern every 4 logical bits + if(c==0) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + // an fc/8 encoded bit is a bit pattern of 11000000 x6 = 48 samples + if(c==8) { + for (idx=0; idx<6; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } - // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples - if(c==10) { - for (idx=0; idx<5; idx++) { - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=1; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - dest[((*n)++)]=0; - } - } + // an fc/10 encoded bit is a bit pattern of 1110000000 x5 = 50 samples + if(c==10) { + for (idx=0; idx<5; idx++) { + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=1; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + dest[((*n)++)]=0; + } + } } // prepare a waveform pattern in the buffer based on the ID given then // simulate a HID tag until the button is pressed void CmdHIDsimTAG(int hi, int lo, int ledcontrol) { - int n=0, i=0; - /* - HID tag bitstream format - The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits - A 1 bit is represented as 6 fc8 and 5 fc10 patterns - A 0 bit is represented as 5 fc10 and 6 fc8 patterns - A fc8 is inserted before every 4 bits - A special start of frame pattern is used consisting a0b0 where a and b are neither 0 - nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) - */ + int n=0, i=0; + /* + HID tag bitstream format + The tag contains a 44bit unique code. This is sent out MSB first in sets of 4 bits + A 1 bit is represented as 6 fc8 and 5 fc10 patterns + A 0 bit is represented as 5 fc10 and 6 fc8 patterns + A fc8 is inserted before every 4 bits + A special start of frame pattern is used consisting a0b0 where a and b are neither 0 + nor 1 bits, they are special patterns (a = set of 12 fc8 and b = set of 10 fc10) + */ - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } - fc(0,&n); - // special start of frame marker containing invalid bit sequences - fc(8, &n); fc(8, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 - fc(10, &n); fc(10, &n); // invalid - fc(8, &n); fc(10, &n); // logical 0 + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } + fc(0,&n); + // special start of frame marker containing invalid bit sequences + fc(8, &n); fc(8, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 + fc(10, &n); fc(10, &n); // invalid + fc(8, &n); fc(10, &n); // logical 0 - WDT_HIT(); - // manchester encode bits 43 to 32 - for (i=11; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((hi>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 43 to 32 + for (i=11; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((hi>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - WDT_HIT(); - // manchester encode bits 31 to 0 - for (i=31; i>=0; i--) { - if ((i%4)==3) fc(0,&n); - if ((lo>>i)&1) { - fc(10, &n); fc(8, &n); // low-high transition - } else { - fc(8, &n); fc(10, &n); // high-low transition - } - } + WDT_HIT(); + // manchester encode bits 31 to 0 + for (i=31; i>=0; i--) { + if ((i%4)==3) fc(0,&n); + if ((lo>>i)&1) { + fc(10, &n); fc(8, &n); // low-high transition + } else { + fc(8, &n); fc(10, &n); // high-low transition + } + } - if (ledcontrol) - LED_A_ON(); - SimulateTagLowFrequency(n, 0, ledcontrol); + if (ledcontrol) + LED_A_ON(); + SimulateTagLowFrequency(n, 0, ledcontrol); - if (ledcontrol) - LED_A_OFF(); + if (ledcontrol) + LED_A_OFF(); } // loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t hi2=0, hi=0, lo=0; + size_t size=0; //, found=0; + uint32_t hi2=0, hi=0, lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator + DoAcquisition125k_internal(-1,true); + // FSK demodulator + size = HIDdemodFSK(dest, sizeof(BigBuf), &hi2, &hi, &lo); - int bitLen = HIDdemodFSK(dest,size,&hi2,&hi,&lo); + WDT_HIT(); - WDT_HIT(); - - if (bitLen>0 && lo>0){ - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - if (hi2 != 0){ //extra large HID tags - Dbprintf("TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - }else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t bitlen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - bitlen =idx3+19; - fc =0; - cardnum=0; - if(bitlen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(bitlen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(bitlen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - bitlen= 37; - fc =0; - cardnum=0; - if(bitlen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - //Dbprintf("TAG ID: %x%08x (%d)", - // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - // reset - hi2 = hi = lo = 0; - } - WDT_HIT(); - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + if (size>0 && lo>0){ + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + if (hi2 != 0){ //extra large HID tags + Dbprintf("TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + }else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t bitlen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1) == 1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2 > 1){ //find last bit set to 1 (format len bit) + lo2=lo2 >> 1; + idx3++; + } + bitlen = idx3+19; + fc =0; + cardnum=0; + if(bitlen == 26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(bitlen == 37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(bitlen == 34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(bitlen == 35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + bitlen= 37; + fc =0; + cardnum=0; + if(bitlen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + //Dbprintf("TAG ID: %x%08x (%d)", + // (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + Dbprintf("TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) bitlen, (unsigned int) fc, (unsigned int) cardnum); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + // reset + hi2 = hi = lo = 0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; - uint32_t bitLen=0; - int clk=0, invert=0, errCnt=0; - uint64_t lo=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + size_t size=0; + int clk=0, invert=0, errCnt=0; + uint64_t lo=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { + while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); + WDT_HIT(); + if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); - if (size < 2000) continue; - // FSK demodulator - //int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); - bitLen=size; - //Dbprintf("DEBUG: Buffer got"); - errCnt = askmandemod(dest,&bitLen,&clk,&invert); //HIDdemodFSK(dest,size,&hi2,&hi,&lo); - //Dbprintf("DEBUG: ASK Got"); - WDT_HIT(); + DoAcquisition125k_internal(-1,true); + size = sizeof(BigBuf); + //Dbprintf("DEBUG: Buffer got"); + //askdemod and manchester decode + errCnt = askmandemod(dest, &size, &clk, &invert); + //Dbprintf("DEBUG: ASK Got"); + WDT_HIT(); - if (errCnt>=0){ - lo = Em410xDecode(dest,bitLen); - //Dbprintf("DEBUG: EM GOT"); - //printEM410x(lo); - if (lo>0){ - Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)",(uint32_t)(lo>>32),(uint32_t)lo,(uint32_t)(lo&0xFFFF),(uint32_t)((lo>>16LL) & 0xFF),(uint32_t)(lo & 0xFFFFFF)); - } - if (findone){ - if (ledcontrol) LED_A_OFF(); - return; - } - } else{ - //Dbprintf("DEBUG: No Tag"); - } - WDT_HIT(); - lo = 0; - clk=0; - invert=0; - errCnt=0; - size=0; - //SpinDelay(50); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + if (errCnt>=0){ + lo = Em410xDecode(dest,size); + //Dbprintf("DEBUG: EM GOT"); + if (lo>0){ + Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)", + (uint32_t)(lo>>32), + (uint32_t)lo, + (uint32_t)(lo&0xFFFF), + (uint32_t)((lo>>16LL) & 0xFF), + (uint32_t)(lo & 0xFFFFFF)); + } + if (findone){ + if (ledcontrol) LED_A_OFF(); + return; + } + } else{ + //Dbprintf("DEBUG: No Tag"); + } + WDT_HIT(); + lo = 0; + clk=0; + invert=0; + errCnt=0; + size=0; + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; - int idx=0; - uint32_t code=0, code2=0; - uint8_t version=0; - uint8_t facilitycode=0; - uint16_t number=0; - // Configure to go in 125Khz listen mode - LFSetupFPGAForADC(95, true); + uint8_t *dest = (uint8_t *)BigBuf; + int idx=0; + uint32_t code=0, code2=0; + uint8_t version=0; + uint8_t facilitycode=0; + uint16_t number=0; + // Configure to go in 125Khz listen mode + LFSetupFPGAForADC(95, true); - while(!BUTTON_PRESS()) { - WDT_HIT(); - if (ledcontrol) LED_A_ON(); - DoAcquisition125k_internal(-1,true); - //fskdemod and get start index - WDT_HIT(); - idx = IOdemodFSK(dest,sizeof(BigBuf)); - if (idx>0){ - //valid tag found + while(!BUTTON_PRESS()) { + WDT_HIT(); + if (ledcontrol) LED_A_ON(); + DoAcquisition125k_internal(-1,true); + //fskdemod and get start index + WDT_HIT(); + idx = IOdemodFSK(dest,sizeof(BigBuf)); + if (idx>0){ + //valid tag found - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - if(findone){ //only print binary if we are doing one - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); - Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); - Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); - } - code = bytebits_to_byte(dest+idx,32); - code2 = bytebits_to_byte(dest+idx+32,32); - version = bytebits_to_byte(dest+idx+27,8); //14,4 - facilitycode = bytebits_to_byte(dest+idx+18,8) ; - number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + if(findone){ //only print binary if we are doing one + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx], dest[idx+1], dest[idx+2],dest[idx+3],dest[idx+4],dest[idx+5],dest[idx+6],dest[idx+7],dest[idx+8]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+9], dest[idx+10],dest[idx+11],dest[idx+12],dest[idx+13],dest[idx+14],dest[idx+15],dest[idx+16],dest[idx+17]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+18],dest[idx+19],dest[idx+20],dest[idx+21],dest[idx+22],dest[idx+23],dest[idx+24],dest[idx+25],dest[idx+26]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+27],dest[idx+28],dest[idx+29],dest[idx+30],dest[idx+31],dest[idx+32],dest[idx+33],dest[idx+34],dest[idx+35]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+36],dest[idx+37],dest[idx+38],dest[idx+39],dest[idx+40],dest[idx+41],dest[idx+42],dest[idx+43],dest[idx+44]); + Dbprintf("%d%d%d%d%d%d%d%d %d",dest[idx+45],dest[idx+46],dest[idx+47],dest[idx+48],dest[idx+49],dest[idx+50],dest[idx+51],dest[idx+52],dest[idx+53]); + Dbprintf("%d%d%d%d%d%d%d%d %d%d",dest[idx+54],dest[idx+55],dest[idx+56],dest[idx+57],dest[idx+58],dest[idx+59],dest[idx+60],dest[idx+61],dest[idx+62],dest[idx+63]); + } + code = bytebits_to_byte(dest+idx,32); + code2 = bytebits_to_byte(dest+idx+32,32); + version = bytebits_to_byte(dest+idx+27,8); //14,4 + facilitycode = bytebits_to_byte(dest+idx+18,8) ; + number = (bytebits_to_byte(dest+idx+36,8)<<8)|(bytebits_to_byte(dest+idx+45,8)); //36,9 - Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - // if we're only looking for one tag - if (findone){ - if (ledcontrol) LED_A_OFF(); - //LED_A_OFF(); - return; - } - code=code2=0; - version=facilitycode=0; - number=0; - idx=0; - } - WDT_HIT(); - } - DbpString("Stopped"); - if (ledcontrol) LED_A_OFF(); + Dbprintf("XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + // if we're only looking for one tag + if (findone){ + if (ledcontrol) LED_A_OFF(); + //LED_A_OFF(); + return; + } + code=code2=0; + version=facilitycode=0; + number=0; + idx=0; + } + WDT_HIT(); + } + DbpString("Stopped"); + if (ledcontrol) LED_A_OFF(); } /*------------------------------ @@ -907,321 +899,321 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) // Write one bit to card void T55xxWriteBit(int bit) { - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - if (bit == 0) - SpinDelayUs(WRITE_0); - else - SpinDelayUs(WRITE_1); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(WRITE_GAP); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + if (bit == 0) + SpinDelayUs(WRITE_0); + else + SpinDelayUs(WRITE_1); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(WRITE_GAP); } // Write one card block in page 0, no lock void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - //unsigned int i; //enio adjustment 12/10/14 - uint32_t i; + //unsigned int i; //enio adjustment 12/10/14 + uint32_t i; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); - // Data - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Data & i); + // Data + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Data & i); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); - // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, - // so wait a little more) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + // Now perform write (nominal is 5.6 ms for T55x7 and 18ms for E5550, + // so wait a little more) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); } // Read one card block in page 0 void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - uint8_t *dest = (uint8_t *)BigBuf; - //int m=0, i=0; //enio adjustment 12/10/14 - uint32_t m=0, i=0; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + uint8_t *dest = (uint8_t *)BigBuf; + //int m=0, i=0; //enio adjustment 12/10/14 + uint32_t m=0, i=0; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(0); //Page 0 - if (PwdMode == 1){ - // Pwd - for (i = 0x80000000; i != 0; i >>= 1) - T55xxWriteBit(Pwd & i); - } - // Lock bit - T55xxWriteBit(0); - // Block - for (i = 0x04; i != 0; i >>= 1) - T55xxWriteBit(Block & i); + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(0); //Page 0 + if (PwdMode == 1){ + // Pwd + for (i = 0x80000000; i != 0; i >>= 1) + T55xxWriteBit(Pwd & i); + } + // Lock bit + T55xxWriteBit(0); + // Block + for (i = 0x04; i != 0; i >>= 1) + T55xxWriteBit(Block & i); - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - // we don't care about actual value, only if it's more or less than a - // threshold essentially we capture zero crossings for later analysis - // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; - i++; - if (i >= m) break; - } - } + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + // we don't care about actual value, only if it's more or less than a + // threshold essentially we capture zero crossings for later analysis + // if(dest[i] < 127) dest[i] = 0; else dest[i] = 1; + i++; + if (i >= m) break; + } + } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } // Read card traceability data (page 1) void T55xxReadTrace(void){ - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - LED_D_ON(); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + LED_D_ON(); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // Now start writting - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - SpinDelayUs(START_GAP); + // Now start writting + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + SpinDelayUs(START_GAP); - // Opcode - T55xxWriteBit(1); - T55xxWriteBit(1); //Page 1 + // Opcode + T55xxWriteBit(1); + T55xxWriteBit(1); //Page 1 - // Turn field on to read the response - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + // Turn field on to read the response + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); - DbpString("DONE!"); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); + DbpString("DONE!"); } /*-------------- Cloning routines -----------*/ // Copy HID id to card and setup block 0 config void CopyHIDtoT55x7(uint32_t hi2, uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format - int last_block = 0; + int data1=0, data2=0, data3=0, data4=0, data5=0, data6=0; //up to six blocks for long format + int last_block = 0; - if (longFMT){ - // Ensure no more than 84 bits supplied - if (hi2>0xFFFFF) { - DbpString("Tags can only have 84 bits."); - return; - } - // Build the 6 data blocks for supplied 84bit ID - last_block = 6; - data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) - for (int i=0;i<4;i++) { - if (hi2 & (1<<(19-i))) - data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((3-i)*2)); // 0 -> 01 - } + if (longFMT){ + // Ensure no more than 84 bits supplied + if (hi2>0xFFFFF) { + DbpString("Tags can only have 84 bits."); + return; + } + // Build the 6 data blocks for supplied 84bit ID + last_block = 6; + data1 = 0x1D96A900; // load preamble (1D) & long format identifier (9E manchester encoded) + for (int i=0;i<4;i++) { + if (hi2 & (1<<(19-i))) + data1 |= (1<<(((3-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((3-i)*2)); // 0 -> 01 + } - data2 = 0; - for (int i=0;i<16;i++) { - if (hi2 & (1<<(15-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } + data2 = 0; + for (int i=0;i<16;i++) { + if (hi2 & (1<<(15-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } - data3 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(31-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } + data3 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(31-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } - data4 = 0; - for (int i=0;i<16;i++) { - if (hi & (1<<(15-i))) - data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data4 |= (1<<((15-i)*2)); // 0 -> 01 - } + data4 = 0; + for (int i=0;i<16;i++) { + if (hi & (1<<(15-i))) + data4 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data4 |= (1<<((15-i)*2)); // 0 -> 01 + } - data5 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data5 |= (1<<((15-i)*2)); // 0 -> 01 - } + data5 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data5 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data5 |= (1<<((15-i)*2)); // 0 -> 01 + } - data6 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data6 |= (1<<((15-i)*2)); // 0 -> 01 - } - } - else { - // Ensure no more than 44 bits supplied - if (hi>0xFFF) { - DbpString("Tags can only have 44 bits."); - return; - } + data6 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data6 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data6 |= (1<<((15-i)*2)); // 0 -> 01 + } + } + else { + // Ensure no more than 44 bits supplied + if (hi>0xFFF) { + DbpString("Tags can only have 44 bits."); + return; + } - // Build the 3 data blocks for supplied 44bit ID - last_block = 3; + // Build the 3 data blocks for supplied 44bit ID + last_block = 3; - data1 = 0x1D000000; // load preamble + data1 = 0x1D000000; // load preamble - for (int i=0;i<12;i++) { - if (hi & (1<<(11-i))) - data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 - else - data1 |= (1<<((11-i)*2)); // 0 -> 01 - } + for (int i=0;i<12;i++) { + if (hi & (1<<(11-i))) + data1 |= (1<<(((11-i)*2)+1)); // 1 -> 10 + else + data1 |= (1<<((11-i)*2)); // 0 -> 01 + } - data2 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(31-i))) - data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data2 |= (1<<((15-i)*2)); // 0 -> 01 - } + data2 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(31-i))) + data2 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data2 |= (1<<((15-i)*2)); // 0 -> 01 + } - data3 = 0; - for (int i=0;i<16;i++) { - if (lo & (1<<(15-i))) - data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 - else - data3 |= (1<<((15-i)*2)); // 0 -> 01 - } - } + data3 = 0; + for (int i=0;i<16;i++) { + if (lo & (1<<(15-i))) + data3 |= (1<<(((15-i)*2)+1)); // 1 -> 10 + else + data3 |= (1<<((15-i)*2)); // 0 -> 01 + } + } - LED_D_ON(); - // Program the data blocks for supplied ID - // and the block 0 for HID format - T55xxWriteBlock(data1,1,0,0); - T55xxWriteBlock(data2,2,0,0); - T55xxWriteBlock(data3,3,0,0); + LED_D_ON(); + // Program the data blocks for supplied ID + // and the block 0 for HID format + T55xxWriteBlock(data1,1,0,0); + T55xxWriteBlock(data2,2,0,0); + T55xxWriteBlock(data3,3,0,0); - if (longFMT) { // if long format there are 6 blocks - T55xxWriteBlock(data4,4,0,0); - T55xxWriteBlock(data5,5,0,0); - T55xxWriteBlock(data6,6,0,0); - } + if (longFMT) { // if long format there are 6 blocks + T55xxWriteBlock(data4,4,0,0); + T55xxWriteBlock(data5,5,0,0); + T55xxWriteBlock(data6,6,0,0); + } - // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) - T55xxWriteBlock(T55x7_BITRATE_RF_50 | - T55x7_MODULATION_FSK2a | - last_block << T55x7_MAXBLOCK_SHIFT, - 0,0,0); + // Config for HID (RF/50, FSK2a, Maxblock=3 for short/6 for long) + T55xxWriteBlock(T55x7_BITRATE_RF_50 | + T55x7_MODULATION_FSK2a | + last_block << T55x7_MAXBLOCK_SHIFT, + 0,0,0); - LED_D_OFF(); + LED_D_OFF(); - DbpString("DONE!"); + DbpString("DONE!"); } void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) { - int data1=0, data2=0; //up to six blocks for long format + int data1=0, data2=0; //up to six blocks for long format - data1 = hi; // load preamble - data2 = lo; - - LED_D_ON(); - // Program the data blocks for supplied ID - // and the block 0 for HID format - T55xxWriteBlock(data1,1,0,0); - T55xxWriteBlock(data2,2,0,0); + data1 = hi; // load preamble + data2 = lo; - //Config Block - T55xxWriteBlock(0x00147040,0,0,0); - LED_D_OFF(); + LED_D_ON(); + // Program the data blocks for supplied ID + // and the block 0 for HID format + T55xxWriteBlock(data1,1,0,0); + T55xxWriteBlock(data2,2,0,0); - DbpString("DONE!"); + //Config Block + T55xxWriteBlock(0x00147040,0,0,0); + LED_D_OFF(); + + DbpString("DONE!"); } // Define 9bit header for EM410x tags @@ -1230,151 +1222,151 @@ void CopyIOtoT55x7(uint32_t hi, uint32_t lo, uint8_t longFMT) void WriteEM410x(uint32_t card, uint32_t id_hi, uint32_t id_lo) { - int i, id_bit; - uint64_t id = EM410X_HEADER; - uint64_t rev_id = 0; // reversed ID - int c_parity[4]; // column parity - int r_parity = 0; // row parity - uint32_t clock = 0; + int i, id_bit; + uint64_t id = EM410X_HEADER; + uint64_t rev_id = 0; // reversed ID + int c_parity[4]; // column parity + int r_parity = 0; // row parity + uint32_t clock = 0; - // Reverse ID bits given as parameter (for simpler operations) - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - if (i < 32) { - rev_id = (rev_id << 1) | (id_lo & 1); - id_lo >>= 1; - } else { - rev_id = (rev_id << 1) | (id_hi & 1); - id_hi >>= 1; - } - } + // Reverse ID bits given as parameter (for simpler operations) + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + if (i < 32) { + rev_id = (rev_id << 1) | (id_lo & 1); + id_lo >>= 1; + } else { + rev_id = (rev_id << 1) | (id_hi & 1); + id_hi >>= 1; + } + } - for (i = 0; i < EM410X_ID_LENGTH; ++i) { - id_bit = rev_id & 1; + for (i = 0; i < EM410X_ID_LENGTH; ++i) { + id_bit = rev_id & 1; - if (i % 4 == 0) { - // Don't write row parity bit at start of parsing - if (i) - id = (id << 1) | r_parity; - // Start counting parity for new row - r_parity = id_bit; - } else { - // Count row parity - r_parity ^= id_bit; - } + if (i % 4 == 0) { + // Don't write row parity bit at start of parsing + if (i) + id = (id << 1) | r_parity; + // Start counting parity for new row + r_parity = id_bit; + } else { + // Count row parity + r_parity ^= id_bit; + } - // First elements in column? - if (i < 4) - // Fill out first elements - c_parity[i] = id_bit; - else - // Count column parity - c_parity[i % 4] ^= id_bit; + // First elements in column? + if (i < 4) + // Fill out first elements + c_parity[i] = id_bit; + else + // Count column parity + c_parity[i % 4] ^= id_bit; - // Insert ID bit - id = (id << 1) | id_bit; - rev_id >>= 1; - } + // Insert ID bit + id = (id << 1) | id_bit; + rev_id >>= 1; + } - // Insert parity bit of last row - id = (id << 1) | r_parity; + // Insert parity bit of last row + id = (id << 1) | r_parity; - // Fill out column parity at the end of tag - for (i = 0; i < 4; ++i) - id = (id << 1) | c_parity[i]; + // Fill out column parity at the end of tag + for (i = 0; i < 4; ++i) + id = (id << 1) | c_parity[i]; - // Add stop bit - id <<= 1; + // Add stop bit + id <<= 1; - Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); - LED_D_ON(); + Dbprintf("Started writing %s tag ...", card ? "T55x7":"T5555"); + LED_D_ON(); - // Write EM410x ID - T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); - T55xxWriteBlock((uint32_t)id, 2, 0, 0); + // Write EM410x ID + T55xxWriteBlock((uint32_t)(id >> 32), 1, 0, 0); + T55xxWriteBlock((uint32_t)id, 2, 0, 0); - // Config for EM410x (RF/64, Manchester, Maxblock=2) - if (card) { - // Clock rate is stored in bits 8-15 of the card value - clock = (card & 0xFF00) >> 8; - Dbprintf("Clock rate: %d", clock); - switch (clock) - { - case 32: - clock = T55x7_BITRATE_RF_32; - break; - case 16: - clock = T55x7_BITRATE_RF_16; - break; - case 0: - // A value of 0 is assumed to be 64 for backwards-compatibility - // Fall through... - case 64: - clock = T55x7_BITRATE_RF_64; - break; - default: - Dbprintf("Invalid clock rate: %d", clock); - return; - } + // Config for EM410x (RF/64, Manchester, Maxblock=2) + if (card) { + // Clock rate is stored in bits 8-15 of the card value + clock = (card & 0xFF00) >> 8; + Dbprintf("Clock rate: %d", clock); + switch (clock) + { + case 32: + clock = T55x7_BITRATE_RF_32; + break; + case 16: + clock = T55x7_BITRATE_RF_16; + break; + case 0: + // A value of 0 is assumed to be 64 for backwards-compatibility + // Fall through... + case 64: + clock = T55x7_BITRATE_RF_64; + break; + default: + Dbprintf("Invalid clock rate: %d", clock); + return; + } - // Writing configuration for T55x7 tag - T55xxWriteBlock(clock | - T55x7_MODULATION_MANCHESTER | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - } - else - // Writing configuration for T5555(Q5) tag - T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | - T5555_MODULATION_MANCHESTER | - 2 << T5555_MAXBLOCK_SHIFT, - 0, 0, 0); + // Writing configuration for T55x7 tag + T55xxWriteBlock(clock | + T55x7_MODULATION_MANCHESTER | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + } + else + // Writing configuration for T5555(Q5) tag + T55xxWriteBlock(0x1F << T5555_BITRATE_SHIFT | + T5555_MODULATION_MANCHESTER | + 2 << T5555_MAXBLOCK_SHIFT, + 0, 0, 0); - LED_D_OFF(); - Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", - (uint32_t)(id >> 32), (uint32_t)id); + LED_D_OFF(); + Dbprintf("Tag %s written with 0x%08x%08x\n", card ? "T55x7":"T5555", + (uint32_t)(id >> 32), (uint32_t)id); } // Clone Indala 64-bit tag by UID to T55x7 void CopyIndala64toT55x7(int hi, int lo) { - //Program the 2 data blocks for supplied 64bit UID - // and the block 0 for Indala64 format - T55xxWriteBlock(hi,1,0,0); - T55xxWriteBlock(lo,2,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 2 << T55x7_MAXBLOCK_SHIFT, - 0, 0, 0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) - // T5567WriteBlock(0x603E1042,0); + //Program the 2 data blocks for supplied 64bit UID + // and the block 0 for Indala64 format + T55xxWriteBlock(hi,1,0,0); + T55xxWriteBlock(lo,2,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=2) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 2 << T55x7_MAXBLOCK_SHIFT, + 0, 0, 0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=2;Inverse data) + // T5567WriteBlock(0x603E1042,0); - DbpString("DONE!"); + DbpString("DONE!"); -} +} void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int uid6, int uid7) { - //Program the 7 data blocks for supplied 224bit UID - // and the block 0 for Indala224 format - T55xxWriteBlock(uid1,1,0,0); - T55xxWriteBlock(uid2,2,0,0); - T55xxWriteBlock(uid3,3,0,0); - T55xxWriteBlock(uid4,4,0,0); - T55xxWriteBlock(uid5,5,0,0); - T55xxWriteBlock(uid6,6,0,0); - T55xxWriteBlock(uid7,7,0,0); - //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) - T55xxWriteBlock(T55x7_BITRATE_RF_32 | - T55x7_MODULATION_PSK1 | - 7 << T55x7_MAXBLOCK_SHIFT, - 0,0,0); - //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) - // T5567WriteBlock(0x603E10E2,0); + //Program the 7 data blocks for supplied 224bit UID + // and the block 0 for Indala224 format + T55xxWriteBlock(uid1,1,0,0); + T55xxWriteBlock(uid2,2,0,0); + T55xxWriteBlock(uid3,3,0,0); + T55xxWriteBlock(uid4,4,0,0); + T55xxWriteBlock(uid5,5,0,0); + T55xxWriteBlock(uid6,6,0,0); + T55xxWriteBlock(uid7,7,0,0); + //Config for Indala (RF/32;PSK1 with RF/2;Maxblock=7) + T55xxWriteBlock(T55x7_BITRATE_RF_32 | + T55x7_MODULATION_PSK1 | + 7 << T55x7_MAXBLOCK_SHIFT, + 0,0,0); + //Alternative config for Indala (Extended mode;RF/32;PSK1 with RF/2;Maxblock=7;Inverse data) + // T5567WriteBlock(0x603E10E2,0); - DbpString("DONE!"); + DbpString("DONE!"); } @@ -1383,261 +1375,261 @@ void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int #define max(x,y) ( x GraphBuffer[0]) { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) - break; - i++; - } - dir = 0; - } - else { - while(i < GraphTraceLen) { - if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) - break; - i++; - } - dir = 1; - } + /* Find first local max/min */ + if(GraphBuffer[1] > GraphBuffer[0]) { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] > GraphBuffer[i-1]) && GraphBuffer[i] > lmax) + break; + i++; + } + dir = 0; + } + else { + while(i < GraphTraceLen) { + if( !(GraphBuffer[i] < GraphBuffer[i-1]) && GraphBuffer[i] < lmin) + break; + i++; + } + dir = 1; + } - lastval = i++; - half_switch = 0; - pmc = 0; - block_done = 0; + lastval = i++; + half_switch = 0; + pmc = 0; + block_done = 0; - for (bitidx = 0; i < GraphTraceLen; i++) - { - if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) - { - lc = i - lastval; - lastval = i; + for (bitidx = 0; i < GraphTraceLen; i++) + { + if ( (GraphBuffer[i-1] > GraphBuffer[i] && dir == 1 && GraphBuffer[i] > lmax) || (GraphBuffer[i-1] < GraphBuffer[i] && dir == 0 && GraphBuffer[i] < lmin)) + { + lc = i - lastval; + lastval = i; - // Switch depending on lc length: - // Tolerance is 1/8 of clock rate (arbitrary) - if (abs(lc-clock/4) < tolerance) { - // 16T0 - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33+16)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else { - pmc = i; - } - } else if (abs(lc-clock/2) < tolerance) { - // 32TO - if((i - pmc) == lc) { /* 16T0 was previous one */ - /* It's a PMC ! */ - i += (128+127+16+32+33)-1; - lastval = i; - pmc = 0; - block_done = 1; - } - else if(half_switch == 1) { - BitStream[bitidx++] = 0; - half_switch = 0; - } - else - half_switch++; - } else if (abs(lc-clock) < tolerance) { - // 64TO - BitStream[bitidx++] = 1; - } else { - // Error - warnings++; - if (warnings > 10) - { - Dbprintf("Error: too many detection errors, aborting."); - return 0; - } - } + // Switch depending on lc length: + // Tolerance is 1/8 of clock rate (arbitrary) + if (abs(lc-clock/4) < tolerance) { + // 16T0 + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33+16)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else { + pmc = i; + } + } else if (abs(lc-clock/2) < tolerance) { + // 32TO + if((i - pmc) == lc) { /* 16T0 was previous one */ + /* It's a PMC ! */ + i += (128+127+16+32+33)-1; + lastval = i; + pmc = 0; + block_done = 1; + } + else if(half_switch == 1) { + BitStream[bitidx++] = 0; + half_switch = 0; + } + else + half_switch++; + } else if (abs(lc-clock) < tolerance) { + // 64TO + BitStream[bitidx++] = 1; + } else { + // Error + warnings++; + if (warnings > 10) + { + Dbprintf("Error: too many detection errors, aborting."); + return 0; + } + } - if(block_done == 1) { - if(bitidx == 128) { - for(j=0; j<16; j++) { - Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ - 64*BitStream[j*8+6]+ - 32*BitStream[j*8+5]+ - 16*BitStream[j*8+4]+ - 8*BitStream[j*8+3]+ - 4*BitStream[j*8+2]+ - 2*BitStream[j*8+1]+ - BitStream[j*8]; - } - num_blocks++; - } - bitidx = 0; - block_done = 0; - half_switch = 0; - } - if(i < GraphTraceLen) - { - if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; - else dir = 1; - } - } - if(bitidx==255) - bitidx=0; - warnings = 0; - if(num_blocks == 4) break; - } - memcpy(outBlocks, Blocks, 16*num_blocks); - return num_blocks; + if(block_done == 1) { + if(bitidx == 128) { + for(j=0; j<16; j++) { + Blocks[num_blocks][j] = 128*BitStream[j*8+7]+ + 64*BitStream[j*8+6]+ + 32*BitStream[j*8+5]+ + 16*BitStream[j*8+4]+ + 8*BitStream[j*8+3]+ + 4*BitStream[j*8+2]+ + 2*BitStream[j*8+1]+ + BitStream[j*8]; + } + num_blocks++; + } + bitidx = 0; + block_done = 0; + half_switch = 0; + } + if(i < GraphTraceLen) + { + if (GraphBuffer[i-1] > GraphBuffer[i]) dir=0; + else dir = 1; + } + } + if(bitidx==255) + bitidx=0; + warnings = 0; + if(num_blocks == 4) break; + } + memcpy(outBlocks, Blocks, 16*num_blocks); + return num_blocks; } int IsBlock0PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled - return 1; - if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? - return 1; - return 0; + // Assume RFU means 0 :) + if((memcmp(Block, "\x00\x00\x00\x00\x00\x00\x00\x01", 8) == 0) && memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) // PAC enabled + return 1; + if((memcmp(Block+9, "\x00\x00\x00\x00\x00\x00\x00", 7) == 0) && Block[7] == 0) // PAC disabled, can it *really* happen ? + return 1; + return 0; } int IsBlock1PCF7931(uint8_t *Block) { - // Assume RFU means 0 :) - if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) - if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) - return 1; + // Assume RFU means 0 :) + if(Block[10] == 0 && Block[11] == 0 && Block[12] == 0 && Block[13] == 0) + if((Block[14] & 0x7f) <= 9 && Block[15] <= 9) + return 1; - return 0; + return 0; } #define ALLOC 16 void ReadPCF7931() { - uint8_t Blocks[8][17]; - uint8_t tmpBlocks[4][16]; - int i, j, ind, ind2, n; - int num_blocks = 0; - int max_blocks = 8; - int ident = 0; - int error = 0; - int tries = 0; + uint8_t Blocks[8][17]; + uint8_t tmpBlocks[4][16]; + int i, j, ind, ind2, n; + int num_blocks = 0; + int max_blocks = 8; + int ident = 0; + int error = 0; + int tries = 0; - memset(Blocks, 0, 8*17*sizeof(uint8_t)); + memset(Blocks, 0, 8*17*sizeof(uint8_t)); - do { - memset(tmpBlocks, 0, 4*16*sizeof(uint8_t)); - n = DemodPCF7931((uint8_t**)tmpBlocks); - if(!n) - error++; - if(error==10 && num_blocks == 0) { - Dbprintf("Error, no tag or bad tag"); - return; - } - else if (tries==20 || error==10) { - Dbprintf("Error reading the tag"); - Dbprintf("Here is the partial content"); - goto end; - } + do { + memset(tmpBlocks, 0, 4*16*sizeof(uint8_t)); + n = DemodPCF7931((uint8_t**)tmpBlocks); + if(!n) + error++; + if(error==10 && num_blocks == 0) { + Dbprintf("Error, no tag or bad tag"); + return; + } + else if (tries==20 || error==10) { + Dbprintf("Error reading the tag"); + Dbprintf("Here is the partial content"); + goto end; + } - for(i=0; i= 0; ind--,ind2--) { - if(ind2 < 0) - ind2 = max_blocks; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { - if(ind2 > max_blocks) - ind2 = 0; - if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found - // Dbprintf("Tmp %d -> Block %d", ind, ind2); - memcpy(Blocks[ind2], tmpBlocks[ind], 16); - Blocks[ind2][ALLOC] = 1; - num_blocks++; - if(num_blocks == max_blocks) goto end; - } - } - } - } - } - } - } - tries++; - if (BUTTON_PRESS()) return; - } while (num_blocks != max_blocks); + for(i=0; i= 0; ind--,ind2--) { + if(ind2 < 0) + ind2 = max_blocks; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + for(ind=i+1,ind2=j+1; ind < n; ind++,ind2++) { + if(ind2 > max_blocks) + ind2 = 0; + if(!Blocks[ind2][ALLOC]) { // Block ind2 not already found + // Dbprintf("Tmp %d -> Block %d", ind, ind2); + memcpy(Blocks[ind2], tmpBlocks[ind], 16); + Blocks[ind2][ALLOC] = 1; + num_blocks++; + if(num_blocks == max_blocks) goto end; + } + } + } + } + } + } + } + tries++; + if (BUTTON_PRESS()) return; + } while (num_blocks != max_blocks); end: - Dbprintf("-----------------------------------------"); - Dbprintf("Memory content:"); - Dbprintf("-----------------------------------------"); - for(i=0; i", i); - } - Dbprintf("-----------------------------------------"); + Dbprintf("-----------------------------------------"); + Dbprintf("Memory content:"); + Dbprintf("-----------------------------------------"); + for(i=0; i", i); + } + Dbprintf("-----------------------------------------"); - return ; + return ; } @@ -1661,20 +1653,20 @@ uint8_t * fwd_write_ptr; //forwardlink bit pointer //==================================================================== //-------------------------------------------------------------------- uint8_t Prepare_Cmd( uint8_t cmd ) { - //-------------------------------------------------------------------- + //-------------------------------------------------------------------- - *forward_ptr++ = 0; //start bit - *forward_ptr++ = 0; //second pause for 4050 code + *forward_ptr++ = 0; //start bit + *forward_ptr++ = 0; //second pause for 4050 code - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; - cmd >>= 1; - *forward_ptr++ = cmd; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; + cmd >>= 1; + *forward_ptr++ = cmd; - return 6; //return number of emited bits + return 6; //return number of emited bits } //==================================================================== @@ -1684,21 +1676,21 @@ uint8_t Prepare_Cmd( uint8_t cmd ) { //-------------------------------------------------------------------- uint8_t Prepare_Addr( uint8_t addr ) { - //-------------------------------------------------------------------- + //-------------------------------------------------------------------- - register uint8_t line_parity; + register uint8_t line_parity; - uint8_t i; - line_parity = 0; - for(i=0;i<6;i++) { - *forward_ptr++ = addr; - line_parity ^= addr; - addr >>= 1; - } + uint8_t i; + line_parity = 0; + for(i=0;i<6;i++) { + *forward_ptr++ = addr; + line_parity ^= addr; + addr >>= 1; + } - *forward_ptr++ = (line_parity & 1); + *forward_ptr++ = (line_parity & 1); - return 7; //return number of emited bits + return 7; //return number of emited bits } //==================================================================== @@ -1708,36 +1700,36 @@ uint8_t Prepare_Addr( uint8_t addr ) { //-------------------------------------------------------------------- uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { - //-------------------------------------------------------------------- + //-------------------------------------------------------------------- - register uint8_t line_parity; - register uint8_t column_parity; - register uint8_t i, j; - register uint16_t data; + register uint8_t line_parity; + register uint8_t column_parity; + register uint8_t i, j; + register uint16_t data; - data = data_low; - column_parity = 0; + data = data_low; + column_parity = 0; - for(i=0; i<4; i++) { - line_parity = 0; - for(j=0; j<8; j++) { - line_parity ^= data; - column_parity ^= (data & 1) << j; - *forward_ptr++ = data; - data >>= 1; - } - *forward_ptr++ = line_parity; - if(i == 1) - data = data_hi; - } + for(i=0; i<4; i++) { + line_parity = 0; + for(j=0; j<8; j++) { + line_parity ^= data; + column_parity ^= (data & 1) << j; + *forward_ptr++ = data; + data >>= 1; + } + *forward_ptr++ = line_parity; + if(i == 1) + data = data_hi; + } - for(j=0; j<8; j++) { - *forward_ptr++ = column_parity; - column_parity >>= 1; - } - *forward_ptr = 0; + for(j=0; j<8; j++) { + *forward_ptr++ = column_parity; + column_parity >>= 1; + } + *forward_ptr = 0; - return 45; //return number of emited bits + return 45; //return number of emited bits } //==================================================================== @@ -1747,114 +1739,114 @@ uint8_t Prepare_Data( uint16_t data_low, uint16_t data_hi) { //==================================================================== void SendForward(uint8_t fwd_bit_count) { - fwd_write_ptr = forwardLink_data; - fwd_bit_sz = fwd_bit_count; + fwd_write_ptr = forwardLink_data; + fwd_bit_sz = fwd_bit_count; - LED_D_ON(); + LED_D_ON(); - //Field on - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); + //Field on + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD); - // Give it a bit of time for the resonant antenna to settle. - // And for the tag to fully power up - SpinDelay(150); + // Give it a bit of time for the resonant antenna to settle. + // And for the tag to fully power up + SpinDelay(150); - // force 1st mod pulse (start gap must be longer for 4305) - fwd_bit_sz--; //prepare next bit modulation - fwd_write_ptr++; - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(16*8); //16 cycles on (8us each) + // force 1st mod pulse (start gap must be longer for 4305) + fwd_bit_sz--; //prepare next bit modulation + fwd_write_ptr++; + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(55*8); //55 cycles off (8us each)for 4305 + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(16*8); //16 cycles on (8us each) - // now start writting - while(fwd_bit_sz-- > 0) { //prepare next bit modulation - if(((*fwd_write_ptr++) & 1) == 1) - SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) - else { - //These timings work for 4469/4269/4305 (with the 55*8 above) - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - SpinDelayUs(23*8); //16-4 cycles off (8us each) - FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz - FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on - SpinDelayUs(9*8); //16 cycles on (8us each) - } - } + // now start writting + while(fwd_bit_sz-- > 0) { //prepare next bit modulation + if(((*fwd_write_ptr++) & 1) == 1) + SpinDelayUs(32*8); //32 cycles at 125Khz (8us each) + else { + //These timings work for 4469/4269/4305 (with the 55*8 above) + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + SpinDelayUs(23*8); //16-4 cycles off (8us each) + FpgaSendCommand(FPGA_CMD_SET_DIVISOR, 95); //125Khz + FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_ADC | FPGA_LF_ADC_READER_FIELD);//field on + SpinDelayUs(9*8); //16 cycles on (8us each) + } + } } void EM4xLogin(uint32_t Password) { - uint8_t fwd_bit_count; + uint8_t fwd_bit_count; - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); - fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_LOGIN ); + fwd_bit_count += Prepare_Data( Password&0xFFFF, Password>>16 ); - SendForward(fwd_bit_count); + SendForward(fwd_bit_count); - //Wait for command to complete - SpinDelay(20); + //Wait for command to complete + SpinDelay(20); } void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - uint8_t fwd_bit_count; - uint8_t *dest = (uint8_t *)BigBuf; - int m=0, i=0; + uint8_t fwd_bit_count; + uint8_t *dest = (uint8_t *)BigBuf; + int m=0, i=0; - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); - fwd_bit_count += Prepare_Addr( Address ); + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); + fwd_bit_count += Prepare_Addr( Address ); - m = sizeof(BigBuf); - // Clear destination buffer before sending the command - memset(dest, 128, m); - // Connect the A/D to the peak-detected low-frequency path. - SetAdcMuxFor(GPIO_MUXSEL_LOPKD); - // Now set up the SSC to get the ADC samples that are now streaming at us. - FpgaSetupSsc(); + m = sizeof(BigBuf); + // Clear destination buffer before sending the command + memset(dest, 128, m); + // Connect the A/D to the peak-detected low-frequency path. + SetAdcMuxFor(GPIO_MUXSEL_LOPKD); + // Now set up the SSC to get the ADC samples that are now streaming at us. + FpgaSetupSsc(); - SendForward(fwd_bit_count); + SendForward(fwd_bit_count); - // Now do the acquisition - i = 0; - for(;;) { - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { - AT91C_BASE_SSC->SSC_THR = 0x43; - } - if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { - dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; - i++; - if (i >= m) break; - } - } - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + // Now do the acquisition + i = 0; + for(;;) { + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_TXRDY) { + AT91C_BASE_SSC->SSC_THR = 0x43; + } + if (AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY) { + dest[i] = (uint8_t)AT91C_BASE_SSC->SSC_RHR; + i++; + if (i >= m) break; + } + } + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } void EM4xWriteWord(uint32_t Data, uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { - uint8_t fwd_bit_count; + uint8_t fwd_bit_count; - //If password mode do login - if (PwdMode == 1) EM4xLogin(Pwd); + //If password mode do login + if (PwdMode == 1) EM4xLogin(Pwd); - forward_ptr = forwardLink_data; - fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); - fwd_bit_count += Prepare_Addr( Address ); - fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); + forward_ptr = forwardLink_data; + fwd_bit_count = Prepare_Cmd( FWD_CMD_WRITE ); + fwd_bit_count += Prepare_Addr( Address ); + fwd_bit_count += Prepare_Data( Data&0xFFFF, Data>>16 ); - SendForward(fwd_bit_count); + SendForward(fwd_bit_count); - //Wait for write to complete - SpinDelay(20); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off - LED_D_OFF(); + //Wait for write to complete + SpinDelay(20); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); // field off + LED_D_OFF(); } diff --git a/client/cmddata.c b/client/cmddata.c index 4b5cb0401..bce5d2ced 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -27,82 +27,82 @@ static int CmdHelp(const char *Cmd); //set the demod buffer with given array of binary (one bit per byte) //by marshmellow -void setDemodBuf(uint8_t *buff,int size) +void setDemodBuf(uint8_t *buff,int size) { - int i=0; - for (; i < size; ++i){ - DemodBuffer[i]=buff[i]; - } - DemodBufferLen=size; - return; + int i=0; + for (; i < size; ++i){ + DemodBuffer[i]=buff[i]; + } + DemodBufferLen=size; + return; } //by marshmellow void printDemodBuff() { - uint32_t i = 0; - int bitLen = DemodBufferLen; - if (bitLen<16) { - PrintAndLog("no bits found in demod buffer"); - return; - } - if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty - for (i = 0; i <= (bitLen-16); i+=16) { - PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", - DemodBuffer[i], - DemodBuffer[i+1], - DemodBuffer[i+2], - DemodBuffer[i+3], - DemodBuffer[i+4], - DemodBuffer[i+5], - DemodBuffer[i+6], - DemodBuffer[i+7], - DemodBuffer[i+8], - DemodBuffer[i+9], - DemodBuffer[i+10], - DemodBuffer[i+11], - DemodBuffer[i+12], - DemodBuffer[i+13], - DemodBuffer[i+14], - DemodBuffer[i+15]); - } - return; + uint32_t i = 0; + int bitLen = DemodBufferLen; + if (bitLen<16) { + PrintAndLog("no bits found in demod buffer"); + return; + } + if (bitLen>512) bitLen=512; //max output to 512 bits if we have more - should be plenty + for (i = 0; i <= (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + DemodBuffer[i], + DemodBuffer[i+1], + DemodBuffer[i+2], + DemodBuffer[i+3], + DemodBuffer[i+4], + DemodBuffer[i+5], + DemodBuffer[i+6], + DemodBuffer[i+7], + DemodBuffer[i+8], + DemodBuffer[i+9], + DemodBuffer[i+10], + DemodBuffer[i+11], + DemodBuffer[i+12], + DemodBuffer[i+13], + DemodBuffer[i+14], + DemodBuffer[i+15]); + } + return; } int CmdAmp(const char *Cmd) { - int i, rising, falling; - int max = INT_MIN, min = INT_MAX; + int i, rising, falling; + int max = INT_MIN, min = INT_MAX; - for (i = 10; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] > max) - max = GraphBuffer[i]; - if (GraphBuffer[i] < min) - min = GraphBuffer[i]; - } + for (i = 10; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] > max) + max = GraphBuffer[i]; + if (GraphBuffer[i] < min) + min = GraphBuffer[i]; + } - if (max != min) { - rising = falling= 0; - for (i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i + 1] < GraphBuffer[i]) { - if (rising) { - GraphBuffer[i] = max; - rising = 0; - } - falling = 1; - } - if (GraphBuffer[i + 1] > GraphBuffer[i]) { - if (falling) { - GraphBuffer[i] = min; - falling = 0; - } - rising= 1; - } - } - } - RepaintGraphWindow(); - return 0; + if (max != min) { + rising = falling= 0; + for (i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i + 1] < GraphBuffer[i]) { + if (rising) { + GraphBuffer[i] = max; + rising = 0; + } + falling = 1; + } + if (GraphBuffer[i + 1] > GraphBuffer[i]) { + if (falling) { + GraphBuffer[i] = min; + falling = 0; + } + rising= 1; + } + } + } + RepaintGraphWindow(); + return 0; } /* @@ -119,171 +119,173 @@ int CmdAmp(const char *Cmd) //this method is dependant on all highs and lows to be the same(or clipped) this creates issues[marshmellow] it also ignores the clock int Cmdaskdemod(const char *Cmd) { - int i; - int c, high = 0, low = 0; + int i; + int c, high = 0, low = 0; - // TODO: complain if we do not give 2 arguments here ! - // (AL - this doesn't make sense! we're only using one argument!!!) - sscanf(Cmd, "%i", &c); + // TODO: complain if we do not give 2 arguments here ! + // (AL - this doesn't make sense! we're only using one argument!!!) + sscanf(Cmd, "%i", &c); - /* Detect high and lows and clock */ - // (AL - clock???) - for (i = 0; i < GraphTraceLen; ++i) - { - if (GraphBuffer[i] > high) - high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) - low = GraphBuffer[i]; - } - high=abs(high*.75); - low=abs(low*.75); - if (c != 0 && c != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return 0; - } - //prime loop - if (GraphBuffer[0] > 0) { - GraphBuffer[0] = 1-c; - } else { - GraphBuffer[0] = c; - } - for (i = 1; i < GraphTraceLen; ++i) { - /* Transitions are detected at each peak - * Transitions are either: - * - we're low: transition if we hit a high - * - we're high: transition if we hit a low - * (we need to do it this way because some tags keep high or - * low for long periods, others just reach the peak and go - * down) - */ - //[marhsmellow] change == to >= for high and <= for low for fuzz - if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) { - GraphBuffer[i] = 1 - c; - } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){ - GraphBuffer[i] = c; - } else { - /* No transition */ - GraphBuffer[i] = GraphBuffer[i - 1]; - } - } - RepaintGraphWindow(); - return 0; + /* Detect high and lows and clock */ + // (AL - clock???) + for (i = 0; i < GraphTraceLen; ++i) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } + high=abs(high*.75); + low=abs(low*.75); + if (c != 0 && c != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } + //prime loop + if (GraphBuffer[0] > 0) { + GraphBuffer[0] = 1-c; + } else { + GraphBuffer[0] = c; + } + for (i = 1; i < GraphTraceLen; ++i) { + /* Transitions are detected at each peak + * Transitions are either: + * - we're low: transition if we hit a high + * - we're high: transition if we hit a low + * (we need to do it this way because some tags keep high or + * low for long periods, others just reach the peak and go + * down) + */ + //[marhsmellow] change == to >= for high and <= for low for fuzz + if ((GraphBuffer[i] == high) && (GraphBuffer[i - 1] == c)) { + GraphBuffer[i] = 1 - c; + } else if ((GraphBuffer[i] == low) && (GraphBuffer[i - 1] == (1 - c))){ + GraphBuffer[i] = c; + } else { + /* No transition */ + GraphBuffer[i] = GraphBuffer[i - 1]; + } + } + RepaintGraphWindow(); + return 0; } //by marshmellow void printBitStream(uint8_t BitStream[], uint32_t bitLen) { - uint32_t i = 0; - if (bitLen<16) { - PrintAndLog("Too few bits found: %d",bitLen); - return; - } - if (bitLen>512) bitLen=512; - for (i = 0; i <= (bitLen-16); i+=16) { - PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", - BitStream[i], - BitStream[i+1], - BitStream[i+2], - BitStream[i+3], - BitStream[i+4], - BitStream[i+5], - BitStream[i+6], - BitStream[i+7], - BitStream[i+8], - BitStream[i+9], - BitStream[i+10], - BitStream[i+11], - BitStream[i+12], - BitStream[i+13], - BitStream[i+14], - BitStream[i+15]); - } - return; + uint32_t i = 0; + if (bitLen<16) { + PrintAndLog("Too few bits found: %d",bitLen); + return; + } + if (bitLen>512) bitLen=512; + for (i = 0; i <= (bitLen-16); i+=16) { + PrintAndLog("%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i%i", + BitStream[i], + BitStream[i+1], + BitStream[i+2], + BitStream[i+3], + BitStream[i+4], + BitStream[i+5], + BitStream[i+6], + BitStream[i+7], + BitStream[i+8], + BitStream[i+9], + BitStream[i+10], + BitStream[i+11], + BitStream[i+12], + BitStream[i+13], + BitStream[i+14], + BitStream[i+15]); + } + return; } //by marshmellow +//print EM410x ID in multiple formats void printEM410x(uint64_t id) { - if (id !=0){ - uint64_t iii=1; - uint64_t id2lo=0; //id2hi=0, - uint32_t ii=0; - uint32_t i=0; - for (ii=5; ii>0;ii--){ - for (i=0;i<8;i++){ - id2lo=(id2lo<<1LL)|((id & (iii<<(i+((ii-1)*8))))>>(i+((ii-1)*8))); - } - } - //output em id - PrintAndLog("EM TAG ID : %010llx", id); - PrintAndLog("Unique TAG ID: %010llx", id2lo); //id2hi, - PrintAndLog("DEZ 8 : %08lld",id & 0xFFFFFF); - PrintAndLog("DEZ 10 : %010lld",id & 0xFFFFFF); - PrintAndLog("DEZ 5.5 : %05lld.%05lld",(id>>16LL) & 0xFFFF,(id & 0xFFFF)); - PrintAndLog("DEZ 3.5A : %03lld.%05lld",(id>>32ll),(id & 0xFFFF)); - PrintAndLog("DEZ 14/IK2 : %014lld",id); - PrintAndLog("DEZ 15/IK3 : %015lld",id2lo); - PrintAndLog("Other : %05lld_%03lld_%08lld",(id&0xFFFF),((id>>16LL) & 0xFF),(id & 0xFFFFFF)); - } - return; + if (id !=0){ + uint64_t iii=1; + uint64_t id2lo=0; //id2hi=0, + uint32_t ii=0; + uint32_t i=0; + for (ii=5; ii>0;ii--){ + for (i=0;i<8;i++){ + id2lo=(id2lo<<1LL) | ((id & (iii << (i+((ii-1)*8)))) >> (i+((ii-1)*8))); + } + } + //output em id + PrintAndLog("EM TAG ID : %010llx", id); + PrintAndLog("Unique TAG ID: %010llx", id2lo); //id2hi, + PrintAndLog("DEZ 8 : %08lld",id & 0xFFFFFF); + PrintAndLog("DEZ 10 : %010lld",id & 0xFFFFFF); + PrintAndLog("DEZ 5.5 : %05lld.%05lld",(id>>16LL) & 0xFFFF,(id & 0xFFFF)); + PrintAndLog("DEZ 3.5A : %03lld.%05lld",(id>>32ll),(id & 0xFFFF)); + PrintAndLog("DEZ 14/IK2 : %014lld",id); + PrintAndLog("DEZ 15/IK3 : %015lld",id2lo); + PrintAndLog("Other : %05lld_%03lld_%08lld",(id&0xFFFF),((id>>16LL) & 0xFF),(id & 0xFFFFFF)); + } + return; } //by marshmellow +//take binary from demod buffer and see if we can find an EM410x ID int CmdEm410xDecode(const char *Cmd) { - uint64_t id=0; + uint64_t id=0; // uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; // uint32_t i=0; // i=getFromGraphBuf(BitStream); - id = Em410xDecode(DemodBuffer,DemodBufferLen); - printEM410x(id); - if (id>0) return 1; - return 0; + id = Em410xDecode(DemodBuffer,DemodBufferLen); + printEM410x(id); + if (id>0) return 1; + return 0; } //by marshmellow //takes 2 arguments - clock and invert both as integers -//attempts to demodulate ask while decoding manchester +//attempts to demodulate ask while decoding manchester //prints binary found and saves in graphbuffer for further commands int Cmdaskmandemod(const char *Cmd) { - int invert=0; - int clk=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - sscanf(Cmd, "%i %i", &clk, &invert); - if (invert != 0 && invert != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return 0; - } + int invert=0; + int clk=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } - int BitLen = getFromGraphBuf(BitStream); - // PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); - int errCnt=0; - errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); - if (errCnt<0||BitLen<16){ //if fatal error (or -1) - // PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); - return 0; - } - PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen); - - //output - if (errCnt>0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - } - PrintAndLog("ASK/Manchester decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - setDemodBuf(BitStream,BitLen); - printDemodBuff(); - uint64_t lo =0; - lo = Em410xDecode(BitStream,BitLen); - if (lo>0){ - //set GraphBuffer for clone or sim command - PrintAndLog("EM410x pattern found: "); - printEM410x(lo); - return 1; - } - //if (BitLen>16) return 1; - return 0; + size_t BitLen = getFromGraphBuf(BitStream); + // PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); + int errCnt=0; + errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); + if (errCnt<0||BitLen<16){ //if fatal error (or -1) + // PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); + return 0; + } + PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen); + + //output + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("ASK/Manchester decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + setDemodBuf(BitStream,BitLen); + printDemodBuff(); + uint64_t lo =0; + lo = Em410xDecode(BitStream,BitLen); + if (lo>0){ + //set GraphBuffer for clone or sim command + PrintAndLog("EM410x pattern found: "); + printEM410x(lo); + return 1; + } + //if (BitLen>16) return 1; + return 0; } //by marshmellow @@ -291,75 +293,75 @@ int Cmdaskmandemod(const char *Cmd) //stricktly take 10 and 01 and convert to 0 and 1 int Cmdmandecoderaw(const char *Cmd) { - int i =0; - int errCnt=0; - int bitnum=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - int high=0,low=0; - for (;ihigh) high=DemodBuffer[i]; - else if(DemodBuffer[i]1 || low <0 ){ - PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode"); - return 0; - } - bitnum=i; - errCnt=manrawdecode(BitStream,&bitnum); - if (errCnt>=20){ - PrintAndLog("Too many errors: %d",errCnt); - return 0; - } - PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); - printBitStream(BitStream,bitnum); - if (errCnt==0){ - uint64_t id = 0; - id = Em410xDecode(BitStream,bitnum); - if (id>0) setDemodBuf(BitStream,bitnum); - printEM410x(id); - } - return 1; + int i =0; + int errCnt=0; + size_t size=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + int high=0,low=0; + for (;ihigh) high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0 ){ + PrintAndLog("Error: please raw demod the wave first then mancheseter raw decode"); + return 0; + } + size=i; + errCnt=manrawdecode(BitStream, &size); + if (errCnt>=20){ + PrintAndLog("Too many errors: %d",errCnt); + return 0; + } + PrintAndLog("Manchester Decoded - # errors:%d - data:",errCnt); + printBitStream(BitStream, size); + if (errCnt==0){ + uint64_t id = 0; + id = Em410xDecode(BitStream, size); + if (id>0) setDemodBuf(BitStream, size); + printEM410x(id); + } + return 1; } //by marshmellow //biphase decode //take 01 or 10 = 0 and 11 or 00 = 1 //takes 1 argument "offset" default = 0 if 1 it will shift the decode by one bit -// since it is not like manchester and doesn't have an incorrect bit pattern we +// since it is not like manchester and doesn't have an incorrect bit pattern we // cannot determine if our decode is correct or if it should be shifted by one bit // the argument offset allows us to manually shift if the output is incorrect // (better would be to demod and decode at the same time so we can distinguish large // width waves vs small width waves to help the decode positioning) or askbiphdemod int CmdBiphaseDecodeRaw(const char *Cmd) { - int i = 0; - int errCnt=0; - int bitnum=0; - int offset=0; - int high=0, low=0; - sscanf(Cmd, "%i", &offset); - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - //get graphbuffer & high and low - for (;ihigh)high=DemodBuffer[i]; - else if(DemodBuffer[i]1 || low <0){ - PrintAndLog("Error: please raw demod the wave first then decode"); - return 0; - } - bitnum=i; - errCnt=BiphaseRawDecode(BitStream,&bitnum, offset); - if (errCnt>=20){ - PrintAndLog("Too many errors attempting to decode: %d",errCnt); - return 0; - } - PrintAndLog("Biphase Decoded using offset: %d - # errors:%d - data:",offset,errCnt); - printBitStream(BitStream,bitnum); - PrintAndLog("\nif bitstream does not look right try offset=1"); - return 1; + int i = 0; + int errCnt=0; + size_t size=0; + int offset=0; + int high=0, low=0; + sscanf(Cmd, "%i", &offset); + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + //get graphbuffer & high and low + for (;ihigh)high=DemodBuffer[i]; + else if(DemodBuffer[i]1 || low <0){ + PrintAndLog("Error: please raw demod the wave first then decode"); + return 0; + } + size=i; + errCnt=BiphaseRawDecode(BitStream, &size, offset); + if (errCnt>=20){ + PrintAndLog("Too many errors attempting to decode: %d",errCnt); + return 0; + } + PrintAndLog("Biphase Decoded using offset: %d - # errors:%d - data:",offset,errCnt); + printBitStream(BitStream, size); + PrintAndLog("\nif bitstream does not look right try offset=1"); + return 1; } @@ -369,89 +371,89 @@ int CmdBiphaseDecodeRaw(const char *Cmd) //prints binary found and saves in graphbuffer for further commands int Cmdaskrawdemod(const char *Cmd) { - int invert=0; - int clk=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - sscanf(Cmd, "%i %i", &clk, &invert); - if (invert != 0 && invert != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return 0; - } - int BitLen = getFromGraphBuf(BitStream); - int errCnt=0; - errCnt = askrawdemod(BitStream, &BitLen,&clk,&invert); - if (errCnt==-1||BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) - PrintAndLog("no data found"); - return 0; - } - PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); - //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to DemodBuffer - setDemodBuf(BitStream,BitLen); - - //output - if (errCnt>0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - } - PrintAndLog("ASK demoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - printBitStream(BitStream,BitLen); - - return 1; + int invert=0; + int clk=0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return 0; + } + size_t BitLen = getFromGraphBuf(BitStream); + int errCnt=0; + errCnt = askrawdemod(BitStream, &BitLen,&clk,&invert); + if (errCnt==-1||BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) + PrintAndLog("no data found"); + return 0; + } + PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); + //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to DemodBuffer + setDemodBuf(BitStream,BitLen); + + //output + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("ASK demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printBitStream(BitStream,BitLen); + + return 1; } int CmdAutoCorr(const char *Cmd) { - static int CorrelBuffer[MAX_GRAPH_TRACE_LEN]; + static int CorrelBuffer[MAX_GRAPH_TRACE_LEN]; - int window = atoi(Cmd); + int window = atoi(Cmd); - if (window == 0) { - PrintAndLog("needs a window"); - return 0; - } - if (window >= GraphTraceLen) { - PrintAndLog("window must be smaller than trace (%d samples)", - GraphTraceLen); - return 0; - } + if (window == 0) { + PrintAndLog("needs a window"); + return 0; + } + if (window >= GraphTraceLen) { + PrintAndLog("window must be smaller than trace (%d samples)", + GraphTraceLen); + return 0; + } - PrintAndLog("performing %d correlations", GraphTraceLen - window); + PrintAndLog("performing %d correlations", GraphTraceLen - window); - for (int i = 0; i < GraphTraceLen - window; ++i) { - int sum = 0; - for (int j = 0; j < window; ++j) { - sum += (GraphBuffer[j]*GraphBuffer[i + j]) / 256; - } - CorrelBuffer[i] = sum; - } - GraphTraceLen = GraphTraceLen - window; - memcpy(GraphBuffer, CorrelBuffer, GraphTraceLen * sizeof (int)); + for (int i = 0; i < GraphTraceLen - window; ++i) { + int sum = 0; + for (int j = 0; j < window; ++j) { + sum += (GraphBuffer[j]*GraphBuffer[i + j]) / 256; + } + CorrelBuffer[i] = sum; + } + GraphTraceLen = GraphTraceLen - window; + memcpy(GraphBuffer, CorrelBuffer, GraphTraceLen * sizeof (int)); - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdBitsamples(const char *Cmd) { - int cnt = 0; - uint8_t got[12288]; - - GetFromBigBuf(got,sizeof(got),0); - WaitForResponse(CMD_ACK,NULL); + int cnt = 0; + uint8_t got[12288]; - for (int j = 0; j < sizeof(got); j++) { - for (int k = 0; k < 8; k++) { - if(got[j] & (1 << (7 - k))) { - GraphBuffer[cnt++] = 1; - } else { - GraphBuffer[cnt++] = 0; - } - } - } - GraphTraceLen = cnt; - RepaintGraphWindow(); - return 0; + GetFromBigBuf(got,sizeof(got),0); + WaitForResponse(CMD_ACK,NULL); + + for (int j = 0; j < sizeof(got); j++) { + for (int k = 0; k < 8; k++) { + if(got[j] & (1 << (7 - k))) { + GraphBuffer[cnt++] = 1; + } else { + GraphBuffer[cnt++] = 0; + } + } + } + GraphTraceLen = cnt; + RepaintGraphWindow(); + return 0; } /* @@ -459,92 +461,92 @@ int CmdBitsamples(const char *Cmd) */ int CmdBitstream(const char *Cmd) { - int i, j; - int bit; - int gtl; - int clock; - int low = 0; - int high = 0; - int hithigh, hitlow, first; + int i, j; + int bit; + int gtl; + int clock; + int low = 0; + int high = 0; + int hithigh, hitlow, first; - /* Detect high and lows and clock */ - for (i = 0; i < GraphTraceLen; ++i) - { - if (GraphBuffer[i] > high) - high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) - low = GraphBuffer[i]; - } + /* Detect high and lows and clock */ + for (i = 0; i < GraphTraceLen; ++i) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } - /* Get our clock */ - clock = GetClock(Cmd, high, 1); - gtl = ClearGraph(0); + /* Get our clock */ + clock = GetClock(Cmd, high, 1); + gtl = ClearGraph(0); - bit = 0; - for (i = 0; i < (int)(gtl / clock); ++i) - { - hithigh = 0; - hitlow = 0; - first = 1; - /* Find out if we hit both high and low peaks */ - for (j = 0; j < clock; ++j) - { - if (GraphBuffer[(i * clock) + j] == high) - hithigh = 1; - else if (GraphBuffer[(i * clock) + j] == low) - hitlow = 1; - /* it doesn't count if it's the first part of our read - because it's really just trailing from the last sequence */ - if (first && (hithigh || hitlow)) - hithigh = hitlow = 0; - else - first = 0; + bit = 0; + for (i = 0; i < (int)(gtl / clock); ++i) + { + hithigh = 0; + hitlow = 0; + first = 1; + /* Find out if we hit both high and low peaks */ + for (j = 0; j < clock; ++j) + { + if (GraphBuffer[(i * clock) + j] == high) + hithigh = 1; + else if (GraphBuffer[(i * clock) + j] == low) + hitlow = 1; + /* it doesn't count if it's the first part of our read + because it's really just trailing from the last sequence */ + if (first && (hithigh || hitlow)) + hithigh = hitlow = 0; + else + first = 0; - if (hithigh && hitlow) - break; - } + if (hithigh && hitlow) + break; + } - /* If we didn't hit both high and low peaks, we had a bit transition */ - if (!hithigh || !hitlow) - bit ^= 1; + /* If we didn't hit both high and low peaks, we had a bit transition */ + if (!hithigh || !hitlow) + bit ^= 1; - AppendGraph(0, clock, bit); - // for (j = 0; j < (int)(clock/2); j++) - // GraphBuffer[(i * clock) + j] = bit ^ 1; - // for (j = (int)(clock/2); j < clock; j++) - // GraphBuffer[(i * clock) + j] = bit; - } + AppendGraph(0, clock, bit); + // for (j = 0; j < (int)(clock/2); j++) + // GraphBuffer[(i * clock) + j] = bit ^ 1; + // for (j = (int)(clock/2); j < clock; j++) + // GraphBuffer[(i * clock) + j] = bit; + } - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdBuffClear(const char *Cmd) { - UsbCommand c = {CMD_BUFF_CLEAR}; - SendCommand(&c); - ClearGraph(true); - return 0; + UsbCommand c = {CMD_BUFF_CLEAR}; + SendCommand(&c); + ClearGraph(true); + return 0; } int CmdDec(const char *Cmd) { - for (int i = 0; i < (GraphTraceLen / 2); ++i) - GraphBuffer[i] = GraphBuffer[i * 2]; - GraphTraceLen /= 2; - PrintAndLog("decimated by 2"); - RepaintGraphWindow(); - return 0; + for (int i = 0; i < (GraphTraceLen / 2); ++i) + GraphBuffer[i] = GraphBuffer[i * 2]; + GraphTraceLen /= 2; + PrintAndLog("decimated by 2"); + RepaintGraphWindow(); + return 0; } /* Print our clock rate */ -// uses data from graphbuffer +// uses data from graphbuffer int CmdDetectClockRate(const char *Cmd) { - GetClock("",0,0); - //int clock = DetectASKClock(0); - //PrintAndLog("Auto-detected clock rate: %d", clock); - return 0; + GetClock("",0,0); + //int clock = DetectASKClock(0); + //PrintAndLog("Auto-detected clock rate: %d", clock); + return 0; } //by marshmellow @@ -553,37 +555,37 @@ int CmdDetectClockRate(const char *Cmd) //defaults: clock = 50, invert=0, rchigh=10, rclow=8 (RF/10 RF/8 (fsk2a)) int CmdFSKrawdemod(const char *Cmd) { - //raw fsk demod no manchester decoding no start bit finding just get binary from wave - //set defaults - int rfLen = 50; - int invert=0; - int fchigh=10; - int fclow=8; - //set options from parameters entered with the command - sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow); - - if (strlen(Cmd)>0 && strlen(Cmd)<=2) { - //rfLen=param_get8(Cmd, 0); //if rfLen option only is used - if (rfLen==1){ - invert=1; //if invert option only is used - rfLen = 50; - } else if(rfLen==0) rfLen=50; - } - PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - uint32_t BitLen = getFromGraphBuf(BitStream); - int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); - if (size>0){ - PrintAndLog("FSK decoded bitstream:"); - setDemodBuf(BitStream,size); - - // Now output the bitstream to the scrollback by line of 16 bits - if(size > (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size - printBitStream(BitStream,size); - } else{ - PrintAndLog("no FSK data found"); - } - return 0; + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + //set defaults + int rfLen = 50; + int invert=0; + int fchigh=10; + int fclow=8; + //set options from parameters entered with the command + sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow); + + if (strlen(Cmd)>0 && strlen(Cmd)<=2) { + //rfLen=param_get8(Cmd, 0); //if rfLen option only is used + if (rfLen==1){ + invert=1; //if invert option only is used + rfLen = 50; + } else if(rfLen==0) rfLen=50; + } + PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); + if (size>0){ + PrintAndLog("FSK decoded bitstream:"); + setDemodBuf(BitStream,size); + + // Now output the bitstream to the scrollback by line of 16 bits + if(size > (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size + printBitStream(BitStream,size); + } else{ + PrintAndLog("no FSK data found"); + } + return 0; } //by marshmellow (based on existing demod + holiman's refactor) @@ -591,73 +593,73 @@ int CmdFSKrawdemod(const char *Cmd) //print full HID Prox ID and some bit format details if found int CmdFSKdemodHID(const char *Cmd) { - //raw fsk demod no manchester decoding no start bit finding just get binary from wave - uint32_t hi2=0, hi=0, lo=0; + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + uint32_t hi2=0, hi=0, lo=0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - uint32_t BitLen = getFromGraphBuf(BitStream); - //get binary from fsk wave - size_t size = HIDdemodFSK(BitStream,BitLen,&hi2,&hi,&lo); - if (size<0){ - PrintAndLog("Error demoding fsk"); - return 0; - } - if (hi2==0 && hi==0 && lo==0) return 0; - if (hi2 != 0){ //extra large HID tags - PrintAndLog("HID Prox TAG ID: %x%08x%08x (%d)", - (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - setDemodBuf(BitStream,BitLen); - return 1; - } - else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd - uint8_t fmtLen = 0; - uint32_t fc = 0; - uint32_t cardnum = 0; - if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used - uint32_t lo2=0; - lo2=(((hi & 15) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit - uint8_t idx3 = 1; - while(lo2>1){ //find last bit set to 1 (format len bit) - lo2=lo2>>1; - idx3++; - } - fmtLen =idx3+19; - fc =0; - cardnum=0; - if(fmtLen==26){ - cardnum = (lo>>1)&0xFFFF; - fc = (lo>>17)&0xFF; - } - if(fmtLen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - if(fmtLen==34){ - cardnum = (lo>>1)&0xFFFF; - fc= ((hi&1)<<15)|(lo>>17); - } - if(fmtLen==35){ - cardnum = (lo>>1)&0xFFFFF; - fc = ((hi&1)<<11)|(lo>>21); - } - } - else { //if bit 38 is not set then 37 bit format is used - fmtLen= 37; - fc =0; - cardnum=0; - if(fmtLen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } - } - PrintAndLog("HID Prox TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", - (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, - (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum); - setDemodBuf(BitStream,BitLen); - return 1; - } - return 0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + //get binary from fsk wave + size_t size = HIDdemodFSK(BitStream,BitLen,&hi2,&hi,&lo); + if (size<0){ + PrintAndLog("Error demoding fsk"); + return 0; + } + if (hi2==0 && hi==0 && lo==0) return 0; + if (hi2 != 0){ //extra large HID tags + PrintAndLog("HID Prox TAG ID: %x%08x%08x (%d)", + (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); + setDemodBuf(BitStream,BitLen); + return 1; + } + else { //standard HID tags <38 bits + //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd + uint8_t fmtLen = 0; + uint32_t fc = 0; + uint32_t cardnum = 0; + if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used + uint32_t lo2=0; + lo2=(((hi & 15) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + uint8_t idx3 = 1; + while(lo2>1){ //find last bit set to 1 (format len bit) + lo2=lo2>>1; + idx3++; + } + fmtLen =idx3+19; + fc =0; + cardnum=0; + if(fmtLen==26){ + cardnum = (lo>>1)&0xFFFF; + fc = (lo>>17)&0xFF; + } + if(fmtLen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + if(fmtLen==34){ + cardnum = (lo>>1)&0xFFFF; + fc= ((hi&1)<<15)|(lo>>17); + } + if(fmtLen==35){ + cardnum = (lo>>1)&0xFFFFF; + fc = ((hi&1)<<11)|(lo>>21); + } + } + else { //if bit 38 is not set then 37 bit format is used + fmtLen= 37; + fc =0; + cardnum=0; + if(fmtLen==37){ + cardnum = (lo>>1)&0x7FFFF; + fc = ((hi&0xF)<<12)|(lo>>20); + } + } + PrintAndLog("HID Prox TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", + (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, + (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum); + setDemodBuf(BitStream,BitLen); + return 1; + } + return 0; } //by marshmellow @@ -665,203 +667,203 @@ int CmdFSKdemodHID(const char *Cmd) //print ioprox ID and some format details int CmdFSKdemodIO(const char *Cmd) { - //raw fsk demod no manchester decoding no start bit finding just get binary from wave - //set defaults - int idx=0; - //something in graphbuffer - if (GraphTraceLen < 65) return 0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - uint32_t BitLen = getFromGraphBuf(BitStream); - //get binary from fsk wave - // PrintAndLog("DEBUG: got buff"); - idx = IOdemodFSK(BitStream,BitLen); - if (idx<0){ - //PrintAndLog("Error demoding fsk"); - return 0; - } - // PrintAndLog("DEBUG: Got IOdemodFSK"); - if (idx==0){ - //PrintAndLog("IO Prox Data not found - FSK Data:"); - //if (BitLen > 92) printBitStream(BitStream,92); - return 0; - } - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo (raw) - //Handle the data - if (idx+64>BitLen) return 0; - PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx], BitStream[idx+1], BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]); - PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9], BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]); - PrintAndLog("%d%d%d%d%d%d%d%d %d facility",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); - PrintAndLog("%d%d%d%d%d%d%d%d %d version",BitStream[idx+27], BitStream[idx+28], BitStream[idx+29],BitStream[idx+30],BitStream[idx+31],BitStream[idx+32],BitStream[idx+33],BitStream[idx+34],BitStream[idx+35]); - PrintAndLog("%d%d%d%d%d%d%d%d %d code1",BitStream[idx+36], BitStream[idx+37], BitStream[idx+38],BitStream[idx+39],BitStream[idx+40],BitStream[idx+41],BitStream[idx+42],BitStream[idx+43],BitStream[idx+44]); - PrintAndLog("%d%d%d%d%d%d%d%d %d code2",BitStream[idx+45], BitStream[idx+46], BitStream[idx+47],BitStream[idx+48],BitStream[idx+49],BitStream[idx+50],BitStream[idx+51],BitStream[idx+52],BitStream[idx+53]); - PrintAndLog("%d%d%d%d%d%d%d%d %d%d checksum",BitStream[idx+54],BitStream[idx+55],BitStream[idx+56],BitStream[idx+57],BitStream[idx+58],BitStream[idx+59],BitStream[idx+60],BitStream[idx+61],BitStream[idx+62],BitStream[idx+63]); + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + //set defaults + int idx=0; + //something in graphbuffer + if (GraphTraceLen < 65) return 0; + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + //get binary from fsk wave + // PrintAndLog("DEBUG: got buff"); + idx = IOdemodFSK(BitStream,BitLen); + if (idx<0){ + //PrintAndLog("Error demoding fsk"); + return 0; + } + // PrintAndLog("DEBUG: Got IOdemodFSK"); + if (idx==0){ + //PrintAndLog("IO Prox Data not found - FSK Data:"); + //if (BitLen > 92) printBitStream(BitStream,92); + return 0; + } + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo (raw) + //Handle the data + if (idx+64>BitLen) return 0; + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx], BitStream[idx+1], BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]); + PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9], BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]); + PrintAndLog("%d%d%d%d%d%d%d%d %d facility",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); + PrintAndLog("%d%d%d%d%d%d%d%d %d version",BitStream[idx+27], BitStream[idx+28], BitStream[idx+29],BitStream[idx+30],BitStream[idx+31],BitStream[idx+32],BitStream[idx+33],BitStream[idx+34],BitStream[idx+35]); + PrintAndLog("%d%d%d%d%d%d%d%d %d code1",BitStream[idx+36], BitStream[idx+37], BitStream[idx+38],BitStream[idx+39],BitStream[idx+40],BitStream[idx+41],BitStream[idx+42],BitStream[idx+43],BitStream[idx+44]); + PrintAndLog("%d%d%d%d%d%d%d%d %d code2",BitStream[idx+45], BitStream[idx+46], BitStream[idx+47],BitStream[idx+48],BitStream[idx+49],BitStream[idx+50],BitStream[idx+51],BitStream[idx+52],BitStream[idx+53]); + PrintAndLog("%d%d%d%d%d%d%d%d %d%d checksum",BitStream[idx+54],BitStream[idx+55],BitStream[idx+56],BitStream[idx+57],BitStream[idx+58],BitStream[idx+59],BitStream[idx+60],BitStream[idx+61],BitStream[idx+62],BitStream[idx+63]); - uint32_t code = bytebits_to_byte(BitStream+idx,32); - uint32_t code2 = bytebits_to_byte(BitStream+idx+32,32); - uint8_t version = bytebits_to_byte(BitStream+idx+27,8); //14,4 - uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ; - uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 - PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - int i; - for (i=0;i<64;++i) - DemodBuffer[i]=BitStream[idx++]; + uint32_t code = bytebits_to_byte(BitStream+idx,32); + uint32_t code2 = bytebits_to_byte(BitStream+idx+32,32); + uint8_t version = bytebits_to_byte(BitStream+idx+27,8); //14,4 + uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ; + uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 + PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); + int i; + for (i=0;i<64;++i) + DemodBuffer[i]=BitStream[idx++]; - DemodBufferLen=64; - return 1; + DemodBufferLen=64; + return 1; } int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating { - static const int LowTone[] = { - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, -1, -1, -1, -1, -1 - }; - static const int HighTone[] = { - 1, 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, - 1, 1, 1, 1, -1, -1, -1, -1, -1, - }; + static const int LowTone[] = { + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, -1, -1, -1, -1, -1 + }; + static const int HighTone[] = { + 1, 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, + 1, 1, 1, 1, -1, -1, -1, -1, -1, + }; - int lowLen = sizeof (LowTone) / sizeof (int); - int highLen = sizeof (HighTone) / sizeof (int); - int convLen = (highLen > lowLen) ? highLen : lowLen; //if highlen > lowLen then highlen else lowlen - uint32_t hi = 0, lo = 0; + int lowLen = sizeof (LowTone) / sizeof (int); + int highLen = sizeof (HighTone) / sizeof (int); + int convLen = (highLen > lowLen) ? highLen : lowLen; //if highlen > lowLen then highlen else lowlen + uint32_t hi = 0, lo = 0; - int i, j; - int minMark = 0, maxMark = 0; - - for (i = 0; i < GraphTraceLen - convLen; ++i) { - int lowSum = 0, highSum = 0; + int i, j; + int minMark = 0, maxMark = 0; - for (j = 0; j < lowLen; ++j) { - lowSum += LowTone[j]*GraphBuffer[i+j]; - } - for (j = 0; j < highLen; ++j) { - highSum += HighTone[j] * GraphBuffer[i + j]; - } - lowSum = abs(100 * lowSum / lowLen); - highSum = abs(100 * highSum / highLen); - GraphBuffer[i] = (highSum << 16) | lowSum; - } + for (i = 0; i < GraphTraceLen - convLen; ++i) { + int lowSum = 0, highSum = 0; - for(i = 0; i < GraphTraceLen - convLen - 16; ++i) { - int lowTot = 0, highTot = 0; - // 10 and 8 are f_s divided by f_l and f_h, rounded - for (j = 0; j < 10; ++j) { - lowTot += (GraphBuffer[i+j] & 0xffff); - } - for (j = 0; j < 8; j++) { - highTot += (GraphBuffer[i + j] >> 16); - } - GraphBuffer[i] = lowTot - highTot; - if (GraphBuffer[i] > maxMark) maxMark = GraphBuffer[i]; - if (GraphBuffer[i] < minMark) minMark = GraphBuffer[i]; - } + for (j = 0; j < lowLen; ++j) { + lowSum += LowTone[j]*GraphBuffer[i+j]; + } + for (j = 0; j < highLen; ++j) { + highSum += HighTone[j] * GraphBuffer[i + j]; + } + lowSum = abs(100 * lowSum / lowLen); + highSum = abs(100 * highSum / highLen); + GraphBuffer[i] = (highSum << 16) | lowSum; + } - GraphTraceLen -= (convLen + 16); - RepaintGraphWindow(); + for(i = 0; i < GraphTraceLen - convLen - 16; ++i) { + int lowTot = 0, highTot = 0; + // 10 and 8 are f_s divided by f_l and f_h, rounded + for (j = 0; j < 10; ++j) { + lowTot += (GraphBuffer[i+j] & 0xffff); + } + for (j = 0; j < 8; j++) { + highTot += (GraphBuffer[i + j] >> 16); + } + GraphBuffer[i] = lowTot - highTot; + if (GraphBuffer[i] > maxMark) maxMark = GraphBuffer[i]; + if (GraphBuffer[i] < minMark) minMark = GraphBuffer[i]; + } - // Find bit-sync (3 lo followed by 3 high) (HID ONLY) - int max = 0, maxPos = 0; - for (i = 0; i < 6000; ++i) { - int dec = 0; - for (j = 0; j < 3 * lowLen; ++j) { - dec -= GraphBuffer[i + j]; - } - for (; j < 3 * (lowLen + highLen ); ++j) { - dec += GraphBuffer[i + j]; - } - if (dec > max) { - max = dec; - maxPos = i; - } - } + GraphTraceLen -= (convLen + 16); + RepaintGraphWindow(); - // place start of bit sync marker in graph - GraphBuffer[maxPos] = maxMark; - GraphBuffer[maxPos + 1] = minMark; + // Find bit-sync (3 lo followed by 3 high) (HID ONLY) + int max = 0, maxPos = 0; + for (i = 0; i < 6000; ++i) { + int dec = 0; + for (j = 0; j < 3 * lowLen; ++j) { + dec -= GraphBuffer[i + j]; + } + for (; j < 3 * (lowLen + highLen ); ++j) { + dec += GraphBuffer[i + j]; + } + if (dec > max) { + max = dec; + maxPos = i; + } + } - maxPos += j; + // place start of bit sync marker in graph + GraphBuffer[maxPos] = maxMark; + GraphBuffer[maxPos + 1] = minMark; - // place end of bit sync marker in graph - GraphBuffer[maxPos] = maxMark; - GraphBuffer[maxPos+1] = minMark; + maxPos += j; - PrintAndLog("actual data bits start at sample %d", maxPos); - PrintAndLog("length %d/%d", highLen, lowLen); + // place end of bit sync marker in graph + GraphBuffer[maxPos] = maxMark; + GraphBuffer[maxPos+1] = minMark; - uint8_t bits[46]; - bits[sizeof(bits)-1] = '\0'; + PrintAndLog("actual data bits start at sample %d", maxPos); + PrintAndLog("length %d/%d", highLen, lowLen); - // find bit pairs and manchester decode them - for (i = 0; i < arraylen(bits) - 1; ++i) { - int dec = 0; - for (j = 0; j < lowLen; ++j) { - dec -= GraphBuffer[maxPos + j]; - } - for (; j < lowLen + highLen; ++j) { - dec += GraphBuffer[maxPos + j]; - } - maxPos += j; - // place inter bit marker in graph - GraphBuffer[maxPos] = maxMark; - GraphBuffer[maxPos + 1] = minMark; + uint8_t bits[46]; + bits[sizeof(bits)-1] = '\0'; - // hi and lo form a 64 bit pair - hi = (hi << 1) | (lo >> 31); - lo = (lo << 1); - // store decoded bit as binary (in hi/lo) and text (in bits[]) - if(dec < 0) { - bits[i] = '1'; - lo |= 1; - } else { - bits[i] = '0'; - } - } - PrintAndLog("bits: '%s'", bits); - PrintAndLog("hex: %08x %08x", hi, lo); - return 0; + // find bit pairs and manchester decode them + for (i = 0; i < arraylen(bits) - 1; ++i) { + int dec = 0; + for (j = 0; j < lowLen; ++j) { + dec -= GraphBuffer[maxPos + j]; + } + for (; j < lowLen + highLen; ++j) { + dec += GraphBuffer[maxPos + j]; + } + maxPos += j; + // place inter bit marker in graph + GraphBuffer[maxPos] = maxMark; + GraphBuffer[maxPos + 1] = minMark; + + // hi and lo form a 64 bit pair + hi = (hi << 1) | (lo >> 31); + lo = (lo << 1); + // store decoded bit as binary (in hi/lo) and text (in bits[]) + if(dec < 0) { + bits[i] = '1'; + lo |= 1; + } else { + bits[i] = '0'; + } + } + PrintAndLog("bits: '%s'", bits); + PrintAndLog("hex: %08x %08x", hi, lo); + return 0; } int CmdDetectNRZpskClockRate(const char *Cmd) { - GetNRZpskClock("",0,0); - return 0; + GetNRZpskClock("",0,0); + return 0; } int PSKnrzDemod(const char *Cmd){ - int invert=0; - int clk=0; - sscanf(Cmd, "%i %i", &clk, &invert); - if (invert != 0 && invert != 1) { - PrintAndLog("Invalid argument: %s", Cmd); - return -1; - } - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - int BitLen = getFromGraphBuf(BitStream); - int errCnt=0; - errCnt = pskNRZrawDemod(BitStream, &BitLen,&clk,&invert); - if (errCnt<0|| BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) - //PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); - return -1; - } - PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); - - //prime demod buffer for output - setDemodBuf(BitStream,BitLen); - return errCnt; + int invert=0; + int clk=0; + sscanf(Cmd, "%i %i", &clk, &invert); + if (invert != 0 && invert != 1) { + PrintAndLog("Invalid argument: %s", Cmd); + return -1; + } + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + int errCnt=0; + errCnt = pskNRZrawDemod(BitStream, &BitLen,&clk,&invert); + if (errCnt<0|| BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) + //PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); + return -1; + } + PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); + + //prime demod buffer for output + setDemodBuf(BitStream,BitLen); + return errCnt; } // Indala 26 bit decode // by marshmellow @@ -869,103 +871,103 @@ int PSKnrzDemod(const char *Cmd){ int CmdIndalaDecode(const char *Cmd) { - int ans=PSKnrzDemod(Cmd); - if (ans < 0){ - PrintAndLog("Error1: %d",ans); - return 0; - } - uint8_t invert=0; - ans = indala26decode(DemodBuffer, &DemodBufferLen, &invert); - if (ans < 1) { - PrintAndLog("Error2: %d",ans); - return -1; - } - char showbits[251]; - if(invert==1) PrintAndLog("Had to invert bits"); - //convert UID to HEX - uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; - int idx; - uid1=0; - uid2=0; - PrintAndLog("BitLen: %d",DemodBufferLen); - if (DemodBufferLen==64){ - for( idx=0; idx<64; idx++) { - uid1=(uid1<<1)|(uid2>>31); - if (DemodBuffer[idx] == 0) { - uid2=(uid2<<1)|0; - showbits[idx]='0'; - } else { - uid2=(uid2<<1)|1; - showbits[idx]='1'; - } - } - showbits[idx]='\0'; - PrintAndLog("Indala UID=%s (%x%08x)", showbits, uid1, uid2); - } - else { - uid3=0; - uid4=0; - uid5=0; - uid6=0; - uid7=0; - for( idx=0; idx>31); - uid2=(uid2<<1)|(uid3>>31); - uid3=(uid3<<1)|(uid4>>31); - uid4=(uid4<<1)|(uid5>>31); - uid5=(uid5<<1)|(uid6>>31); - uid6=(uid6<<1)|(uid7>>31); - if (DemodBuffer[idx] == 0) { - uid7=(uid7<<1)|0; - showbits[idx]='0'; - } - else { - uid7=(uid7<<1)|1; - showbits[idx]='1'; - } - } - showbits[idx]='\0'; - PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); - } - return 1; + int ans=PSKnrzDemod(Cmd); + if (ans < 0){ + PrintAndLog("Error1: %d",ans); + return 0; + } + uint8_t invert=0; + ans = indala26decode(DemodBuffer,(size_t *) &DemodBufferLen, &invert); + if (ans < 1) { + PrintAndLog("Error2: %d",ans); + return -1; + } + char showbits[251]; + if(invert==1) PrintAndLog("Had to invert bits"); + //convert UID to HEX + uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; + int idx; + uid1=0; + uid2=0; + PrintAndLog("BitLen: %d",DemodBufferLen); + if (DemodBufferLen==64){ + for( idx=0; idx<64; idx++) { + uid1=(uid1<<1)|(uid2>>31); + if (DemodBuffer[idx] == 0) { + uid2=(uid2<<1)|0; + showbits[idx]='0'; + } else { + uid2=(uid2<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x)", showbits, uid1, uid2); + } + else { + uid3=0; + uid4=0; + uid5=0; + uid6=0; + uid7=0; + for( idx=0; idx>31); + uid2=(uid2<<1)|(uid3>>31); + uid3=(uid3<<1)|(uid4>>31); + uid4=(uid4<<1)|(uid5>>31); + uid5=(uid5<<1)|(uid6>>31); + uid6=(uid6<<1)|(uid7>>31); + if (DemodBuffer[idx] == 0) { + uid7=(uid7<<1)|0; + showbits[idx]='0'; + } + else { + uid7=(uid7<<1)|1; + showbits[idx]='1'; + } + } + showbits[idx]='\0'; + PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); + } + return 1; } /* //by marshmellow (attempt to get rid of high immediately after a low) void pskCleanWave2(uint8_t *bitStream, int bitLen) { - int i; - int low=128; - int gap = 4; + int i; + int low=128; + int gap = 4; // int loopMax = 2048; - int newLow=0; + int newLow=0; - for (i=0; i0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - } - PrintAndLog("PSK or NRZ demoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - printDemodBuff(); - - return 1; + int errCnt= PSKnrzDemod(Cmd); + //output + if (errCnt<0) return 0; + if (errCnt>0){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + } + PrintAndLog("PSK or NRZ demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + + return 1; } int CmdGrid(const char *Cmd) { - sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); - PlotGridXdefault= PlotGridX; - PlotGridYdefault= PlotGridY; - RepaintGraphWindow(); - return 0; + sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); + PlotGridXdefault= PlotGridX; + PlotGridYdefault= PlotGridY; + RepaintGraphWindow(); + return 0; } int CmdHexsamples(const char *Cmd) { - int i, j; - int requested = 0; - int offset = 0; - char string_buf[25]; - char* string_ptr = string_buf; - uint8_t got[40000]; - - sscanf(Cmd, "%i %i", &requested, &offset); + int i, j; + int requested = 0; + int offset = 0; + char string_buf[25]; + char* string_ptr = string_buf; + uint8_t got[40000]; - /* if no args send something */ - if (requested == 0) { - requested = 8; - } - if (offset + requested > sizeof(got)) { - PrintAndLog("Tried to read past end of buffer, + > 40000"); - return 0; - } + sscanf(Cmd, "%i %i", &requested, &offset); - GetFromBigBuf(got,requested,offset); - WaitForResponse(CMD_ACK,NULL); + /* if no args send something */ + if (requested == 0) { + requested = 8; + } + if (offset + requested > sizeof(got)) { + PrintAndLog("Tried to read past end of buffer, + > 40000"); + return 0; + } - i = 0; - for (j = 0; j < requested; j++) { - i++; - string_ptr += sprintf(string_ptr, "%02x ", got[j]); - if (i == 8) { - *(string_ptr - 1) = '\0'; // remove the trailing space - PrintAndLog("%s", string_buf); - string_buf[0] = '\0'; - string_ptr = string_buf; - i = 0; - } - if (j == requested - 1 && string_buf[0] != '\0') { // print any remaining bytes - *(string_ptr - 1) = '\0'; - PrintAndLog("%s", string_buf); - string_buf[0] = '\0'; - } - } - return 0; + GetFromBigBuf(got,requested,offset); + WaitForResponse(CMD_ACK,NULL); + + i = 0; + for (j = 0; j < requested; j++) { + i++; + string_ptr += sprintf(string_ptr, "%02x ", got[j]); + if (i == 8) { + *(string_ptr - 1) = '\0'; // remove the trailing space + PrintAndLog("%s", string_buf); + string_buf[0] = '\0'; + string_ptr = string_buf; + i = 0; + } + if (j == requested - 1 && string_buf[0] != '\0') { // print any remaining bytes + *(string_ptr - 1) = '\0'; + PrintAndLog("%s", string_buf); + string_buf[0] = '\0'; + } + } + return 0; } int CmdHide(const char *Cmd) { - HideGraphWindow(); - return 0; + HideGraphWindow(); + return 0; } int CmdHpf(const char *Cmd) { - int i; - int accum = 0; + int i; + int accum = 0; - for (i = 10; i < GraphTraceLen; ++i) - accum += GraphBuffer[i]; - accum /= (GraphTraceLen - 10); - for (i = 0; i < GraphTraceLen; ++i) - GraphBuffer[i] -= accum; + for (i = 10; i < GraphTraceLen; ++i) + accum += GraphBuffer[i]; + accum /= (GraphTraceLen - 10); + for (i = 0; i < GraphTraceLen; ++i) + GraphBuffer[i] -= accum; - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdSamples(const char *Cmd) { - int cnt = 0; - int n; - uint8_t got[40000]; + int cnt = 0; + int n; + uint8_t got[40000]; - n = strtol(Cmd, NULL, 0); - if (n == 0) n = 6000; - if (n > sizeof(got)) n = sizeof(got); - - PrintAndLog("Reading %d samples\n", n); - GetFromBigBuf(got,n,0); - WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; - } - - PrintAndLog("Done!\n"); - GraphTraceLen = n; - RepaintGraphWindow(); - return 0; + n = strtol(Cmd, NULL, 0); + if (n == 0) n = 6000; + if (n > sizeof(got)) n = sizeof(got); + + PrintAndLog("Reading %d samples\n", n); + GetFromBigBuf(got,n,0); + WaitForResponse(CMD_ACK,NULL); + for (int j = 0; j < n; j++) { + GraphBuffer[cnt++] = ((int)got[j]) - 128; + } + + PrintAndLog("Done!\n"); + GraphTraceLen = n; + RepaintGraphWindow(); + return 0; } int CmdTuneSamples(const char *Cmd) { - int cnt = 0; - int n = 255; - uint8_t got[255]; + int cnt = 0; + int n = 255; + uint8_t got[255]; - PrintAndLog("Reading %d samples\n", n); - GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 - WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; - } - - PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); - PrintAndLog("\n"); - GraphTraceLen = n; - RepaintGraphWindow(); - return 0; + PrintAndLog("Reading %d samples\n", n); + GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 + WaitForResponse(CMD_ACK,NULL); + for (int j = 0; j < n; j++) { + GraphBuffer[cnt++] = ((int)got[j]) - 128; + } + + PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); + PrintAndLog("\n"); + GraphTraceLen = n; + RepaintGraphWindow(); + return 0; } int CmdLoad(const char *Cmd) { - FILE *f = fopen(Cmd, "r"); - if (!f) { - PrintAndLog("couldn't open '%s'", Cmd); - return 0; - } + FILE *f = fopen(Cmd, "r"); + if (!f) { + PrintAndLog("couldn't open '%s'", Cmd); + return 0; + } - GraphTraceLen = 0; - char line[80]; - while (fgets(line, sizeof (line), f)) { - GraphBuffer[GraphTraceLen] = atoi(line); - GraphTraceLen++; - } - fclose(f); - PrintAndLog("loaded %d samples", GraphTraceLen); - RepaintGraphWindow(); - return 0; + GraphTraceLen = 0; + char line[80]; + while (fgets(line, sizeof (line), f)) { + GraphBuffer[GraphTraceLen] = atoi(line); + GraphTraceLen++; + } + fclose(f); + PrintAndLog("loaded %d samples", GraphTraceLen); + RepaintGraphWindow(); + return 0; } int CmdLtrim(const char *Cmd) { - int ds = atoi(Cmd); + int ds = atoi(Cmd); - for (int i = ds; i < GraphTraceLen; ++i) - GraphBuffer[i-ds] = GraphBuffer[i]; - GraphTraceLen -= ds; + for (int i = ds; i < GraphTraceLen; ++i) + GraphBuffer[i-ds] = GraphBuffer[i]; + GraphTraceLen -= ds; - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdRtrim(const char *Cmd) { - int ds = atoi(Cmd); + int ds = atoi(Cmd); - GraphTraceLen = ds; + GraphTraceLen = ds; - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } /* @@ -1161,416 +1163,416 @@ int CmdRtrim(const char *Cmd) */ int CmdManchesterDemod(const char *Cmd) { - int i, j, invert= 0; - int bit; - int clock; - int lastval = 0; - int low = 0; - int high = 0; - int hithigh, hitlow, first; - int lc = 0; - int bitidx = 0; - int bit2idx = 0; - int warnings = 0; + int i, j, invert= 0; + int bit; + int clock; + int lastval = 0; + int low = 0; + int high = 0; + int hithigh, hitlow, first; + int lc = 0; + int bitidx = 0; + int bit2idx = 0; + int warnings = 0; - /* check if we're inverting output */ - if (*Cmd == 'i') - { - PrintAndLog("Inverting output"); - invert = 1; - ++Cmd; - do - ++Cmd; - while(*Cmd == ' '); // in case a 2nd argument was given - } + /* check if we're inverting output */ + if (*Cmd == 'i') + { + PrintAndLog("Inverting output"); + invert = 1; + ++Cmd; + do + ++Cmd; + while(*Cmd == ' '); // in case a 2nd argument was given + } - /* Holds the decoded bitstream: each clock period contains 2 bits */ - /* later simplified to 1 bit after manchester decoding. */ - /* Add 10 bits to allow for noisy / uncertain traces without aborting */ - /* int BitStream[GraphTraceLen*2/clock+10]; */ + /* Holds the decoded bitstream: each clock period contains 2 bits */ + /* later simplified to 1 bit after manchester decoding. */ + /* Add 10 bits to allow for noisy / uncertain traces without aborting */ + /* int BitStream[GraphTraceLen*2/clock+10]; */ - /* But it does not work if compiling on WIndows: therefore we just allocate a */ - /* large array */ - uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0}; + /* But it does not work if compiling on WIndows: therefore we just allocate a */ + /* large array */ + uint8_t BitStream[MAX_GRAPH_TRACE_LEN] = {0}; - /* Detect high and lows */ - for (i = 0; i < GraphTraceLen; i++) - { - if (GraphBuffer[i] > high) - high = GraphBuffer[i]; - else if (GraphBuffer[i] < low) - low = GraphBuffer[i]; - } + /* Detect high and lows */ + for (i = 0; i < GraphTraceLen; i++) + { + if (GraphBuffer[i] > high) + high = GraphBuffer[i]; + else if (GraphBuffer[i] < low) + low = GraphBuffer[i]; + } - /* Get our clock */ - clock = GetClock(Cmd, high, 1); + /* Get our clock */ + clock = GetClock(Cmd, high, 1); - int tolerance = clock/4; + int tolerance = clock/4; - /* Detect first transition */ - /* Lo-Hi (arbitrary) */ - /* skip to the first high */ - for (i= 0; i < GraphTraceLen; i++) - if (GraphBuffer[i] == high) - break; - /* now look for the first low */ - for (; i < GraphTraceLen; i++) - { - if (GraphBuffer[i] == low) - { - lastval = i; - break; - } - } + /* Detect first transition */ + /* Lo-Hi (arbitrary) */ + /* skip to the first high */ + for (i= 0; i < GraphTraceLen; i++) + if (GraphBuffer[i] == high) + break; + /* now look for the first low */ + for (; i < GraphTraceLen; i++) + { + if (GraphBuffer[i] == low) + { + lastval = i; + break; + } + } - /* If we're not working with 1/0s, demod based off clock */ - if (high != 1) - { - bit = 0; /* We assume the 1st bit is zero, it may not be - * the case: this routine (I think) has an init problem. - * Ed. - */ - for (; i < (int)(GraphTraceLen / clock); i++) - { - hithigh = 0; - hitlow = 0; - first = 1; + /* If we're not working with 1/0s, demod based off clock */ + if (high != 1) + { + bit = 0; /* We assume the 1st bit is zero, it may not be + * the case: this routine (I think) has an init problem. + * Ed. + */ + for (; i < (int)(GraphTraceLen / clock); i++) + { + hithigh = 0; + hitlow = 0; + first = 1; - /* Find out if we hit both high and low peaks */ - for (j = 0; j < clock; j++) - { - if (GraphBuffer[(i * clock) + j] == high) - hithigh = 1; - else if (GraphBuffer[(i * clock) + j] == low) - hitlow = 1; + /* Find out if we hit both high and low peaks */ + for (j = 0; j < clock; j++) + { + if (GraphBuffer[(i * clock) + j] == high) + hithigh = 1; + else if (GraphBuffer[(i * clock) + j] == low) + hitlow = 1; - /* it doesn't count if it's the first part of our read - because it's really just trailing from the last sequence */ - if (first && (hithigh || hitlow)) - hithigh = hitlow = 0; - else - first = 0; + /* it doesn't count if it's the first part of our read + because it's really just trailing from the last sequence */ + if (first && (hithigh || hitlow)) + hithigh = hitlow = 0; + else + first = 0; - if (hithigh && hitlow) - break; - } + if (hithigh && hitlow) + break; + } - /* If we didn't hit both high and low peaks, we had a bit transition */ - if (!hithigh || !hitlow) - bit ^= 1; + /* If we didn't hit both high and low peaks, we had a bit transition */ + if (!hithigh || !hitlow) + bit ^= 1; - BitStream[bit2idx++] = bit ^ invert; - } - } + BitStream[bit2idx++] = bit ^ invert; + } + } - /* standard 1/0 bitstream */ - else - { + /* standard 1/0 bitstream */ + else + { - /* Then detect duration between 2 successive transitions */ - for (bitidx = 1; i < GraphTraceLen; i++) - { - if (GraphBuffer[i-1] != GraphBuffer[i]) - { - lc = i-lastval; - lastval = i; + /* Then detect duration between 2 successive transitions */ + for (bitidx = 1; i < GraphTraceLen; i++) + { + if (GraphBuffer[i-1] != GraphBuffer[i]) + { + lc = i-lastval; + lastval = i; - // Error check: if bitidx becomes too large, we do not - // have a Manchester encoded bitstream or the clock is really - // wrong! - if (bitidx > (GraphTraceLen*2/clock+8) ) { - PrintAndLog("Error: the clock you gave is probably wrong, aborting."); - return 0; - } - // Then switch depending on lc length: - // Tolerance is 1/4 of clock rate (arbitrary) - if (abs(lc-clock/2) < tolerance) { - // Short pulse : either "1" or "0" - BitStream[bitidx++]=GraphBuffer[i-1]; - } else if (abs(lc-clock) < tolerance) { - // Long pulse: either "11" or "00" - BitStream[bitidx++]=GraphBuffer[i-1]; - BitStream[bitidx++]=GraphBuffer[i-1]; - } else { - // Error - warnings++; - PrintAndLog("Warning: Manchester decode error for pulse width detection."); - PrintAndLog("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)"); + // Error check: if bitidx becomes too large, we do not + // have a Manchester encoded bitstream or the clock is really + // wrong! + if (bitidx > (GraphTraceLen*2/clock+8) ) { + PrintAndLog("Error: the clock you gave is probably wrong, aborting."); + return 0; + } + // Then switch depending on lc length: + // Tolerance is 1/4 of clock rate (arbitrary) + if (abs(lc-clock/2) < tolerance) { + // Short pulse : either "1" or "0" + BitStream[bitidx++]=GraphBuffer[i-1]; + } else if (abs(lc-clock) < tolerance) { + // Long pulse: either "11" or "00" + BitStream[bitidx++]=GraphBuffer[i-1]; + BitStream[bitidx++]=GraphBuffer[i-1]; + } else { + // Error + warnings++; + PrintAndLog("Warning: Manchester decode error for pulse width detection."); + PrintAndLog("(too many of those messages mean either the stream is not Manchester encoded, or clock is wrong)"); - if (warnings > 10) - { - PrintAndLog("Error: too many detection errors, aborting."); - return 0; - } - } - } - } + if (warnings > 10) + { + PrintAndLog("Error: too many detection errors, aborting."); + return 0; + } + } + } + } - // At this stage, we now have a bitstream of "01" ("1") or "10" ("0"), parse it into final decoded bitstream - // Actually, we overwrite BitStream with the new decoded bitstream, we just need to be careful - // to stop output at the final bitidx2 value, not bitidx - for (i = 0; i < bitidx; i += 2) { - if ((BitStream[i] == 0) && (BitStream[i+1] == 1)) { - BitStream[bit2idx++] = 1 ^ invert; - } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) { - BitStream[bit2idx++] = 0 ^ invert; - } else { - // We cannot end up in this state, this means we are unsynchronized, - // move up 1 bit: - i++; - warnings++; - PrintAndLog("Unsynchronized, resync..."); - PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)"); + // At this stage, we now have a bitstream of "01" ("1") or "10" ("0"), parse it into final decoded bitstream + // Actually, we overwrite BitStream with the new decoded bitstream, we just need to be careful + // to stop output at the final bitidx2 value, not bitidx + for (i = 0; i < bitidx; i += 2) { + if ((BitStream[i] == 0) && (BitStream[i+1] == 1)) { + BitStream[bit2idx++] = 1 ^ invert; + } else if ((BitStream[i] == 1) && (BitStream[i+1] == 0)) { + BitStream[bit2idx++] = 0 ^ invert; + } else { + // We cannot end up in this state, this means we are unsynchronized, + // move up 1 bit: + i++; + warnings++; + PrintAndLog("Unsynchronized, resync..."); + PrintAndLog("(too many of those messages mean the stream is not Manchester encoded)"); - if (warnings > 10) - { - PrintAndLog("Error: too many decode errors, aborting."); - return 0; - } - } - } - } + if (warnings > 10) + { + PrintAndLog("Error: too many decode errors, aborting."); + return 0; + } + } + } + } - PrintAndLog("Manchester decoded bitstream"); - // Now output the bitstream to the scrollback by line of 16 bits - for (i = 0; i < (bit2idx-16); i+=16) { - PrintAndLog("%i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i", - BitStream[i], - BitStream[i+1], - BitStream[i+2], - BitStream[i+3], - BitStream[i+4], - BitStream[i+5], - BitStream[i+6], - BitStream[i+7], - BitStream[i+8], - BitStream[i+9], - BitStream[i+10], - BitStream[i+11], - BitStream[i+12], - BitStream[i+13], - BitStream[i+14], - BitStream[i+15]); - } - return 0; + PrintAndLog("Manchester decoded bitstream"); + // Now output the bitstream to the scrollback by line of 16 bits + for (i = 0; i < (bit2idx-16); i+=16) { + PrintAndLog("%i %i %i %i %i %i %i %i %i %i %i %i %i %i %i %i", + BitStream[i], + BitStream[i+1], + BitStream[i+2], + BitStream[i+3], + BitStream[i+4], + BitStream[i+5], + BitStream[i+6], + BitStream[i+7], + BitStream[i+8], + BitStream[i+9], + BitStream[i+10], + BitStream[i+11], + BitStream[i+12], + BitStream[i+13], + BitStream[i+14], + BitStream[i+15]); + } + return 0; } /* Modulate our data into manchester */ int CmdManchesterMod(const char *Cmd) { - int i, j; - int clock; - int bit, lastbit, wave; + int i, j; + int clock; + int bit, lastbit, wave; - /* Get our clock */ - clock = GetClock(Cmd, 0, 1); + /* Get our clock */ + clock = GetClock(Cmd, 0, 1); - wave = 0; - lastbit = 1; - for (i = 0; i < (int)(GraphTraceLen / clock); i++) - { - bit = GraphBuffer[i * clock] ^ 1; + wave = 0; + lastbit = 1; + for (i = 0; i < (int)(GraphTraceLen / clock); i++) + { + bit = GraphBuffer[i * clock] ^ 1; - for (j = 0; j < (int)(clock/2); j++) - GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave; - for (j = (int)(clock/2); j < clock; j++) - GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave ^ 1; + for (j = 0; j < (int)(clock/2); j++) + GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave; + for (j = (int)(clock/2); j < clock; j++) + GraphBuffer[(i * clock) + j] = bit ^ lastbit ^ wave ^ 1; - /* Keep track of how we start our wave and if we changed or not this time */ - wave ^= bit ^ lastbit; - lastbit = bit; - } + /* Keep track of how we start our wave and if we changed or not this time */ + wave ^= bit ^ lastbit; + lastbit = bit; + } - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } int CmdNorm(const char *Cmd) { - int i; - int max = INT_MIN, min = INT_MAX; + int i; + int max = INT_MIN, min = INT_MAX; - for (i = 10; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] > max) - max = GraphBuffer[i]; - if (GraphBuffer[i] < min) - min = GraphBuffer[i]; - } + for (i = 10; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] > max) + max = GraphBuffer[i]; + if (GraphBuffer[i] < min) + min = GraphBuffer[i]; + } - if (max != min) { - for (i = 0; i < GraphTraceLen; ++i) { - GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 256 / - (max - min); - //marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work - } - } - RepaintGraphWindow(); - return 0; + if (max != min) { + for (i = 0; i < GraphTraceLen; ++i) { + GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 256 / + (max - min); + //marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work + } + } + RepaintGraphWindow(); + return 0; } int CmdPlot(const char *Cmd) { - ShowGraphWindow(); - return 0; + ShowGraphWindow(); + return 0; } int CmdSave(const char *Cmd) { - FILE *f = fopen(Cmd, "w"); - if(!f) { - PrintAndLog("couldn't open '%s'", Cmd); - return 0; - } - int i; - for (i = 0; i < GraphTraceLen; i++) { - fprintf(f, "%d\n", GraphBuffer[i]); - } - fclose(f); - PrintAndLog("saved to '%s'", Cmd); - return 0; + FILE *f = fopen(Cmd, "w"); + if(!f) { + PrintAndLog("couldn't open '%s'", Cmd); + return 0; + } + int i; + for (i = 0; i < GraphTraceLen; i++) { + fprintf(f, "%d\n", GraphBuffer[i]); + } + fclose(f); + PrintAndLog("saved to '%s'", Cmd); + return 0; } int CmdScale(const char *Cmd) { - CursorScaleFactor = atoi(Cmd); - if (CursorScaleFactor == 0) { - PrintAndLog("bad, can't have zero scale"); - CursorScaleFactor = 1; - } - RepaintGraphWindow(); - return 0; + CursorScaleFactor = atoi(Cmd); + if (CursorScaleFactor == 0) { + PrintAndLog("bad, can't have zero scale"); + CursorScaleFactor = 1; + } + RepaintGraphWindow(); + return 0; } int CmdThreshold(const char *Cmd) { - int threshold = atoi(Cmd); + int threshold = atoi(Cmd); - for (int i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] >= threshold) - GraphBuffer[i] = 1; - else - GraphBuffer[i] = -1; - } - RepaintGraphWindow(); - return 0; + for (int i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] >= threshold) + GraphBuffer[i] = 1; + else + GraphBuffer[i] = -1; + } + RepaintGraphWindow(); + return 0; } int CmdDirectionalThreshold(const char *Cmd) { int8_t upThres = param_get8(Cmd, 0); int8_t downThres = param_get8(Cmd, 1); - - printf("Applying Up Threshold: %d, Down Threshold: %d\n", upThres, downThres); - - int lastValue = GraphBuffer[0]; - GraphBuffer[0] = 0; // Will be changed at the end, but init 0 as we adjust to last samples value if no threshold kicks in. - - for (int i = 1; i < GraphTraceLen; ++i) { - // Apply first threshold to samples heading up - if (GraphBuffer[i] >= upThres && GraphBuffer[i] > lastValue) - { - lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. - GraphBuffer[i] = 1; - } - // Apply second threshold to samples heading down - else if (GraphBuffer[i] <= downThres && GraphBuffer[i] < lastValue) - { - lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. - GraphBuffer[i] = -1; - } - else - { - lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. - GraphBuffer[i] = GraphBuffer[i-1]; - } - } - GraphBuffer[0] = GraphBuffer[1]; // Aline with first edited sample. - RepaintGraphWindow(); - return 0; + printf("Applying Up Threshold: %d, Down Threshold: %d\n", upThres, downThres); + + int lastValue = GraphBuffer[0]; + GraphBuffer[0] = 0; // Will be changed at the end, but init 0 as we adjust to last samples value if no threshold kicks in. + + for (int i = 1; i < GraphTraceLen; ++i) { + // Apply first threshold to samples heading up + if (GraphBuffer[i] >= upThres && GraphBuffer[i] > lastValue) + { + lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. + GraphBuffer[i] = 1; + } + // Apply second threshold to samples heading down + else if (GraphBuffer[i] <= downThres && GraphBuffer[i] < lastValue) + { + lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. + GraphBuffer[i] = -1; + } + else + { + lastValue = GraphBuffer[i]; // Buffer last value as we overwrite it. + GraphBuffer[i] = GraphBuffer[i-1]; + + } + } + GraphBuffer[0] = GraphBuffer[1]; // Aline with first edited sample. + RepaintGraphWindow(); + return 0; } int CmdZerocrossings(const char *Cmd) { - // Zero-crossings aren't meaningful unless the signal is zero-mean. - CmdHpf(""); + // Zero-crossings aren't meaningful unless the signal is zero-mean. + CmdHpf(""); - int sign = 1; - int zc = 0; - int lastZc = 0; + int sign = 1; + int zc = 0; + int lastZc = 0; - for (int i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] * sign >= 0) { - // No change in sign, reproduce the previous sample count. - zc++; - GraphBuffer[i] = lastZc; - } else { - // Change in sign, reset the sample count. - sign = -sign; - GraphBuffer[i] = lastZc; - if (sign > 0) { - lastZc = zc; - zc = 0; - } - } - } + for (int i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] * sign >= 0) { + // No change in sign, reproduce the previous sample count. + zc++; + GraphBuffer[i] = lastZc; + } else { + // Change in sign, reset the sample count. + sign = -sign; + GraphBuffer[i] = lastZc; + if (sign > 0) { + lastZc = zc; + zc = 0; + } + } + } - RepaintGraphWindow(); - return 0; + RepaintGraphWindow(); + return 0; } -static command_t CommandTable[] = +static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help"}, - {"amp", CmdAmp, 1, "Amplify peaks"}, - {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, - {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, - {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, - {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, - {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, - {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, - {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, - {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, - {"dec", CmdDec, 1, "Decimate samples"}, - {"detectclock", CmdDetectClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, - {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, - {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, - {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, - {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to binary (clock = 50)(invert = 1 or 0)(rchigh = 10)(rclow=8)"}, - {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, - {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, - {"hide", CmdHide, 1, "Hide graph window"}, - {"hpf", CmdHpf, 1, "Remove DC offset from trace"}, - {"load", CmdLoad, 1, " -- Load trace (to graph window"}, - {"ltrim", CmdLtrim, 1, " -- Trim samples from left of trace"}, - {"rtrim", CmdRtrim, 1, " -- Trim samples from right of trace"}, - {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, - {"manrawdecode", Cmdmandecoderaw, 1, "Manchester decode binary stream already in graph buffer"}, - {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, - {"norm", CmdNorm, 1, "Normalize max/min to +/-128"}, - {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, - {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, - {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, - {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional[clock will try Auto-detect])"}, - {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional[clock will try Auto-detect])"}, - {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, - {"save", CmdSave, 1, " -- Save trace (from graph window)"}, - {"scale", CmdScale, 1, " -- Set cursor display scale"}, - {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, - {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, - {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, - {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, - {NULL, NULL, 0, NULL} + {"help", CmdHelp, 1, "This help"}, + {"amp", CmdAmp, 1, "Amplify peaks"}, + {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, + {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, + {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, + {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, + {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, + {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, + {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, + {"dec", CmdDec, 1, "Decimate samples"}, + {"detectclock", CmdDetectClockRate, 1, "Detect ASK clock rate"}, + {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, + {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, + {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, + {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to binary (clock = 50)(invert = 1 or 0)(rchigh = 10)(rclow=8)"}, + {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, + {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, + {"hide", CmdHide, 1, "Hide graph window"}, + {"hpf", CmdHpf, 1, "Remove DC offset from trace"}, + {"load", CmdLoad, 1, " -- Load trace (to graph window"}, + {"ltrim", CmdLtrim, 1, " -- Trim samples from left of trace"}, + {"rtrim", CmdRtrim, 1, " -- Trim samples from right of trace"}, + {"mandemod", CmdManchesterDemod, 1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, + {"manrawdecode", Cmdmandecoderaw, 1, "Manchester decode binary stream already in graph buffer"}, + {"manmod", CmdManchesterMod, 1, "[clock rate] -- Manchester modulate a binary stream"}, + {"norm", CmdNorm, 1, "Normalize max/min to +/-128"}, + {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, + {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, + {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, + {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional[clock will try Auto-detect])"}, + {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional[clock will try Auto-detect])"}, + {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, + {"save", CmdSave, 1, " -- Save trace (from graph window)"}, + {"scale", CmdScale, 1, " -- Set cursor display scale"}, + {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, + {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, + {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, + {"zerocrossings", CmdZerocrossings, 1, "Count time between zero-crossings"}, + {NULL, NULL, 0, NULL} }; int CmdData(const char *Cmd) { - CmdsParse(CommandTable, Cmd); - return 0; + CmdsParse(CommandTable, Cmd); + return 0; } int CmdHelp(const char *Cmd) { - CmdsHelp(CommandTable); - return 0; + CmdsHelp(CommandTable); + return 0; } diff --git a/client/cmdlf.c b/client/cmdlf.c index b39868973..af24aa809 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -12,6 +12,7 @@ #include #include #include +//#include "proxusb.h" #include "proxmark3.h" #include "data.h" #include "graph.h" @@ -33,594 +34,592 @@ static int CmdHelp(const char *Cmd); /* send a command before reading */ int CmdLFCommandRead(const char *Cmd) { - static char dummy[3]; + static char dummy[3]; - dummy[0]= ' '; + dummy[0]= ' '; - UsbCommand c = {CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K}; - sscanf(Cmd, "%"lli" %"lli" %"lli" %s %s", &c.arg[0], &c.arg[1], &c.arg[2],(char*)(&c.d.asBytes),(char*)(&dummy+1)); - // in case they specified 'h' - strcpy((char *)&c.d.asBytes + strlen((char *)c.d.asBytes), dummy); - SendCommand(&c); - return 0; + UsbCommand c = {CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K}; + sscanf(Cmd, "%"lli" %"lli" %"lli" %s %s", &c.arg[0], &c.arg[1], &c.arg[2],(char*)(&c.d.asBytes),(char*)(&dummy+1)); + // in case they specified 'h' + strcpy((char *)&c.d.asBytes + strlen((char *)c.d.asBytes), dummy); + SendCommand(&c); + return 0; } int CmdFlexdemod(const char *Cmd) { - int i; - for (i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] < 0) { - GraphBuffer[i] = -1; - } else { - GraphBuffer[i] = 1; - } - } + int i; + for (i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] < 0) { + GraphBuffer[i] = -1; + } else { + GraphBuffer[i] = 1; + } + } - #define LONG_WAIT 100 - int start; - for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { - int first = GraphBuffer[start]; - for (i = start; i < start + LONG_WAIT; i++) { - if (GraphBuffer[i] != first) { - break; - } - } - if (i == (start + LONG_WAIT)) { - break; - } - } - if (start == GraphTraceLen - LONG_WAIT) { - PrintAndLog("nothing to wait for"); - return 0; - } - - GraphBuffer[start] = 2; - GraphBuffer[start+1] = -2; - uint8_t bits[64] = {0x00}; - - int bit, sum; - i = start; - for (bit = 0; bit < 64; bit++) { - sum = 0; - for (int j = 0; j < 16; j++) { - sum += GraphBuffer[i++]; - } - - bits[bit] = (sum > 0) ? 1 : 0; - - PrintAndLog("bit %d sum %d", bit, sum); - } - - for (bit = 0; bit < 64; bit++) { - int j; - int sum = 0; - for (j = 0; j < 16; j++) { - sum += GraphBuffer[i++]; - } - if (sum > 0 && bits[bit] != 1) { - PrintAndLog("oops1 at %d", bit); - } - if (sum < 0 && bits[bit] != 0) { - PrintAndLog("oops2 at %d", bit); - } - } - - // HACK writing back to graphbuffer. - GraphTraceLen = 32*64; - i = 0; - int phase = 0; - for (bit = 0; bit < 64; bit++) { - - phase = (bits[bit] == 0) ? 0 : 1; - - int j; - for (j = 0; j < 32; j++) { - GraphBuffer[i++] = phase; - phase = !phase; - } - } - - RepaintGraphWindow(); - return 0; -} - -int CmdIndalaDemod(const char *Cmd) -{ - // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID - - int state = -1; - int count = 0; - int i, j; - - // worst case with GraphTraceLen=64000 is < 4096 - // under normal conditions it's < 2048 - - uint8_t rawbits[4096]; - int rawbit = 0; - int worst = 0, worstPos = 0; - // PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32); - for (i = 0; i < GraphTraceLen-1; i += 2) { - count += 1; - if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) { - if (state == 0) { - for (j = 0; j < count - 8; j += 16) { - rawbits[rawbit++] = 0; - } - if ((abs(count - j)) > worst) { - worst = abs(count - j); - worstPos = i; - } - } - state = 1; - count = 0; - } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) { - if (state == 1) { - for (j = 0; j < count - 8; j += 16) { - rawbits[rawbit++] = 1; - } - if ((abs(count - j)) > worst) { - worst = abs(count - j); - worstPos = i; - } - } - state = 0; - count = 0; - } - } - - if (rawbit>0){ - PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); - PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); - } else { + #define LONG_WAIT 100 + int start; + for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { + int first = GraphBuffer[start]; + for (i = start; i < start + LONG_WAIT; i++) { + if (GraphBuffer[i] != first) { + break; + } + } + if (i == (start + LONG_WAIT)) { + break; + } + } + if (start == GraphTraceLen - LONG_WAIT) { + PrintAndLog("nothing to wait for"); return 0; } - // Finding the start of a UID - int uidlen, long_wait; - if (strcmp(Cmd, "224") == 0) { - uidlen = 224; - long_wait = 30; - } else { - uidlen = 64; - long_wait = 29; - } + GraphBuffer[start] = 2; + GraphBuffer[start+1] = -2; - int start; - int first = 0; - for (start = 0; start <= rawbit - uidlen; start++) { - first = rawbits[start]; - for (i = start; i < start + long_wait; i++) { - if (rawbits[i] != first) { - break; - } - } - if (i == (start + long_wait)) { - break; - } - } - - if (start == rawbit - uidlen + 1) { - PrintAndLog("nothing to wait for"); - return 0; - } + uint8_t bits[64]; - // Inverting signal if needed - if (first == 1) { - for (i = start; i < rawbit; i++) { - rawbits[i] = !rawbits[i]; - } - } + int bit; + i = start; + for (bit = 0; bit < 64; bit++) { + int j; + int sum = 0; + for (j = 0; j < 16; j++) { + sum += GraphBuffer[i++]; + } + if (sum > 0) { + bits[bit] = 1; + } else { + bits[bit] = 0; + } + PrintAndLog("bit %d sum %d", bit, sum); + } - // Dumping UID - uint8_t bits[224] = {0x00}; - char showbits[225] = {0x00}; - int bit; - i = start; - int times = 0; + for (bit = 0; bit < 64; bit++) { + int j; + int sum = 0; + for (j = 0; j < 16; j++) { + sum += GraphBuffer[i++]; + } + if (sum > 0 && bits[bit] != 1) { + PrintAndLog("oops1 at %d", bit); + } + if (sum < 0 && bits[bit] != 0) { + PrintAndLog("oops2 at %d", bit); + } + } + + GraphTraceLen = 32*64; + i = 0; + int phase = 0; + for (bit = 0; bit < 64; bit++) { + if (bits[bit] == 0) { + phase = 0; + } else { + phase = 1; + } + int j; + for (j = 0; j < 32; j++) { + GraphBuffer[i++] = phase; + phase = !phase; + } + } + + RepaintGraphWindow(); + return 0; +} - if (uidlen > rawbit) { - PrintAndLog("Warning: not enough raw bits to get a full UID"); - for (bit = 0; bit < rawbit; bit++) { - bits[bit] = rawbits[i++]; - // As we cannot know the parity, let's use "." and "/" - showbits[bit] = '.' + bits[bit]; - } - showbits[bit+1]='\0'; - PrintAndLog("Partial UID=%s", showbits); - return 0; - } else { - for (bit = 0; bit < uidlen; bit++) { - bits[bit] = rawbits[i++]; - showbits[bit] = '0' + bits[bit]; - } - times = 1; - } - - //convert UID to HEX - uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; - int idx; - uid1 = uid2 = 0; +int CmdIndalaDemod(const char *Cmd) +{ + // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID + + int state = -1; + int count = 0; + int i, j; + // worst case with GraphTraceLen=64000 is < 4096 + // under normal conditions it's < 2048 + uint8_t rawbits[4096]; + int rawbit = 0; + int worst = 0, worstPos = 0; + // PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32); + for (i = 0; i < GraphTraceLen-1; i += 2) { + count += 1; + if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) { + if (state == 0) { + for (j = 0; j < count - 8; j += 16) { + rawbits[rawbit++] = 0; + } + if ((abs(count - j)) > worst) { + worst = abs(count - j); + worstPos = i; + } + } + state = 1; + count = 0; + } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) { + if (state == 1) { + for (j = 0; j < count - 8; j += 16) { + rawbits[rawbit++] = 1; + } + if ((abs(count - j)) > worst) { + worst = abs(count - j); + worstPos = i; + } + } + state = 0; + count = 0; + } + } + if (rawbit>0){ + PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); + PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); + } else return 0; + // Finding the start of a UID + int uidlen, long_wait; + if (strcmp(Cmd, "224") == 0) { + uidlen = 224; + long_wait = 30; + } else { + uidlen = 64; + long_wait = 29; + } + int start; + int first = 0; + for (start = 0; start <= rawbit - uidlen; start++) { + first = rawbits[start]; + for (i = start; i < start + long_wait; i++) { + if (rawbits[i] != first) { + break; + } + } + if (i == (start + long_wait)) { + break; + } + } + if (start == rawbit - uidlen + 1) { + PrintAndLog("nothing to wait for"); + return 0; + } + + // Inverting signal if needed + if (first == 1) { + for (i = start; i < rawbit; i++) { + rawbits[i] = !rawbits[i]; + } + } + + // Dumping UID + uint8_t bits[224]; + char showbits[225]; + showbits[uidlen]='\0'; + int bit; + i = start; + int times = 0; + if (uidlen > rawbit) { + PrintAndLog("Warning: not enough raw bits to get a full UID"); + for (bit = 0; bit < rawbit; bit++) { + bits[bit] = rawbits[i++]; + // As we cannot know the parity, let's use "." and "/" + showbits[bit] = '.' + bits[bit]; + } + showbits[bit+1]='\0'; + PrintAndLog("Partial UID=%s", showbits); + return 0; + } else { + for (bit = 0; bit < uidlen; bit++) { + bits[bit] = rawbits[i++]; + showbits[bit] = '0' + bits[bit]; + } + times = 1; + } - if (uidlen==64){ - for( idx=0; idx<64; idx++) { - if (showbits[idx] == '0') { - uid1=(uid1<<1)|(uid2>>31); - uid2=(uid2<<1)|0; - } else { - uid1=(uid1<<1)|(uid2>>31); - uid2=(uid2<<1)|1; - } - } - PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); - } - else { - uid3 = uid4 = uid5 = uid6 = uid7 = 0; + //convert UID to HEX + uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; + int idx; + uid1=0; + uid2=0; + if (uidlen==64){ + for( idx=0; idx<64; idx++) { + if (showbits[idx] == '0') { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|0; + } else { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|1; + } + } + PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); + } + else { + uid3=0; + uid4=0; + uid5=0; + uid6=0; + uid7=0; + for( idx=0; idx<224; idx++) { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|(uid3>>31); + uid3=(uid3<<1)|(uid4>>31); + uid4=(uid4<<1)|(uid5>>31); + uid5=(uid5<<1)|(uid6>>31); + uid6=(uid6<<1)|(uid7>>31); + if (showbits[idx] == '0') uid7=(uid7<<1)|0; + else uid7=(uid7<<1)|1; + } + PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); + } - for( idx=0; idx<224; idx++) { - uid1=(uid1<<1)|(uid2>>31); - uid2=(uid2<<1)|(uid3>>31); - uid3=(uid3<<1)|(uid4>>31); - uid4=(uid4<<1)|(uid5>>31); - uid5=(uid5<<1)|(uid6>>31); - uid6=(uid6<<1)|(uid7>>31); - - if (showbits[idx] == '0') - uid7 = (uid7<<1) | 0; - else - uid7 = (uid7<<1) | 1; - } - PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); - } - - // Checking UID against next occurrences - int failed = 0; + // Checking UID against next occurrences for (; i + uidlen <= rawbit;) { - failed = 0; - for (bit = 0; bit < uidlen; bit++) { - if (bits[bit] != rawbits[i++]) { - failed = 1; - break; - } - } - if (failed == 1) { - break; - } - times += 1; - } + int failed = 0; + for (bit = 0; bit < uidlen; bit++) { + if (bits[bit] != rawbits[i++]) { + failed = 1; + break; + } + } + if (failed == 1) { + break; + } + times += 1; + } + PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); - PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); + // Remodulating for tag cloning + GraphTraceLen = 32*uidlen; + i = 0; + int phase = 0; + for (bit = 0; bit < uidlen; bit++) { + if (bits[bit] == 0) { + phase = 0; + } else { + phase = 1; + } + int j; + for (j = 0; j < 32; j++) { + GraphBuffer[i++] = phase; + phase = !phase; + } + } - // Remodulating for tag cloning - // HACK: 2015-01-04 this will have an impact on our new way of seening lf commands (demod) - // since this changes graphbuffer data. - GraphTraceLen = 32*uidlen; - i = 0; - int phase = 0; - for (bit = 0; bit < uidlen; bit++) { - if (bits[bit] == 0) { - phase = 0; - } else { - phase = 1; - } - int j; - for (j = 0; j < 32; j++) { - GraphBuffer[i++] = phase; - phase = !phase; - } - } - - RepaintGraphWindow(); - return 1; + RepaintGraphWindow(); + return 1; } int CmdIndalaClone(const char *Cmd) { - UsbCommand c; unsigned int uid1, uid2, uid3, uid4, uid5, uid6, uid7; + UsbCommand c; + uid1=0; + uid2=0; + uid3=0; + uid4=0; + uid5=0; + uid6=0; + uid7=0; + int n = 0, i = 0; - uid1 = uid2 = uid3 = uid4 = uid5 = uid6 = uid7 = 0; - int n = 0, i = 0; + if (strchr(Cmd,'l') != 0) { + while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { + uid1 = (uid1 << 4) | (uid2 >> 28); + uid2 = (uid2 << 4) | (uid3 >> 28); + uid3 = (uid3 << 4) | (uid4 >> 28); + uid4 = (uid4 << 4) | (uid5 >> 28); + uid5 = (uid5 << 4) | (uid6 >> 28); + uid6 = (uid6 << 4) | (uid7 >> 28); + uid7 = (uid7 << 4) | (n & 0xf); + } + PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7); + c.cmd = CMD_INDALA_CLONE_TAG_L; + c.d.asDwords[0] = uid1; + c.d.asDwords[1] = uid2; + c.d.asDwords[2] = uid3; + c.d.asDwords[3] = uid4; + c.d.asDwords[4] = uid5; + c.d.asDwords[5] = uid6; + c.d.asDwords[6] = uid7; + } + else + { + while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { + uid1 = (uid1 << 4) | (uid2 >> 28); + uid2 = (uid2 << 4) | (n & 0xf); + } + PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2); + c.cmd = CMD_INDALA_CLONE_TAG; + c.arg[0] = uid1; + c.arg[1] = uid2; + } - if (strchr(Cmd,'l') != 0) { - while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { - uid1 = (uid1 << 4) | (uid2 >> 28); - uid2 = (uid2 << 4) | (uid3 >> 28); - uid3 = (uid3 << 4) | (uid4 >> 28); - uid4 = (uid4 << 4) | (uid5 >> 28); - uid5 = (uid5 << 4) | (uid6 >> 28); - uid6 = (uid6 << 4) | (uid7 >> 28); - uid7 = (uid7 << 4) | (n & 0xf); - } - PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7); - c.cmd = CMD_INDALA_CLONE_TAG_L; - c.d.asDwords[0] = uid1; - c.d.asDwords[1] = uid2; - c.d.asDwords[2] = uid3; - c.d.asDwords[3] = uid4; - c.d.asDwords[4] = uid5; - c.d.asDwords[5] = uid6; - c.d.asDwords[6] = uid7; - } else { - while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { - uid1 = (uid1 << 4) | (uid2 >> 28); - uid2 = (uid2 << 4) | (n & 0xf); - } - PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2); - c.cmd = CMD_INDALA_CLONE_TAG; - c.arg[0] = uid1; - c.arg[1] = uid2; - } - - SendCommand(&c); - return 0; + SendCommand(&c); + return 0; } int CmdLFRead(const char *Cmd) { - UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K}; - - // 'h' means higher-low-frequency, 134 kHz - if(*Cmd == 'h') { - c.arg[0] = 1; - } else if (*Cmd == '\0') { - c.arg[0] = 0; - } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) { - PrintAndLog("Samples 1: 'lf read'"); - PrintAndLog(" 2: 'lf read h'"); - PrintAndLog(" 3: 'lf read '"); - return 0; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - return 0; + UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K}; + // 'h' means higher-low-frequency, 134 kHz + if(*Cmd == 'h') { + c.arg[0] = 1; + } else if (*Cmd == '\0') { + c.arg[0] = 0; + } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) { + PrintAndLog("use 'read' or 'read h', or 'read '"); + return 0; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + return 0; } static void ChkBitstream(const char *str) { - int i; + int i; - /* convert to bitstream if necessary */ - for (i = 0; i < (int)(GraphTraceLen / 2); i++) - { - if (GraphBuffer[i] > 1 || GraphBuffer[i] < 0) - { - CmdBitstream(str); - break; - } - } + /* convert to bitstream if necessary */ + for (i = 0; i < (int)(GraphTraceLen / 2); i++) + { + if (GraphBuffer[i] > 1 || GraphBuffer[i] < 0) + { + CmdBitstream(str); + break; + } + } } int CmdLFSim(const char *Cmd) { - int i; - static int gap; + int i; + static int gap; - sscanf(Cmd, "%i", &gap); + sscanf(Cmd, "%i", &gap); - /* convert to bitstream if necessary */ - ChkBitstream(Cmd); + /* convert to bitstream if necessary */ + ChkBitstream(Cmd); - PrintAndLog("Sending data, please wait..."); - for (i = 0; i < GraphTraceLen; i += 48) { - UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}}; - int j; - for (j = 0; j < 48; j++) { - c.d.asBytes[j] = GraphBuffer[i+j]; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - } + PrintAndLog("Sending data, please wait..."); + for (i = 0; i < GraphTraceLen; i += 48) { + UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}}; + int j; + for (j = 0; j < 48; j++) { + c.d.asBytes[j] = GraphBuffer[i+j]; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + } - PrintAndLog("Starting simulator..."); - UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}}; - SendCommand(&c); - return 0; + PrintAndLog("Starting simulator..."); + UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}}; + SendCommand(&c); + return 0; } int CmdLFSimBidir(const char *Cmd) { - // Set ADC to twice the carrier for a slight supersampling - // HACK: not implemented in ARMSRC. - PrintAndLog("Not implemented yet."); - UsbCommand c = {CMD_LF_SIMULATE_BIDIR, {47, 384, 0}}; - SendCommand(&c); - return 0; + /* Set ADC to twice the carrier for a slight supersampling */ + UsbCommand c = {CMD_LF_SIMULATE_BIDIR, {47, 384, 0}}; + SendCommand(&c); + return 0; } /* simulate an LF Manchester encoded tag with specified bitstream, clock rate and inter-id gap */ int CmdLFSimManchester(const char *Cmd) { - static int clock, gap; - static char data[1024], gapstring[8]; + static int clock, gap; + static char data[1024], gapstring[8]; - sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap); + /* get settings/bits */ + sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap); - ClearGraph(0); + /* clear our graph */ + ClearGraph(0); - for (int i = 0; i < strlen(data) ; ++i) - AppendGraph(0, clock, data[i]- '0'); + /* fill it with our bitstream */ + for (int i = 0; i < strlen(data) ; ++i) + AppendGraph(0, clock, data[i]- '0'); - CmdManchesterMod(""); + /* modulate */ + CmdManchesterMod(""); - RepaintGraphWindow(); + /* show what we've done */ + RepaintGraphWindow(); - sprintf(&gapstring[0], "%i", gap); - CmdLFSim(gapstring); - return 0; + /* simulate */ + sprintf(&gapstring[0], "%i", gap); + CmdLFSim(gapstring); + return 0; } int CmdLFSnoop(const char *Cmd) { - UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; - - // 'h' means higher-low-frequency, 134 kHz - c.arg[0] = 0; - c.arg[1] = -1; - - if (*Cmd == 'l') { - sscanf(Cmd, "l %"lli, &c.arg[1]); - } else if(*Cmd == 'h') { - c.arg[0] = 1; - sscanf(Cmd, "h %"lli, &c.arg[1]); - } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { - PrintAndLog("usage 1: snoop"); - PrintAndLog(" 2: snoop {l,h} [trigger threshold]"); - PrintAndLog(" 3: snoop [trigger threshold]"); - return 0; - } - - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - return 0; + UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; + // 'h' means higher-low-frequency, 134 kHz + c.arg[0] = 0; + c.arg[1] = -1; + if (*Cmd == 0) { + // empty + } else if (*Cmd == 'l') { + sscanf(Cmd, "l %"lli, &c.arg[1]); + } else if(*Cmd == 'h') { + c.arg[0] = 1; + sscanf(Cmd, "h %"lli, &c.arg[1]); + } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { + PrintAndLog("use 'snoop' or 'snoop {l,h} [trigger threshold]', or 'snoop [trigger threshold]'"); + return 0; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + return 0; } int CmdVchDemod(const char *Cmd) { - // Is this the entire sync pattern, or does this also include some - // data bits that happen to be the same everywhere? That would be - // lovely to know. - static const int SyncPattern[] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - }; + // Is this the entire sync pattern, or does this also include some + // data bits that happen to be the same everywhere? That would be + // lovely to know. + static const int SyncPattern[] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + }; - // So first, we correlate for the sync pattern, and mark that. - int bestCorrel = 0, bestPos = 0; - int i; - // It does us no good to find the sync pattern, with fewer than - // 2048 samples after it... - for (i = 0; i < (GraphTraceLen-2048); i++) { - int sum = 0; - int j; - for (j = 0; j < arraylen(SyncPattern); j++) { - sum += GraphBuffer[i+j]*SyncPattern[j]; - } - if (sum > bestCorrel) { - bestCorrel = sum; - bestPos = i; - } - } - PrintAndLog("best sync at %d [metric %d]", bestPos, bestCorrel); + // So first, we correlate for the sync pattern, and mark that. + int bestCorrel = 0, bestPos = 0; + int i; + // It does us no good to find the sync pattern, with fewer than + // 2048 samples after it... + for (i = 0; i < (GraphTraceLen-2048); i++) { + int sum = 0; + int j; + for (j = 0; j < arraylen(SyncPattern); j++) { + sum += GraphBuffer[i+j]*SyncPattern[j]; + } + if (sum > bestCorrel) { + bestCorrel = sum; + bestPos = i; + } + } + PrintAndLog("best sync at %d [metric %d]", bestPos, bestCorrel); - char bits[257]; - bits[256] = '\0'; + char bits[257]; + bits[256] = '\0'; - int worst = INT_MAX; - int worstPos = 0; + int worst = INT_MAX; + int worstPos = 0; - for (i = 0; i < 2048; i += 8) { - int sum = 0; - int j; - for (j = 0; j < 8; j++) { - sum += GraphBuffer[bestPos+i+j]; - } - if (sum < 0) { - bits[i/8] = '.'; - } else { - bits[i/8] = '1'; - } - if(abs(sum) < worst) { - worst = abs(sum); - worstPos = i; - } - } - PrintAndLog("bits:"); - PrintAndLog("%s", bits); - PrintAndLog("worst metric: %d at pos %d", worst, worstPos); + for (i = 0; i < 2048; i += 8) { + int sum = 0; + int j; + for (j = 0; j < 8; j++) { + sum += GraphBuffer[bestPos+i+j]; + } + if (sum < 0) { + bits[i/8] = '.'; + } else { + bits[i/8] = '1'; + } + if(abs(sum) < worst) { + worst = abs(sum); + worstPos = i; + } + } + PrintAndLog("bits:"); + PrintAndLog("%s", bits); + PrintAndLog("worst metric: %d at pos %d", worst, worstPos); - if (strcmp(Cmd, "clone")==0) { - GraphTraceLen = 0; - char *s; - for(s = bits; *s; s++) { - int j; - for(j = 0; j < 16; j++) { - GraphBuffer[GraphTraceLen++] = (*s == '1') ? 1 : 0; - } - } - RepaintGraphWindow(); - } - return 0; + if (strcmp(Cmd, "clone")==0) { + GraphTraceLen = 0; + char *s; + for(s = bits; *s; s++) { + int j; + for(j = 0; j < 16; j++) { + GraphBuffer[GraphTraceLen++] = (*s == '1') ? 1 : 0; + } + } + RepaintGraphWindow(); + } + return 0; } //by marshmellow int CmdLFfind(const char *Cmd) { - int ans=0; - if (!offline){ - ans=CmdLFRead(""); - ans=CmdSamples("20000"); - } - if (GraphTraceLen<1000) return 0; - PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); - PrintAndLog("Checking for known tags:"); + int ans=0; + if (!offline){ + ans=CmdLFRead(""); + ans=CmdSamples("20000"); + } + if (GraphTraceLen<1000) return 0; + PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); + PrintAndLog("Checking for known tags:"); - ans=Cmdaskmandemod(""); - if (ans>0) { - PrintAndLog("Valid EM410x ID Found!"); - return 1; - } - ans=CmdFSKdemodHID(""); - if (ans>0) { - PrintAndLog("Valid HID Prox ID Found!"); - return 1; - } - ans=CmdFSKdemodIO(""); - if (ans>0) { - PrintAndLog("Valid IO Prox ID Found!"); - return 1; - } - //add psk and indala - ans=CmdIndalaDecode(""); - if (ans>0) { - PrintAndLog("Valid Indala ID Found!"); - return 1; - } + ans=Cmdaskmandemod(""); + if (ans>0) { + PrintAndLog("Valid EM410x ID Found!"); + return 1; + } + ans=CmdFSKdemodHID(""); + if (ans>0) { + PrintAndLog("Valid HID Prox ID Found!"); + return 1; + } + ans=CmdFSKdemodIO(""); + if (ans>0) { + PrintAndLog("Valid IO Prox ID Found!"); + return 1; + } + //add psk and indala + ans=CmdIndalaDecode(""); + if (ans>0) { + PrintAndLog("Valid Indala ID Found!"); + return 1; + } // ans=CmdIndalaDemod("224"); // if (ans>0) return 1; - PrintAndLog("No Known Tags Found!\n"); - return 0; + PrintAndLog("No Known Tags Found!\n"); + return 0; } static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help"}, - {"cmdread", CmdLFCommandRead, 0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)"}, - {"em4x", CmdLFEM4X, 1, "{ EM4X RFIDs... }"}, - {"flexdemod", CmdFlexdemod, 1, "Demodulate samples for FlexPass"}, - {"hid", CmdLFHID, 1, "{ HID RFIDs... }"}, - {"io", CmdLFIO, 1, "{ ioProx tags... }"}, - {"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, - {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, - {"read", CmdLFRead, 0, "['h' or ] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"}, - {"search", CmdLFfind, 1, "Read and Search for valid known tag (in offline mode it you can load first then search)"}, - {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, - {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, - {"simman", CmdLFSimManchester, 0, " [GAP] Simulate arbitrary Manchester LF tag"}, - {"snoop", CmdLFSnoop, 0, "['l'|'h'|] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"}, - {"ti", CmdLFTI, 1, "{ TI RFIDs... }"}, - {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders... }"}, - {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"}, - {"t55xx", CmdLFT55XX, 1, "{ T55xx RFIDs... }"}, - {"pcf7931", CmdLFPCF7931, 1, "{PCF7931 RFIDs...}"}, - {NULL, NULL, 0, NULL} + {"help", CmdHelp, 1, "This help"}, + {"cmdread", CmdLFCommandRead, 0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)"}, + {"em4x", CmdLFEM4X, 1, "{ EM4X RFIDs... }"}, + {"flexdemod", CmdFlexdemod, 1, "Demodulate samples for FlexPass"}, + {"hid", CmdLFHID, 1, "{ HID RFIDs... }"}, + {"io", CmdLFIO, 1, "{ ioProx tags... }"}, + {"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, + {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, + {"read", CmdLFRead, 0, "['h' or ] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"}, + {"search", CmdLFfind, 1, "Read and Search for valid known tag (in offline mode it you can load first then search)"}, + {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, + {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, + {"simman", CmdLFSimManchester, 0, " [GAP] Simulate arbitrary Manchester LF tag"}, + {"snoop", CmdLFSnoop, 0, "['l'|'h'|] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"}, + {"ti", CmdLFTI, 1, "{ TI RFIDs... }"}, + {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders... }"}, + {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"}, + {"t55xx", CmdLFT55XX, 1, "{ T55xx RFIDs... }"}, + {"pcf7931", CmdLFPCF7931, 1, "{PCF7931 RFIDs...}"}, + {NULL, NULL, 0, NULL} }; int CmdLF(const char *Cmd) { - CmdsParse(CommandTable, Cmd); - return 0; + CmdsParse(CommandTable, Cmd); + return 0; } int CmdHelp(const char *Cmd) { - CmdsHelp(CommandTable); - return 0; + CmdsHelp(CommandTable); + return 0; } diff --git a/client/graph.c b/client/graph.c index d63c42714..f41568e4f 100644 --- a/client/graph.c +++ b/client/graph.c @@ -20,61 +20,61 @@ int GraphTraceLen; /* write a bit to the graph */ void AppendGraph(int redraw, int clock, int bit) { - int i; + int i; - for (i = 0; i < (int)(clock / 2); ++i) - GraphBuffer[GraphTraceLen++] = bit ^ 1; - - for (i = (int)(clock / 2); i < clock; ++i) - GraphBuffer[GraphTraceLen++] = bit; + for (i = 0; i < (int)(clock / 2); ++i) + GraphBuffer[GraphTraceLen++] = bit ^ 1; - if (redraw) - RepaintGraphWindow(); + for (i = (int)(clock / 2); i < clock; ++i) + GraphBuffer[GraphTraceLen++] = bit; + + if (redraw) + RepaintGraphWindow(); } /* clear out our graph window */ int ClearGraph(int redraw) { - int gtl = GraphTraceLen; - GraphTraceLen = 0; + int gtl = GraphTraceLen; + GraphTraceLen = 0; - if (redraw) - RepaintGraphWindow(); + if (redraw) + RepaintGraphWindow(); - return gtl; + return gtl; } /* * Detect clock rate */ - //decommissioned - has difficulty detecting rf/32 + //decommissioned - has difficulty detecting rf/32 /* int DetectClockOld(int peak) { - int i; - int clock = 0xFFFF; - int lastpeak = 0; + int i; + int clock = 0xFFFF; + int lastpeak = 0; - // Detect peak if we don't have one - if (!peak) - for (i = 0; i < GraphTraceLen; ++i) - if (GraphBuffer[i] > peak) - peak = GraphBuffer[i]; + // Detect peak if we don't have one + if (!peak) + for (i = 0; i < GraphTraceLen; ++i) + if (GraphBuffer[i] > peak) + peak = GraphBuffer[i]; // peak=(int)(peak*.75); - for (i = 1; i < GraphTraceLen; ++i) - { - // If this is the beginning of a peak - if (GraphBuffer[i - 1] != GraphBuffer[i] && GraphBuffer[i] >= peak) - { - // Find lowest difference between peaks - if (lastpeak && i - lastpeak < clock) - clock = i - lastpeak; - lastpeak = i; - } - } + for (i = 1; i < GraphTraceLen; ++i) + { + // If this is the beginning of a peak + if (GraphBuffer[i - 1] != GraphBuffer[i] && GraphBuffer[i] >= peak) + { + // Find lowest difference between peaks + if (lastpeak && i - lastpeak < clock) + clock = i - lastpeak; + lastpeak = i; + } + } - return clock; + return clock; } */ /* @@ -85,155 +85,155 @@ NOW IN LFDEMOD.C // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(int peak) { - int i=0; - int low=0; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 256; - if (GraphTraceLenpeak){ - peak = GraphBuffer[i]; - } - if(GraphBuffer[i]=peak) || (GraphBuffer[ii]<=low)){ - errCnt[clkCnt]=0; - for (i=0; i<((int)(GraphTraceLen/clk[clkCnt])-1); ++i){ - if (GraphBuffer[ii+(i*clk[clkCnt])]>=peak || GraphBuffer[ii+(i*clk[clkCnt])]<=low){ - }else if(GraphBuffer[ii+(i*clk[clkCnt])-tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(GraphBuffer[ii+(i*clk[clkCnt])+tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt[clkCnt]++; - } - } - if(errCnt[clkCnt]==0) return clk[clkCnt]; - if(errCnt[clkCnt]peak){ + peak = GraphBuffer[i]; + } + if(GraphBuffer[i]=peak) || (GraphBuffer[ii]<=low)){ + errCnt[clkCnt]=0; + for (i=0; i<((int)(GraphTraceLen/clk[clkCnt])-1); ++i){ + if (GraphBuffer[ii+(i*clk[clkCnt])]>=peak || GraphBuffer[ii+(i*clk[clkCnt])]<=low){ + }else if(GraphBuffer[ii+(i*clk[clkCnt])-tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(GraphBuffer[ii+(i*clk[clkCnt])+tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt[clkCnt]++; + } + } + if(errCnt[clkCnt]==0) return clk[clkCnt]; + if(errCnt[clkCnt]127) GraphBuffer[i]=127; //trim - if (GraphBuffer[i]<-127) GraphBuffer[i]=-127; //trim - buff[i]=(uint8_t)(GraphBuffer[i]+128); - } - return i; + uint32_t i; + for (i=0;i127) GraphBuffer[i]=127; //trim + if (GraphBuffer[i]<-127) GraphBuffer[i]=-127; //trim + buff[i]=(uint8_t)(GraphBuffer[i]+128); + } + return i; } /* Get or auto-detect clock rate */ int GetClock(const char *str, int peak, int verbose) { - int clock; + int clock; // int clock2; - sscanf(str, "%i", &clock); - if (!strcmp(str, "")) - clock = 0; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; - /* Auto-detect clock */ - if (!clock) - { - uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; - int size = getFromGraphBuf(grph); - clock = DetectASKClock(grph,size,0); - //clock2 = DetectClock2(peak); - /* Only print this message if we're not looping something */ - if (!verbose){ - PrintAndLog("Auto-detected clock rate: %d", clock); - //PrintAndLog("clock2: %d",clock2); - } - } + /* Auto-detect clock */ + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(grph); + clock = DetectASKClock(grph,size,0); + //clock2 = DetectClock2(peak); + /* Only print this message if we're not looping something */ + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } - return clock; + return clock; } int GetNRZpskClock(const char *str, int peak, int verbose) { // return GetClock(str,peak,verbose); - int clock; - // int clock2; - sscanf(str, "%i", &clock); - if (!strcmp(str, "")) - clock = 0; + int clock; + // int clock2; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; - /* Auto-detect clock */ - if (!clock) - { - uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; - int size = getFromGraphBuf(grph); - clock = DetectpskNRZClock(grph,size,0); - //clock2 = DetectClock2(peak); - /* Only print this message if we're not looping something */ - if (!verbose){ - PrintAndLog("Auto-detected clock rate: %d", clock); - //PrintAndLog("clock2: %d",clock2); - } - } - return clock; + /* Auto-detect clock */ + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(grph); + clock = DetectpskNRZClock(grph,size,0); + //clock2 = DetectClock2(peak); + /* Only print this message if we're not looping something */ + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } + return clock; } -// Get or auto-detect clock rate +// Get or auto-detect clock rate /* int GetNRZpskClock(const char *str, int peak, int verbose) { - int clock; + int clock; // int clock2; - sscanf(str, "%i", &clock); - if (!strcmp(str, "")) - clock = 0; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; - // Auto-detect clock - if (!clock) - { - uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; - int size = getFromGraphBuf(grph); - clock = DetectASKClock(grph,size,0); - //clock2 = DetectClock2(peak); - // Only print this message if we're not looping something - if (!verbose){ - PrintAndLog("Auto-detected clock rate: %d", clock); - //PrintAndLog("clock2: %d",clock2); - } - } - return clock; + // Auto-detect clock + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + int size = getFromGraphBuf(grph); + clock = DetectASKClock(grph,size,0); + //clock2 = DetectClock2(peak); + // Only print this message if we're not looping something + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + //PrintAndLog("clock2: %d",clock2); + } + } + return clock; } -*/ \ No newline at end of file +*/ diff --git a/client/graph.h b/client/graph.h index c5c137986..1abeeb25a 100644 --- a/client/graph.h +++ b/client/graph.h @@ -15,10 +15,10 @@ void AppendGraph(int redraw, int clock, int bit); int ClearGraph(int redraw); //int DetectClock(int peak); -int getFromGraphBuf(uint8_t *buff); +size_t getFromGraphBuf(uint8_t *buff); int GetClock(const char *str, int peak, int verbose); int GetNRZpskClock(const char *str, int peak, int verbose); -void setGraphBuf(uint8_t *buff,int size); +void setGraphBuf(uint8_t *buff, size_t size); #define MAX_GRAPH_TRACE_LEN (1024*128) extern int GraphBuffer[MAX_GRAPH_TRACE_LEN]; diff --git a/common/lfdemod.c b/common/lfdemod.c index 79c99f733..11ba131b0 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -1,5 +1,5 @@ //----------------------------------------------------------------------------- -// Copyright (C) 2014 +// Copyright (C) 2014 // // This code is licensed to you under the terms of the GNU GPL, version 2 or, // at your option, any later version. See the LICENSE.txt file for the text of @@ -14,620 +14,618 @@ //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID -uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen) +uint64_t Em410xDecode(uint8_t *BitStream, size_t size) { - //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future - // otherwise could be a void with no arguments - //set defaults - int high=0, low=128; - uint64_t lo=0; //hi=0, + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + int high=0, low=128; + uint64_t lo=0; //hi=0, - uint32_t i = 0; - uint32_t initLoopMax = 65; - if (initLoopMax>BitLen) initLoopMax=BitLen; + uint32_t i = 0; + uint32_t initLoopMax = 65; + if (initLoopMax>size) initLoopMax=size; - for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values - { - if (BitStream[i] > high) - high = BitStream[i]; - else if (BitStream[i] < low) - low = BitStream[i]; - } - if (((high !=1)||(low !=0))){ //allow only 1s and 0s - // PrintAndLog("no data found"); - return 0; - } - uint8_t parityTest=0; - // 111111111 bit pattern represent start of frame - uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; - uint32_t idx = 0; - uint32_t ii=0; - uint8_t resetCnt = 0; - while( (idx + 64) < BitLen) { -restart: - // search for a start of frame marker - if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=9;//sizeof(frame_marker_mask); - for (i=0; i<10;i++){ - for(ii=0; ii<5; ++ii){ - parityTest += BitStream[(i*5)+ii+idx]; - } - if (parityTest== ((parityTest>>1)<<1)){ - parityTest=0; - for (ii=0; ii<4;++ii){ - //hi = (hi<<1)|(lo>>31); - lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); - } - //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); - }else {//parity failed - //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); - parityTest=0; - idx-=8; - if (resetCnt>5)return 0; - resetCnt++; - goto restart;//continue; - } - } - //skip last 5 bit parity test for simplicity. - return lo; - }else{ - idx++; - } - } - return 0; + for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values + { + if (BitStream[i] > high) + high = BitStream[i]; + else if (BitStream[i] < low) + low = BitStream[i]; + } + if (((high !=1)||(low !=0))){ //allow only 1s and 0s + // PrintAndLog("no data found"); + return 0; + } + uint8_t parityTest=0; + // 111111111 bit pattern represent start of frame + uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t ii=0; + uint8_t resetCnt = 0; + while( (idx + 64) < size) { + restart: + // search for a start of frame marker + if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=9;//sizeof(frame_marker_mask); + for (i=0; i<10;i++){ + for(ii=0; ii<5; ++ii){ + parityTest += BitStream[(i*5)+ii+idx]; + } + if (parityTest== ((parityTest>>1)<<1)){ + parityTest=0; + for (ii=0; ii<4;++ii){ + //hi = (hi<<1)|(lo>>31); + lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); + } + //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); + }else {//parity failed + //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); + parityTest=0; + idx-=8; + if (resetCnt>5)return 0; + resetCnt++; + goto restart;//continue; + } + } + //skip last 5 bit parity test for simplicity. + return lo; + }else{ + idx++; + } + } + return 0; } //by marshmellow //takes 2 arguments - clock and invert both as integers -//attempts to demodulate ask while decoding manchester +//attempts to demodulate ask while decoding manchester //prints binary found and saves in graphbuffer for further commands -int askmandemod(uint8_t * BinStream,uint32_t *BitLen,int *clk, int *invert) +int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { - int i; - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,(size_t)*BitLen,*clk); //clock default + int i; + int high = 0, low = 128; + *clk=DetectASKClock(BinStream, *size, *clk); //clock default - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert=0; - uint32_t initLoopMax = 200; - if (initLoopMax>*BitLen) initLoopMax=*BitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158) ){ //throw away static - //PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + if (*clk<8) *clk =64; + if (*clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert=0; + uint32_t initLoopMax = 200; + if (initLoopMax > *size) initLoopMax=*size; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 158) ){ //throw away static + //PrintAndLog("no data found"); + return -2; + } + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - int iii = 0; - uint32_t gLen = *BitLen; - if (gLen > 3000) gLen=3000; - uint8_t errCnt =0; - uint32_t bestStart = *BitLen; - uint32_t bestErrCnt = (*BitLen/1000); - uint32_t maxErr = (*BitLen/1000); - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - errCnt=0; - //loop through to see if this start location works - for (i = iii; i < *BitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + int iii = 0; + uint32_t gLen = *size; + if (gLen > 3000) gLen=3000; + uint8_t errCnt =0; + uint32_t bestStart = *size; + uint32_t bestErrCnt = (*size/1000); + uint32_t maxErr = (*size/1000); + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii] >= high) || (BinStream[iii] <= low)){ + lastBit=iii-*clk; + errCnt=0; + //loop through to see if this start location works + for (i = iii; i < *size; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit) > (*clk-tol))){ + lastBit+=*clk; + } else if ((BinStream[i] <= low) && ((i-lastBit) > (*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over - } - } - if ((i-iii) >(400 * *clk)) break; //got plenty of bits - } - //we got more than 64 good bits and not all errors - if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BinStream[bitnum] = *invert; - bitnum++; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BinStream[bitnum] = 1-*invert; - bitnum++; - } else { - //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt>(maxErr)) break; //allow 1 error for every 1000 samples else start over + } + } + if ((i-iii) >(400 * *clk)) break; //got plenty of bits + } + //we got more than 64 good bits and not all errors + if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt= high) && ((i-lastBit) > (*clk-tol))){ + lastBit += *clk; + BinStream[bitnum] = *invert; + bitnum++; + } else if ((BinStream[i] <= low) && ((i-lastBit) > (*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BinStream[bitnum] = 1-*invert; + bitnum++; + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BinStream[bitnum]=77; - bitnum++; - } + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BinStream[bitnum]=77; + bitnum++; + } - lastBit+=*clk;//skip over error - } - } - if (bitnum >=400) break; - } - *BitLen=bitnum; - } else{ - *invert=bestStart; - *clk=iii; - return -1; - } - return bestErrCnt; + lastBit+=*clk;//skip over error + } + } + if (bitnum >=400) break; + } + *size=bitnum; + } else{ + *invert=bestStart; + *clk=iii; + return -1; + } + return bestErrCnt; } //by marshmellow //take 10 and 01 and manchester decode //run through 2 times and take least errCnt -int manrawdecode(uint8_t * BitStream, int *bitLen) +int manrawdecode(uint8_t * BitStream, size_t *size) { - int bitnum=0; - int errCnt =0; - int i=1; - int bestErr = 1000; - int bestRun = 0; - int ii=1; - for (ii=1;ii<3;++ii){ - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - } else { - errCnt++; - } - if(bitnum>300) break; - } - if (bestErr>errCnt){ - bestErr=errCnt; - bestRun=ii; - } - errCnt=0; - } - errCnt=bestErr; - if (errCnt<20){ - ii=bestRun; - i=1; - for (i=i+ii;i<*bitLen-2;i+=2){ - if(BitStream[i]==1 && (BitStream[i+1]==0)){ - BitStream[bitnum++]=0; - } else if((BitStream[i]==0)&& BitStream[i+1]==1){ - BitStream[bitnum++]=1; - } else { - BitStream[bitnum++]=77; - //errCnt++; - } - if(bitnum>300) break; - } - *bitLen=bitnum; - } - return errCnt; + int bitnum=0; + int errCnt =0; + int i=1; + int bestErr = 1000; + int bestRun = 0; + int ii=1; + for (ii=1;ii<3;++ii){ + i=1; + for (i=i+ii;i<*size-2;i+=2){ + if(BitStream[i]==1 && (BitStream[i+1]==0)){ + } else if((BitStream[i]==0)&& BitStream[i+1]==1){ + } else { + errCnt++; + } + if(bitnum>300) break; + } + if (bestErr>errCnt){ + bestErr=errCnt; + bestRun=ii; + } + errCnt=0; + } + errCnt=bestErr; + if (errCnt<20){ + ii=bestRun; + i=1; + for (i=i+ii;i < *size-2;i+=2){ + if(BitStream[i] == 1 && (BitStream[i+1] == 0)){ + BitStream[bitnum++]=0; + } else if((BitStream[i] == 0) && BitStream[i+1] == 1){ + BitStream[bitnum++]=1; + } else { + BitStream[bitnum++]=77; + //errCnt++; + } + if(bitnum>300) break; + } + *size=bitnum; + } + return errCnt; } //by marshmellow //take 01 or 10 = 0 and 11 or 00 = 1 -int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset) +int BiphaseRawDecode(uint8_t *BitStream, size_t *size, int offset) { - uint8_t bitnum=0; - uint32_t errCnt =0; - uint32_t i=1; - i=offset; - for (;i<*bitLen-2;i+=2){ - if((BitStream[i]==1 && BitStream[i+1]==0)||(BitStream[i]==0 && BitStream[i+1]==1)){ - BitStream[bitnum++]=1; - } else if((BitStream[i]==0 && BitStream[i+1]==0)||(BitStream[i]==1 && BitStream[i+1]==1)){ - BitStream[bitnum++]=0; - } else { - BitStream[bitnum++]=77; - errCnt++; - } - if(bitnum>250) break; - } - *bitLen=bitnum; - return errCnt; + uint8_t bitnum=0; + uint32_t errCnt =0; + uint32_t i=1; + i=offset; + for (;i<*size-2;i+=2){ + if((BitStream[i]==1 && BitStream[i+1]==0) || (BitStream[i]==0 && BitStream[i+1]==1)){ + BitStream[bitnum++]=1; + } else if((BitStream[i]==0 && BitStream[i+1]==0) || (BitStream[i]==1 && BitStream[i+1]==1)){ + BitStream[bitnum++]=0; + } else { + BitStream[bitnum++]=77; + errCnt++; + } + if(bitnum>250) break; + } + *size=bitnum; + return errCnt; } //by marshmellow //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask only //prints binary found and saves in graphbuffer for further commands -int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert) +int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { - uint32_t i; - // int invert=0; //invert default - int high = 0, low = 128; - *clk=DetectASKClock(BinStream,*bitLen,*clk); //clock default - uint8_t BitStream[502] = {0}; + uint32_t i; + // int invert=0; //invert default + int high = 0, low = 128; + *clk=DetectASKClock(BinStream, *size, *clk); //clock default + uint8_t BitStream[502] = {0}; - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; - if (*invert != 0 && *invert != 1) *invert =0; - uint32_t initLoopMax = 200; - if (initLoopMax>*bitLen) initLoopMax=*bitLen; - // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 158)){ //throw away static - // PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + if (*clk<8) *clk =64; + if (*clk<32) *clk=32; + if (*invert != 0 && *invert != 1) *invert =0; + uint32_t initLoopMax = 200; + if (initLoopMax>*size) initLoopMax=*size; + // Detect high and lows + for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values + { + if (BinStream[i] > high) + high = BinStream[i]; + else if (BinStream[i] < low) + low = BinStream[i]; + } + if ((high < 158)){ //throw away static + // PrintAndLog("no data found"); + return -2; + } + //25% fuzz in case highs and lows aren't clipped [marshmellow] + high=(int)((high-128)*.75)+128; + low= (int)((low-128)*.75)+128; - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); - int lastBit = 0; //set first clock check - uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely - uint32_t iii = 0; - uint32_t gLen = *bitLen; - if (gLen > 500) gLen=500; - uint8_t errCnt =0; - uint32_t bestStart = *bitLen; - uint32_t bestErrCnt = (*bitLen/1000); - uint8_t midBit=0; - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works - for (iii=0; iii < gLen; ++iii){ - if ((BinStream[iii]>=high)||(BinStream[iii]<=low)){ - lastBit=iii-*clk; - //loop through to see if this start location works - for (i = iii; i < *bitLen; ++i) { - if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ - lastBit+=*clk; - BitStream[bitnum] = *invert; - bitnum++; - midBit=0; - } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ - //low found and we are expecting a bar - lastBit+=*clk; - BitStream[bitnum] = 1-*invert; - bitnum++; - midBit=0; - } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= 1-*invert; - bitnum++; - } else if ((BinStream[i]>=high)&&(midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ - //mid bar? - midBit=1; - BitStream[bitnum]= *invert; - bitnum++; - } else if ((i-lastBit)>((*clk/2)+tol)&&(midBit==0)){ - //no mid bar found - midBit=1; - BitStream[bitnum]= BitStream[bitnum-1]; - bitnum++; - } else { - //mid value found or no bar supposed to be here + //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + int lastBit = 0; //set first clock check + uint32_t bitnum = 0; //output counter + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint32_t iii = 0; + uint32_t gLen = *size; + if (gLen > 500) gLen=500; + uint8_t errCnt =0; + uint32_t bestStart = *size; + uint32_t bestErrCnt = (*size/1000); + uint8_t midBit=0; + //PrintAndLog("DEBUG - lastbit - %d",lastBit); + //loop to find first wave that works + for (iii=0; iii < gLen; ++iii){ + if ((BinStream[iii]>=high) || (BinStream[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *size; ++i) { + if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ + lastBit+=*clk; + BitStream[bitnum] = *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BitStream[bitnum] = 1- *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= 1- *invert; + bitnum++; + } else if ((BinStream[i]>=high) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BitStream[bitnum]= *invert; + bitnum++; + } else if ((i-lastBit)>((*clk/2)+tol) && (midBit==0)){ + //no mid bar found + midBit=1; + BitStream[bitnum]= BitStream[bitnum-1]; + bitnum++; + } else { + //mid value found or no bar supposed to be here - if ((i-lastBit)>(*clk+tol)){ - //should have hit a high or low based on clock!! - //debug - //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BitStream[bitnum]=77; - bitnum++; - } + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BitStream[bitnum]=77; + bitnum++; + } - errCnt++; - lastBit+=*clk;//skip over until hit too many errors - if (errCnt>((*bitLen/1000))){ //allow 1 error for every 1000 samples else start over - errCnt=0; - bitnum=0;//start over - break; - } - } - } - if (bitnum>500) break; - } - //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(*bitLen/1000))) { - //possible good read - if (errCnt==0) break; //great read - finish - if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish - if (errCnt=gLen){ //exhausted test - //if there was a ok test go back to that one and re-run the best run (then dump after that run) - if (bestErrCnt < (*bitLen/1000)) iii=bestStart; - } - } - if (bitnum>16){ + errCnt++; + lastBit+=*clk;//skip over until hit too many errors + if (errCnt > ((*size/1000))){ //allow 1 error for every 1000 samples else start over + errCnt=0; + bitnum=0;//start over + break; + } + } + } + if (bitnum>500) break; + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(*size/1000))) { + //possible good read + if (errCnt==0) break; //great read - finish + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt=gLen){ //exhausted test + //if there was a ok test go back to that one and re-run the best run (then dump after that run) + if (bestErrCnt < (*size/1000)) iii=bestStart; + } + } + if (bitnum>16){ - // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to BinStream - // ClearGraph(0); - for (i=0; i < bitnum; ++i){ - BinStream[i]=BitStream[i]; - } - *bitLen=bitnum; - // RepaintGraphWindow(); - //output - // if (errCnt>0){ - // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - // } - // PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - // printBitStream2(BitStream,bitnum); - //int errCnt=0; - //errCnt=manrawdemod(BitStream,bitnum); + // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); + //move BitStream back to BinStream + // ClearGraph(0); + for (i=0; i < bitnum; ++i){ + BinStream[i]=BitStream[i]; + } + *size=bitnum; + // RepaintGraphWindow(); + //output + // if (errCnt>0){ + // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + // } + // PrintAndLog("ASK decoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + // printBitStream2(BitStream,bitnum); + //int errCnt=0; + //errCnt=manrawdemod(BitStream,bitnum); - // Em410xDecode(Cmd); - } else return -1; - return errCnt; + // Em410xDecode(Cmd); + } else return -1; + return errCnt; } -//translate wave to 11111100000 (1 for each short wave 0 for each long wave) +//translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow) { - uint32_t last_transition = 0; - uint32_t idx = 1; - uint32_t maxVal=0; - if (fchigh==0) fchigh=10; - if (fclow==0) fclow=8; - // we do care about the actual theshold value as sometimes near the center of the - // wave we may get static that changes direction of wave for one value - // if our value is too low it might affect the read. and if our tag or - // antenna is weak a setting too high might not see anything. [marshmellow] - if (size<100) return 0; - for(idx=1; idx<100; idx++){ - if(maxVal1 transition - if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition - if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise - //do nothing with extra garbage - } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves - dest[numBits]=1; - } else { //9+ = 10 waves - dest[numBits]=0; - } - last_transition = idx; - numBits++; - } - } - return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 + // Check for 0->1 transition + if (dest[idx-1] < dest[idx]) { // 0 -> 1 transition + if ((idx-last_transition)<(fclow-2)){ //0-5 = garbage noise + //do nothing with extra garbage + } else if ((idx-last_transition) < (fchigh-1)) { //6-8 = 8 waves + dest[numBits]=1; + } else { //9+ = 10 waves + dest[numBits]=0; + } + last_transition = idx; + numBits++; + } + } + return numBits; //Actually, it returns the number of bytes, but each byte represents a bit: 1 or 0 } uint32_t myround2(float f) { - if (f >= 2000) return 2000;//something bad happened - return (uint32_t) (f + (float)0.5); + if (f >= 2000) return 2000;//something bad happened + return (uint32_t) (f + (float)0.5); } -//translate 11111100000 to 10 -size_t aggregate_bits(uint8_t *dest,size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, uint8_t invert,uint8_t fchigh,uint8_t fclow )// uint8_t h2l_crossing_value,uint8_t l2h_crossing_value, +//translate 11111100000 to 10 +size_t aggregate_bits(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t maxConsequtiveBits, + uint8_t invert, uint8_t fchigh, uint8_t fclow) { - uint8_t lastval=dest[0]; - uint32_t idx=0; - size_t numBits=0; - uint32_t n=1; + uint8_t lastval=dest[0]; + uint32_t idx=0; + size_t numBits=0; + uint32_t n=1; - for( idx=1; idx < size; idx++) { + for( idx=1; idx < size; idx++) { - if (dest[idx]==lastval) { - n++; - continue; - } - //if lastval was 1, we have a 1->0 crossing - if ( dest[idx-1]==1 ) { - n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); - //n=(n+1) / h2l_crossing_value; - } else {// 0->1 crossing - n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor - //n=(n+1) / l2h_crossing_value; - } - if (n == 0) n = 1; + if (dest[idx]==lastval) { + n++; + continue; + } + //if lastval was 1, we have a 1->0 crossing + if ( dest[idx-1]==1 ) { + n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); + //n=(n+1) / h2l_crossing_value; + } else {// 0->1 crossing + n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor + //n=(n+1) / l2h_crossing_value; + } + if (n == 0) n = 1; - if(n < maxConsequtiveBits) //Consecutive - { - if(invert==0){ //invert bits - memset(dest+numBits, dest[idx-1] , n); - }else{ - memset(dest+numBits, dest[idx-1]^1 , n); - } - numBits += n; - } - n=0; - lastval=dest[idx]; - }//end for - return numBits; + if(n < maxConsequtiveBits) //Consecutive + { + if(invert==0){ //invert bits + memset(dest+numBits, dest[idx-1] , n); + }else{ + memset(dest+numBits, dest[idx-1]^1 , n); + } + numBits += n; + } + n=0; + lastval=dest[idx]; + }//end for + return numBits; } //by marshmellow (from holiman's base) // full fsk demod from GraphBuffer wave to decoded 1s and 0s (no mandemod) int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow) { - // FSK demodulator - size = fsk_wave_demod(dest, size, fchigh, fclow); - size = aggregate_bits(dest, size,rfLen,192,invert,fchigh,fclow); - return size; + // FSK demodulator + size = fsk_wave_demod(dest, size, fchigh, fclow); + size = aggregate_bits(dest, size, rfLen, 192, invert, fchigh, fclow); + return size; } // loop to get raw HID waveform then FSK demodulate the TAG ID from it int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { - size_t idx=0; //, found=0; //size=0, - // FSK demodulator - size = fskdemod(dest, size,50,0,10,8); + size_t idx=0; //, found=0; //size=0, + // FSK demodulator + size = fskdemod(dest, size,50,0,10,8); - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; - int numshifts = 0; - idx = 0; - //one scan - while( idx + sizeof(frame_marker_mask) < size) { - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - *hi2 = (*hi2<<1)|(*hi>>31); - *hi = (*hi<<1)|(*lo>>31); - //Then, shift in a 0 or one into low - if (dest[idx] && !dest[idx+1]) // 1 0 - *lo=(*lo<<1)|0; - else // 0 1 - *lo=(*lo<<1)|1; - numshifts++; - idx += 2; - } - // Hopefully, we read a tag and hit upon the next frame marker - if(idx + sizeof(frame_marker_mask) < size) - { - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - //good return - return idx; - } - } - // reset - *hi2 = *hi = *lo = 0; - numshifts = 0; - }else { - idx++; - } - } - return -1; + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; + int numshifts = 0; + idx = 0; + //one scan + while( idx + sizeof(frame_marker_mask) < size) { + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + idx+=sizeof(frame_marker_mask); + while(dest[idx] != dest[idx+1] && idx < size-2) + { + // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|0; + else // 0 1 + *lo=(*lo<<1)|1; + numshifts++; + idx += 2; + } + // Hopefully, we read a tag and hit upon the next frame marker + if(idx + sizeof(frame_marker_mask) < size) + { + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + //good return + return idx; + } + } + // reset + *hi2 = *hi = *lo = 0; + numshifts = 0; + }else { + idx++; + } + } + return -1; } -uint32_t bytebits_to_byte(uint8_t* src, int numbits) +uint32_t bytebits_to_byte(uint8_t* src, size_t numbits) { - uint32_t num = 0; - for(int i = 0 ; i < numbits ; i++) - { - num = (num << 1) | (*src); - src++; - } - return num; + uint32_t num = 0; + for(int i = 0 ; i < numbits ; i++) + { + num = (num << 1) | (*src); + src++; + } + return num; } int IOdemodFSK(uint8_t *dest, size_t size) { - uint32_t idx=0; - //make sure buffer has data - if (size < 66) return -1; - //test samples are not just noise - uint8_t testMax=0; - for(idx=0;idx<65;idx++){ - if (testMax20){ - // FSK demodulator - size = fskdemod(dest, size,64,1,10,8); // RF/64 and invert - if (size < 65) return -1; //did we get a good demod? - //Index map - //0 10 20 30 40 50 60 - //| | | | | | | - //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 - //----------------------------------------------------------------------------- - //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 - // - //XSF(version)facility:codeone+codetwo - //Handle the data - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 65); idx++) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - //frame marker found - if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ - //confirmed proper separator bits found - //return start position - return (int) idx; - } - } - } - } - return 0; + static const uint8_t THRESHOLD = 140; + uint32_t idx=0; + //make sure buffer has data + if (size < 66) return -1; + //test samples are not just noise + uint8_t justNoise = 1; + for(idx=0;idx< size && justNoise ;idx++){ + justNoise = dest[idx] < THRESHOLD; + } + if(justNoise) return 0; + + // FSK demodulator + size = fskdemod(dest, size, 64, 1, 10, 8); // RF/64 and invert + if (size < 65) return -1; //did we get a good demod? + //Index map + //0 10 20 30 40 50 60 + //| | | | | | | + //01234567 8 90123456 7 89012345 6 78901234 5 67890123 4 56789012 3 45678901 23 + //----------------------------------------------------------------------------- + //00000000 0 11110000 1 facility 1 version* 1 code*one 1 code*two 1 ???????? 11 + // + //XSF(version)facility:codeone+codetwo + //Handle the data + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 65); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + //frame marker found + if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ + //confirmed proper separator bits found + //return start position + return (int) idx; + } + } + } + return 0; } // by marshmellow @@ -635,67 +633,405 @@ int IOdemodFSK(uint8_t *dest, size_t size) // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(uint8_t dest[], size_t size, int clock) { - int i=0; - int peak=0; - int low=128; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 256; //don't need to loop through entire array... - if (sizepeak){ - peak = dest[i]; - } - if(dest[i]=peak) || (dest[ii]<=low)){ - errCnt[clkCnt]=0; - // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ - if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt[clkCnt]++; - } - } - //if we found no errors this is correct one - return this clock - if(errCnt[clkCnt]==0) return clk[clkCnt]; - //if we found errors see if it is lowest so far and save it as best run - if(errCnt[clkCnt]peak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + errCnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt++; + } + } + //if we found no errors this is correct one - return this clock + if(errCnt==0) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCntpeak){ + peak = dest[i]; + } + if(dest[i]=peak) || (dest[ii]<=low)){ + errCnt=0; + peakcnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + peakcnt++; + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + peakcnt++; + }else{ //error no peak detected + errCnt++; + } + } + if(peakcnt>peaksdet[clkCnt]) { + peaksdet[clkCnt]=peakcnt; + bestErr[clkCnt]=errCnt; + } + } + } + } + int iii=0; + int best=0; + //int ratio2; //debug + int ratio; + //int bits; + for (iii=0; iii<7;++iii){ + ratio=1000; + //ratio2=1000; //debug + //bits=size/clk[iii]; //debug + if (peaksdet[iii]>0){ + ratio=bestErr[iii]/peaksdet[iii]; + if (((bestErr[best]/peaksdet[best])>(ratio)+1)){ + best = iii; + } + //ratio2=bits/peaksdet[iii]; //debug + } + //PrintAndLog("DEBUG: Clk: %d, peaks: %d, errs: %d, bestClk: %d, ratio: %d, bits: %d, peakbitr: %d",clk[iii],peaksdet[iii],bestErr[iii],clk[best],ratio, bits,ratio2); + } + return clk[best]; +} + +//by marshmellow (attempt to get rid of high immediately after a low) +void pskCleanWave(uint8_t *bitStream, size_t size) +{ + int i; + int low=128; + int high=0; + int gap = 4; + // int loopMax = 2048; + int newLow=0; + int newHigh=0; + for (i=0; ihigh) high=bitStream[i]; + } + high = (int)(((high-128)*.80)+128); + low = (int)(((low-128)*.90)+128); + //low = (uint8_t)(((int)(low)-128)*.80)+128; + for (i=0; i=high) newHigh=1; + } + return; +} + + +//redesigned by marshmellow adjusted from existing decode functions +//indala id decoding - only tested on 26 bit tags, but attempted to make it work for more +int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert) +{ + //26 bit 40134 format (don't know other formats) + int i; + int long_wait; + long_wait = 29;//29 leading zeros in format + int start; + int first = 0; + int first2 = 0; + int bitCnt = 0; + int ii; + // Finding the start of a UID + for (start = 0; start <= *size - 250; start++) { + first = bitStream[start]; + for (i = start; i < start + long_wait; i++) { + if (bitStream[i] != first) { + break; + } + } + if (i == (start + long_wait)) { + break; + } + } + if (start == *size - 250 + 1) { + // did not find start sequence + return -1; + } + //found start once now test length by finding next one + // Inverting signal if needed + if (first == 1) { + for (i = start; i < *size; i++) { + bitStream[i] = !bitStream[i]; + } + *invert = 1; + }else *invert=0; + + int iii; + for (ii=start+29; ii <= *size - 250; ii++) { + first2 = bitStream[ii]; + for (iii = ii; iii < ii + long_wait; iii++) { + if (bitStream[iii] != first2) { + break; + } + } + if (iii == (ii + long_wait)) { + break; + } + } + if (ii== *size - 250 + 1){ + // did not find second start sequence + return -2; + } + bitCnt=ii-start; + + // Dumping UID + i = start; + for (ii = 0; ii < bitCnt; ii++) { + bitStream[ii] = bitStream[i++]; + } + *size=bitCnt; + return 1; +} + + +//by marshmellow - demodulate PSK wave or NRZ wave (both similar enough) +//peaks switch bit (high=1 low=0) each clock cycle = 1 bit determined by last peak +int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) +{ + pskCleanWave(dest,*size); + int clk2 = DetectpskNRZClock(dest, *size, *clk); + *clk=clk2; + uint32_t i; + uint8_t high=0, low=128; + uint32_t gLen = *size; + if (gLen > 1280) gLen=1280; + // get high + for (i=0; ihigh) high = dest[i]; + if (dest[i]=high)||(dest[iii]<=low)){ + lastBit=iii-*clk; + //loop through to see if this start location works + for (i = iii; i < *size; ++i) { + //if we found a high bar and we are at a clock bit + if ((dest[i]>=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + ignorewin=*clk/8; + bitnum++; + //else if no bars found + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i>=lastBit+*clk+tol){ //clock val + lastBit+=*clk; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && (ilastBit+*clk+tol) && (bitHigh==0)){ + //error bar found no clock... + errCnt++; + } + if (bitnum>=1000) break; + } + //we got more than 64 good bits and not all errors + if ((bitnum > (64+errCnt)) && (errCnt<(maxErr))) { + //possible good read + if (errCnt==0){ + bestStart = iii; + bestErrCnt=errCnt; + break; //great read - finish + } + if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=1-*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if low bar found and we are at a clock point + }else if ((dest[i]<=low ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + bitHigh=1; + lastBit+=*clk; + curBit=*invert; + dest[bitnum]=curBit; + ignorewin=*clk/8; + bitnum++; + //else if no bars found + }else if(dest[i]low) { + if (ignorewin==0){ + bitHigh=0; + }else ignorewin--; + //if we are past a clock point + if (i>=lastBit+*clk+tol){ //clock val + lastBit+=*clk; + dest[bitnum]=curBit; + bitnum++; + } + //else if bar found but we are not at a clock bit and we did not just have a clock bit + }else if ((dest[i]>=high || dest[i]<=low) && ((ilastBit+*clk+tol)) && (bitHigh==0)){ + //error bar found no clock... + bitHigh=1; + dest[bitnum]=77; + bitnum++; + errCnt++; + } + if (bitnum >=1000) break; + } + *size=bitnum; + } else{ + *size=bitnum; + *clk=bestStart; + return -1; + } + + if (bitnum>16){ + *size=bitnum; + } else return -1; + return errCnt; +} + diff --git a/common/lfdemod.h b/common/lfdemod.h index ad95fda5e..b0feff043 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014 +// Copyright (C) 2014 // // This code is licensed to you under the terms of the GNU GPL, version 2 or, // at your option, any later version. See the LICENSE.txt file for the text of @@ -12,14 +12,18 @@ #include int DetectASKClock(uint8_t dest[], size_t size, int clock); -int askmandemod(uint8_t *BinStream,uint32_t *BitLen,int *clk, int *invert); -uint64_t Em410xDecode(uint8_t *BitStream,uint32_t BitLen); -int manrawdecode(uint8_t *BitStream, int *bitLen); -int BiphaseRawDecode(uint8_t * BitStream, int *bitLen, int offset); -int askrawdemod(uint8_t *BinStream, int *bitLen,int *clk, int *invert); +int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); +uint64_t Em410xDecode(uint8_t *BitStream,size_t size); +int manrawdecode(uint8_t *BitStream, size_t *size); +int BiphaseRawDecode(uint8_t * BitStream, size_t *size, int offset); +int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); int IOdemodFSK(uint8_t *dest, size_t size); int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow); -uint32_t bytebits_to_byte(uint8_t* src, int numbits); +uint32_t bytebits_to_byte(uint8_t* src, size_t numbits); +int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert); +int DetectpskNRZClock(uint8_t dest[], size_t size, int clock); +int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert); +void pskCleanWave(uint8_t *bitStream, size_t size); #endif From 3aa4014baa5da711770ed37660f38149f8b4ddb0 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 7 Jan 2015 16:34:02 -0500 Subject: [PATCH 077/133] Fix Tune Samples (broken in commit 12/31 by me) --- client/cmddata.c | 54 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index bce5d2ced..657a118ba 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -1089,24 +1089,56 @@ int CmdSamples(const char *Cmd) int CmdTuneSamples(const char *Cmd) { - int cnt = 0; - int n = 255; - uint8_t got[255]; + int timeout = 0; + printf("\nMeasuring antenna characteristics, please wait..."); - PrintAndLog("Reading %d samples\n", n); - GetFromBigBuf(got,n,7256); // armsrc/apps.h: #define FREE_BUFFER_OFFSET 7256 - WaitForResponse(CMD_ACK,NULL); - for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; + UsbCommand c = {CMD_MEASURE_ANTENNA_TUNING}; + SendCommand(&c); + + UsbCommand resp; + while(!WaitForResponseTimeout(CMD_MEASURED_ANTENNA_TUNING,&resp,1000)) { + timeout++; + printf("."); + if (timeout > 7) { + PrintAndLog("\nNo response from Proxmark. Aborting..."); + return 1; + } + } + + int peakv, peakf; + int vLf125, vLf134, vHf; + vLf125 = resp.arg[0] & 0xffff; + vLf134 = resp.arg[0] >> 16; + vHf = resp.arg[1] & 0xffff;; + peakf = resp.arg[2] & 0xffff; + peakv = resp.arg[2] >> 16; + PrintAndLog(""); + PrintAndLog("# LF antenna: %5.2f V @ 125.00 kHz", vLf125/1000.0); + PrintAndLog("# LF antenna: %5.2f V @ 134.00 kHz", vLf134/1000.0); + PrintAndLog("# LF optimal: %5.2f V @%9.2f kHz", peakv/1000.0, 12000.0/(peakf+1)); + PrintAndLog("# HF antenna: %5.2f V @ 13.56 MHz", vHf/1000.0); + if (peakv<2000) + PrintAndLog("# Your LF antenna is unusable."); + else if (peakv<10000) + PrintAndLog("# Your LF antenna is marginal."); + if (vHf<2000) + PrintAndLog("# Your HF antenna is unusable."); + else if (vHf<5000) + PrintAndLog("# Your HF antenna is marginal."); + + for (int i = 0; i < 256; i++) { + GraphBuffer[i] = resp.d.asBytes[i] - 128; } PrintAndLog("Done! Divisor 89 is 134khz, 95 is 125khz.\n"); PrintAndLog("\n"); - GraphTraceLen = n; - RepaintGraphWindow(); - return 0; + GraphTraceLen = 256; + ShowGraphWindow(); + + return 0; } + int CmdLoad(const char *Cmd) { FILE *f = fopen(Cmd, "r"); From c3bfb9c76bf147c39d4d94bd41d20f2a20b310e8 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 8 Jan 2015 00:17:40 +0100 Subject: [PATCH 078/133] ADD: a CmdEM410xWatchnSpoof in cmdlfem4x.c , looks for a tag, then replays it. minor code clean up. --- client/cmdlfem4x.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/client/cmdlfem4x.c b/client/cmdlfem4x.c index e0d88c24d..4e27efc62 100644 --- a/client/cmdlfem4x.c +++ b/client/cmdlfem4x.c @@ -19,6 +19,7 @@ #include "cmddata.h" #include "cmdlf.h" #include "cmdlfem4x.h" +char *global_em410xId; static int CmdHelp(const char *Cmd); @@ -66,7 +67,7 @@ int CmdEM410xRead(const char *Cmd) parity[0] = parity[1] = parity[2] = parity[3] = 0; header = rows = 0; - /* manchester demodulate */ + // manchester demodulate bit = bit2idx = 0; for (i = 0; i < (int)(GraphTraceLen / clock); i++) { @@ -77,9 +78,9 @@ int CmdEM410xRead(const char *Cmd) /* Find out if we hit both high and low peaks */ for (j = 0; j < clock; j++) { - if (GraphBuffer[(i * clock) + j] == high) + if (GraphBuffer[(i * clock) + j] >= high) hithigh = 1; - else if (GraphBuffer[(i * clock) + j] == low) + else if (GraphBuffer[(i * clock) + j] <= low) hitlow = 1; /* it doesn't count if it's the first part of our read @@ -149,6 +150,8 @@ retest: PrintAndLog("EM410x Tag ID: %s", id); PrintAndLog("Unique Tag ID: %s", id2); + global_em410xId = id; + /* Stop any loops */ return 1; } @@ -177,8 +180,10 @@ retest: } /* if we've already retested after flipping bits, return */ - if (retested++) + if (retested++){ + PrintAndLog("Failed to decode"); return 0; + } /* if this didn't work, try flipping bits */ for (i = 0; i < bit2idx; i++) @@ -293,6 +298,14 @@ int CmdEM410xWatch(const char *Cmd) return 0; } +int CmdEM410xWatchnSpoof(const char *Cmd) +{ + CmdEM410xWatch(Cmd); + PrintAndLog("# Replaying : %s",global_em410xId); + CmdEM410xSim(global_em410xId); + return 0; +} + /* Read the transmitted data of an EM4x50 tag * Format: * @@ -608,6 +621,7 @@ static command_t CommandTable[] = {"em410xread", CmdEM410xRead, 1, "[clock rate] -- Extract ID from EM410x tag"}, {"em410xsim", CmdEM410xSim, 0, " -- Simulate EM410x tag"}, {"em410xwatch", CmdEM410xWatch, 0, "['h'] -- Watches for EM410x 125/134 kHz tags (option 'h' for 134)"}, + {"em410xspoof", CmdEM410xWatchnSpoof, 0, "['h'] --- Watches for EM410x 125/134 kHz tags, and replays them. (option 'h' for 134)" }, {"em410xwrite", CmdEM410xWrite, 1, " <'0' T5555> <'1' T55x7> [clock rate] -- Write EM410x UID to T5555(Q5) or T55x7 tag, optionally setting clock rate"}, {"em4x50read", CmdEM4x50Read, 1, "Extract data from EM4x50 tag"}, {"readword", CmdReadWord, 1, " -- Read EM4xxx word data"}, From 8e863ab6411a1f4465c9530fcb22898cf6359509 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 8 Jan 2015 00:20:22 +0100 Subject: [PATCH 079/133] FIX: forgot to add the function in the header file. --- client/cmdlfem4x.h | 1 + 1 file changed, 1 insertion(+) diff --git a/client/cmdlfem4x.h b/client/cmdlfem4x.h index 6363e3478..baea50a42 100644 --- a/client/cmdlfem4x.h +++ b/client/cmdlfem4x.h @@ -16,6 +16,7 @@ int CmdEMdemodASK(const char *Cmd); int CmdEM410xRead(const char *Cmd); int CmdEM410xSim(const char *Cmd); int CmdEM410xWatch(const char *Cmd); +int CmdEM410xWatchnSpoof(const char *Cmd); int CmdEM410xWrite(const char *Cmd); int CmdEM4x50Read(const char *Cmd); int CmdReadWord(const char *Cmd); From 3179383f8549b98eaa977c03105cdec7af5007dc Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 7 Jan 2015 18:45:47 -0500 Subject: [PATCH 080/133] put cmdlf.c back (only changes spaces to tabs) to make my pull request easier to weed through i did not make any changes to cmdlf just de-spaced it - so i put it back for now. --- client/cmdlf.c | 971 ++++++++++++++++++++++++------------------------- 1 file changed, 479 insertions(+), 492 deletions(-) diff --git a/client/cmdlf.c b/client/cmdlf.c index af24aa809..18bcf747e 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -12,7 +12,6 @@ #include #include #include -//#include "proxusb.h" #include "proxmark3.h" #include "data.h" #include "graph.h" @@ -34,592 +33,580 @@ static int CmdHelp(const char *Cmd); /* send a command before reading */ int CmdLFCommandRead(const char *Cmd) { - static char dummy[3]; + static char dummy[3]; - dummy[0]= ' '; + dummy[0]= ' '; - UsbCommand c = {CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K}; - sscanf(Cmd, "%"lli" %"lli" %"lli" %s %s", &c.arg[0], &c.arg[1], &c.arg[2],(char*)(&c.d.asBytes),(char*)(&dummy+1)); - // in case they specified 'h' - strcpy((char *)&c.d.asBytes + strlen((char *)c.d.asBytes), dummy); - SendCommand(&c); - return 0; + UsbCommand c = {CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K}; + sscanf(Cmd, "%"lli" %"lli" %"lli" %s %s", &c.arg[0], &c.arg[1], &c.arg[2],(char*)(&c.d.asBytes),(char*)(&dummy+1)); + // in case they specified 'h' + strcpy((char *)&c.d.asBytes + strlen((char *)c.d.asBytes), dummy); + SendCommand(&c); + return 0; } int CmdFlexdemod(const char *Cmd) { - int i; - for (i = 0; i < GraphTraceLen; ++i) { - if (GraphBuffer[i] < 0) { - GraphBuffer[i] = -1; - } else { - GraphBuffer[i] = 1; - } - } + int i; + for (i = 0; i < GraphTraceLen; ++i) { + if (GraphBuffer[i] < 0) { + GraphBuffer[i] = -1; + } else { + GraphBuffer[i] = 1; + } + } - #define LONG_WAIT 100 - int start; - for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { - int first = GraphBuffer[start]; - for (i = start; i < start + LONG_WAIT; i++) { - if (GraphBuffer[i] != first) { - break; - } - } - if (i == (start + LONG_WAIT)) { - break; - } - } - if (start == GraphTraceLen - LONG_WAIT) { - PrintAndLog("nothing to wait for"); - return 0; - } +#define LONG_WAIT 100 + int start; + for (start = 0; start < GraphTraceLen - LONG_WAIT; start++) { + int first = GraphBuffer[start]; + for (i = start; i < start + LONG_WAIT; i++) { + if (GraphBuffer[i] != first) { + break; + } + } + if (i == (start + LONG_WAIT)) { + break; + } + } + if (start == GraphTraceLen - LONG_WAIT) { + PrintAndLog("nothing to wait for"); + return 0; + } - GraphBuffer[start] = 2; - GraphBuffer[start+1] = -2; + GraphBuffer[start] = 2; + GraphBuffer[start+1] = -2; + uint8_t bits[64] = {0x00}; - uint8_t bits[64]; + int bit, sum; + i = start; + for (bit = 0; bit < 64; bit++) { + sum = 0; + for (int j = 0; j < 16; j++) { + sum += GraphBuffer[i++]; + } - int bit; - i = start; - for (bit = 0; bit < 64; bit++) { - int j; - int sum = 0; - for (j = 0; j < 16; j++) { - sum += GraphBuffer[i++]; - } - if (sum > 0) { - bits[bit] = 1; - } else { - bits[bit] = 0; - } - PrintAndLog("bit %d sum %d", bit, sum); - } + bits[bit] = (sum > 0) ? 1 : 0; - for (bit = 0; bit < 64; bit++) { - int j; - int sum = 0; - for (j = 0; j < 16; j++) { - sum += GraphBuffer[i++]; - } - if (sum > 0 && bits[bit] != 1) { - PrintAndLog("oops1 at %d", bit); - } - if (sum < 0 && bits[bit] != 0) { - PrintAndLog("oops2 at %d", bit); - } - } + PrintAndLog("bit %d sum %d", bit, sum); + } - GraphTraceLen = 32*64; - i = 0; - int phase = 0; - for (bit = 0; bit < 64; bit++) { - if (bits[bit] == 0) { - phase = 0; - } else { - phase = 1; - } - int j; - for (j = 0; j < 32; j++) { - GraphBuffer[i++] = phase; - phase = !phase; - } - } + for (bit = 0; bit < 64; bit++) { + int j; + int sum = 0; + for (j = 0; j < 16; j++) { + sum += GraphBuffer[i++]; + } + if (sum > 0 && bits[bit] != 1) { + PrintAndLog("oops1 at %d", bit); + } + if (sum < 0 && bits[bit] != 0) { + PrintAndLog("oops2 at %d", bit); + } + } - RepaintGraphWindow(); - return 0; -} + // HACK writing back to graphbuffer. + GraphTraceLen = 32*64; + i = 0; + int phase = 0; + for (bit = 0; bit < 64; bit++) { + phase = (bits[bit] == 0) ? 0 : 1; + + int j; + for (j = 0; j < 32; j++) { + GraphBuffer[i++] = phase; + phase = !phase; + } + } + + RepaintGraphWindow(); + return 0; +} + int CmdIndalaDemod(const char *Cmd) { - // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID + // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID - int state = -1; - int count = 0; - int i, j; - // worst case with GraphTraceLen=64000 is < 4096 - // under normal conditions it's < 2048 - uint8_t rawbits[4096]; - int rawbit = 0; - int worst = 0, worstPos = 0; + int state = -1; + int count = 0; + int i, j; + + // worst case with GraphTraceLen=64000 is < 4096 + // under normal conditions it's < 2048 + + uint8_t rawbits[4096]; + int rawbit = 0; + int worst = 0, worstPos = 0; // PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32); - for (i = 0; i < GraphTraceLen-1; i += 2) { - count += 1; - if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) { - if (state == 0) { - for (j = 0; j < count - 8; j += 16) { - rawbits[rawbit++] = 0; - } - if ((abs(count - j)) > worst) { - worst = abs(count - j); - worstPos = i; - } - } - state = 1; - count = 0; - } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) { - if (state == 1) { - for (j = 0; j < count - 8; j += 16) { - rawbits[rawbit++] = 1; - } - if ((abs(count - j)) > worst) { - worst = abs(count - j); - worstPos = i; - } - } - state = 0; - count = 0; - } - } - if (rawbit>0){ - PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); - PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); - } else return 0; - // Finding the start of a UID - int uidlen, long_wait; - if (strcmp(Cmd, "224") == 0) { - uidlen = 224; - long_wait = 30; + for (i = 0; i < GraphTraceLen-1; i += 2) { + count += 1; + if ((GraphBuffer[i] > GraphBuffer[i + 1]) && (state != 1)) { + if (state == 0) { + for (j = 0; j < count - 8; j += 16) { + rawbits[rawbit++] = 0; + } + if ((abs(count - j)) > worst) { + worst = abs(count - j); + worstPos = i; + } + } + state = 1; + count = 0; + } else if ((GraphBuffer[i] < GraphBuffer[i + 1]) && (state != 0)) { + if (state == 1) { + for (j = 0; j < count - 8; j += 16) { + rawbits[rawbit++] = 1; + } + if ((abs(count - j)) > worst) { + worst = abs(count - j); + worstPos = i; + } + } + state = 0; + count = 0; + } + } + + if (rawbit>0){ + PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); + PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); } else { - uidlen = 64; - long_wait = 29; - } - int start; - int first = 0; - for (start = 0; start <= rawbit - uidlen; start++) { - first = rawbits[start]; - for (i = start; i < start + long_wait; i++) { - if (rawbits[i] != first) { - break; - } - } - if (i == (start + long_wait)) { - break; - } - } - if (start == rawbit - uidlen + 1) { - PrintAndLog("nothing to wait for"); return 0; } - // Inverting signal if needed - if (first == 1) { - for (i = start; i < rawbit; i++) { - rawbits[i] = !rawbits[i]; - } - } + // Finding the start of a UID + int uidlen, long_wait; + if (strcmp(Cmd, "224") == 0) { + uidlen = 224; + long_wait = 30; + } else { + uidlen = 64; + long_wait = 29; + } - // Dumping UID - uint8_t bits[224]; - char showbits[225]; - showbits[uidlen]='\0'; - int bit; - i = start; - int times = 0; - if (uidlen > rawbit) { - PrintAndLog("Warning: not enough raw bits to get a full UID"); - for (bit = 0; bit < rawbit; bit++) { - bits[bit] = rawbits[i++]; - // As we cannot know the parity, let's use "." and "/" - showbits[bit] = '.' + bits[bit]; - } - showbits[bit+1]='\0'; - PrintAndLog("Partial UID=%s", showbits); - return 0; - } else { - for (bit = 0; bit < uidlen; bit++) { - bits[bit] = rawbits[i++]; - showbits[bit] = '0' + bits[bit]; - } - times = 1; - } + int start; + int first = 0; + for (start = 0; start <= rawbit - uidlen; start++) { + first = rawbits[start]; + for (i = start; i < start + long_wait; i++) { + if (rawbits[i] != first) { + break; + } + } + if (i == (start + long_wait)) { + break; + } + } + + if (start == rawbit - uidlen + 1) { + PrintAndLog("nothing to wait for"); + return 0; + } + + // Inverting signal if needed + if (first == 1) { + for (i = start; i < rawbit; i++) { + rawbits[i] = !rawbits[i]; + } + } + + // Dumping UID + uint8_t bits[224] = {0x00}; + char showbits[225] = {0x00}; + int bit; + i = start; + int times = 0; - //convert UID to HEX - uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; - int idx; - uid1=0; - uid2=0; - if (uidlen==64){ - for( idx=0; idx<64; idx++) { - if (showbits[idx] == '0') { - uid1=(uid1<<1)|(uid2>>31); - uid2=(uid2<<1)|0; - } else { - uid1=(uid1<<1)|(uid2>>31); - uid2=(uid2<<1)|1; - } - } - PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); - } - else { - uid3=0; - uid4=0; - uid5=0; - uid6=0; - uid7=0; - for( idx=0; idx<224; idx++) { - uid1=(uid1<<1)|(uid2>>31); - uid2=(uid2<<1)|(uid3>>31); - uid3=(uid3<<1)|(uid4>>31); - uid4=(uid4<<1)|(uid5>>31); - uid5=(uid5<<1)|(uid6>>31); - uid6=(uid6<<1)|(uid7>>31); - if (showbits[idx] == '0') uid7=(uid7<<1)|0; - else uid7=(uid7<<1)|1; - } - PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); - } + if (uidlen > rawbit) { + PrintAndLog("Warning: not enough raw bits to get a full UID"); + for (bit = 0; bit < rawbit; bit++) { + bits[bit] = rawbits[i++]; + // As we cannot know the parity, let's use "." and "/" + showbits[bit] = '.' + bits[bit]; + } + showbits[bit+1]='\0'; + PrintAndLog("Partial UID=%s", showbits); + return 0; + } else { + for (bit = 0; bit < uidlen; bit++) { + bits[bit] = rawbits[i++]; + showbits[bit] = '0' + bits[bit]; + } + times = 1; + } + + //convert UID to HEX + uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; + int idx; + uid1 = uid2 = 0; + + if (uidlen==64){ + for( idx=0; idx<64; idx++) { + if (showbits[idx] == '0') { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|0; + } else { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|1; + } + } + PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); + } + else { + uid3 = uid4 = uid5 = uid6 = uid7 = 0; - // Checking UID against next occurrences + for( idx=0; idx<224; idx++) { + uid1=(uid1<<1)|(uid2>>31); + uid2=(uid2<<1)|(uid3>>31); + uid3=(uid3<<1)|(uid4>>31); + uid4=(uid4<<1)|(uid5>>31); + uid5=(uid5<<1)|(uid6>>31); + uid6=(uid6<<1)|(uid7>>31); + + if (showbits[idx] == '0') + uid7 = (uid7<<1) | 0; + else + uid7 = (uid7<<1) | 1; + } + PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); + } + + // Checking UID against next occurrences + int failed = 0; for (; i + uidlen <= rawbit;) { - int failed = 0; - for (bit = 0; bit < uidlen; bit++) { - if (bits[bit] != rawbits[i++]) { - failed = 1; - break; - } - } - if (failed == 1) { - break; - } - times += 1; - } - PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); + failed = 0; + for (bit = 0; bit < uidlen; bit++) { + if (bits[bit] != rawbits[i++]) { + failed = 1; + break; + } + } + if (failed == 1) { + break; + } + times += 1; + } - // Remodulating for tag cloning - GraphTraceLen = 32*uidlen; - i = 0; - int phase = 0; - for (bit = 0; bit < uidlen; bit++) { - if (bits[bit] == 0) { - phase = 0; - } else { - phase = 1; - } - int j; - for (j = 0; j < 32; j++) { - GraphBuffer[i++] = phase; - phase = !phase; - } - } + PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); - RepaintGraphWindow(); - return 1; + // Remodulating for tag cloning + // HACK: 2015-01-04 this will have an impact on our new way of seening lf commands (demod) + // since this changes graphbuffer data. + GraphTraceLen = 32*uidlen; + i = 0; + int phase = 0; + for (bit = 0; bit < uidlen; bit++) { + if (bits[bit] == 0) { + phase = 0; + } else { + phase = 1; + } + int j; + for (j = 0; j < 32; j++) { + GraphBuffer[i++] = phase; + phase = !phase; + } + } + + RepaintGraphWindow(); + return 1; } int CmdIndalaClone(const char *Cmd) { + UsbCommand c; unsigned int uid1, uid2, uid3, uid4, uid5, uid6, uid7; - UsbCommand c; - uid1=0; - uid2=0; - uid3=0; - uid4=0; - uid5=0; - uid6=0; - uid7=0; - int n = 0, i = 0; - if (strchr(Cmd,'l') != 0) { - while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { - uid1 = (uid1 << 4) | (uid2 >> 28); - uid2 = (uid2 << 4) | (uid3 >> 28); - uid3 = (uid3 << 4) | (uid4 >> 28); - uid4 = (uid4 << 4) | (uid5 >> 28); - uid5 = (uid5 << 4) | (uid6 >> 28); - uid6 = (uid6 << 4) | (uid7 >> 28); - uid7 = (uid7 << 4) | (n & 0xf); - } - PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7); - c.cmd = CMD_INDALA_CLONE_TAG_L; - c.d.asDwords[0] = uid1; - c.d.asDwords[1] = uid2; - c.d.asDwords[2] = uid3; - c.d.asDwords[3] = uid4; - c.d.asDwords[4] = uid5; - c.d.asDwords[5] = uid6; - c.d.asDwords[6] = uid7; - } - else - { - while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { - uid1 = (uid1 << 4) | (uid2 >> 28); - uid2 = (uid2 << 4) | (n & 0xf); - } - PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2); - c.cmd = CMD_INDALA_CLONE_TAG; - c.arg[0] = uid1; - c.arg[1] = uid2; - } + uid1 = uid2 = uid3 = uid4 = uid5 = uid6 = uid7 = 0; + int n = 0, i = 0; - SendCommand(&c); - return 0; + if (strchr(Cmd,'l') != 0) { + while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { + uid1 = (uid1 << 4) | (uid2 >> 28); + uid2 = (uid2 << 4) | (uid3 >> 28); + uid3 = (uid3 << 4) | (uid4 >> 28); + uid4 = (uid4 << 4) | (uid5 >> 28); + uid5 = (uid5 << 4) | (uid6 >> 28); + uid6 = (uid6 << 4) | (uid7 >> 28); + uid7 = (uid7 << 4) | (n & 0xf); + } + PrintAndLog("Cloning 224bit tag with UID %x%08x%08x%08x%08x%08x%08x", uid1, uid2, uid3, uid4, uid5, uid6, uid7); + c.cmd = CMD_INDALA_CLONE_TAG_L; + c.d.asDwords[0] = uid1; + c.d.asDwords[1] = uid2; + c.d.asDwords[2] = uid3; + c.d.asDwords[3] = uid4; + c.d.asDwords[4] = uid5; + c.d.asDwords[5] = uid6; + c.d.asDwords[6] = uid7; + } else { + while (sscanf(&Cmd[i++], "%1x", &n ) == 1) { + uid1 = (uid1 << 4) | (uid2 >> 28); + uid2 = (uid2 << 4) | (n & 0xf); + } + PrintAndLog("Cloning 64bit tag with UID %x%08x", uid1, uid2); + c.cmd = CMD_INDALA_CLONE_TAG; + c.arg[0] = uid1; + c.arg[1] = uid2; + } + + SendCommand(&c); + return 0; } int CmdLFRead(const char *Cmd) { - UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K}; - // 'h' means higher-low-frequency, 134 kHz - if(*Cmd == 'h') { - c.arg[0] = 1; - } else if (*Cmd == '\0') { - c.arg[0] = 0; - } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) { - PrintAndLog("use 'read' or 'read h', or 'read '"); - return 0; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - return 0; + UsbCommand c = {CMD_ACQUIRE_RAW_ADC_SAMPLES_125K}; + + // 'h' means higher-low-frequency, 134 kHz + if(*Cmd == 'h') { + c.arg[0] = 1; + } else if (*Cmd == '\0') { + c.arg[0] = 0; + } else if (sscanf(Cmd, "%"lli, &c.arg[0]) != 1) { + PrintAndLog("Samples 1: 'lf read'"); + PrintAndLog(" 2: 'lf read h'"); + PrintAndLog(" 3: 'lf read '"); + return 0; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + return 0; } static void ChkBitstream(const char *str) { - int i; + int i; - /* convert to bitstream if necessary */ - for (i = 0; i < (int)(GraphTraceLen / 2); i++) - { - if (GraphBuffer[i] > 1 || GraphBuffer[i] < 0) - { - CmdBitstream(str); - break; - } - } + /* convert to bitstream if necessary */ + for (i = 0; i < (int)(GraphTraceLen / 2); i++) + { + if (GraphBuffer[i] > 1 || GraphBuffer[i] < 0) + { + CmdBitstream(str); + break; + } + } } int CmdLFSim(const char *Cmd) { - int i; - static int gap; + int i; + static int gap; - sscanf(Cmd, "%i", &gap); + sscanf(Cmd, "%i", &gap); - /* convert to bitstream if necessary */ - ChkBitstream(Cmd); + /* convert to bitstream if necessary */ + ChkBitstream(Cmd); - PrintAndLog("Sending data, please wait..."); - for (i = 0; i < GraphTraceLen; i += 48) { - UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}}; - int j; - for (j = 0; j < 48; j++) { - c.d.asBytes[j] = GraphBuffer[i+j]; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - } + PrintAndLog("Sending data, please wait..."); + for (i = 0; i < GraphTraceLen; i += 48) { + UsbCommand c={CMD_DOWNLOADED_SIM_SAMPLES_125K, {i, 0, 0}}; + int j; + for (j = 0; j < 48; j++) { + c.d.asBytes[j] = GraphBuffer[i+j]; + } + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + } - PrintAndLog("Starting simulator..."); - UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}}; - SendCommand(&c); - return 0; + PrintAndLog("Starting simulator..."); + UsbCommand c = {CMD_SIMULATE_TAG_125K, {GraphTraceLen, gap, 0}}; + SendCommand(&c); + return 0; } int CmdLFSimBidir(const char *Cmd) { - /* Set ADC to twice the carrier for a slight supersampling */ - UsbCommand c = {CMD_LF_SIMULATE_BIDIR, {47, 384, 0}}; - SendCommand(&c); - return 0; + // Set ADC to twice the carrier for a slight supersampling + // HACK: not implemented in ARMSRC. + PrintAndLog("Not implemented yet."); + UsbCommand c = {CMD_LF_SIMULATE_BIDIR, {47, 384, 0}}; + SendCommand(&c); + return 0; } /* simulate an LF Manchester encoded tag with specified bitstream, clock rate and inter-id gap */ int CmdLFSimManchester(const char *Cmd) { - static int clock, gap; - static char data[1024], gapstring[8]; + static int clock, gap; + static char data[1024], gapstring[8]; - /* get settings/bits */ - sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap); + sscanf(Cmd, "%i %s %i", &clock, &data[0], &gap); - /* clear our graph */ - ClearGraph(0); + ClearGraph(0); - /* fill it with our bitstream */ - for (int i = 0; i < strlen(data) ; ++i) - AppendGraph(0, clock, data[i]- '0'); + for (int i = 0; i < strlen(data) ; ++i) + AppendGraph(0, clock, data[i]- '0'); - /* modulate */ - CmdManchesterMod(""); + CmdManchesterMod(""); - /* show what we've done */ - RepaintGraphWindow(); + RepaintGraphWindow(); - /* simulate */ - sprintf(&gapstring[0], "%i", gap); - CmdLFSim(gapstring); - return 0; + sprintf(&gapstring[0], "%i", gap); + CmdLFSim(gapstring); + return 0; } int CmdLFSnoop(const char *Cmd) { - UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; - // 'h' means higher-low-frequency, 134 kHz - c.arg[0] = 0; - c.arg[1] = -1; - if (*Cmd == 0) { - // empty - } else if (*Cmd == 'l') { - sscanf(Cmd, "l %"lli, &c.arg[1]); - } else if(*Cmd == 'h') { - c.arg[0] = 1; - sscanf(Cmd, "h %"lli, &c.arg[1]); - } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { - PrintAndLog("use 'snoop' or 'snoop {l,h} [trigger threshold]', or 'snoop [trigger threshold]'"); - return 0; - } - SendCommand(&c); - WaitForResponse(CMD_ACK,NULL); - return 0; + UsbCommand c = {CMD_LF_SNOOP_RAW_ADC_SAMPLES}; + + // 'h' means higher-low-frequency, 134 kHz + c.arg[0] = 0; + c.arg[1] = -1; + + if (*Cmd == 'l') { + sscanf(Cmd, "l %"lli, &c.arg[1]); + } else if(*Cmd == 'h') { + c.arg[0] = 1; + sscanf(Cmd, "h %"lli, &c.arg[1]); + } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { + PrintAndLog("usage 1: snoop"); + PrintAndLog(" 2: snoop {l,h} [trigger threshold]"); + PrintAndLog(" 3: snoop [trigger threshold]"); + return 0; + } + + SendCommand(&c); + WaitForResponse(CMD_ACK,NULL); + return 0; } int CmdVchDemod(const char *Cmd) { - // Is this the entire sync pattern, or does this also include some - // data bits that happen to be the same everywhere? That would be - // lovely to know. - static const int SyncPattern[] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - }; + // Is this the entire sync pattern, or does this also include some + // data bits that happen to be the same everywhere? That would be + // lovely to know. + static const int SyncPattern[] = { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + }; - // So first, we correlate for the sync pattern, and mark that. - int bestCorrel = 0, bestPos = 0; - int i; - // It does us no good to find the sync pattern, with fewer than - // 2048 samples after it... - for (i = 0; i < (GraphTraceLen-2048); i++) { - int sum = 0; - int j; - for (j = 0; j < arraylen(SyncPattern); j++) { - sum += GraphBuffer[i+j]*SyncPattern[j]; - } - if (sum > bestCorrel) { - bestCorrel = sum; - bestPos = i; - } - } - PrintAndLog("best sync at %d [metric %d]", bestPos, bestCorrel); + // So first, we correlate for the sync pattern, and mark that. + int bestCorrel = 0, bestPos = 0; + int i; + // It does us no good to find the sync pattern, with fewer than + // 2048 samples after it... + for (i = 0; i < (GraphTraceLen-2048); i++) { + int sum = 0; + int j; + for (j = 0; j < arraylen(SyncPattern); j++) { + sum += GraphBuffer[i+j]*SyncPattern[j]; + } + if (sum > bestCorrel) { + bestCorrel = sum; + bestPos = i; + } + } + PrintAndLog("best sync at %d [metric %d]", bestPos, bestCorrel); - char bits[257]; - bits[256] = '\0'; + char bits[257]; + bits[256] = '\0'; - int worst = INT_MAX; - int worstPos = 0; + int worst = INT_MAX; + int worstPos = 0; - for (i = 0; i < 2048; i += 8) { - int sum = 0; - int j; - for (j = 0; j < 8; j++) { - sum += GraphBuffer[bestPos+i+j]; - } - if (sum < 0) { - bits[i/8] = '.'; - } else { - bits[i/8] = '1'; - } - if(abs(sum) < worst) { - worst = abs(sum); - worstPos = i; - } - } - PrintAndLog("bits:"); - PrintAndLog("%s", bits); - PrintAndLog("worst metric: %d at pos %d", worst, worstPos); + for (i = 0; i < 2048; i += 8) { + int sum = 0; + int j; + for (j = 0; j < 8; j++) { + sum += GraphBuffer[bestPos+i+j]; + } + if (sum < 0) { + bits[i/8] = '.'; + } else { + bits[i/8] = '1'; + } + if(abs(sum) < worst) { + worst = abs(sum); + worstPos = i; + } + } + PrintAndLog("bits:"); + PrintAndLog("%s", bits); + PrintAndLog("worst metric: %d at pos %d", worst, worstPos); - if (strcmp(Cmd, "clone")==0) { - GraphTraceLen = 0; - char *s; - for(s = bits; *s; s++) { - int j; - for(j = 0; j < 16; j++) { - GraphBuffer[GraphTraceLen++] = (*s == '1') ? 1 : 0; - } - } - RepaintGraphWindow(); - } - return 0; + if (strcmp(Cmd, "clone")==0) { + GraphTraceLen = 0; + char *s; + for(s = bits; *s; s++) { + int j; + for(j = 0; j < 16; j++) { + GraphBuffer[GraphTraceLen++] = (*s == '1') ? 1 : 0; + } + } + RepaintGraphWindow(); + } + return 0; } //by marshmellow int CmdLFfind(const char *Cmd) { - int ans=0; - if (!offline){ - ans=CmdLFRead(""); - ans=CmdSamples("20000"); - } - if (GraphTraceLen<1000) return 0; - PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); - PrintAndLog("Checking for known tags:"); - - ans=Cmdaskmandemod(""); - if (ans>0) { - PrintAndLog("Valid EM410x ID Found!"); - return 1; - } - ans=CmdFSKdemodHID(""); - if (ans>0) { - PrintAndLog("Valid HID Prox ID Found!"); - return 1; - } - ans=CmdFSKdemodIO(""); - if (ans>0) { - PrintAndLog("Valid IO Prox ID Found!"); - return 1; - } - //add psk and indala - ans=CmdIndalaDecode(""); - if (ans>0) { - PrintAndLog("Valid Indala ID Found!"); - return 1; - } - // ans=CmdIndalaDemod("224"); - // if (ans>0) return 1; - PrintAndLog("No Known Tags Found!\n"); - return 0; + int ans=0; + if (!offline){ + ans=CmdLFRead(""); + ans=CmdSamples("20000"); + } + if (GraphTraceLen<1000) return 0; + PrintAndLog("Checking for known tags:"); + ans=Cmdaskmandemod(""); + if (ans>0) return 1; + ans=CmdFSKdemodHID(""); + if (ans>0) return 1; + ans=CmdFSKdemodIO(""); + if (ans>0) return 1; + //add psk and indala + ans=CmdIndalaDemod(""); + if (ans>0) return 1; + ans=CmdIndalaDemod("224"); + if (ans>0) return 1; + PrintAndLog("No Known Tags Found!\n"); + return 0; } static command_t CommandTable[] = { - {"help", CmdHelp, 1, "This help"}, - {"cmdread", CmdLFCommandRead, 0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)"}, - {"em4x", CmdLFEM4X, 1, "{ EM4X RFIDs... }"}, - {"flexdemod", CmdFlexdemod, 1, "Demodulate samples for FlexPass"}, - {"hid", CmdLFHID, 1, "{ HID RFIDs... }"}, - {"io", CmdLFIO, 1, "{ ioProx tags... }"}, - {"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, - {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, - {"read", CmdLFRead, 0, "['h' or ] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"}, - {"search", CmdLFfind, 1, "Read and Search for valid known tag (in offline mode it you can load first then search)"}, - {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, - {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, - {"simman", CmdLFSimManchester, 0, " [GAP] Simulate arbitrary Manchester LF tag"}, - {"snoop", CmdLFSnoop, 0, "['l'|'h'|] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"}, - {"ti", CmdLFTI, 1, "{ TI RFIDs... }"}, - {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders... }"}, - {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"}, - {"t55xx", CmdLFT55XX, 1, "{ T55xx RFIDs... }"}, - {"pcf7931", CmdLFPCF7931, 1, "{PCF7931 RFIDs...}"}, - {NULL, NULL, 0, NULL} + {"help", CmdHelp, 1, "This help"}, + {"cmdread", CmdLFCommandRead, 0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)"}, + {"em4x", CmdLFEM4X, 1, "{ EM4X RFIDs... }"}, + {"flexdemod", CmdFlexdemod, 1, "Demodulate samples for FlexPass"}, + {"hid", CmdLFHID, 1, "{ HID RFIDs... }"}, + {"io", CmdLFIO, 1, "{ ioProx tags... }"}, + {"indalademod", CmdIndalaDemod, 1, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, + {"indalaclone", CmdIndalaClone, 0, " ['l']-- Clone Indala to T55x7 (tag must be in antenna)(UID in HEX)(option 'l' for 224 UID"}, + {"read", CmdLFRead, 0, "['h' or ] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134, alternatively: f=12MHz/(divisor+1))"}, + {"search", CmdLFfind, 1, "Read and Search for valid known tag (in offline mode it you can load first then search)"}, + {"sim", CmdLFSim, 0, "[GAP] -- Simulate LF tag from buffer with optional GAP (in microseconds)"}, + {"simbidir", CmdLFSimBidir, 0, "Simulate LF tag (with bidirectional data transmission between reader and tag)"}, + {"simman", CmdLFSimManchester, 0, " [GAP] Simulate arbitrary Manchester LF tag"}, + {"snoop", CmdLFSnoop, 0, "['l'|'h'|] [trigger threshold]-- Snoop LF (l:125khz, h:134khz)"}, + {"ti", CmdLFTI, 1, "{ TI RFIDs... }"}, + {"hitag", CmdLFHitag, 1, "{ Hitag tags and transponders... }"}, + {"vchdemod", CmdVchDemod, 1, "['clone'] -- Demodulate samples for VeriChip"}, + {"t55xx", CmdLFT55XX, 1, "{ T55xx RFIDs... }"}, + {"pcf7931", CmdLFPCF7931, 1, "{PCF7931 RFIDs...}"}, + {NULL, NULL, 0, NULL} }; int CmdLF(const char *Cmd) { - CmdsParse(CommandTable, Cmd); - return 0; + CmdsParse(CommandTable, Cmd); + return 0; } int CmdHelp(const char *Cmd) { - CmdsHelp(CommandTable); - return 0; + CmdsHelp(CommandTable); + return 0; } From d6d20c543547d12eff81c5c3de254cf4b8650868 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 7 Jan 2015 19:06:29 -0500 Subject: [PATCH 081/133] cmddata.c changes by others - reapply i overwrote some changes in cmdsamples. i fixed that i also removed some comments in graph.c --- client/cmddata.c | 58 +++++++++++------------------------------------- client/graph.c | 36 ++---------------------------- 2 files changed, 15 insertions(+), 79 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 657a118ba..53a3ce5f4 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -932,35 +932,6 @@ int CmdIndalaDecode(const char *Cmd) return 1; } -/* -//by marshmellow (attempt to get rid of high immediately after a low) -void pskCleanWave2(uint8_t *bitStream, int bitLen) -{ - int i; - int low=128; - int gap = 4; - // int loopMax = 2048; - int newLow=0; - - for (i=0; i sizeof(got)) n = sizeof(got); + int n = strtol(Cmd, NULL, 0); + if (n == 0) + n = 20000; - PrintAndLog("Reading %d samples\n", n); + if (n > sizeof(got)) + n = sizeof(got); + + PrintAndLog("Reading %d samples from device memory\n", n); GetFromBigBuf(got,n,0); WaitForResponse(CMD_ACK,NULL); for (int j = 0; j < n; j++) { - GraphBuffer[cnt++] = ((int)got[j]) - 128; + GraphBuffer[j] = ((int)got[j]) - 128; } - - PrintAndLog("Done!\n"); GraphTraceLen = n; RepaintGraphWindow(); return 0; @@ -1558,8 +1526,8 @@ static command_t CommandTable[] = {"help", CmdHelp, 1, "This help"}, {"amp", CmdAmp, 1, "Amplify peaks"}, {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, - {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, - {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, + {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, @@ -1570,7 +1538,7 @@ static command_t CommandTable[] = {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, - {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to binary (clock = 50)(invert = 1 or 0)(rchigh = 10)(rclow=8)"}, + {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to binary (clock = 50)(invert = 1|0)(rchigh = 10)(rclow=8)"}, {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, {"hide", CmdHide, 1, "Hide graph window"}, @@ -1585,8 +1553,8 @@ static command_t CommandTable[] = {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, - {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional[clock will try Auto-detect])"}, - {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0 or 1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional[clock will try Auto-detect])"}, + {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional[clock will try Auto-detect])"}, + {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional[clock will try Auto-detect])"}, {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, {"save", CmdSave, 1, " -- Save trace (from graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, diff --git a/client/graph.c b/client/graph.c index f41568e4f..e03d1a51e 100644 --- a/client/graph.c +++ b/client/graph.c @@ -166,7 +166,6 @@ size_t getFromGraphBuf(uint8_t *buff) int GetClock(const char *str, int peak, int verbose) { int clock; -// int clock2; sscanf(str, "%i", &clock); if (!strcmp(str, "")) clock = 0; @@ -177,46 +176,18 @@ int GetClock(const char *str, int peak, int verbose) uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; size_t size = getFromGraphBuf(grph); clock = DetectASKClock(grph,size,0); - //clock2 = DetectClock2(peak); /* Only print this message if we're not looping something */ if (!verbose){ PrintAndLog("Auto-detected clock rate: %d", clock); - //PrintAndLog("clock2: %d",clock2); } } return clock; } -int GetNRZpskClock(const char *str, int peak, int verbose) -{ - // return GetClock(str,peak,verbose); - int clock; - // int clock2; - sscanf(str, "%i", &clock); - if (!strcmp(str, "")) - clock = 0; - /* Auto-detect clock */ - if (!clock) - { - uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; - size_t size = getFromGraphBuf(grph); - clock = DetectpskNRZClock(grph,size,0); - //clock2 = DetectClock2(peak); - /* Only print this message if we're not looping something */ - if (!verbose){ - PrintAndLog("Auto-detected clock rate: %d", clock); - //PrintAndLog("clock2: %d",clock2); - } - } - return clock; -} -// Get or auto-detect clock rate -/* int GetNRZpskClock(const char *str, int peak, int verbose) { int clock; -// int clock2; sscanf(str, "%i", &clock); if (!strcmp(str, "")) clock = 0; @@ -225,15 +196,12 @@ int GetNRZpskClock(const char *str, int peak, int verbose) if (!clock) { uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; - int size = getFromGraphBuf(grph); - clock = DetectASKClock(grph,size,0); - //clock2 = DetectClock2(peak); + size_t size = getFromGraphBuf(grph); + clock = DetectpskNRZClock(grph,size,0); // Only print this message if we're not looping something if (!verbose){ PrintAndLog("Auto-detected clock rate: %d", clock); - //PrintAndLog("clock2: %d",clock2); } } return clock; } -*/ From c12512e99ad08689e171e80a01f7148e55ee64e1 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 7 Jan 2015 23:02:00 -0500 Subject: [PATCH 082/133] minor code cleanup --- client/graph.c | 105 ++------------------------------------ common/lfdemod.c | 130 ++++++++++++++++++++--------------------------- 2 files changed, 61 insertions(+), 174 deletions(-) diff --git a/client/graph.c b/client/graph.c index e03d1a51e..9079e0738 100644 --- a/client/graph.c +++ b/client/graph.c @@ -32,7 +32,7 @@ void AppendGraph(int redraw, int clock, int bit) RepaintGraphWindow(); } -/* clear out our graph window */ +// clear out our graph window int ClearGraph(int redraw) { int gtl = GraphTraceLen; @@ -44,103 +44,8 @@ int ClearGraph(int redraw) return gtl; } -/* - * Detect clock rate - */ - //decommissioned - has difficulty detecting rf/32 -/* -int DetectClockOld(int peak) -{ - int i; - int clock = 0xFFFF; - int lastpeak = 0; +// DETECT CLOCK NOW IN LFDEMOD.C - // Detect peak if we don't have one - if (!peak) - for (i = 0; i < GraphTraceLen; ++i) - if (GraphBuffer[i] > peak) - peak = GraphBuffer[i]; - - // peak=(int)(peak*.75); - for (i = 1; i < GraphTraceLen; ++i) - { - // If this is the beginning of a peak - if (GraphBuffer[i - 1] != GraphBuffer[i] && GraphBuffer[i] >= peak) - { - // Find lowest difference between peaks - if (lastpeak && i - lastpeak < clock) - clock = i - lastpeak; - lastpeak = i; - } - } - - return clock; -} -*/ -/* -NOW IN LFDEMOD.C - -// by marshmellow -// not perfect especially with lower clocks or VERY good antennas (heavy wave clipping) -// maybe somehow adjust peak trimming value based on samples to fix? -int DetectASKClock(int peak) -{ - int i=0; - int low=0; - int clk[]={16,32,40,50,64,100,128,256}; - int loopCnt = 256; - if (GraphTraceLenpeak){ - peak = GraphBuffer[i]; - } - if(GraphBuffer[i]=peak) || (GraphBuffer[ii]<=low)){ - errCnt[clkCnt]=0; - for (i=0; i<((int)(GraphTraceLen/clk[clkCnt])-1); ++i){ - if (GraphBuffer[ii+(i*clk[clkCnt])]>=peak || GraphBuffer[ii+(i*clk[clkCnt])]<=low){ - }else if(GraphBuffer[ii+(i*clk[clkCnt])-tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(GraphBuffer[ii+(i*clk[clkCnt])+tol]>=peak || GraphBuffer[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt[clkCnt]++; - } - } - if(errCnt[clkCnt]==0) return clk[clkCnt]; - if(errCnt[clkCnt]>1)<<1)){ parityTest=0; for (ii=0; ii<4;++ii){ - //hi = (hi<<1)|(lo>>31); lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); } //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); @@ -106,8 +105,8 @@ int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) return -2; } //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + high=(int)(((high-128)*.75)+128); + low= (int)(((low-128)*.75)+128); //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); int lastBit = 0; //set first clock check @@ -292,7 +291,7 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) if (*clk<32) *clk=32; if (*invert != 0 && *invert != 1) *invert =0; uint32_t initLoopMax = 200; - if (initLoopMax>*size) initLoopMax=*size; + if (initLoopMax > *size) initLoopMax=*size; // Detect high and lows for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values { @@ -306,14 +305,16 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) return -2; } //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)((high-128)*.75)+128; - low= (int)((low-128)*.75)+128; + high=(int)(((high-128)*.75)+128); + low= (int)(((low-128)*.75)+128); //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); int lastBit = 0; //set first clock check uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock + // if they fall + or - this value + clock from last valid wave + if (*clk == 32) tol=1; //clock tolerance may not be needed anymore currently set to + // + or - 1 but could be increased for poor waves or removed entirely uint32_t iii = 0; uint32_t gLen = *size; if (gLen > 500) gLen=500; @@ -366,7 +367,6 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) bitnum++; } - errCnt++; lastBit+=*clk;//skip over until hit too many errors if (errCnt > ((*size/1000))){ //allow 1 error for every 1000 samples else start over @@ -395,26 +395,10 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) } } if (bitnum>16){ - - // PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to BinStream - // ClearGraph(0); for (i=0; i < bitnum; ++i){ BinStream[i]=BitStream[i]; } *size=bitnum; - // RepaintGraphWindow(); - //output - // if (errCnt>0){ - // PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - // } - // PrintAndLog("ASK decoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - // printBitStream2(BitStream,bitnum); - //int errCnt=0; - //errCnt=manrawdemod(BitStream,bitnum); - - // Em410xDecode(Cmd); } else return -1; return errCnt; } @@ -496,10 +480,8 @@ size_t aggregate_bits(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t maxCons //if lastval was 1, we have a 1->0 crossing if ( dest[idx-1]==1 ) { n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); - //n=(n+1) / h2l_crossing_value; } else {// 0->1 crossing n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor - //n=(n+1) / l2h_crossing_value; } if (n == 0) n = 1; @@ -642,14 +624,14 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock) //if we already have a valid clock quit for (;i<8;++i) - if (clk[i]==clock) return clock; + if (clk[i] == clock) return clock; //get high and low peak - for (i=0;ipeak){ + for (i=0; i < loopCnt; ++i){ + if(dest[i] > peak){ peak = dest[i]; } - if(dest[i]=peak) || (dest[ii]<=low)){ + for (ii=0; ii< loopCnt; ++ii){ + if ((dest[ii] >= peak) || (dest[ii] <= low)){ errCnt=0; // now that we have the first one lined up test rest of wave array for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ @@ -693,7 +675,7 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock) for (iii=0; iii<7;++iii){ if (bestErr[iii]peak){ + for (i=0; i < loopCnt; ++i){ + if(dest[i] > peak){ peak = dest[i]; } - if(dest[i]=peak) || (dest[ii]<=low)){ + for (ii=0; ii< loopCnt; ++ii){ + if ((dest[ii] >= peak) || (dest[ii] <= low)){ errCnt=0; peakcnt=0; // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ + for (i=0; i < ((int)(size/clk[clkCnt])-1); ++i){ if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ peakcnt++; }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ @@ -771,13 +753,13 @@ int DetectpskNRZClock(uint8_t dest[], size_t size, int clock) //int ratio2; //debug int ratio; //int bits; - for (iii=0; iii<7;++iii){ + for (iii=0; iii < 7; ++iii){ ratio=1000; //ratio2=1000; //debug //bits=size/clk[iii]; //debug - if (peaksdet[iii]>0){ + if (peaksdet[iii] > 0){ ratio=bestErr[iii]/peaksdet[iii]; - if (((bestErr[best]/peaksdet[best])>(ratio)+1)){ + if (((bestErr[best]/peaksdet[best]) > (ratio)+1)){ best = iii; } //ratio2=bits/peaksdet[iii]; //debug @@ -797,31 +779,31 @@ void pskCleanWave(uint8_t *bitStream, size_t size) // int loopMax = 2048; int newLow=0; int newHigh=0; - for (i=0; ihigh) high=bitStream[i]; + for (i=0; i < size; ++i){ + if (bitStream[i] < low) low=bitStream[i]; + if (bitStream[i] > high) high=bitStream[i]; } high = (int)(((high-128)*.80)+128); low = (int)(((low-128)*.90)+128); //low = (uint8_t)(((int)(low)-128)*.80)+128; - for (i=0; i=high) newHigh=1; + if (bitStream[i] <= low) newLow=1; + if (bitStream[i] >= high) newHigh=1; } return; } @@ -905,9 +887,9 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) uint32_t gLen = *size; if (gLen > 1280) gLen=1280; // get high - for (i=0; ihigh) high = dest[i]; - if (dest[i] high) high = dest[i]; + if (dest[i] < low) low = dest[i]; } //fudge high/low bars by 25% high = (uint8_t)((((int)(high)-128)*.75)+128); @@ -930,7 +912,7 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) //PrintAndLog("DEBUG - lastbit - %d",lastBit); //loop to find first wave that works - align to clock for (iii=0; iii < gLen; ++iii){ - if ((dest[iii]>=high)||(dest[iii]<=low)){ + if ((dest[iii]>=high) || (dest[iii]<=low)){ lastBit=iii-*clk; //loop through to see if this start location works for (i = iii; i < *size; ++i) { @@ -947,12 +929,12 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) ignorewin=*clk/8; bitnum++; //else if no bars found - }else if(dest[i]low) { + }else if(dest[i] < high && dest[i] > low) { if (ignorewin==0){ bitHigh=0; }else ignorewin--; //if we are past a clock point - if (i>=lastBit+*clk+tol){ //clock val + if (i >= lastBit+*clk+tol){ //clock val lastBit+=*clk; bitnum++; } @@ -964,29 +946,29 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) if (bitnum>=1000) break; } //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(maxErr))) { + if ((bitnum > (64+errCnt)) && (errCnt < (maxErr))) { //possible good read - if (errCnt==0){ + if (errCnt == 0){ bestStart = iii; - bestErrCnt=errCnt; + bestErrCnt = errCnt; break; //great read - finish } if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish - if (errCnt=high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ + if ((dest[i] >= high ) && (i>=lastBit+*clk-tol && i<=lastBit+*clk+tol)){ bitHigh=1; lastBit+=*clk; curBit=1-*invert; From 03d7b60f2ba01c992a90d2c9c3a150ad83edd188 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Thu, 8 Jan 2015 17:36:01 +0100 Subject: [PATCH 083/133] ADD: default_toys.lua a script which identify tnp3xx tags --- client/lualibs/default_toys.lua | 63 +++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 client/lualibs/default_toys.lua diff --git a/client/lualibs/default_toys.lua b/client/lualibs/default_toys.lua new file mode 100644 index 000000000..abb565154 --- /dev/null +++ b/client/lualibs/default_toys.lua @@ -0,0 +1,63 @@ +local _names = { + --[[ + --]] + ["0400"]="BASH", + ["1600"]="BOOMER" , + ["1800"]="CAMO", + ["3000"]="CHOPCHOP" , + ["2000"]="CYNDER", + ["6400"]="JET-VAC", + ["6700"]="FLASHWING", + ["7000"]="TREE REX", + ["7100"]="LIGHTCORE SHROOMBOOM", + ["1C00"]="DARK SPYRO", + ["0600"]="DINORANG" , + ["1200"]="DOUBLE TROUBLE" , + ["1500"]="DRILLSERGEANT" , + ["1400"]="DROBOT", + ["0900"]="LIGHTCORE ERUPTOR" , + ["0B00"]="FLAMESLINGER" , + ["1F00"]="GHOST ROASTER", + ["0E00"]="GILL GRUNT" , + ["1D00"]="HEX", + ["0A00"]="IGNITOR", + ["0300"]="LIGHTNINGROD", + ["0700"]="LIGHTCORE PRISM BREAK", + ["1500"]="SLAMBAM", + ["0100"]="SONIC BOOM", + ["1000"]="SPYRO", + ["1A00"]="STEALTH ELF", + ["1B00"]="STUMP SMASH", + ["0800"]="SUNBURN", + ["0500"]="TERRAFIN", + ["1300"]="TRIGGER HAPPY", + ["1100"]="VOODOOD", + ["0200"]="WARNADO", + ["0D00"]="WHAM SHELL", + ["0000"]="WHIRLWIND", + ["1700"]="WRECKING BALL", + ["0C00"]="ZAP", + ["1900"]="ZOOK", + ["0300"]="DRAGON", + ["012D"]="ICE", + ["012E"]="PIRATE", + ["0130"]="PVPUNLOCK", + ["012F"]="UNDEAD", + ["0200"]="ANVIL" , + ["CB00"]="CROSSED SWORDS", + ["CC00"]="HOURGLASS", + ["CA00"]="REGENERATION", + ["C900"]="SECRET STASH", + ["CD00"]="SHIELD", + ["CF00"]="SPARX", + ["CE00"]="SPEED BOOTS", + ["0194"]="LEGENDARY BASH", + ["0430"]="LEGENDARY CHOPCHOP", + ["01A0"]="LEGENDARY SPYRO", + ["01A3"]="LEGENDARY TRIGGER HAPPY", + ["0202"]="PET GILL GRUNT", + ["020E"]="PET STEALTH ELF", + ["01F9"]="PET TERRAFIN", + ["0207"]="PET TRIGGER HAPPY", +} +return _names From 31d1caa526a7354ff608b6d44faeea2d04c68896 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 8 Jan 2015 17:51:52 +0100 Subject: [PATCH 084/133] Reverted some minor things, altered other things to get it to compile cleanly --- armsrc/appmain.c | 5 ++++- armsrc/apps.h | 2 +- armsrc/crapto1.c | 4 ++-- armsrc/mifarecmd.c | 24 ++++++++++++------------ client/cmdhflegic.c | 2 +- client/cmdhfmf.c | 3 +++ client/cmdlf.c | 1 + client/lualibs/html_dumplib.lua | 2 +- include/usb_cmd.h | 2 -- 9 files changed, 25 insertions(+), 20 deletions(-) diff --git a/armsrc/appmain.c b/armsrc/appmain.c index ca16ee60f..530dc39cd 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -18,6 +18,7 @@ #include "util.h" #include "printf.h" #include "string.h" + #include #include "legicrf.h" @@ -667,7 +668,9 @@ void UsbPacketReceived(uint8_t *packet, int len) WriteTItag(c->arg[0],c->arg[1],c->arg[2]); break; case CMD_SIMULATE_TAG_125K: + LED_A_ON(); SimulateTagLowFrequency(c->arg[0], c->arg[1], 1); + LED_A_OFF(); break; case CMD_LF_SIMULATE_BIDIR: SimulateTagLowFrequencyBidir(c->arg[0], c->arg[1]); @@ -799,7 +802,7 @@ void UsbPacketReceived(uint8_t *packet, int len) MifareUReadBlock(c->arg[0],c->d.asBytes); break; case CMD_MIFAREU_READCARD: - MifareUReadCard(c->arg[0],c->d.asBytes); + MifareUReadCard(c->arg[0], c->arg[1], c->d.asBytes); break; case CMD_MIFARE_READSC: MifareReadSector(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); diff --git a/armsrc/apps.h b/armsrc/apps.h index eafee559a..ce721525d 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -177,7 +177,7 @@ void ReaderMifare(bool first_try); int32_t dist_nt(uint32_t nt1, uint32_t nt2); void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *data); void MifareUReadBlock(uint8_t arg0,uint8_t *datain); -void MifareUReadCard(uint8_t arg0,uint8_t *datain); +void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain); void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain); void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain); void MifareUWriteBlock(uint8_t arg0,uint8_t *datain); diff --git a/armsrc/crapto1.c b/armsrc/crapto1.c index df0834b89..9d491d127 100644 --- a/armsrc/crapto1.c +++ b/armsrc/crapto1.c @@ -44,12 +44,12 @@ static void quicksort(uint32_t* const start, uint32_t* const stop) else if(*rit > *start) --rit; else - *it ^= ( (*it ^= *rit ), *rit ^= *it); + *it ^= (*it ^= *rit, *rit ^= *it); if(*rit >= *start) --rit; if(rit != start) - *rit ^= ( (*rit ^= *start), *start ^= *rit); + *rit ^= (*rit ^= *start, *start ^= *rit); quicksort(start, rit - 1); quicksort(rit + 1, stop); diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index 2619a9763..ecd8728db 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -102,21 +102,21 @@ void MifareUReadBlock(uint8_t arg0,uint8_t *datain) int len = iso14443a_select_card(uid, NULL, &cuid); if(!len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card"); - OnError(1); + //OnError(1); return; }; len = mifare_ultra_readblock(cuid, blockNo, dataout); if(len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Read block error"); - OnError(2); + //OnError(2); return; }; len = mifare_ultra_halt(cuid); if(len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Halt error"); - OnError(3); + //OnError(3); return; }; @@ -201,11 +201,11 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) int count_Pages = 0; byte_t dataout[176] = {0x00};; uint8_t uid[10] = {0x00}; - uint32_t cuid; + uint32_t cuid; - LED_A_ON(); - LED_B_OFF(); - LED_C_OFF(); + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); if (MF_DBGLEVEL >= MF_DBG_ALL) Dbprintf("Pages %d",Pages); @@ -218,7 +218,7 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) if (!len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Can't select card"); - OnError(1); + //OnError(1); return; } @@ -229,7 +229,7 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) if (len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Read block %d error",i); - OnError(2); + //OnError(2); return; } else { count_Pages++; @@ -240,7 +240,7 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) if (len) { if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Halt error"); - OnError(3); + //OnError(3); return; } @@ -255,8 +255,8 @@ void MifareUReadCard(uint8_t arg0, int arg1, uint8_t *datain) len = 176; cmd_send(CMD_ACK, 1, 0, 0, dataout, len); - FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); - LEDsoff(); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LEDsoff(); } diff --git a/client/cmdhflegic.c b/client/cmdhflegic.c index 35ba1f28c..7ee601b23 100644 --- a/client/cmdhflegic.c +++ b/client/cmdhflegic.c @@ -16,7 +16,7 @@ #include "cmdparser.h" #include "cmdhflegic.h" #include "cmdmain.h" - +#include "util.h" static int CmdHelp(const char *Cmd); static command_t CommandTable[] = diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 66c0b25d1..aae6290d0 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -662,6 +662,8 @@ int CmdHF14AMfRestore(const char *Cmd) for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { if (fread(keyA[sectorNo], 1, 6, fkeys) == 0) { PrintAndLog("File reading error (dumpkeys.bin)."); + + fclose(fkeys); return 2; } } @@ -669,6 +671,7 @@ int CmdHF14AMfRestore(const char *Cmd) for (sectorNo = 0; sectorNo < numSectors; sectorNo++) { if (fread(keyB[sectorNo], 1, 6, fkeys) == 0) { PrintAndLog("File reading error (dumpkeys.bin)."); + fclose(fkeys); return 2; } } diff --git a/client/cmdlf.c b/client/cmdlf.c index 572cda6ca..65d6fdd5f 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -19,6 +19,7 @@ #include "cmdparser.h" #include "cmdmain.h" #include "cmddata.h" +#include "util.h" #include "cmdlf.h" #include "cmdlfhid.h" #include "cmdlfti.h" diff --git a/client/lualibs/html_dumplib.lua b/client/lualibs/html_dumplib.lua index 44b6b352b..3a28d5ae6 100644 --- a/client/lualibs/html_dumplib.lua +++ b/client/lualibs/html_dumplib.lua @@ -49,7 +49,7 @@ end local function save_TEXT(data,filename) -- Open the output file - local outfile = io.open(filename, "wb") + local outfile = io.open(filename, "w") if outfile == nil then return oops(string.format("Could not write to file %s",tostring(filename))) end diff --git a/include/usb_cmd.h b/include/usb_cmd.h index c2e0b95bd..69c3c1b6a 100644 --- a/include/usb_cmd.h +++ b/include/usb_cmd.h @@ -150,10 +150,8 @@ typedef struct { #define CMD_MIFARE_READBL 0x0620 #define CMD_MIFAREU_READBL 0x0720 - #define CMD_MIFARE_READSC 0x0621 #define CMD_MIFAREU_READCARD 0x0721 - #define CMD_MIFARE_WRITEBL 0x0622 #define CMD_MIFAREU_WRITEBL 0x0722 #define CMD_MIFAREU_WRITEBL_COMPAT 0x0723 From 473124be92f5108df63146ef8b6be2a1db30b87a Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 9 Jan 2015 21:51:34 +0100 Subject: [PATCH 085/133] removed double include --- client/cmdhw.c | 1 - 1 file changed, 1 deletion(-) diff --git a/client/cmdhw.c b/client/cmdhw.c index 4f65fb8c2..5ec0aa601 100644 --- a/client/cmdhw.c +++ b/client/cmdhw.c @@ -15,7 +15,6 @@ #include "ui.h" #include "proxmark3.h" #include "cmdparser.h" -#include "cmddata.h" #include "cmdhw.h" #include "cmdmain.h" #include "cmddata.h" From ac3ba7ee694dc67ee4c8bae293111b6c26f551a2 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Fri, 9 Jan 2015 16:46:17 -0500 Subject: [PATCH 086/133] lf search use new psk, small demod adjustments adjust thresholds for ask, fsk, io, psk based on more sample testing adjust indala decode to set clock to 32 if no input (autodetect not always correct) --- client/cmddata.c | 6 ++++- client/cmdlf.c | 58 ++++++++++++++++++++++++++++++------------------ common/lfdemod.c | 26 +++++++--------------- 3 files changed, 49 insertions(+), 41 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 53a3ce5f4..781ca50c1 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -870,8 +870,12 @@ int PSKnrzDemod(const char *Cmd){ // optional arguments - same as CmdpskNRZrawDemod (clock & invert) int CmdIndalaDecode(const char *Cmd) { + int ans; + if (strlen(Cmd)>0) + ans=PSKnrzDemod(Cmd); + else + ans=PSKnrzDemod("32"); - int ans=PSKnrzDemod(Cmd); if (ans < 0){ PrintAndLog("Error1: %d",ans); return 0; diff --git a/client/cmdlf.c b/client/cmdlf.c index 18bcf747e..d9fe5fa9e 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -110,9 +110,9 @@ int CmdFlexdemod(const char *Cmd) i = 0; int phase = 0; for (bit = 0; bit < 64; bit++) { - + phase = (bits[bit] == 0) ? 0 : 1; - + int j; for (j = 0; j < 32; j++) { GraphBuffer[i++] = phase; @@ -123,7 +123,7 @@ int CmdFlexdemod(const char *Cmd) RepaintGraphWindow(); return 0; } - + int CmdIndalaDemod(const char *Cmd) { // Usage: recover 64bit UID by default, specify "224" as arg to recover a 224bit UID @@ -167,7 +167,7 @@ int CmdIndalaDemod(const char *Cmd) count = 0; } } - + if (rawbit>0){ PrintAndLog("Recovered %d raw bits, expected: %d", rawbit, GraphTraceLen/32); PrintAndLog("worst metric (0=best..7=worst): %d at pos %d", worst, worstPos); @@ -198,7 +198,7 @@ int CmdIndalaDemod(const char *Cmd) break; } } - + if (start == rawbit - uidlen + 1) { PrintAndLog("nothing to wait for"); return 0; @@ -217,7 +217,7 @@ int CmdIndalaDemod(const char *Cmd) int bit; i = start; int times = 0; - + if (uidlen > rawbit) { PrintAndLog("Warning: not enough raw bits to get a full UID"); for (bit = 0; bit < rawbit; bit++) { @@ -235,12 +235,12 @@ int CmdIndalaDemod(const char *Cmd) } times = 1; } - + //convert UID to HEX uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; int idx; uid1 = uid2 = 0; - + if (uidlen==64){ for( idx=0; idx<64; idx++) { if (showbits[idx] == '0') { @@ -249,7 +249,7 @@ int CmdIndalaDemod(const char *Cmd) } else { uid1=(uid1<<1)|(uid2>>31); uid2=(uid2<<1)|1; - } + } } PrintAndLog("UID=%s (%x%08x)", showbits, uid1, uid2); } @@ -263,10 +263,10 @@ int CmdIndalaDemod(const char *Cmd) uid4=(uid4<<1)|(uid5>>31); uid5=(uid5<<1)|(uid6>>31); uid6=(uid6<<1)|(uid7>>31); - - if (showbits[idx] == '0') + + if (showbits[idx] == '0') uid7 = (uid7<<1) | 0; - else + else uid7 = (uid7<<1) | 1; } PrintAndLog("UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); @@ -291,7 +291,7 @@ int CmdIndalaDemod(const char *Cmd) PrintAndLog("Occurrences: %d (expected %d)", times, (rawbit - start) / uidlen); // Remodulating for tag cloning - // HACK: 2015-01-04 this will have an impact on our new way of seening lf commands (demod) + // HACK: 2015-01-04 this will have an impact on our new way of seening lf commands (demod) // since this changes graphbuffer data. GraphTraceLen = 32*uidlen; i = 0; @@ -559,23 +559,37 @@ int CmdLFfind(const char *Cmd) ans=CmdSamples("20000"); } if (GraphTraceLen<1000) return 0; + PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); PrintAndLog("Checking for known tags:"); + ans=Cmdaskmandemod(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid EM410x ID Found!"); + return 1; + } ans=CmdFSKdemodHID(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid HID Prox ID Found!"); + return 1; + } ans=CmdFSKdemodIO(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid IO Prox ID Found!"); + return 1; + } //add psk and indala - ans=CmdIndalaDemod(""); - if (ans>0) return 1; - ans=CmdIndalaDemod("224"); - if (ans>0) return 1; + ans=CmdIndalaDecode(""); + if (ans>0) { + PrintAndLog("Valid Indala ID Found!"); + return 1; + } + // ans=CmdIndalaDemod("224"); + // if (ans>0) return 1; PrintAndLog("No Known Tags Found!\n"); return 0; } -static command_t CommandTable[] = +static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, {"cmdread", CmdLFCommandRead, 0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)"}, @@ -602,7 +616,7 @@ static command_t CommandTable[] = int CmdLF(const char *Cmd) { CmdsParse(CommandTable, Cmd); - return 0; + return 0; } int CmdHelp(const char *Cmd) diff --git a/common/lfdemod.c b/common/lfdemod.c index 25e525524..11ad1403e 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -300,7 +300,7 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) else if (BinStream[i] < low) low = BinStream[i]; } - if ((high < 158)){ //throw away static + if ((high < 134)){ //throw away static high has to be more than 6 on graph. noise <= -10 here // PrintAndLog("no data found"); return -2; } @@ -407,21 +407,11 @@ size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow { uint32_t last_transition = 0; uint32_t idx = 1; - uint32_t maxVal=0; + //uint32_t maxVal=0; if (fchigh==0) fchigh=10; if (fclow==0) fclow=8; - // we do care about the actual theshold value as sometimes near the center of the - // wave we may get static that changes direction of wave for one value - // if our value is too low it might affect the read. and if our tag or - // antenna is weak a setting too high might not see anything. [marshmellow] - if (size<100) return 0; - for(idx=1; idx<100; idx++){ - if(maxVal Date: Sun, 11 Jan 2015 21:49:13 +0100 Subject: [PATCH 087/133] Fixed error when no match is found for uidmapping --- client/cmdhf14a.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 53ab240c7..01602d76a 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -112,20 +112,15 @@ const manufactureName manufactureMapping[] = { // returns description of the best match char* getTagInfo(uint8_t uid) { - int i, best = -1; + int i; int len = sizeof(manufactureMapping) / sizeof(manufactureName); - for ( i = 0; i < len; ++i ) { - if ( uid == manufactureMapping[i].uid) { - if (best == -1) { - best = i; - } - } - } + for ( i = 0; i < len; ++i ) + if ( uid == manufactureMapping[i].uid) + return manufactureMapping[i].desc; - if (best>=0) return manufactureMapping[best].desc; - - return manufactureMapping[i].desc; + //No match, return default + return manufactureMapping[len-1].desc; } int CmdHF14AList(const char *Cmd) From 1f6417a9b25f05a29e8de171fb26022c996453b3 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 12 Jan 2015 21:47:36 +0100 Subject: [PATCH 088/133] Removed dependency on openssl, added AES implementation from polarssl instead --- client/Makefile | 5 +++-- client/scripting.c | 20 ++++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/client/Makefile b/client/Makefile index 37616e485..523a1ad11 100644 --- a/client/Makefile +++ b/client/Makefile @@ -13,9 +13,9 @@ CXX=g++ VPATH = ../common OBJDIR = obj -LDLIBS = -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm -lcrypto +LDLIBS = -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm LDFLAGS = $(COMMON_FLAGS) -CFLAGS = -std=c99 -lcrypto -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 +CFLAGS = -std=c99 -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 LUAPLATFORM = generic ifneq (,$(findstring MINGW,$(platform))) @@ -94,6 +94,7 @@ CMDSRCS = nonce2key/crapto1.c\ scripting.c\ cmdscript.c\ pm3_bitlib.c\ + aes.c\ COREOBJS = $(CORESRCS:%.c=$(OBJDIR)/%.o) diff --git a/client/scripting.c b/client/scripting.c index eed5544b9..0ccdeeec7 100644 --- a/client/scripting.c +++ b/client/scripting.c @@ -18,8 +18,8 @@ #include "util.h" #include "nonce2key/nonce2key.h" #include "../common/iso15693tools.h" -#include #include "../common/crc16.h" +#include "aes.h" /** * The following params expected: * UsbCommand c @@ -240,10 +240,10 @@ static int l_aes(lua_State *L) const char *p_encTxt = luaL_checklstring(L, 2, &size); - unsigned char indata[AES_BLOCK_SIZE] = {0x00}; - unsigned char outdata[AES_BLOCK_SIZE] = {0x00}; - unsigned char aes_key[AES_BLOCK_SIZE] = {0x00}; - unsigned char iv[AES_BLOCK_SIZE] = {0x00}; + unsigned char indata[16] = {0x00}; + unsigned char outdata[16] = {0x00}; + unsigned char aes_key[16] = {0x00}; + unsigned char iv[16] = {0x00}; // convert key to bytearray for (i = 0; i < 32; i += 2) { @@ -255,10 +255,14 @@ static int l_aes(lua_State *L) sscanf(&p_key[i], "%02x", (unsigned int *)&aes_key[i / 2]); } - AES_KEY key; - AES_set_decrypt_key(aes_key, 128, &key); - AES_cbc_encrypt(indata, outdata, sizeof(indata), &key, iv, AES_DECRYPT); + //AES_KEY key; + //AES_set_decrypt_key(aes_key, 128, &key); + //AES_cbc_encrypt(indata, outdata, sizeof(indata), &key, iv, AES_DECRYPT); + aes_context ctx; + aes_init(&ctx); + aes_setkey_enc(&ctx,(const unsigned char *)p_key,128); + aes_crypt_cbc(&ctx,AES_DECRYPT,sizeof(indata), iv, indata,outdata ); //Push decrypted array as a string lua_pushlstring(L,(const char *)&outdata, sizeof(outdata)); return 1;// return 1 to signal one return value From 55eaed8f2ad26b9db249e2259c13444c38906795 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 12 Jan 2015 22:08:57 +0100 Subject: [PATCH 089/133] Documentation to apps.h, documentation/renaming to iclass --- armsrc/apps.h | 19 ++++++++++ armsrc/iclass.c | 96 +++++++++++++++++++++++++++---------------------- 2 files changed, 73 insertions(+), 42 deletions(-) diff --git a/armsrc/apps.h b/armsrc/apps.h index eafee559a..ea70144e7 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -37,6 +37,25 @@ uint32_t BigBuf[BIGBUF_SIZE / sizeof(uint32_t)]; #define FREE_BUFFER_OFFSET (CARD_MEMORY_OFFSET + CARD_MEMORY_SIZE) #define FREE_BUFFER_SIZE (BIGBUF_SIZE - FREE_BUFFER_OFFSET - 1) +/* +The statements above translates into this : +BIGBUF_SIZE = 40000 +TRACE_OFFSET = 0 +TRACE_SIZE = 3000 +RECV_CMD_OFFSET = 3000 +MAX_FRAME_SIZE = 256 +MAX_PARITY_SIZE = 32 +RECV_CMD_PAR_OFFSET = 3256 +RECV_RESP_OFFSET = 3288 +RECV_RESP_PAR_OFFSET= 3544 +CARD_MEMORY_OFFSET = 3576 +CARD_MEMORY_SIZE = 4096 +DMA_BUFFER_OFFSET = 3576 +DMA_BUFFER_SIZE = 4096 +FREE_BUFFER_OFFSET = 7672 +FREE_BUFFER_SIZE = 32327 + */ + extern const uint8_t OddByteParity[256]; extern uint8_t *trace; // = (uint8_t *) BigBuf; extern int traceLen; // = 0; diff --git a/armsrc/iclass.c b/armsrc/iclass.c index ea9af7d4f..64abc84ab 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -687,7 +687,8 @@ void RAMFUNC SnoopIClass(void) SetAdcMuxFor(GPIO_MUXSEL_HIPKD); uint32_t time_0 = GetCountSspClk(); - + uint32_t time_start = 0; + uint32_t time_stop = 0; int div = 0; //int div2 = 0; @@ -738,6 +739,7 @@ void RAMFUNC SnoopIClass(void) smpl = decbyter; if(OutOfNDecoding((smpl & 0xF0) >> 4)) { rsamples = samples - Uart.samples; + time_stop = (GetCountSspClk()-time_0) << 4; LED_C_ON(); //if(!LogTrace(Uart.output,Uart.byteCnt, rsamples, Uart.parityBits,TRUE)) break; @@ -745,7 +747,7 @@ void RAMFUNC SnoopIClass(void) if(tracing) { uint8_t parity[MAX_PARITY_SIZE]; GetParity(Uart.output, Uart.byteCnt, parity); - LogTrace(Uart.output,Uart.byteCnt, (GetCountSspClk()-time_0) << 4, (GetCountSspClk()-time_0) << 4, parity, TRUE); + LogTrace(Uart.output,Uart.byteCnt, time_start, time_stop, parity, TRUE); } @@ -756,6 +758,8 @@ void RAMFUNC SnoopIClass(void) Demod.state = DEMOD_UNSYNCD; LED_B_OFF(); Uart.byteCnt = 0; + }else{ + time_start = (GetCountSspClk()-time_0) << 4; } decbyter = 0; } @@ -763,21 +767,24 @@ void RAMFUNC SnoopIClass(void) if(div > 3) { smpl = decbyte; if(ManchesterDecoding(smpl & 0x0F)) { - rsamples = samples - Demod.samples; + time_stop = (GetCountSspClk()-time_0) << 4; + + rsamples = samples - Demod.samples; LED_B_ON(); if(tracing) { uint8_t parity[MAX_PARITY_SIZE]; GetParity(Demod.output, Demod.len, parity); - LogTrace(Demod.output, Demod.len, (GetCountSspClk()-time_0) << 4, (GetCountSspClk()-time_0) << 4, parity, FALSE); + LogTrace(Demod.output, Demod.len, time_start, time_stop, parity, FALSE); } - // And ready to receive another response. memset(&Demod, 0, sizeof(Demod)); Demod.output = tagToReaderResponse; Demod.state = DEMOD_UNSYNCD; LED_C_OFF(); + }else{ + time_start = (GetCountSspClk()-time_0) << 4; } div = 0; @@ -928,6 +935,7 @@ static void CodeIClassTagSOF() // Convert from last byte pos to length ToSendMax++; } + int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader_mac_buf); /** * @brief SimulateIClass simulates an iClass card. @@ -997,7 +1005,9 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain */ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader_mac_buf) { + // CSN followed by two CRC bytes + uint8_t response1[] = { 0x0F} ; uint8_t response2[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; uint8_t response3[] = { 0,0,0,0,0,0,0,0,0,0}; memcpy(response3,csn,sizeof(response3)); @@ -1020,11 +1030,11 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader // Reader 81 anticoll. CSN // Tag CSN - uint8_t *resp; - int respLen; - uint8_t* respdata = NULL; - int respsize = 0; - uint8_t sof = 0x0f; + uint8_t *modulated_response; + int modulated_response_size; + uint8_t* trace_data = NULL; + int trace_data_size = 0; + //uint8_t sof = 0x0f; // Respond SOF -- takes 8 bytes uint8_t *resp1 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); @@ -1089,11 +1099,6 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader LED_A_ON(); bool buttonPressed = false; - /** Hack for testing - memcpy(reader_mac_buf,csn,8); - exitLoop = true; - end hack **/ - while(!exitLoop) { LED_B_OFF(); @@ -1112,35 +1117,35 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader // Okay, look at the command now. if(receivedCmd[0] == 0x0a ) { // Reader in anticollission phase - resp = resp1; respLen = resp1Len; //order = 1; - respdata = &sof; - respsize = sizeof(sof); + modulated_response = resp1; modulated_response_size = resp1Len; //order = 1; + trace_data = response1; + trace_data_size = sizeof(response1); } else if(receivedCmd[0] == 0x0c) { // Reader asks for anticollission CSN - resp = resp2; respLen = resp2Len; //order = 2; - respdata = response2; - respsize = sizeof(response2); + modulated_response = resp2; modulated_response_size = resp2Len; //order = 2; + trace_data = response2; + trace_data_size = sizeof(response2); //DbpString("Reader requests anticollission CSN:"); } else if(receivedCmd[0] == 0x81) { // Reader selects anticollission CSN. // Tag sends the corresponding real CSN - resp = resp3; respLen = resp3Len; //order = 3; - respdata = response3; - respsize = sizeof(response3); + modulated_response = resp3; modulated_response_size = resp3Len; //order = 3; + trace_data = response3; + trace_data_size = sizeof(response3); //DbpString("Reader selects anticollission CSN:"); } else if(receivedCmd[0] == 0x88) { // Read e-purse (88 02) - resp = resp4; respLen = resp4Len; //order = 4; - respdata = response4; - respsize = sizeof(response4); + modulated_response = resp4; modulated_response_size = resp4Len; //order = 4; + trace_data = response4; + trace_data_size = sizeof(response4); LED_B_ON(); } else if(receivedCmd[0] == 0x05) { // Reader random and reader MAC!!! // Do not respond // We do not know what to answer, so lets keep quiet - resp = resp1; respLen = 0; //order = 5; - respdata = NULL; - respsize = 0; + modulated_response = resp1; modulated_response_size = 0; //order = 5; + trace_data = NULL; + trace_data_size = 0; if (breakAfterMacReceived){ // dbprintf:ing ... Dbprintf("CSN: %02x %02x %02x %02x %02x %02x %02x %02x" @@ -1157,9 +1162,9 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader } } else if(receivedCmd[0] == 0x00 && len == 1) { // Reader ends the session - resp = resp1; respLen = 0; //order = 0; - respdata = NULL; - respsize = 0; + modulated_response = resp1; modulated_response_size = 0; //order = 0; + trace_data = NULL; + trace_data_size = 0; } else { //#db# Unknown command received from reader (len=5): 26 1 0 f6 a 44 44 44 44 // Never seen this command before @@ -1169,9 +1174,9 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader receivedCmd[3], receivedCmd[4], receivedCmd[5], receivedCmd[6], receivedCmd[7], receivedCmd[8]); // Do not respond - resp = resp1; respLen = 0; //order = 0; - respdata = NULL; - respsize = 0; + modulated_response = resp1; modulated_response_size = 0; //order = 0; + trace_data = NULL; + trace_data_size = 0; } if(cmdsRecvd > 100) { @@ -1181,9 +1186,16 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader else { cmdsRecvd++; } - - if(respLen > 0) { - SendIClassAnswer(resp, respLen, 21); + /** + After changes to parity calculation + Time between reader EOT and pm3 SOF + delay 21 -> 480uS + delay 10 -> 220us + delay 16 -> 388us + A legit tag has about 380us. + **/ + if(modulated_response_size > 0) { + SendIClassAnswer(modulated_response, modulated_response_size, timeout); t2r_time = GetCountSspClk(); } @@ -1192,9 +1204,9 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader GetParity(receivedCmd, len, parity); LogTrace(receivedCmd,len, (r2t_time-time_0)<< 4, (r2t_time-time_0) << 4, parity, TRUE); - if (respdata != NULL) { - GetParity(respdata, respsize, parity); - LogTrace(respdata, respsize, (t2r_time-time_0) << 4, (t2r_time-time_0) << 4, parity, FALSE); + if (trace_data != NULL) { + GetParity(trace_data, trace_data_size, parity); + LogTrace(trace_data, trace_data_size, (t2r_time-time_0) << 4, (t2r_time-time_0) << 4, parity, FALSE); } if(!tracing) { DbpString("Trace full"); From 896473399bbe08d9a2d0a65763d49fd95613d8a6 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Mon, 12 Jan 2015 22:16:46 +0100 Subject: [PATCH 090/133] Actually add the FILES also, doh --- client/aes.c | 1454 +++++++++++++++++++++++++ client/aes.h | 257 +++++ client/polarssl_config.h | 2179 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 3890 insertions(+) create mode 100644 client/aes.c create mode 100644 client/aes.h create mode 100644 client/polarssl_config.h diff --git a/client/aes.c b/client/aes.c new file mode 100644 index 000000000..36f735d4c --- /dev/null +++ b/client/aes.c @@ -0,0 +1,1454 @@ +/* + * FIPS-197 compliant AES implementation + * + * Copyright (C) 2006-2014, Brainspark B.V. + * + * This file is part of PolarSSL (http://www.polarssl.org) + * Lead Maintainer: Paul Bakker + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ +/* + * The AES block cipher was designed by Vincent Rijmen and Joan Daemen. + * + * http://csrc.nist.gov/encryption/aes/rijndael/Rijndael.pdf + * http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf + */ + +#if !defined(POLARSSL_CONFIG_FILE) +#include "polarssl_config.h" +#else +#include POLARSSL_CONFIG_FILE +#endif + +#if defined(POLARSSL_AES_C) + +#include "aes.h" +#if defined(POLARSSL_PADLOCK_C) +#include "polarssl/padlock.h" +#endif +#if defined(POLARSSL_AESNI_C) +#include "polarssl/aesni.h" +#endif + +#if defined(POLARSSL_PLATFORM_C) +#include "polarssl/platform.h" +#else +#define polarssl_printf printf +#endif + +#if !defined(POLARSSL_AES_ALT) + +/* Implementation that should never be optimized out by the compiler */ +static void polarssl_zeroize( void *v, size_t n ) { + volatile unsigned char *p = v; while( n-- ) *p++ = 0; +} + +/* + * 32-bit integer manipulation macros (little endian) + */ +#ifndef GET_UINT32_LE +#define GET_UINT32_LE(n,b,i) \ +{ \ + (n) = ( (uint32_t) (b)[(i) ] ) \ + | ( (uint32_t) (b)[(i) + 1] << 8 ) \ + | ( (uint32_t) (b)[(i) + 2] << 16 ) \ + | ( (uint32_t) (b)[(i) + 3] << 24 ); \ +} +#endif + +#ifndef PUT_UINT32_LE +#define PUT_UINT32_LE(n,b,i) \ +{ \ + (b)[(i) ] = (unsigned char) ( (n) ); \ + (b)[(i) + 1] = (unsigned char) ( (n) >> 8 ); \ + (b)[(i) + 2] = (unsigned char) ( (n) >> 16 ); \ + (b)[(i) + 3] = (unsigned char) ( (n) >> 24 ); \ +} +#endif + +#if defined(POLARSSL_PADLOCK_C) && \ + ( defined(POLARSSL_HAVE_X86) || defined(PADLOCK_ALIGN16) ) +static int aes_padlock_ace = -1; +#endif + +#if defined(POLARSSL_AES_ROM_TABLES) +/* + * Forward S-box + */ +static const unsigned char FSb[256] = +{ + 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, + 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, + 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, + 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, + 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, + 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, + 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, + 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, + 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, + 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, + 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, + 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, + 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, + 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, + 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, + 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, + 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, + 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, + 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, + 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, + 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, + 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, + 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, + 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, + 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, + 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, + 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, + 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, + 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, + 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, + 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, + 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16 +}; + +/* + * Forward tables + */ +#define FT \ +\ + V(A5,63,63,C6), V(84,7C,7C,F8), V(99,77,77,EE), V(8D,7B,7B,F6), \ + V(0D,F2,F2,FF), V(BD,6B,6B,D6), V(B1,6F,6F,DE), V(54,C5,C5,91), \ + V(50,30,30,60), V(03,01,01,02), V(A9,67,67,CE), V(7D,2B,2B,56), \ + V(19,FE,FE,E7), V(62,D7,D7,B5), V(E6,AB,AB,4D), V(9A,76,76,EC), \ + V(45,CA,CA,8F), V(9D,82,82,1F), V(40,C9,C9,89), V(87,7D,7D,FA), \ + V(15,FA,FA,EF), V(EB,59,59,B2), V(C9,47,47,8E), V(0B,F0,F0,FB), \ + V(EC,AD,AD,41), V(67,D4,D4,B3), V(FD,A2,A2,5F), V(EA,AF,AF,45), \ + V(BF,9C,9C,23), V(F7,A4,A4,53), V(96,72,72,E4), V(5B,C0,C0,9B), \ + V(C2,B7,B7,75), V(1C,FD,FD,E1), V(AE,93,93,3D), V(6A,26,26,4C), \ + V(5A,36,36,6C), V(41,3F,3F,7E), V(02,F7,F7,F5), V(4F,CC,CC,83), \ + V(5C,34,34,68), V(F4,A5,A5,51), V(34,E5,E5,D1), V(08,F1,F1,F9), \ + V(93,71,71,E2), V(73,D8,D8,AB), V(53,31,31,62), V(3F,15,15,2A), \ + V(0C,04,04,08), V(52,C7,C7,95), V(65,23,23,46), V(5E,C3,C3,9D), \ + V(28,18,18,30), V(A1,96,96,37), V(0F,05,05,0A), V(B5,9A,9A,2F), \ + V(09,07,07,0E), V(36,12,12,24), V(9B,80,80,1B), V(3D,E2,E2,DF), \ + V(26,EB,EB,CD), V(69,27,27,4E), V(CD,B2,B2,7F), V(9F,75,75,EA), \ + V(1B,09,09,12), V(9E,83,83,1D), V(74,2C,2C,58), V(2E,1A,1A,34), \ + V(2D,1B,1B,36), V(B2,6E,6E,DC), V(EE,5A,5A,B4), V(FB,A0,A0,5B), \ + V(F6,52,52,A4), V(4D,3B,3B,76), V(61,D6,D6,B7), V(CE,B3,B3,7D), \ + V(7B,29,29,52), V(3E,E3,E3,DD), V(71,2F,2F,5E), V(97,84,84,13), \ + V(F5,53,53,A6), V(68,D1,D1,B9), V(00,00,00,00), V(2C,ED,ED,C1), \ + V(60,20,20,40), V(1F,FC,FC,E3), V(C8,B1,B1,79), V(ED,5B,5B,B6), \ + V(BE,6A,6A,D4), V(46,CB,CB,8D), V(D9,BE,BE,67), V(4B,39,39,72), \ + V(DE,4A,4A,94), V(D4,4C,4C,98), V(E8,58,58,B0), V(4A,CF,CF,85), \ + V(6B,D0,D0,BB), V(2A,EF,EF,C5), V(E5,AA,AA,4F), V(16,FB,FB,ED), \ + V(C5,43,43,86), V(D7,4D,4D,9A), V(55,33,33,66), V(94,85,85,11), \ + V(CF,45,45,8A), V(10,F9,F9,E9), V(06,02,02,04), V(81,7F,7F,FE), \ + V(F0,50,50,A0), V(44,3C,3C,78), V(BA,9F,9F,25), V(E3,A8,A8,4B), \ + V(F3,51,51,A2), V(FE,A3,A3,5D), V(C0,40,40,80), V(8A,8F,8F,05), \ + V(AD,92,92,3F), V(BC,9D,9D,21), V(48,38,38,70), V(04,F5,F5,F1), \ + V(DF,BC,BC,63), V(C1,B6,B6,77), V(75,DA,DA,AF), V(63,21,21,42), \ + V(30,10,10,20), V(1A,FF,FF,E5), V(0E,F3,F3,FD), V(6D,D2,D2,BF), \ + V(4C,CD,CD,81), V(14,0C,0C,18), V(35,13,13,26), V(2F,EC,EC,C3), \ + V(E1,5F,5F,BE), V(A2,97,97,35), V(CC,44,44,88), V(39,17,17,2E), \ + V(57,C4,C4,93), V(F2,A7,A7,55), V(82,7E,7E,FC), V(47,3D,3D,7A), \ + V(AC,64,64,C8), V(E7,5D,5D,BA), V(2B,19,19,32), V(95,73,73,E6), \ + V(A0,60,60,C0), V(98,81,81,19), V(D1,4F,4F,9E), V(7F,DC,DC,A3), \ + V(66,22,22,44), V(7E,2A,2A,54), V(AB,90,90,3B), V(83,88,88,0B), \ + V(CA,46,46,8C), V(29,EE,EE,C7), V(D3,B8,B8,6B), V(3C,14,14,28), \ + V(79,DE,DE,A7), V(E2,5E,5E,BC), V(1D,0B,0B,16), V(76,DB,DB,AD), \ + V(3B,E0,E0,DB), V(56,32,32,64), V(4E,3A,3A,74), V(1E,0A,0A,14), \ + V(DB,49,49,92), V(0A,06,06,0C), V(6C,24,24,48), V(E4,5C,5C,B8), \ + V(5D,C2,C2,9F), V(6E,D3,D3,BD), V(EF,AC,AC,43), V(A6,62,62,C4), \ + V(A8,91,91,39), V(A4,95,95,31), V(37,E4,E4,D3), V(8B,79,79,F2), \ + V(32,E7,E7,D5), V(43,C8,C8,8B), V(59,37,37,6E), V(B7,6D,6D,DA), \ + V(8C,8D,8D,01), V(64,D5,D5,B1), V(D2,4E,4E,9C), V(E0,A9,A9,49), \ + V(B4,6C,6C,D8), V(FA,56,56,AC), V(07,F4,F4,F3), V(25,EA,EA,CF), \ + V(AF,65,65,CA), V(8E,7A,7A,F4), V(E9,AE,AE,47), V(18,08,08,10), \ + V(D5,BA,BA,6F), V(88,78,78,F0), V(6F,25,25,4A), V(72,2E,2E,5C), \ + V(24,1C,1C,38), V(F1,A6,A6,57), V(C7,B4,B4,73), V(51,C6,C6,97), \ + V(23,E8,E8,CB), V(7C,DD,DD,A1), V(9C,74,74,E8), V(21,1F,1F,3E), \ + V(DD,4B,4B,96), V(DC,BD,BD,61), V(86,8B,8B,0D), V(85,8A,8A,0F), \ + V(90,70,70,E0), V(42,3E,3E,7C), V(C4,B5,B5,71), V(AA,66,66,CC), \ + V(D8,48,48,90), V(05,03,03,06), V(01,F6,F6,F7), V(12,0E,0E,1C), \ + V(A3,61,61,C2), V(5F,35,35,6A), V(F9,57,57,AE), V(D0,B9,B9,69), \ + V(91,86,86,17), V(58,C1,C1,99), V(27,1D,1D,3A), V(B9,9E,9E,27), \ + V(38,E1,E1,D9), V(13,F8,F8,EB), V(B3,98,98,2B), V(33,11,11,22), \ + V(BB,69,69,D2), V(70,D9,D9,A9), V(89,8E,8E,07), V(A7,94,94,33), \ + V(B6,9B,9B,2D), V(22,1E,1E,3C), V(92,87,87,15), V(20,E9,E9,C9), \ + V(49,CE,CE,87), V(FF,55,55,AA), V(78,28,28,50), V(7A,DF,DF,A5), \ + V(8F,8C,8C,03), V(F8,A1,A1,59), V(80,89,89,09), V(17,0D,0D,1A), \ + V(DA,BF,BF,65), V(31,E6,E6,D7), V(C6,42,42,84), V(B8,68,68,D0), \ + V(C3,41,41,82), V(B0,99,99,29), V(77,2D,2D,5A), V(11,0F,0F,1E), \ + V(CB,B0,B0,7B), V(FC,54,54,A8), V(D6,BB,BB,6D), V(3A,16,16,2C) + +#define V(a,b,c,d) 0x##a##b##c##d +static const uint32_t FT0[256] = { FT }; +#undef V + +#define V(a,b,c,d) 0x##b##c##d##a +static const uint32_t FT1[256] = { FT }; +#undef V + +#define V(a,b,c,d) 0x##c##d##a##b +static const uint32_t FT2[256] = { FT }; +#undef V + +#define V(a,b,c,d) 0x##d##a##b##c +static const uint32_t FT3[256] = { FT }; +#undef V + +#undef FT + +/* + * Reverse S-box + */ +static const unsigned char RSb[256] = +{ + 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, + 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, + 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, + 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, + 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, + 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, + 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, + 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, + 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, + 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, + 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, + 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, + 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, + 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, + 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, + 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, + 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, + 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, + 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, + 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, + 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, + 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, + 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, + 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, + 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, + 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, + 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, + 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, + 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, + 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, + 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D +}; + +/* + * Reverse tables + */ +#define RT \ +\ + V(50,A7,F4,51), V(53,65,41,7E), V(C3,A4,17,1A), V(96,5E,27,3A), \ + V(CB,6B,AB,3B), V(F1,45,9D,1F), V(AB,58,FA,AC), V(93,03,E3,4B), \ + V(55,FA,30,20), V(F6,6D,76,AD), V(91,76,CC,88), V(25,4C,02,F5), \ + V(FC,D7,E5,4F), V(D7,CB,2A,C5), V(80,44,35,26), V(8F,A3,62,B5), \ + V(49,5A,B1,DE), V(67,1B,BA,25), V(98,0E,EA,45), V(E1,C0,FE,5D), \ + V(02,75,2F,C3), V(12,F0,4C,81), V(A3,97,46,8D), V(C6,F9,D3,6B), \ + V(E7,5F,8F,03), V(95,9C,92,15), V(EB,7A,6D,BF), V(DA,59,52,95), \ + V(2D,83,BE,D4), V(D3,21,74,58), V(29,69,E0,49), V(44,C8,C9,8E), \ + V(6A,89,C2,75), V(78,79,8E,F4), V(6B,3E,58,99), V(DD,71,B9,27), \ + V(B6,4F,E1,BE), V(17,AD,88,F0), V(66,AC,20,C9), V(B4,3A,CE,7D), \ + V(18,4A,DF,63), V(82,31,1A,E5), V(60,33,51,97), V(45,7F,53,62), \ + V(E0,77,64,B1), V(84,AE,6B,BB), V(1C,A0,81,FE), V(94,2B,08,F9), \ + V(58,68,48,70), V(19,FD,45,8F), V(87,6C,DE,94), V(B7,F8,7B,52), \ + V(23,D3,73,AB), V(E2,02,4B,72), V(57,8F,1F,E3), V(2A,AB,55,66), \ + V(07,28,EB,B2), V(03,C2,B5,2F), V(9A,7B,C5,86), V(A5,08,37,D3), \ + V(F2,87,28,30), V(B2,A5,BF,23), V(BA,6A,03,02), V(5C,82,16,ED), \ + V(2B,1C,CF,8A), V(92,B4,79,A7), V(F0,F2,07,F3), V(A1,E2,69,4E), \ + V(CD,F4,DA,65), V(D5,BE,05,06), V(1F,62,34,D1), V(8A,FE,A6,C4), \ + V(9D,53,2E,34), V(A0,55,F3,A2), V(32,E1,8A,05), V(75,EB,F6,A4), \ + V(39,EC,83,0B), V(AA,EF,60,40), V(06,9F,71,5E), V(51,10,6E,BD), \ + V(F9,8A,21,3E), V(3D,06,DD,96), V(AE,05,3E,DD), V(46,BD,E6,4D), \ + V(B5,8D,54,91), V(05,5D,C4,71), V(6F,D4,06,04), V(FF,15,50,60), \ + V(24,FB,98,19), V(97,E9,BD,D6), V(CC,43,40,89), V(77,9E,D9,67), \ + V(BD,42,E8,B0), V(88,8B,89,07), V(38,5B,19,E7), V(DB,EE,C8,79), \ + V(47,0A,7C,A1), V(E9,0F,42,7C), V(C9,1E,84,F8), V(00,00,00,00), \ + V(83,86,80,09), V(48,ED,2B,32), V(AC,70,11,1E), V(4E,72,5A,6C), \ + V(FB,FF,0E,FD), V(56,38,85,0F), V(1E,D5,AE,3D), V(27,39,2D,36), \ + V(64,D9,0F,0A), V(21,A6,5C,68), V(D1,54,5B,9B), V(3A,2E,36,24), \ + V(B1,67,0A,0C), V(0F,E7,57,93), V(D2,96,EE,B4), V(9E,91,9B,1B), \ + V(4F,C5,C0,80), V(A2,20,DC,61), V(69,4B,77,5A), V(16,1A,12,1C), \ + V(0A,BA,93,E2), V(E5,2A,A0,C0), V(43,E0,22,3C), V(1D,17,1B,12), \ + V(0B,0D,09,0E), V(AD,C7,8B,F2), V(B9,A8,B6,2D), V(C8,A9,1E,14), \ + V(85,19,F1,57), V(4C,07,75,AF), V(BB,DD,99,EE), V(FD,60,7F,A3), \ + V(9F,26,01,F7), V(BC,F5,72,5C), V(C5,3B,66,44), V(34,7E,FB,5B), \ + V(76,29,43,8B), V(DC,C6,23,CB), V(68,FC,ED,B6), V(63,F1,E4,B8), \ + V(CA,DC,31,D7), V(10,85,63,42), V(40,22,97,13), V(20,11,C6,84), \ + V(7D,24,4A,85), V(F8,3D,BB,D2), V(11,32,F9,AE), V(6D,A1,29,C7), \ + V(4B,2F,9E,1D), V(F3,30,B2,DC), V(EC,52,86,0D), V(D0,E3,C1,77), \ + V(6C,16,B3,2B), V(99,B9,70,A9), V(FA,48,94,11), V(22,64,E9,47), \ + V(C4,8C,FC,A8), V(1A,3F,F0,A0), V(D8,2C,7D,56), V(EF,90,33,22), \ + V(C7,4E,49,87), V(C1,D1,38,D9), V(FE,A2,CA,8C), V(36,0B,D4,98), \ + V(CF,81,F5,A6), V(28,DE,7A,A5), V(26,8E,B7,DA), V(A4,BF,AD,3F), \ + V(E4,9D,3A,2C), V(0D,92,78,50), V(9B,CC,5F,6A), V(62,46,7E,54), \ + V(C2,13,8D,F6), V(E8,B8,D8,90), V(5E,F7,39,2E), V(F5,AF,C3,82), \ + V(BE,80,5D,9F), V(7C,93,D0,69), V(A9,2D,D5,6F), V(B3,12,25,CF), \ + V(3B,99,AC,C8), V(A7,7D,18,10), V(6E,63,9C,E8), V(7B,BB,3B,DB), \ + V(09,78,26,CD), V(F4,18,59,6E), V(01,B7,9A,EC), V(A8,9A,4F,83), \ + V(65,6E,95,E6), V(7E,E6,FF,AA), V(08,CF,BC,21), V(E6,E8,15,EF), \ + V(D9,9B,E7,BA), V(CE,36,6F,4A), V(D4,09,9F,EA), V(D6,7C,B0,29), \ + V(AF,B2,A4,31), V(31,23,3F,2A), V(30,94,A5,C6), V(C0,66,A2,35), \ + V(37,BC,4E,74), V(A6,CA,82,FC), V(B0,D0,90,E0), V(15,D8,A7,33), \ + V(4A,98,04,F1), V(F7,DA,EC,41), V(0E,50,CD,7F), V(2F,F6,91,17), \ + V(8D,D6,4D,76), V(4D,B0,EF,43), V(54,4D,AA,CC), V(DF,04,96,E4), \ + V(E3,B5,D1,9E), V(1B,88,6A,4C), V(B8,1F,2C,C1), V(7F,51,65,46), \ + V(04,EA,5E,9D), V(5D,35,8C,01), V(73,74,87,FA), V(2E,41,0B,FB), \ + V(5A,1D,67,B3), V(52,D2,DB,92), V(33,56,10,E9), V(13,47,D6,6D), \ + V(8C,61,D7,9A), V(7A,0C,A1,37), V(8E,14,F8,59), V(89,3C,13,EB), \ + V(EE,27,A9,CE), V(35,C9,61,B7), V(ED,E5,1C,E1), V(3C,B1,47,7A), \ + V(59,DF,D2,9C), V(3F,73,F2,55), V(79,CE,14,18), V(BF,37,C7,73), \ + V(EA,CD,F7,53), V(5B,AA,FD,5F), V(14,6F,3D,DF), V(86,DB,44,78), \ + V(81,F3,AF,CA), V(3E,C4,68,B9), V(2C,34,24,38), V(5F,40,A3,C2), \ + V(72,C3,1D,16), V(0C,25,E2,BC), V(8B,49,3C,28), V(41,95,0D,FF), \ + V(71,01,A8,39), V(DE,B3,0C,08), V(9C,E4,B4,D8), V(90,C1,56,64), \ + V(61,84,CB,7B), V(70,B6,32,D5), V(74,5C,6C,48), V(42,57,B8,D0) + +#define V(a,b,c,d) 0x##a##b##c##d +static const uint32_t RT0[256] = { RT }; +#undef V + +#define V(a,b,c,d) 0x##b##c##d##a +static const uint32_t RT1[256] = { RT }; +#undef V + +#define V(a,b,c,d) 0x##c##d##a##b +static const uint32_t RT2[256] = { RT }; +#undef V + +#define V(a,b,c,d) 0x##d##a##b##c +static const uint32_t RT3[256] = { RT }; +#undef V + +#undef RT + +/* + * Round constants + */ +static const uint32_t RCON[10] = +{ + 0x00000001, 0x00000002, 0x00000004, 0x00000008, + 0x00000010, 0x00000020, 0x00000040, 0x00000080, + 0x0000001B, 0x00000036 +}; + +#else /* POLARSSL_AES_ROM_TABLES */ + +/* + * Forward S-box & tables + */ +static unsigned char FSb[256]; +static uint32_t FT0[256]; +static uint32_t FT1[256]; +static uint32_t FT2[256]; +static uint32_t FT3[256]; + +/* + * Reverse S-box & tables + */ +static unsigned char RSb[256]; +static uint32_t RT0[256]; +static uint32_t RT1[256]; +static uint32_t RT2[256]; +static uint32_t RT3[256]; + +/* + * Round constants + */ +static uint32_t RCON[10]; + +/* + * Tables generation code + */ +#define ROTL8(x) ( ( x << 8 ) & 0xFFFFFFFF ) | ( x >> 24 ) +#define XTIME(x) ( ( x << 1 ) ^ ( ( x & 0x80 ) ? 0x1B : 0x00 ) ) +#define MUL(x,y) ( ( x && y ) ? pow[(log[x]+log[y]) % 255] : 0 ) + +static int aes_init_done = 0; + +static void aes_gen_tables( void ) +{ + int i, x, y, z; + int pow[256]; + int log[256]; + + /* + * compute pow and log tables over GF(2^8) + */ + for( i = 0, x = 1; i < 256; i++ ) + { + pow[i] = x; + log[x] = i; + x = ( x ^ XTIME( x ) ) & 0xFF; + } + + /* + * calculate the round constants + */ + for( i = 0, x = 1; i < 10; i++ ) + { + RCON[i] = (uint32_t) x; + x = XTIME( x ) & 0xFF; + } + + /* + * generate the forward and reverse S-boxes + */ + FSb[0x00] = 0x63; + RSb[0x63] = 0x00; + + for( i = 1; i < 256; i++ ) + { + x = pow[255 - log[i]]; + + y = x; y = ( ( y << 1 ) | ( y >> 7 ) ) & 0xFF; + x ^= y; y = ( ( y << 1 ) | ( y >> 7 ) ) & 0xFF; + x ^= y; y = ( ( y << 1 ) | ( y >> 7 ) ) & 0xFF; + x ^= y; y = ( ( y << 1 ) | ( y >> 7 ) ) & 0xFF; + x ^= y ^ 0x63; + + FSb[i] = (unsigned char) x; + RSb[x] = (unsigned char) i; + } + + /* + * generate the forward and reverse tables + */ + for( i = 0; i < 256; i++ ) + { + x = FSb[i]; + y = XTIME( x ) & 0xFF; + z = ( y ^ x ) & 0xFF; + + FT0[i] = ( (uint32_t) y ) ^ + ( (uint32_t) x << 8 ) ^ + ( (uint32_t) x << 16 ) ^ + ( (uint32_t) z << 24 ); + + FT1[i] = ROTL8( FT0[i] ); + FT2[i] = ROTL8( FT1[i] ); + FT3[i] = ROTL8( FT2[i] ); + + x = RSb[i]; + + RT0[i] = ( (uint32_t) MUL( 0x0E, x ) ) ^ + ( (uint32_t) MUL( 0x09, x ) << 8 ) ^ + ( (uint32_t) MUL( 0x0D, x ) << 16 ) ^ + ( (uint32_t) MUL( 0x0B, x ) << 24 ); + + RT1[i] = ROTL8( RT0[i] ); + RT2[i] = ROTL8( RT1[i] ); + RT3[i] = ROTL8( RT2[i] ); + } +} + +#endif /* POLARSSL_AES_ROM_TABLES */ + +void aes_init( aes_context *ctx ) +{ + memset( ctx, 0, sizeof( aes_context ) ); +} + +void aes_free( aes_context *ctx ) +{ + if( ctx == NULL ) + return; + + polarssl_zeroize( ctx, sizeof( aes_context ) ); +} + +/* + * AES key schedule (encryption) + */ +int aes_setkey_enc( aes_context *ctx, const unsigned char *key, + unsigned int keysize ) +{ + unsigned int i; + uint32_t *RK; + +#if !defined(POLARSSL_AES_ROM_TABLES) + if( aes_init_done == 0 ) + { + aes_gen_tables(); + aes_init_done = 1; + + } +#endif + + switch( keysize ) + { + case 128: ctx->nr = 10; break; + case 192: ctx->nr = 12; break; + case 256: ctx->nr = 14; break; + default : return( POLARSSL_ERR_AES_INVALID_KEY_LENGTH ); + } + +#if defined(POLARSSL_PADLOCK_C) && defined(PADLOCK_ALIGN16) + if( aes_padlock_ace == -1 ) + aes_padlock_ace = padlock_supports( PADLOCK_ACE ); + + if( aes_padlock_ace ) + ctx->rk = RK = PADLOCK_ALIGN16( ctx->buf ); + else +#endif + ctx->rk = RK = ctx->buf; + +#if defined(POLARSSL_AESNI_C) && defined(POLARSSL_HAVE_X86_64) + if( aesni_supports( POLARSSL_AESNI_AES ) ) + return( aesni_setkey_enc( (unsigned char *) ctx->rk, key, keysize ) ); +#endif + + for( i = 0; i < ( keysize >> 5 ); i++ ) + { + GET_UINT32_LE( RK[i], key, i << 2 ); + } + + switch( ctx->nr ) + { + case 10: + + for( i = 0; i < 10; i++, RK += 4 ) + { + RK[4] = RK[0] ^ RCON[i] ^ + ( (uint32_t) FSb[ ( RK[3] >> 8 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( RK[3] >> 16 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( RK[3] >> 24 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( RK[3] ) & 0xFF ] << 24 ); + + RK[5] = RK[1] ^ RK[4]; + RK[6] = RK[2] ^ RK[5]; + RK[7] = RK[3] ^ RK[6]; + } + break; + + case 12: + + for( i = 0; i < 8; i++, RK += 6 ) + { + RK[6] = RK[0] ^ RCON[i] ^ + ( (uint32_t) FSb[ ( RK[5] >> 8 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( RK[5] >> 16 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( RK[5] >> 24 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( RK[5] ) & 0xFF ] << 24 ); + + RK[7] = RK[1] ^ RK[6]; + RK[8] = RK[2] ^ RK[7]; + RK[9] = RK[3] ^ RK[8]; + RK[10] = RK[4] ^ RK[9]; + RK[11] = RK[5] ^ RK[10]; + } + break; + + case 14: + + for( i = 0; i < 7; i++, RK += 8 ) + { + RK[8] = RK[0] ^ RCON[i] ^ + ( (uint32_t) FSb[ ( RK[7] >> 8 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( RK[7] >> 16 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( RK[7] >> 24 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( RK[7] ) & 0xFF ] << 24 ); + + RK[9] = RK[1] ^ RK[8]; + RK[10] = RK[2] ^ RK[9]; + RK[11] = RK[3] ^ RK[10]; + + RK[12] = RK[4] ^ + ( (uint32_t) FSb[ ( RK[11] ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( RK[11] >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( RK[11] >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( RK[11] >> 24 ) & 0xFF ] << 24 ); + + RK[13] = RK[5] ^ RK[12]; + RK[14] = RK[6] ^ RK[13]; + RK[15] = RK[7] ^ RK[14]; + } + break; + } + + return( 0 ); +} + +/* + * AES key schedule (decryption) + */ +int aes_setkey_dec( aes_context *ctx, const unsigned char *key, + unsigned int keysize ) +{ + int i, j, ret; + aes_context cty; + uint32_t *RK; + uint32_t *SK; + + aes_init( &cty ); + +#if defined(POLARSSL_PADLOCK_C) && defined(PADLOCK_ALIGN16) + if( aes_padlock_ace == -1 ) + aes_padlock_ace = padlock_supports( PADLOCK_ACE ); + + if( aes_padlock_ace ) + ctx->rk = RK = PADLOCK_ALIGN16( ctx->buf ); + else +#endif + ctx->rk = RK = ctx->buf; + + /* Also checks keysize */ + if( ( ret = aes_setkey_enc( &cty, key, keysize ) ) != 0 ) + goto exit; + + ctx->nr = cty.nr; + +#if defined(POLARSSL_AESNI_C) && defined(POLARSSL_HAVE_X86_64) + if( aesni_supports( POLARSSL_AESNI_AES ) ) + { + aesni_inverse_key( (unsigned char *) ctx->rk, + (const unsigned char *) cty.rk, ctx->nr ); + goto exit; + } +#endif + + SK = cty.rk + cty.nr * 4; + + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + + for( i = ctx->nr - 1, SK -= 8; i > 0; i--, SK -= 8 ) + { + for( j = 0; j < 4; j++, SK++ ) + { + *RK++ = RT0[ FSb[ ( *SK ) & 0xFF ] ] ^ + RT1[ FSb[ ( *SK >> 8 ) & 0xFF ] ] ^ + RT2[ FSb[ ( *SK >> 16 ) & 0xFF ] ] ^ + RT3[ FSb[ ( *SK >> 24 ) & 0xFF ] ]; + } + } + + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + *RK++ = *SK++; + +exit: + aes_free( &cty ); + + return( ret ); +} + +#define AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \ +{ \ + X0 = *RK++ ^ FT0[ ( Y0 ) & 0xFF ] ^ \ + FT1[ ( Y1 >> 8 ) & 0xFF ] ^ \ + FT2[ ( Y2 >> 16 ) & 0xFF ] ^ \ + FT3[ ( Y3 >> 24 ) & 0xFF ]; \ + \ + X1 = *RK++ ^ FT0[ ( Y1 ) & 0xFF ] ^ \ + FT1[ ( Y2 >> 8 ) & 0xFF ] ^ \ + FT2[ ( Y3 >> 16 ) & 0xFF ] ^ \ + FT3[ ( Y0 >> 24 ) & 0xFF ]; \ + \ + X2 = *RK++ ^ FT0[ ( Y2 ) & 0xFF ] ^ \ + FT1[ ( Y3 >> 8 ) & 0xFF ] ^ \ + FT2[ ( Y0 >> 16 ) & 0xFF ] ^ \ + FT3[ ( Y1 >> 24 ) & 0xFF ]; \ + \ + X3 = *RK++ ^ FT0[ ( Y3 ) & 0xFF ] ^ \ + FT1[ ( Y0 >> 8 ) & 0xFF ] ^ \ + FT2[ ( Y1 >> 16 ) & 0xFF ] ^ \ + FT3[ ( Y2 >> 24 ) & 0xFF ]; \ +} + +#define AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3) \ +{ \ + X0 = *RK++ ^ RT0[ ( Y0 ) & 0xFF ] ^ \ + RT1[ ( Y3 >> 8 ) & 0xFF ] ^ \ + RT2[ ( Y2 >> 16 ) & 0xFF ] ^ \ + RT3[ ( Y1 >> 24 ) & 0xFF ]; \ + \ + X1 = *RK++ ^ RT0[ ( Y1 ) & 0xFF ] ^ \ + RT1[ ( Y0 >> 8 ) & 0xFF ] ^ \ + RT2[ ( Y3 >> 16 ) & 0xFF ] ^ \ + RT3[ ( Y2 >> 24 ) & 0xFF ]; \ + \ + X2 = *RK++ ^ RT0[ ( Y2 ) & 0xFF ] ^ \ + RT1[ ( Y1 >> 8 ) & 0xFF ] ^ \ + RT2[ ( Y0 >> 16 ) & 0xFF ] ^ \ + RT3[ ( Y3 >> 24 ) & 0xFF ]; \ + \ + X3 = *RK++ ^ RT0[ ( Y3 ) & 0xFF ] ^ \ + RT1[ ( Y2 >> 8 ) & 0xFF ] ^ \ + RT2[ ( Y1 >> 16 ) & 0xFF ] ^ \ + RT3[ ( Y0 >> 24 ) & 0xFF ]; \ +} + +/* + * AES-ECB block encryption/decryption + */ +int aes_crypt_ecb( aes_context *ctx, + int mode, + const unsigned char input[16], + unsigned char output[16] ) +{ + int i; + uint32_t *RK, X0, X1, X2, X3, Y0, Y1, Y2, Y3; + +#if defined(POLARSSL_AESNI_C) && defined(POLARSSL_HAVE_X86_64) + if( aesni_supports( POLARSSL_AESNI_AES ) ) + return( aesni_crypt_ecb( ctx, mode, input, output ) ); +#endif + +#if defined(POLARSSL_PADLOCK_C) && defined(POLARSSL_HAVE_X86) + if( aes_padlock_ace ) + { + if( padlock_xcryptecb( ctx, mode, input, output ) == 0 ) + return( 0 ); + + // If padlock data misaligned, we just fall back to + // unaccelerated mode + // + } +#endif + + RK = ctx->rk; + + GET_UINT32_LE( X0, input, 0 ); X0 ^= *RK++; + GET_UINT32_LE( X1, input, 4 ); X1 ^= *RK++; + GET_UINT32_LE( X2, input, 8 ); X2 ^= *RK++; + GET_UINT32_LE( X3, input, 12 ); X3 ^= *RK++; + + if( mode == AES_DECRYPT ) + { + for( i = ( ctx->nr >> 1 ) - 1; i > 0; i-- ) + { + AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); + AES_RROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); + } + + AES_RROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); + + X0 = *RK++ ^ \ + ( (uint32_t) RSb[ ( Y0 ) & 0xFF ] ) ^ + ( (uint32_t) RSb[ ( Y3 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) RSb[ ( Y2 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) RSb[ ( Y1 >> 24 ) & 0xFF ] << 24 ); + + X1 = *RK++ ^ \ + ( (uint32_t) RSb[ ( Y1 ) & 0xFF ] ) ^ + ( (uint32_t) RSb[ ( Y0 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) RSb[ ( Y3 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) RSb[ ( Y2 >> 24 ) & 0xFF ] << 24 ); + + X2 = *RK++ ^ \ + ( (uint32_t) RSb[ ( Y2 ) & 0xFF ] ) ^ + ( (uint32_t) RSb[ ( Y1 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) RSb[ ( Y0 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) RSb[ ( Y3 >> 24 ) & 0xFF ] << 24 ); + + X3 = *RK++ ^ \ + ( (uint32_t) RSb[ ( Y3 ) & 0xFF ] ) ^ + ( (uint32_t) RSb[ ( Y2 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) RSb[ ( Y1 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) RSb[ ( Y0 >> 24 ) & 0xFF ] << 24 ); + } + else /* AES_ENCRYPT */ + { + for( i = ( ctx->nr >> 1 ) - 1; i > 0; i-- ) + { + AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); + AES_FROUND( X0, X1, X2, X3, Y0, Y1, Y2, Y3 ); + } + + AES_FROUND( Y0, Y1, Y2, Y3, X0, X1, X2, X3 ); + + X0 = *RK++ ^ \ + ( (uint32_t) FSb[ ( Y0 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( Y1 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( Y2 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( Y3 >> 24 ) & 0xFF ] << 24 ); + + X1 = *RK++ ^ \ + ( (uint32_t) FSb[ ( Y1 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( Y2 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( Y3 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( Y0 >> 24 ) & 0xFF ] << 24 ); + + X2 = *RK++ ^ \ + ( (uint32_t) FSb[ ( Y2 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( Y3 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( Y0 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( Y1 >> 24 ) & 0xFF ] << 24 ); + + X3 = *RK++ ^ \ + ( (uint32_t) FSb[ ( Y3 ) & 0xFF ] ) ^ + ( (uint32_t) FSb[ ( Y0 >> 8 ) & 0xFF ] << 8 ) ^ + ( (uint32_t) FSb[ ( Y1 >> 16 ) & 0xFF ] << 16 ) ^ + ( (uint32_t) FSb[ ( Y2 >> 24 ) & 0xFF ] << 24 ); + } + + PUT_UINT32_LE( X0, output, 0 ); + PUT_UINT32_LE( X1, output, 4 ); + PUT_UINT32_LE( X2, output, 8 ); + PUT_UINT32_LE( X3, output, 12 ); + + return( 0 ); +} + +#if defined(POLARSSL_CIPHER_MODE_CBC) +/* + * AES-CBC buffer encryption/decryption + */ +int aes_crypt_cbc( aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int i; + unsigned char temp[16]; + + if( length % 16 ) + return( POLARSSL_ERR_AES_INVALID_INPUT_LENGTH ); + +#if defined(POLARSSL_PADLOCK_C) && defined(POLARSSL_HAVE_X86) + if( aes_padlock_ace ) + { + if( padlock_xcryptcbc( ctx, mode, length, iv, input, output ) == 0 ) + return( 0 ); + + // If padlock data misaligned, we just fall back to + // unaccelerated mode + // + } +#endif + + if( mode == AES_DECRYPT ) + { + while( length > 0 ) + { + memcpy( temp, input, 16 ); + aes_crypt_ecb( ctx, mode, input, output ); + + for( i = 0; i < 16; i++ ) + output[i] = (unsigned char)( output[i] ^ iv[i] ); + + memcpy( iv, temp, 16 ); + + input += 16; + output += 16; + length -= 16; + } + } + else + { + while( length > 0 ) + { + for( i = 0; i < 16; i++ ) + output[i] = (unsigned char)( input[i] ^ iv[i] ); + + aes_crypt_ecb( ctx, mode, output, output ); + memcpy( iv, output, 16 ); + + input += 16; + output += 16; + length -= 16; + } + } + + return( 0 ); +} +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#if defined(POLARSSL_CIPHER_MODE_CFB) +/* + * AES-CFB128 buffer encryption/decryption + */ +int aes_crypt_cfb128( aes_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + int c; + size_t n = *iv_off; + + if( mode == AES_DECRYPT ) + { + while( length-- ) + { + if( n == 0 ) + aes_crypt_ecb( ctx, AES_ENCRYPT, iv, iv ); + + c = *input++; + *output++ = (unsigned char)( c ^ iv[n] ); + iv[n] = (unsigned char) c; + + n = ( n + 1 ) & 0x0F; + } + } + else + { + while( length-- ) + { + if( n == 0 ) + aes_crypt_ecb( ctx, AES_ENCRYPT, iv, iv ); + + iv[n] = *output++ = (unsigned char)( iv[n] ^ *input++ ); + + n = ( n + 1 ) & 0x0F; + } + } + + *iv_off = n; + + return( 0 ); +} + +/* + * AES-CFB8 buffer encryption/decryption + */ +#include +int aes_crypt_cfb8( aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ) +{ + unsigned char c; + unsigned char ov[17]; + + while( length-- ) + { + memcpy( ov, iv, 16 ); + aes_crypt_ecb( ctx, AES_ENCRYPT, iv, iv ); + + if( mode == AES_DECRYPT ) + ov[16] = *input; + + c = *output++ = (unsigned char)( iv[0] ^ *input++ ); + + if( mode == AES_ENCRYPT ) + ov[16] = c; + + memcpy( iv, ov + 1, 16 ); + } + + return( 0 ); +} +#endif /*POLARSSL_CIPHER_MODE_CFB */ + +#if defined(POLARSSL_CIPHER_MODE_CTR) +/* + * AES-CTR buffer encryption/decryption + */ +int aes_crypt_ctr( aes_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[16], + unsigned char stream_block[16], + const unsigned char *input, + unsigned char *output ) +{ + int c, i; + size_t n = *nc_off; + + while( length-- ) + { + if( n == 0 ) { + aes_crypt_ecb( ctx, AES_ENCRYPT, nonce_counter, stream_block ); + + for( i = 16; i > 0; i-- ) + if( ++nonce_counter[i - 1] != 0 ) + break; + } + c = *input++; + *output++ = (unsigned char)( c ^ stream_block[n] ); + + n = ( n + 1 ) & 0x0F; + } + + *nc_off = n; + + return( 0 ); +} +#endif /* POLARSSL_CIPHER_MODE_CTR */ + +#endif /* !POLARSSL_AES_ALT */ + +#if defined(POLARSSL_SELF_TEST) + +#include + +/* + * AES test vectors from: + * + * http://csrc.nist.gov/archive/aes/rijndael/rijndael-vals.zip + */ +static const unsigned char aes_test_ecb_dec[3][16] = +{ + { 0x44, 0x41, 0x6A, 0xC2, 0xD1, 0xF5, 0x3C, 0x58, + 0x33, 0x03, 0x91, 0x7E, 0x6B, 0xE9, 0xEB, 0xE0 }, + { 0x48, 0xE3, 0x1E, 0x9E, 0x25, 0x67, 0x18, 0xF2, + 0x92, 0x29, 0x31, 0x9C, 0x19, 0xF1, 0x5B, 0xA4 }, + { 0x05, 0x8C, 0xCF, 0xFD, 0xBB, 0xCB, 0x38, 0x2D, + 0x1F, 0x6F, 0x56, 0x58, 0x5D, 0x8A, 0x4A, 0xDE } +}; + +static const unsigned char aes_test_ecb_enc[3][16] = +{ + { 0xC3, 0x4C, 0x05, 0x2C, 0xC0, 0xDA, 0x8D, 0x73, + 0x45, 0x1A, 0xFE, 0x5F, 0x03, 0xBE, 0x29, 0x7F }, + { 0xF3, 0xF6, 0x75, 0x2A, 0xE8, 0xD7, 0x83, 0x11, + 0x38, 0xF0, 0x41, 0x56, 0x06, 0x31, 0xB1, 0x14 }, + { 0x8B, 0x79, 0xEE, 0xCC, 0x93, 0xA0, 0xEE, 0x5D, + 0xFF, 0x30, 0xB4, 0xEA, 0x21, 0x63, 0x6D, 0xA4 } +}; + +#if defined(POLARSSL_CIPHER_MODE_CBC) +static const unsigned char aes_test_cbc_dec[3][16] = +{ + { 0xFA, 0xCA, 0x37, 0xE0, 0xB0, 0xC8, 0x53, 0x73, + 0xDF, 0x70, 0x6E, 0x73, 0xF7, 0xC9, 0xAF, 0x86 }, + { 0x5D, 0xF6, 0x78, 0xDD, 0x17, 0xBA, 0x4E, 0x75, + 0xB6, 0x17, 0x68, 0xC6, 0xAD, 0xEF, 0x7C, 0x7B }, + { 0x48, 0x04, 0xE1, 0x81, 0x8F, 0xE6, 0x29, 0x75, + 0x19, 0xA3, 0xE8, 0x8C, 0x57, 0x31, 0x04, 0x13 } +}; + +static const unsigned char aes_test_cbc_enc[3][16] = +{ + { 0x8A, 0x05, 0xFC, 0x5E, 0x09, 0x5A, 0xF4, 0x84, + 0x8A, 0x08, 0xD3, 0x28, 0xD3, 0x68, 0x8E, 0x3D }, + { 0x7B, 0xD9, 0x66, 0xD5, 0x3A, 0xD8, 0xC1, 0xBB, + 0x85, 0xD2, 0xAD, 0xFA, 0xE8, 0x7B, 0xB1, 0x04 }, + { 0xFE, 0x3C, 0x53, 0x65, 0x3E, 0x2F, 0x45, 0xB5, + 0x6F, 0xCD, 0x88, 0xB2, 0xCC, 0x89, 0x8F, 0xF0 } +}; +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#if defined(POLARSSL_CIPHER_MODE_CFB) +/* + * AES-CFB128 test vectors from: + * + * http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf + */ +static const unsigned char aes_test_cfb128_key[3][32] = +{ + { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, + 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }, + { 0x8E, 0x73, 0xB0, 0xF7, 0xDA, 0x0E, 0x64, 0x52, + 0xC8, 0x10, 0xF3, 0x2B, 0x80, 0x90, 0x79, 0xE5, + 0x62, 0xF8, 0xEA, 0xD2, 0x52, 0x2C, 0x6B, 0x7B }, + { 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE, + 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81, + 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7, + 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4 } +}; + +static const unsigned char aes_test_cfb128_iv[16] = +{ + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F +}; + +static const unsigned char aes_test_cfb128_pt[64] = +{ + 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96, + 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A, + 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C, + 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51, + 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11, + 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF, + 0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17, + 0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10 +}; + +static const unsigned char aes_test_cfb128_ct[3][64] = +{ + { 0x3B, 0x3F, 0xD9, 0x2E, 0xB7, 0x2D, 0xAD, 0x20, + 0x33, 0x34, 0x49, 0xF8, 0xE8, 0x3C, 0xFB, 0x4A, + 0xC8, 0xA6, 0x45, 0x37, 0xA0, 0xB3, 0xA9, 0x3F, + 0xCD, 0xE3, 0xCD, 0xAD, 0x9F, 0x1C, 0xE5, 0x8B, + 0x26, 0x75, 0x1F, 0x67, 0xA3, 0xCB, 0xB1, 0x40, + 0xB1, 0x80, 0x8C, 0xF1, 0x87, 0xA4, 0xF4, 0xDF, + 0xC0, 0x4B, 0x05, 0x35, 0x7C, 0x5D, 0x1C, 0x0E, + 0xEA, 0xC4, 0xC6, 0x6F, 0x9F, 0xF7, 0xF2, 0xE6 }, + { 0xCD, 0xC8, 0x0D, 0x6F, 0xDD, 0xF1, 0x8C, 0xAB, + 0x34, 0xC2, 0x59, 0x09, 0xC9, 0x9A, 0x41, 0x74, + 0x67, 0xCE, 0x7F, 0x7F, 0x81, 0x17, 0x36, 0x21, + 0x96, 0x1A, 0x2B, 0x70, 0x17, 0x1D, 0x3D, 0x7A, + 0x2E, 0x1E, 0x8A, 0x1D, 0xD5, 0x9B, 0x88, 0xB1, + 0xC8, 0xE6, 0x0F, 0xED, 0x1E, 0xFA, 0xC4, 0xC9, + 0xC0, 0x5F, 0x9F, 0x9C, 0xA9, 0x83, 0x4F, 0xA0, + 0x42, 0xAE, 0x8F, 0xBA, 0x58, 0x4B, 0x09, 0xFF }, + { 0xDC, 0x7E, 0x84, 0xBF, 0xDA, 0x79, 0x16, 0x4B, + 0x7E, 0xCD, 0x84, 0x86, 0x98, 0x5D, 0x38, 0x60, + 0x39, 0xFF, 0xED, 0x14, 0x3B, 0x28, 0xB1, 0xC8, + 0x32, 0x11, 0x3C, 0x63, 0x31, 0xE5, 0x40, 0x7B, + 0xDF, 0x10, 0x13, 0x24, 0x15, 0xE5, 0x4B, 0x92, + 0xA1, 0x3E, 0xD0, 0xA8, 0x26, 0x7A, 0xE2, 0xF9, + 0x75, 0xA3, 0x85, 0x74, 0x1A, 0xB9, 0xCE, 0xF8, + 0x20, 0x31, 0x62, 0x3D, 0x55, 0xB1, 0xE4, 0x71 } +}; +#endif /* POLARSSL_CIPHER_MODE_CFB */ + +#if defined(POLARSSL_CIPHER_MODE_CTR) +/* + * AES-CTR test vectors from: + * + * http://www.faqs.org/rfcs/rfc3686.html + */ + +static const unsigned char aes_test_ctr_key[3][16] = +{ + { 0xAE, 0x68, 0x52, 0xF8, 0x12, 0x10, 0x67, 0xCC, + 0x4B, 0xF7, 0xA5, 0x76, 0x55, 0x77, 0xF3, 0x9E }, + { 0x7E, 0x24, 0x06, 0x78, 0x17, 0xFA, 0xE0, 0xD7, + 0x43, 0xD6, 0xCE, 0x1F, 0x32, 0x53, 0x91, 0x63 }, + { 0x76, 0x91, 0xBE, 0x03, 0x5E, 0x50, 0x20, 0xA8, + 0xAC, 0x6E, 0x61, 0x85, 0x29, 0xF9, 0xA0, 0xDC } +}; + +static const unsigned char aes_test_ctr_nonce_counter[3][16] = +{ + { 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, + { 0x00, 0x6C, 0xB6, 0xDB, 0xC0, 0x54, 0x3B, 0x59, + 0xDA, 0x48, 0xD9, 0x0B, 0x00, 0x00, 0x00, 0x01 }, + { 0x00, 0xE0, 0x01, 0x7B, 0x27, 0x77, 0x7F, 0x3F, + 0x4A, 0x17, 0x86, 0xF0, 0x00, 0x00, 0x00, 0x01 } +}; + +static const unsigned char aes_test_ctr_pt[3][48] = +{ + { 0x53, 0x69, 0x6E, 0x67, 0x6C, 0x65, 0x20, 0x62, + 0x6C, 0x6F, 0x63, 0x6B, 0x20, 0x6D, 0x73, 0x67 }, + + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F }, + + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + 0x20, 0x21, 0x22, 0x23 } +}; + +static const unsigned char aes_test_ctr_ct[3][48] = +{ + { 0xE4, 0x09, 0x5D, 0x4F, 0xB7, 0xA7, 0xB3, 0x79, + 0x2D, 0x61, 0x75, 0xA3, 0x26, 0x13, 0x11, 0xB8 }, + { 0x51, 0x04, 0xA1, 0x06, 0x16, 0x8A, 0x72, 0xD9, + 0x79, 0x0D, 0x41, 0xEE, 0x8E, 0xDA, 0xD3, 0x88, + 0xEB, 0x2E, 0x1E, 0xFC, 0x46, 0xDA, 0x57, 0xC8, + 0xFC, 0xE6, 0x30, 0xDF, 0x91, 0x41, 0xBE, 0x28 }, + { 0xC1, 0xCF, 0x48, 0xA8, 0x9F, 0x2F, 0xFD, 0xD9, + 0xCF, 0x46, 0x52, 0xE9, 0xEF, 0xDB, 0x72, 0xD7, + 0x45, 0x40, 0xA4, 0x2B, 0xDE, 0x6D, 0x78, 0x36, + 0xD5, 0x9A, 0x5C, 0xEA, 0xAE, 0xF3, 0x10, 0x53, + 0x25, 0xB2, 0x07, 0x2F } +}; + +static const int aes_test_ctr_len[3] = + { 16, 32, 36 }; +#endif /* POLARSSL_CIPHER_MODE_CTR */ + +/* + * Checkup routine + */ +int aes_self_test( int verbose ) +{ + int ret = 0, i, j, u, v; + unsigned char key[32]; + unsigned char buf[64]; + unsigned char iv[16]; +#if defined(POLARSSL_CIPHER_MODE_CBC) + unsigned char prv[16]; +#endif +#if defined(POLARSSL_CIPHER_MODE_CTR) || defined(POLARSSL_CIPHER_MODE_CFB) + size_t offset; +#endif +#if defined(POLARSSL_CIPHER_MODE_CTR) + int len; + unsigned char nonce_counter[16]; + unsigned char stream_block[16]; +#endif + aes_context ctx; + + memset( key, 0, 32 ); + aes_init( &ctx ); + + /* + * ECB mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " AES-ECB-%3d (%s): ", 128 + u * 64, + ( v == AES_DECRYPT ) ? "dec" : "enc" ); + + memset( buf, 0, 16 ); + + if( v == AES_DECRYPT ) + { + aes_setkey_dec( &ctx, key, 128 + u * 64 ); + + for( j = 0; j < 10000; j++ ) + aes_crypt_ecb( &ctx, v, buf, buf ); + + if( memcmp( buf, aes_test_ecb_dec[u], 16 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + else + { + aes_setkey_enc( &ctx, key, 128 + u * 64 ); + + for( j = 0; j < 10000; j++ ) + aes_crypt_ecb( &ctx, v, buf, buf ); + + if( memcmp( buf, aes_test_ecb_enc[u], 16 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } + + if( verbose != 0 ) + polarssl_printf( "\n" ); + +#if defined(POLARSSL_CIPHER_MODE_CBC) + /* + * CBC mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " AES-CBC-%3d (%s): ", 128 + u * 64, + ( v == AES_DECRYPT ) ? "dec" : "enc" ); + + memset( iv , 0, 16 ); + memset( prv, 0, 16 ); + memset( buf, 0, 16 ); + + if( v == AES_DECRYPT ) + { + aes_setkey_dec( &ctx, key, 128 + u * 64 ); + + for( j = 0; j < 10000; j++ ) + aes_crypt_cbc( &ctx, v, 16, iv, buf, buf ); + + if( memcmp( buf, aes_test_cbc_dec[u], 16 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + else + { + aes_setkey_enc( &ctx, key, 128 + u * 64 ); + + for( j = 0; j < 10000; j++ ) + { + unsigned char tmp[16]; + + aes_crypt_cbc( &ctx, v, 16, iv, buf, buf ); + + memcpy( tmp, prv, 16 ); + memcpy( prv, buf, 16 ); + memcpy( buf, tmp, 16 ); + } + + if( memcmp( prv, aes_test_cbc_enc[u], 16 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } + + if( verbose != 0 ) + polarssl_printf( "\n" ); +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#if defined(POLARSSL_CIPHER_MODE_CFB) + /* + * CFB128 mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " AES-CFB128-%3d (%s): ", 128 + u * 64, + ( v == AES_DECRYPT ) ? "dec" : "enc" ); + + memcpy( iv, aes_test_cfb128_iv, 16 ); + memcpy( key, aes_test_cfb128_key[u], 16 + u * 8 ); + + offset = 0; + aes_setkey_enc( &ctx, key, 128 + u * 64 ); + + if( v == AES_DECRYPT ) + { + memcpy( buf, aes_test_cfb128_ct[u], 64 ); + aes_crypt_cfb128( &ctx, v, 64, &offset, iv, buf, buf ); + + if( memcmp( buf, aes_test_cfb128_pt, 64 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + else + { + memcpy( buf, aes_test_cfb128_pt, 64 ); + aes_crypt_cfb128( &ctx, v, 64, &offset, iv, buf, buf ); + + if( memcmp( buf, aes_test_cfb128_ct[u], 64 ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } + + if( verbose != 0 ) + polarssl_printf( "\n" ); +#endif /* POLARSSL_CIPHER_MODE_CFB */ + +#if defined(POLARSSL_CIPHER_MODE_CTR) + /* + * CTR mode + */ + for( i = 0; i < 6; i++ ) + { + u = i >> 1; + v = i & 1; + + if( verbose != 0 ) + polarssl_printf( " AES-CTR-128 (%s): ", + ( v == AES_DECRYPT ) ? "dec" : "enc" ); + + memcpy( nonce_counter, aes_test_ctr_nonce_counter[u], 16 ); + memcpy( key, aes_test_ctr_key[u], 16 ); + + offset = 0; + aes_setkey_enc( &ctx, key, 128 ); + + if( v == AES_DECRYPT ) + { + len = aes_test_ctr_len[u]; + memcpy( buf, aes_test_ctr_ct[u], len ); + + aes_crypt_ctr( &ctx, len, &offset, nonce_counter, stream_block, + buf, buf ); + + if( memcmp( buf, aes_test_ctr_pt[u], len ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + else + { + len = aes_test_ctr_len[u]; + memcpy( buf, aes_test_ctr_pt[u], len ); + + aes_crypt_ctr( &ctx, len, &offset, nonce_counter, stream_block, + buf, buf ); + + if( memcmp( buf, aes_test_ctr_ct[u], len ) != 0 ) + { + if( verbose != 0 ) + polarssl_printf( "failed\n" ); + + ret = 1; + goto exit; + } + } + + if( verbose != 0 ) + polarssl_printf( "passed\n" ); + } + + if( verbose != 0 ) + polarssl_printf( "\n" ); +#endif /* POLARSSL_CIPHER_MODE_CTR */ + + ret = 0; + +exit: + aes_free( &ctx ); + + return( ret ); +} + +#endif /* POLARSSL_SELF_TEST */ + +#endif /* POLARSSL_AES_C */ diff --git a/client/aes.h b/client/aes.h new file mode 100644 index 000000000..946bd87d9 --- /dev/null +++ b/client/aes.h @@ -0,0 +1,257 @@ +/** + * \file aes.h + * + * \brief AES block cipher + * + * Copyright (C) 2006-2014, Brainspark B.V. + * + * This file is part of PolarSSL (http://www.polarssl.org) + * Lead Maintainer: Paul Bakker + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ +#ifndef POLARSSL_AES_H +#define POLARSSL_AES_H + +#if !defined(POLARSSL_CONFIG_FILE) +#include "polarssl_config.h" +#else +#include POLARSSL_CONFIG_FILE +#endif + +#include + +#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32) +#include +typedef UINT32 uint32_t; +#else +#include +#endif + +/* padlock.c and aesni.c rely on these values! */ +#define AES_ENCRYPT 1 +#define AES_DECRYPT 0 + +#define POLARSSL_ERR_AES_INVALID_KEY_LENGTH -0x0020 /**< Invalid key length. */ +#define POLARSSL_ERR_AES_INVALID_INPUT_LENGTH -0x0022 /**< Invalid data input length. */ + +#if !defined(POLARSSL_AES_ALT) +// Regular implementation +// + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief AES context structure + * + * \note buf is able to hold 32 extra bytes, which can be used: + * - for alignment purposes if VIA padlock is used, and/or + * - to simplify key expansion in the 256-bit case by + * generating an extra round key + */ +typedef struct +{ + int nr; /*!< number of rounds */ + uint32_t *rk; /*!< AES round keys */ + uint32_t buf[68]; /*!< unaligned data */ +} +aes_context; + +/** + * \brief Initialize AES context + * + * \param ctx AES context to be initialized + */ +void aes_init( aes_context *ctx ); + +/** + * \brief Clear AES context + * + * \param ctx AES context to be cleared + */ +void aes_free( aes_context *ctx ); + +/** + * \brief AES key schedule (encryption) + * + * \param ctx AES context to be initialized + * \param key encryption key + * \param keysize must be 128, 192 or 256 + * + * \return 0 if successful, or POLARSSL_ERR_AES_INVALID_KEY_LENGTH + */ +int aes_setkey_enc( aes_context *ctx, const unsigned char *key, + unsigned int keysize ); + +/** + * \brief AES key schedule (decryption) + * + * \param ctx AES context to be initialized + * \param key decryption key + * \param keysize must be 128, 192 or 256 + * + * \return 0 if successful, or POLARSSL_ERR_AES_INVALID_KEY_LENGTH + */ +int aes_setkey_dec( aes_context *ctx, const unsigned char *key, + unsigned int keysize ); + +/** + * \brief AES-ECB block encryption/decryption + * + * \param ctx AES context + * \param mode AES_ENCRYPT or AES_DECRYPT + * \param input 16-byte input block + * \param output 16-byte output block + * + * \return 0 if successful + */ +int aes_crypt_ecb( aes_context *ctx, + int mode, + const unsigned char input[16], + unsigned char output[16] ); + +#if defined(POLARSSL_CIPHER_MODE_CBC) +/** + * \brief AES-CBC buffer encryption/decryption + * Length should be a multiple of the block + * size (16 bytes) + * + * \param ctx AES context + * \param mode AES_ENCRYPT or AES_DECRYPT + * \param length length of the input data + * \param iv initialization vector (updated after use) + * \param input buffer holding the input data + * \param output buffer holding the output data + * + * \return 0 if successful, or POLARSSL_ERR_AES_INVALID_INPUT_LENGTH + */ +int aes_crypt_cbc( aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); +#endif /* POLARSSL_CIPHER_MODE_CBC */ + +#if defined(POLARSSL_CIPHER_MODE_CFB) +/** + * \brief AES-CFB128 buffer encryption/decryption. + * + * Note: Due to the nature of CFB you should use the same key schedule for + * both encryption and decryption. So a context initialized with + * aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT. + * + * \param ctx AES context + * \param mode AES_ENCRYPT or AES_DECRYPT + * \param length length of the input data + * \param iv_off offset in IV (updated after use) + * \param iv initialization vector (updated after use) + * \param input buffer holding the input data + * \param output buffer holding the output data + * + * \return 0 if successful + */ +int aes_crypt_cfb128( aes_context *ctx, + int mode, + size_t length, + size_t *iv_off, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); + +/** + * \brief AES-CFB8 buffer encryption/decryption. + * + * Note: Due to the nature of CFB you should use the same key schedule for + * both encryption and decryption. So a context initialized with + * aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT. + * + * \param ctx AES context + * \param mode AES_ENCRYPT or AES_DECRYPT + * \param length length of the input data + * \param iv initialization vector (updated after use) + * \param input buffer holding the input data + * \param output buffer holding the output data + * + * \return 0 if successful + */ +int aes_crypt_cfb8( aes_context *ctx, + int mode, + size_t length, + unsigned char iv[16], + const unsigned char *input, + unsigned char *output ); +#endif /*POLARSSL_CIPHER_MODE_CFB */ + +#if defined(POLARSSL_CIPHER_MODE_CTR) +/** + * \brief AES-CTR buffer encryption/decryption + * + * Warning: You have to keep the maximum use of your counter in mind! + * + * Note: Due to the nature of CTR you should use the same key schedule for + * both encryption and decryption. So a context initialized with + * aes_setkey_enc() for both AES_ENCRYPT and AES_DECRYPT. + * + * \param ctx AES context + * \param length The length of the data + * \param nc_off The offset in the current stream_block (for resuming + * within current cipher stream). The offset pointer to + * should be 0 at the start of a stream. + * \param nonce_counter The 128-bit nonce and counter. + * \param stream_block The saved stream-block for resuming. Is overwritten + * by the function. + * \param input The input data stream + * \param output The output data stream + * + * \return 0 if successful + */ +int aes_crypt_ctr( aes_context *ctx, + size_t length, + size_t *nc_off, + unsigned char nonce_counter[16], + unsigned char stream_block[16], + const unsigned char *input, + unsigned char *output ); +#endif /* POLARSSL_CIPHER_MODE_CTR */ + +#ifdef __cplusplus +} +#endif + +#else /* POLARSSL_AES_ALT */ +#include "aes_alt.h" +#endif /* POLARSSL_AES_ALT */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Checkup routine + * + * \return 0 if successful, or 1 if the test failed + */ +int aes_self_test( int verbose ); + +#ifdef __cplusplus +} +#endif + +#endif /* aes.h */ diff --git a/client/polarssl_config.h b/client/polarssl_config.h new file mode 100644 index 000000000..5bd88fc07 --- /dev/null +++ b/client/polarssl_config.h @@ -0,0 +1,2179 @@ +/** + * \file config.h + * + * \brief Configuration options (set of defines) + * + * Copyright (C) 2006-2014, Brainspark B.V. + * + * This file is part of PolarSSL (http://www.polarssl.org) + * Lead Maintainer: Paul Bakker + * + * All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * This set of compile-time options may be used to enable + * or disable features selectively, and reduce the global + * memory footprint. + */ +#ifndef POLARSSL_CONFIG_H +#define POLARSSL_CONFIG_H + +#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +#define _CRT_SECURE_NO_DEPRECATE 1 +#endif + +/** + * \name SECTION: System support + * + * This section sets system specific settings. + * \{ + */ + +/** + * \def POLARSSL_HAVE_INT8 + * + * The system uses 8-bit wide native integers. + * + * Uncomment if native integers are 8-bit wide. + */ +//#define POLARSSL_HAVE_INT8 + +/** + * \def POLARSSL_HAVE_INT16 + * + * The system uses 16-bit wide native integers. + * + * Uncomment if native integers are 16-bit wide. + */ +//#define POLARSSL_HAVE_INT16 + +/** + * \def POLARSSL_HAVE_LONGLONG + * + * The compiler supports the 'long long' type. + * (Only used on 32-bit platforms) + */ +#define POLARSSL_HAVE_LONGLONG + +/** + * \def POLARSSL_HAVE_ASM + * + * The compiler has support for asm(). + * + * Requires support for asm() in compiler. + * + * Used in: + * library/timing.c + * library/padlock.c + * include/polarssl/bn_mul.h + * + * Comment to disable the use of assembly code. + */ +#define POLARSSL_HAVE_ASM + +/** + * \def POLARSSL_HAVE_SSE2 + * + * CPU supports SSE2 instruction set. + * + * Uncomment if the CPU supports SSE2 (IA-32 specific). + */ +//#define POLARSSL_HAVE_SSE2 + +/** + * \def POLARSSL_HAVE_TIME + * + * System has time.h and time() / localtime() / gettimeofday(). + * + * Comment if your system does not support time functions + */ +#define POLARSSL_HAVE_TIME + +/** + * \def POLARSSL_HAVE_IPV6 + * + * System supports the basic socket interface for IPv6 (RFC 3493), + * specifically getaddrinfo(), freeaddrinfo() and struct sockaddr_storage. + * + * Note: on Windows/MingW, XP or higher is required. + * + * Comment if your system does not support the IPv6 socket interface + */ +#define POLARSSL_HAVE_IPV6 + +/** + * \def POLARSSL_PLATFORM_MEMORY + * + * Enable the memory allocation layer. + * + * By default PolarSSL uses the system-provided malloc() and free(). + * This allows different allocators (self-implemented or provided) to be + * provided to the platform abstraction layer. + * + * Enabling POLARSSL_PLATFORM_MEMORY will provide "platform_set_malloc_free()" + * to allow you to set an alternative malloc() and free() function pointer. + * + * Requires: POLARSSL_PLATFORM_C + * + * Enable this layer to allow use of alternative memory allocators. + */ +//#define POLARSSL_PLATFORM_MEMORY + +/** + * \def POLARSSL_PLATFORM_NO_STD_FUNCTIONS + * + * Do not assign standard functions in the platform layer (e.g. malloc() to + * POLARSSL_PLATFORM_STD_MALLOC and printf() to POLARSSL_PLATFORM_STD_PRINTF) + * + * This makes sure there are no linking errors on platforms that do not support + * these functions. You will HAVE to provide alternatives, either at runtime + * via the platform_set_xxx() functions or at compile time by setting + * the POLARSSL_PLATFORM_STD_XXX defines. + * + * Requires: POLARSSL_PLATFORM_C + * + * Uncomment to prevent default assignment of standard functions in the + * platform layer. + */ +//#define POLARSSL_PLATFORM_NO_STD_FUNCTIONS + +/** + * \def POLARSSL_PLATFORM_XXX_ALT + * + * Uncomment a macro to let PolarSSL support the function in the platform + * abstraction layer. + * + * Example: In case you uncomment POLARSSL_PLATFORM_PRINTF_ALT, PolarSSL will + * provide a function "platform_set_printf()" that allows you to set an + * alternative printf function pointer. + * + * All these define require POLARSSL_PLATFORM_C to be defined! + * + * Uncomment a macro to enable alternate implementation of specific base + * platform function + */ +//#define POLARSSL_PLATFORM_PRINTF_ALT +//#define POLARSSL_PLATFORM_FPRINTF_ALT +/* \} name SECTION: System support */ + +/** + * \name SECTION: PolarSSL feature support + * + * This section sets support for features that are or are not needed + * within the modules that are enabled. + * \{ + */ + +/** + * \def POLARSSL_TIMING_ALT + * + * Uncomment to provide your own alternate implementation for hardclock(), + * get_timer(), set_alarm() and m_sleep(). + * + * Only works if you have POLARSSL_TIMING_C enabled. + * + * You will need to provide a header "timing_alt.h" and an implementation at + * compile time. + */ +//#define POLARSSL_TIMING_ALT + +/** + * \def POLARSSL_XXX_ALT + * + * Uncomment a macro to let PolarSSL use your alternate core implementation of + * a symmetric or hash algorithm (e.g. platform specific assembly optimized + * implementations). Keep in mind that the function prototypes should remain + * the same. + * + * Example: In case you uncomment POLARSSL_AES_ALT, PolarSSL will no longer + * provide the "struct aes_context" definition and omit the base function + * declarations and implementations. "aes_alt.h" will be included from + * "aes.h" to include the new function definitions. + * + * Uncomment a macro to enable alternate implementation for core algorithm + * functions + */ +//#define POLARSSL_AES_ALT +//#define POLARSSL_ARC4_ALT +//#define POLARSSL_BLOWFISH_ALT +//#define POLARSSL_CAMELLIA_ALT +//#define POLARSSL_DES_ALT +//#define POLARSSL_XTEA_ALT +//#define POLARSSL_MD2_ALT +//#define POLARSSL_MD4_ALT +//#define POLARSSL_MD5_ALT +//#define POLARSSL_RIPEMD160_ALT +//#define POLARSSL_SHA1_ALT +//#define POLARSSL_SHA256_ALT +//#define POLARSSL_SHA512_ALT + +/** + * \def POLARSSL_AES_ROM_TABLES + * + * Store the AES tables in ROM. + * + * Uncomment this macro to store the AES tables in ROM. + * + */ +//#define POLARSSL_AES_ROM_TABLES + +/** + * \def POLARSSL_CIPHER_MODE_CBC + * + * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers. + */ +#define POLARSSL_CIPHER_MODE_CBC + +/** + * \def POLARSSL_CIPHER_MODE_CFB + * + * Enable Cipher Feedback mode (CFB) for symmetric ciphers. + */ +#define POLARSSL_CIPHER_MODE_CFB + +/** + * \def POLARSSL_CIPHER_MODE_CTR + * + * Enable Counter Block Cipher mode (CTR) for symmetric ciphers. + */ +#define POLARSSL_CIPHER_MODE_CTR + +/** + * \def POLARSSL_CIPHER_NULL_CIPHER + * + * Enable NULL cipher. + * Warning: Only do so when you know what you are doing. This allows for + * encryption or channels without any security! + * + * Requires POLARSSL_ENABLE_WEAK_CIPHERSUITES as well to enable + * the following ciphersuites: + * TLS_ECDH_ECDSA_WITH_NULL_SHA + * TLS_ECDH_RSA_WITH_NULL_SHA + * TLS_ECDHE_ECDSA_WITH_NULL_SHA + * TLS_ECDHE_RSA_WITH_NULL_SHA + * TLS_ECDHE_PSK_WITH_NULL_SHA384 + * TLS_ECDHE_PSK_WITH_NULL_SHA256 + * TLS_ECDHE_PSK_WITH_NULL_SHA + * TLS_DHE_PSK_WITH_NULL_SHA384 + * TLS_DHE_PSK_WITH_NULL_SHA256 + * TLS_DHE_PSK_WITH_NULL_SHA + * TLS_RSA_WITH_NULL_SHA256 + * TLS_RSA_WITH_NULL_SHA + * TLS_RSA_WITH_NULL_MD5 + * TLS_RSA_PSK_WITH_NULL_SHA384 + * TLS_RSA_PSK_WITH_NULL_SHA256 + * TLS_RSA_PSK_WITH_NULL_SHA + * TLS_PSK_WITH_NULL_SHA384 + * TLS_PSK_WITH_NULL_SHA256 + * TLS_PSK_WITH_NULL_SHA + * + * Uncomment this macro to enable the NULL cipher and ciphersuites + */ +//#define POLARSSL_CIPHER_NULL_CIPHER + +/** + * \def POLARSSL_CIPHER_PADDING_XXX + * + * Uncomment or comment macros to add support for specific padding modes + * in the cipher layer with cipher modes that support padding (e.g. CBC) + * + * If you disable all padding modes, only full blocks can be used with CBC. + * + * Enable padding modes in the cipher layer. + */ +#define POLARSSL_CIPHER_PADDING_PKCS7 +#define POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS +#define POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN +#define POLARSSL_CIPHER_PADDING_ZEROS + +/** + * \def POLARSSL_ENABLE_WEAK_CIPHERSUITES + * + * Enable weak ciphersuites in SSL / TLS. + * Warning: Only do so when you know what you are doing. This allows for + * channels with virtually no security at all! + * + * This enables the following ciphersuites: + * TLS_RSA_WITH_DES_CBC_SHA + * TLS_DHE_RSA_WITH_DES_CBC_SHA + * + * Uncomment this macro to enable weak ciphersuites + */ +//#define POLARSSL_ENABLE_WEAK_CIPHERSUITES + +/** + * \def POLARSSL_REMOVE_ARC4_CIPHERSUITES + * + * Remove RC4 ciphersuites by default in SSL / TLS. + * This flag removes the ciphersuites based on RC4 from the default list as + * returned by ssl_list_ciphersuites(). However, it is still possible to + * enable (some of) them with ssl_set_ciphersuites() by including them + * explicitly. + * + * Uncomment this macro to remove RC4 ciphersuites by default. + */ +//#define POLARSSL_REMOVE_ARC4_CIPHERSUITES + +/** + * \def POLARSSL_ECP_XXXX_ENABLED + * + * Enables specific curves within the Elliptic Curve module. + * By default all supported curves are enabled. + * + * Comment macros to disable the curve and functions for it + */ +#define POLARSSL_ECP_DP_SECP192R1_ENABLED +#define POLARSSL_ECP_DP_SECP224R1_ENABLED +#define POLARSSL_ECP_DP_SECP256R1_ENABLED +#define POLARSSL_ECP_DP_SECP384R1_ENABLED +#define POLARSSL_ECP_DP_SECP521R1_ENABLED +#define POLARSSL_ECP_DP_SECP192K1_ENABLED +#define POLARSSL_ECP_DP_SECP224K1_ENABLED +#define POLARSSL_ECP_DP_SECP256K1_ENABLED +#define POLARSSL_ECP_DP_BP256R1_ENABLED +#define POLARSSL_ECP_DP_BP384R1_ENABLED +#define POLARSSL_ECP_DP_BP512R1_ENABLED +//#define POLARSSL_ECP_DP_M221_ENABLED // Not implemented yet! +#define POLARSSL_ECP_DP_M255_ENABLED +//#define POLARSSL_ECP_DP_M383_ENABLED // Not implemented yet! +//#define POLARSSL_ECP_DP_M511_ENABLED // Not implemented yet! + +/** + * \def POLARSSL_ECP_NIST_OPTIM + * + * Enable specific 'modulo p' routines for each NIST prime. + * Depending on the prime and architecture, makes operations 4 to 8 times + * faster on the corresponding curve. + * + * Comment this macro to disable NIST curves optimisation. + */ +#define POLARSSL_ECP_NIST_OPTIM + +/** + * \def POLARSSL_ECDSA_DETERMINISTIC + * + * Enable deterministic ECDSA (RFC 6979). + * Standard ECDSA is "fragile" in the sense that lack of entropy when signing + * may result in a compromise of the long-term signing key. This is avoided by + * the deterministic variant. + * + * Requires: POLARSSL_HMAC_DRBG_C + * + * Comment this macro to disable deterministic ECDSA. + */ +#define POLARSSL_ECDSA_DETERMINISTIC + +/** + * \def POLARSSL_KEY_EXCHANGE_PSK_ENABLED + * + * Enable the PSK based ciphersuite modes in SSL / TLS. + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_PSK_WITH_AES_256_GCM_SHA384 + * TLS_PSK_WITH_AES_256_CBC_SHA384 + * TLS_PSK_WITH_AES_256_CBC_SHA + * TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_PSK_WITH_AES_128_GCM_SHA256 + * TLS_PSK_WITH_AES_128_CBC_SHA256 + * TLS_PSK_WITH_AES_128_CBC_SHA + * TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_PSK_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED + * + * Enable the DHE-PSK based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_DHM_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 + * TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_AES_256_CBC_SHA + * TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 + * TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 + * TLS_DHE_PSK_WITH_AES_128_CBC_SHA + * TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_DHE_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED + * + * Enable the ECDHE-PSK based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA + * TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA + * TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED + * + * Enable the RSA-PSK based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_RSA_C, POLARSSL_PKCS1_V15, + * POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 + * TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 + * TLS_RSA_PSK_WITH_AES_256_CBC_SHA + * TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 + * TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 + * TLS_RSA_PSK_WITH_AES_128_CBC_SHA + * TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_RSA_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_RSA_ENABLED + * + * Enable the RSA-only based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_RSA_C, POLARSSL_PKCS1_V15, + * POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_RSA_WITH_AES_256_GCM_SHA384 + * TLS_RSA_WITH_AES_256_CBC_SHA256 + * TLS_RSA_WITH_AES_256_CBC_SHA + * TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA + * TLS_RSA_WITH_AES_128_GCM_SHA256 + * TLS_RSA_WITH_AES_128_CBC_SHA256 + * TLS_RSA_WITH_AES_128_CBC_SHA + * TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA + * TLS_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_RSA_WITH_RC4_128_SHA + * TLS_RSA_WITH_RC4_128_MD5 + */ +#define POLARSSL_KEY_EXCHANGE_RSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED + * + * Enable the DHE-RSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_DHM_C, POLARSSL_RSA_C, POLARSSL_PKCS1_V15, + * POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + * TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + * TLS_DHE_RSA_WITH_AES_256_CBC_SHA + * TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA + * TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + * TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_AES_128_CBC_SHA + * TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA + * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA + */ +#define POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED + * + * Enable the ECDHE-RSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C, POLARSSL_RSA_C, POLARSSL_PKCS1_V15, + * POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + * TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + * TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_RSA_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED + * + * Enable the ECDHE-ECDSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C, POLARSSL_ECDSA_C, POLARSSL_X509_CRT_PARSE_C, + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_RC4_128_SHA + */ +#define POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED + * + * Enable the ECDH-ECDSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C, POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_RC4_128_SHA + * TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 + */ +#define POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED + +/** + * \def POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED + * + * Enable the ECDH-RSA based ciphersuite modes in SSL / TLS. + * + * Requires: POLARSSL_ECDH_C, POLARSSL_X509_CRT_PARSE_C + * + * This enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_RSA_WITH_RC4_128_SHA + * TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 + */ +#define POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED + +/** + * \def POLARSSL_PK_PARSE_EC_EXTENDED + * + * Enhance support for reading EC keys using variants of SEC1 not allowed by + * RFC 5915 and RFC 5480. + * + * Currently this means parsing the SpecifiedECDomain choice of EC + * parameters (only known groups are supported, not arbitrary domains, to + * avoid validation issues). + * + * Disable if you only need to support RFC 5915 + 5480 key formats. + */ +#define POLARSSL_PK_PARSE_EC_EXTENDED + +/** + * \def POLARSSL_ERROR_STRERROR_BC + * + * Make available the backward compatible error_strerror() next to the + * current polarssl_strerror(). + * + * For new code, it is recommended to use polarssl_strerror() instead and + * disable this. + * + * Disable if you run into name conflicts and want to really remove the + * error_strerror() + */ +#define POLARSSL_ERROR_STRERROR_BC + +/** + * \def POLARSSL_ERROR_STRERROR_DUMMY + * + * Enable a dummy error function to make use of polarssl_strerror() in + * third party libraries easier when POLARSSL_ERROR_C is disabled + * (no effect when POLARSSL_ERROR_C is enabled). + * + * You can safely disable this if POLARSSL_ERROR_C is enabled, or if you're + * not using polarssl_strerror() or error_strerror() in your application. + * + * Disable if you run into name conflicts and want to really remove the + * polarssl_strerror() + */ +#define POLARSSL_ERROR_STRERROR_DUMMY + +/** + * \def POLARSSL_GENPRIME + * + * Enable the prime-number generation code. + * + * Requires: POLARSSL_BIGNUM_C + */ +#define POLARSSL_GENPRIME + +/** + * \def POLARSSL_FS_IO + * + * Enable functions that use the filesystem. + */ +#define POLARSSL_FS_IO + +/** + * \def POLARSSL_NO_DEFAULT_ENTROPY_SOURCES + * + * Do not add default entropy sources. These are the platform specific, + * hardclock and HAVEGE based poll functions. + * + * This is useful to have more control over the added entropy sources in an + * application. + * + * Uncomment this macro to prevent loading of default entropy functions. + */ +//#define POLARSSL_NO_DEFAULT_ENTROPY_SOURCES + +/** + * \def POLARSSL_NO_PLATFORM_ENTROPY + * + * Do not use built-in platform entropy functions. + * This is useful if your platform does not support + * standards like the /dev/urandom or Windows CryptoAPI. + * + * Uncomment this macro to disable the built-in platform entropy functions. + */ +//#define POLARSSL_NO_PLATFORM_ENTROPY + +/** + * \def POLARSSL_ENTROPY_FORCE_SHA256 + * + * Force the entropy accumulator to use a SHA-256 accumulator instead of the + * default SHA-512 based one (if both are available). + * + * Requires: POLARSSL_SHA256_C + * + * On 32-bit systems SHA-256 can be much faster than SHA-512. Use this option + * if you have performance concerns. + * + * This option is only useful if both POLARSSL_SHA256_C and + * POLARSSL_SHA512_C are defined. Otherwise the available hash module is used. + */ +//#define POLARSSL_ENTROPY_FORCE_SHA256 + +/** + * \def POLARSSL_MEMORY_DEBUG + * + * Enable debugging of buffer allocator memory issues. Automatically prints + * (to stderr) all (fatal) messages on memory allocation issues. Enables + * function for 'debug output' of allocated memory. + * + * Requires: POLARSSL_MEMORY_BUFFER_ALLOC_C + * + * Uncomment this macro to let the buffer allocator print out error messages. + */ +//#define POLARSSL_MEMORY_DEBUG + +/** + * \def POLARSSL_MEMORY_BACKTRACE + * + * Include backtrace information with each allocated block. + * + * Requires: POLARSSL_MEMORY_BUFFER_ALLOC_C + * GLIBC-compatible backtrace() an backtrace_symbols() support + * + * Uncomment this macro to include backtrace information + */ +//#define POLARSSL_MEMORY_BACKTRACE + +/** + * \def POLARSSL_PKCS1_V15 + * + * Enable support for PKCS#1 v1.5 encoding. + * + * Requires: POLARSSL_RSA_C + * + * This enables support for PKCS#1 v1.5 operations. + */ +#define POLARSSL_PKCS1_V15 + +/** + * \def POLARSSL_PKCS1_V21 + * + * Enable support for PKCS#1 v2.1 encoding. + * + * Requires: POLARSSL_MD_C, POLARSSL_RSA_C + * + * This enables support for RSAES-OAEP and RSASSA-PSS operations. + */ +#define POLARSSL_PKCS1_V21 + +/** + * \def POLARSSL_RSA_NO_CRT + * + * Do not use the Chinese Remainder Theorem for the RSA private operation. + * + * Uncomment this macro to disable the use of CRT in RSA. + * + */ +//#define POLARSSL_RSA_NO_CRT + +/** + * \def POLARSSL_SELF_TEST + * + * Enable the checkup functions (*_self_test). + */ +#define POLARSSL_SELF_TEST + +/** + * \def POLARSSL_SSL_ALL_ALERT_MESSAGES + * + * Enable sending of alert messages in case of encountered errors as per RFC. + * If you choose not to send the alert messages, PolarSSL can still communicate + * with other servers, only debugging of failures is harder. + * + * The advantage of not sending alert messages, is that no information is given + * about reasons for failures thus preventing adversaries of gaining intel. + * + * Enable sending of all alert messages + */ +#define POLARSSL_SSL_ALERT_MESSAGES + +/** + * \def POLARSSL_SSL_DEBUG_ALL + * + * Enable the debug messages in SSL module for all issues. + * Debug messages have been disabled in some places to prevent timing + * attacks due to (unbalanced) debugging function calls. + * + * If you need all error reporting you should enable this during debugging, + * but remove this for production servers that should log as well. + * + * Uncomment this macro to report all debug messages on errors introducing + * a timing side-channel. + * + */ +//#define POLARSSL_SSL_DEBUG_ALL + +/** + * \def POLARSSL_SSL_HW_RECORD_ACCEL + * + * Enable hooking functions in SSL module for hardware acceleration of + * individual records. + * + * Uncomment this macro to enable hooking functions. + */ +//#define POLARSSL_SSL_HW_RECORD_ACCEL + +/** + * \def POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO + * + * Enable support for receiving and parsing SSLv2 Client Hello messages for the + * SSL Server module (POLARSSL_SSL_SRV_C). + * + * Comment this macro to disable support for SSLv2 Client Hello messages. + */ +#define POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO + +/** + * \def POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE + * + * Pick the ciphersuite according to the client's preferences rather than ours + * in the SSL Server module (POLARSSL_SSL_SRV_C). + * + * Uncomment this macro to respect client's ciphersuite order + */ +//#define POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE + +/** + * \def POLARSSL_SSL_MAX_FRAGMENT_LENGTH + * + * Enable support for RFC 6066 max_fragment_length extension in SSL. + * + * Comment this macro to disable support for the max_fragment_length extension + */ +#define POLARSSL_SSL_MAX_FRAGMENT_LENGTH + +/** + * \def POLARSSL_SSL_PROTO_SSL3 + * + * Enable support for SSL 3.0. + * + * Requires: POLARSSL_MD5_C + * POLARSSL_SHA1_C + * + * Comment this macro to disable support for SSL 3.0 + */ +#define POLARSSL_SSL_PROTO_SSL3 + +/** + * \def POLARSSL_SSL_PROTO_TLS1 + * + * Enable support for TLS 1.0. + * + * Requires: POLARSSL_MD5_C + * POLARSSL_SHA1_C + * + * Comment this macro to disable support for TLS 1.0 + */ +#define POLARSSL_SSL_PROTO_TLS1 + +/** + * \def POLARSSL_SSL_PROTO_TLS1_1 + * + * Enable support for TLS 1.1. + * + * Requires: POLARSSL_MD5_C + * POLARSSL_SHA1_C + * + * Comment this macro to disable support for TLS 1.1 + */ +#define POLARSSL_SSL_PROTO_TLS1_1 + +/** + * \def POLARSSL_SSL_PROTO_TLS1_2 + * + * Enable support for TLS 1.2. + * + * Requires: POLARSSL_SHA1_C or POLARSSL_SHA256_C or POLARSSL_SHA512_C + * (Depends on ciphersuites) + * + * Comment this macro to disable support for TLS 1.2 + */ +#define POLARSSL_SSL_PROTO_TLS1_2 + +/** + * \def POLARSSL_SSL_ALPN + * + * Enable support for Application Layer Protocol Negotiation. + * draft-ietf-tls-applayerprotoneg-05 + * + * Comment this macro to disable support for ALPN. + */ +#define POLARSSL_SSL_ALPN + +/** + * \def POLARSSL_SSL_SESSION_TICKETS + * + * Enable support for RFC 5077 session tickets in SSL. + * + * Requires: POLARSSL_AES_C + * POLARSSL_SHA256_C + * POLARSSL_CIPHER_MODE_CBC + * + * Comment this macro to disable support for SSL session tickets + */ +#define POLARSSL_SSL_SESSION_TICKETS + +/** + * \def POLARSSL_SSL_SERVER_NAME_INDICATION + * + * Enable support for RFC 6066 server name indication (SNI) in SSL. + * + * Comment this macro to disable support for server name indication in SSL + */ +#define POLARSSL_SSL_SERVER_NAME_INDICATION + +/** + * \def POLARSSL_SSL_TRUNCATED_HMAC + * + * Enable support for RFC 6066 truncated HMAC in SSL. + * + * Comment this macro to disable support for truncated HMAC in SSL + */ +#define POLARSSL_SSL_TRUNCATED_HMAC + +/** + * \def POLARSSL_SSL_SET_CURVES + * + * Enable ssl_set_curves(). + * + * This is disabled by default since it breaks binary compatibility with the + * 1.3.x line. If you choose to enable it, you will need to rebuild your + * application against the new header files, relinking will not be enough. + * It will be enabled by default, or no longer an option, in the 1.4 branch. + * + * Uncomment to make ssl_set_curves() available. + */ +//#define POLARSSL_SSL_SET_CURVES + +/** + * \def POLARSSL_THREADING_ALT + * + * Provide your own alternate threading implementation. + * + * Requires: POLARSSL_THREADING_C + * + * Uncomment this to allow your own alternate threading implementation. + */ +//#define POLARSSL_THREADING_ALT + +/** + * \def POLARSSL_THREADING_PTHREAD + * + * Enable the pthread wrapper layer for the threading layer. + * + * Requires: POLARSSL_THREADING_C + * + * Uncomment this to enable pthread mutexes. + */ +//#define POLARSSL_THREADING_PTHREAD + +/** + * \def POLARSSL_VERSION_FEATURES + * + * Allow run-time checking of compile-time enabled features. Thus allowing users + * to check at run-time if the library is for instance compiled with threading + * support via version_check_feature(). + * + * Requires: POLARSSL_VERSION_C + * + * Comment this to disable run-time checking and save ROM space + */ +#define POLARSSL_VERSION_FEATURES + +/** + * \def POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3 + * + * If set, the X509 parser will not break-off when parsing an X509 certificate + * and encountering an extension in a v1 or v2 certificate. + * + * Uncomment to prevent an error. + */ +//#define POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3 + +/** + * \def POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION + * + * If set, the X509 parser will not break-off when parsing an X509 certificate + * and encountering an unknown critical extension. + * + * Uncomment to prevent an error. + */ +//#define POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION + +/** + * \def POLARSSL_X509_CHECK_KEY_USAGE + * + * Enable verification of the keyUsage extension (CA and leaf certificates). + * + * Disabling this avoids problems with mis-issued and/or misused + * (intermediate) CA and leaf certificates. + * + * \warning Depending on your PKI use, disabling this can be a security risk! + * + * Comment to skip keyUsage checking for both CA and leaf certificates. + */ +#define POLARSSL_X509_CHECK_KEY_USAGE + +/** + * \def POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE + * + * Enable verification of the extendedKeyUsage extension (leaf certificates). + * + * Disabling this avoids problems with mis-issued and/or misused certificates. + * + * \warning Depending on your PKI use, disabling this can be a security risk! + * + * Comment to skip extendedKeyUsage checking for certificates. + */ +#define POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE + +/** + * \def POLARSSL_X509_RSASSA_PSS_SUPPORT + * + * Enable parsing and verification of X.509 certificates, CRLs and CSRS + * signed with RSASSA-PSS (aka PKCS#1 v2.1). + * + * Comment this macro to disallow using RSASSA-PSS in certificates. + */ +#define POLARSSL_X509_RSASSA_PSS_SUPPORT + +/** + * \def POLARSSL_ZLIB_SUPPORT + * + * If set, the SSL/TLS module uses ZLIB to support compression and + * decompression of packet data. + * + * \warning TLS-level compression MAY REDUCE SECURITY! See for example the + * CRIME attack. Before enabling this option, you should examine with care if + * CRIME or similar exploits may be a applicable to your use case. + * + * Used in: library/ssl_tls.c + * library/ssl_cli.c + * library/ssl_srv.c + * + * This feature requires zlib library and headers to be present. + * + * Uncomment to enable use of ZLIB + */ +//#define POLARSSL_ZLIB_SUPPORT +/* \} name SECTION: PolarSSL feature support */ + +/** + * \name SECTION: PolarSSL modules + * + * This section enables or disables entire modules in PolarSSL + * \{ + */ + +/** + * \def POLARSSL_AESNI_C + * + * Enable AES-NI support on x86-64. + * + * Module: library/aesni.c + * Caller: library/aes.c + * + * Requires: POLARSSL_HAVE_ASM + * + * This modules adds support for the AES-NI instructions on x86-64 + */ +//#define POLARSSL_AESNI_C + +/** + * \def POLARSSL_AES_C + * + * Enable the AES block cipher. + * + * Module: library/aes.c + * Caller: library/ssl_tls.c + * library/pem.c + * library/ctr_drbg.c + * + * This module enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA + * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA + * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + * TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + * TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + * TLS_DHE_RSA_WITH_AES_256_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + * TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + * TLS_DHE_RSA_WITH_AES_128_CBC_SHA + * TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 + * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 + * TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA + * TLS_DHE_PSK_WITH_AES_256_CBC_SHA + * TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 + * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 + * TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 + * TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA + * TLS_DHE_PSK_WITH_AES_128_CBC_SHA + * TLS_RSA_WITH_AES_256_GCM_SHA384 + * TLS_RSA_WITH_AES_256_CBC_SHA256 + * TLS_RSA_WITH_AES_256_CBC_SHA + * TLS_RSA_WITH_AES_128_GCM_SHA256 + * TLS_RSA_WITH_AES_128_CBC_SHA256 + * TLS_RSA_WITH_AES_128_CBC_SHA + * TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 + * TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 + * TLS_RSA_PSK_WITH_AES_256_CBC_SHA + * TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 + * TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 + * TLS_RSA_PSK_WITH_AES_128_CBC_SHA + * TLS_PSK_WITH_AES_256_GCM_SHA384 + * TLS_PSK_WITH_AES_256_CBC_SHA384 + * TLS_PSK_WITH_AES_256_CBC_SHA + * TLS_PSK_WITH_AES_128_GCM_SHA256 + * TLS_PSK_WITH_AES_128_CBC_SHA256 + * TLS_PSK_WITH_AES_128_CBC_SHA + * + * PEM_PARSE uses AES for decrypting encrypted keys. + */ +#define POLARSSL_AES_C + +/** + * \def POLARSSL_ARC4_C + * + * Enable the ARCFOUR stream cipher. + * + * Module: library/arc4.c + * Caller: library/ssl_tls.c + * + * This module enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_RC4_128_SHA + * TLS_ECDH_RSA_WITH_RC4_128_SHA + * TLS_ECDHE_ECDSA_WITH_RC4_128_SHA + * TLS_ECDHE_RSA_WITH_RC4_128_SHA + * TLS_ECDHE_PSK_WITH_RC4_128_SHA + * TLS_DHE_PSK_WITH_RC4_128_SHA + * TLS_RSA_WITH_RC4_128_SHA + * TLS_RSA_WITH_RC4_128_MD5 + * TLS_RSA_PSK_WITH_RC4_128_SHA + * TLS_PSK_WITH_RC4_128_SHA + */ +#define POLARSSL_ARC4_C + +/** + * \def POLARSSL_ASN1_PARSE_C + * + * Enable the generic ASN1 parser. + * + * Module: library/asn1.c + * Caller: library/x509.c + * library/dhm.c + * library/pkcs12.c + * library/pkcs5.c + * library/pkparse.c + */ +#define POLARSSL_ASN1_PARSE_C + +/** + * \def POLARSSL_ASN1_WRITE_C + * + * Enable the generic ASN1 writer. + * + * Module: library/asn1write.c + * Caller: library/ecdsa.c + * library/pkwrite.c + * library/x509_create.c + * library/x509write_crt.c + * library/x509write_csr.c + */ +#define POLARSSL_ASN1_WRITE_C + +/** + * \def POLARSSL_BASE64_C + * + * Enable the Base64 module. + * + * Module: library/base64.c + * Caller: library/pem.c + * + * This module is required for PEM support (required by X.509). + */ +#define POLARSSL_BASE64_C + +/** + * \def POLARSSL_BIGNUM_C + * + * Enable the multi-precision integer library. + * + * Module: library/bignum.c + * Caller: library/dhm.c + * library/ecp.c + * library/ecdsa.c + * library/rsa.c + * library/ssl_tls.c + * + * This module is required for RSA, DHM and ECC (ECDH, ECDSA) support. + */ +#define POLARSSL_BIGNUM_C + +/** + * \def POLARSSL_BLOWFISH_C + * + * Enable the Blowfish block cipher. + * + * Module: library/blowfish.c + */ +#define POLARSSL_BLOWFISH_C + +/** + * \def POLARSSL_CAMELLIA_C + * + * Enable the Camellia block cipher. + * + * Module: library/camellia.c + * Caller: library/ssl_tls.c + * + * This module enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA + * TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_256_CBC_SHA + * TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_RSA_WITH_CAMELLIA_128_CBC_SHA + * TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 + * TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 + * TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 + * TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 + * TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 + */ +#define POLARSSL_CAMELLIA_C + +/** + * \def POLARSSL_CCM_C + * + * Enable the Counter with CBC-MAC (CCM) mode for 128-bit block cipher. + * + * Module: library/ccm.c + * + * Requires: POLARSSL_AES_C or POLARSSL_CAMELLIA_C + * + * This module enables the AES-CCM ciphersuites, if other requisites are + * enabled as well. + */ +#define POLARSSL_CCM_C + +/** + * \def POLARSSL_CERTS_C + * + * Enable the test certificates. + * + * Module: library/certs.c + * Caller: + * + * Requires: POLARSSL_PEM_PARSE_C + * + * This module is used for testing (ssl_client/server). + */ +#define POLARSSL_CERTS_C + +/** + * \def POLARSSL_CIPHER_C + * + * Enable the generic cipher layer. + * + * Module: library/cipher.c + * Caller: library/ssl_tls.c + * + * Uncomment to enable generic cipher wrappers. + */ +#define POLARSSL_CIPHER_C + +/** + * \def POLARSSL_CTR_DRBG_C + * + * Enable the CTR_DRBG AES-256-based random generator. + * + * Module: library/ctr_drbg.c + * Caller: + * + * Requires: POLARSSL_AES_C + * + * This module provides the CTR_DRBG AES-256 random number generator. + */ +#define POLARSSL_CTR_DRBG_C + +/** + * \def POLARSSL_DEBUG_C + * + * Enable the debug functions. + * + * Module: library/debug.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * + * This module provides debugging functions. + */ +#define POLARSSL_DEBUG_C + +/** + * \def POLARSSL_DES_C + * + * Enable the DES block cipher. + * + * Module: library/des.c + * Caller: library/pem.c + * library/ssl_tls.c + * + * This module enables the following ciphersuites (if other requisites are + * enabled as well): + * TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_RSA_WITH_3DES_EDE_CBC_SHA + * TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA + * TLS_PSK_WITH_3DES_EDE_CBC_SHA + * + * PEM_PARSE uses DES/3DES for decrypting encrypted keys. + */ +#define POLARSSL_DES_C + +/** + * \def POLARSSL_DHM_C + * + * Enable the Diffie-Hellman-Merkle module. + * + * Module: library/dhm.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * + * This module is used by the following key exchanges: + * DHE-RSA, DHE-PSK + */ +#define POLARSSL_DHM_C + +/** + * \def POLARSSL_ECDH_C + * + * Enable the elliptic curve Diffie-Hellman library. + * + * Module: library/ecdh.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * + * This module is used by the following key exchanges: + * ECDHE-ECDSA, ECDHE-RSA, DHE-PSK + * + * Requires: POLARSSL_ECP_C + */ +#define POLARSSL_ECDH_C + +/** + * \def POLARSSL_ECDSA_C + * + * Enable the elliptic curve DSA library. + * + * Module: library/ecdsa.c + * Caller: + * + * This module is used by the following key exchanges: + * ECDHE-ECDSA + * + * Requires: POLARSSL_ECP_C, POLARSSL_ASN1_WRITE_C, POLARSSL_ASN1_PARSE_C + */ +#define POLARSSL_ECDSA_C + +/** + * \def POLARSSL_ECP_C + * + * Enable the elliptic curve over GF(p) library. + * + * Module: library/ecp.c + * Caller: library/ecdh.c + * library/ecdsa.c + * + * Requires: POLARSSL_BIGNUM_C and at least one POLARSSL_ECP_DP_XXX_ENABLED + */ +#define POLARSSL_ECP_C + +/** + * \def POLARSSL_ENTROPY_C + * + * Enable the platform-specific entropy code. + * + * Module: library/entropy.c + * Caller: + * + * Requires: POLARSSL_SHA512_C or POLARSSL_SHA256_C + * + * This module provides a generic entropy pool + */ +#define POLARSSL_ENTROPY_C + +/** + * \def POLARSSL_ERROR_C + * + * Enable error code to error string conversion. + * + * Module: library/error.c + * Caller: + * + * This module enables polarssl_strerror(). + */ +#define POLARSSL_ERROR_C + +/** + * \def POLARSSL_GCM_C + * + * Enable the Galois/Counter Mode (GCM) for AES. + * + * Module: library/gcm.c + * + * Requires: POLARSSL_AES_C or POLARSSL_CAMELLIA_C + * + * This module enables the AES-GCM and CAMELLIA-GCM ciphersuites, if other + * requisites are enabled as well. + */ +#define POLARSSL_GCM_C + +/** + * \def POLARSSL_HAVEGE_C + * + * Enable the HAVEGE random generator. + * + * Warning: the HAVEGE random generator is not suitable for virtualized + * environments + * + * Warning: the HAVEGE random generator is dependent on timing and specific + * processor traits. It is therefore not advised to use HAVEGE as + * your applications primary random generator or primary entropy pool + * input. As a secondary input to your entropy pool, it IS able add + * the (limited) extra entropy it provides. + * + * Module: library/havege.c + * Caller: + * + * Requires: POLARSSL_TIMING_C + * + * Uncomment to enable the HAVEGE random generator. + */ +//#define POLARSSL_HAVEGE_C + +/** + * \def POLARSSL_HMAC_DRBG_C + * + * Enable the HMAC_DRBG random generator. + * + * Module: library/hmac_drbg.c + * Caller: + * + * Requires: POLARSSL_MD_C + * + * Uncomment to enable the HMAC_DRBG random number geerator. + */ +#define POLARSSL_HMAC_DRBG_C + +/** + * \def POLARSSL_MD_C + * + * Enable the generic message digest layer. + * + * Module: library/md.c + * Caller: + * + * Uncomment to enable generic message digest wrappers. + */ +#define POLARSSL_MD_C + +/** + * \def POLARSSL_MD2_C + * + * Enable the MD2 hash algorithm. + * + * Module: library/md2.c + * Caller: + * + * Uncomment to enable support for (rare) MD2-signed X.509 certs. + */ +//#define POLARSSL_MD2_C + +/** + * \def POLARSSL_MD4_C + * + * Enable the MD4 hash algorithm. + * + * Module: library/md4.c + * Caller: + * + * Uncomment to enable support for (rare) MD4-signed X.509 certs. + */ +//#define POLARSSL_MD4_C + +/** + * \def POLARSSL_MD5_C + * + * Enable the MD5 hash algorithm. + * + * Module: library/md5.c + * Caller: library/md.c + * library/pem.c + * library/ssl_tls.c + * + * This module is required for SSL/TLS and X.509. + * PEM_PARSE uses MD5 for decrypting encrypted keys. + */ +#define POLARSSL_MD5_C + +/** + * \def POLARSSL_MEMORY_C + * Deprecated since 1.3.5. Please use POLARSSL_PLATFORM_MEMORY instead. + */ +//#define POLARSSL_MEMORY_C + +/** + * \def POLARSSL_MEMORY_BUFFER_ALLOC_C + * + * Enable the buffer allocator implementation that makes use of a (stack) + * based buffer to 'allocate' dynamic memory. (replaces malloc() and free() + * calls) + * + * Module: library/memory_buffer_alloc.c + * + * Requires: POLARSSL_PLATFORM_C + * POLARSSL_PLATFORM_MEMORY (to use it within PolarSSL) + * + * Enable this module to enable the buffer memory allocator. + */ +//#define POLARSSL_MEMORY_BUFFER_ALLOC_C + +/** + * \def POLARSSL_NET_C + * + * Enable the TCP/IP networking routines. + * + * Module: library/net.c + * + * This module provides TCP/IP networking routines. + */ +#define POLARSSL_NET_C + +/** + * \def POLARSSL_OID_C + * + * Enable the OID database. + * + * Module: library/oid.c + * Caller: library/asn1write.c + * library/pkcs5.c + * library/pkparse.c + * library/pkwrite.c + * library/rsa.c + * library/x509.c + * library/x509_create.c + * library/x509_crl.c + * library/x509_crt.c + * library/x509_csr.c + * library/x509write_crt.c + * library/x509write_csr.c + * + * This modules translates between OIDs and internal values. + */ +#define POLARSSL_OID_C + +/** + * \def POLARSSL_PADLOCK_C + * + * Enable VIA Padlock support on x86. + * + * Module: library/padlock.c + * Caller: library/aes.c + * + * Requires: POLARSSL_HAVE_ASM + * + * This modules adds support for the VIA PadLock on x86. + */ +//#define POLARSSL_PADLOCK_C + +/** + * \def POLARSSL_PBKDF2_C + * + * Enable PKCS#5 PBKDF2 key derivation function. + * DEPRECATED: Use POLARSSL_PKCS5_C instead + * + * Module: library/pbkdf2.c + * + * Requires: POLARSSL_PKCS5_C + * + * This module adds support for the PKCS#5 PBKDF2 key derivation function. + */ +#define POLARSSL_PBKDF2_C + +/** + * \def POLARSSL_PEM_PARSE_C + * + * Enable PEM decoding / parsing. + * + * Module: library/pem.c + * Caller: library/dhm.c + * library/pkparse.c + * library/x509_crl.c + * library/x509_crt.c + * library/x509_csr.c + * + * Requires: POLARSSL_BASE64_C + * + * This modules adds support for decoding / parsing PEM files. + */ +#define POLARSSL_PEM_PARSE_C + +/** + * \def POLARSSL_PEM_WRITE_C + * + * Enable PEM encoding / writing. + * + * Module: library/pem.c + * Caller: library/pkwrite.c + * library/x509write_crt.c + * library/x509write_csr.c + * + * Requires: POLARSSL_BASE64_C + * + * This modules adds support for encoding / writing PEM files. + */ +#define POLARSSL_PEM_WRITE_C + +/** + * \def POLARSSL_PK_C + * + * Enable the generic public (asymetric) key layer. + * + * Module: library/pk.c + * Caller: library/ssl_tls.c + * library/ssl_cli.c + * library/ssl_srv.c + * + * Requires: POLARSSL_RSA_C or POLARSSL_ECP_C + * + * Uncomment to enable generic public key wrappers. + */ +#define POLARSSL_PK_C + +/** + * \def POLARSSL_PK_PARSE_C + * + * Enable the generic public (asymetric) key parser. + * + * Module: library/pkparse.c + * Caller: library/x509_crt.c + * library/x509_csr.c + * + * Requires: POLARSSL_PK_C + * + * Uncomment to enable generic public key parse functions. + */ +#define POLARSSL_PK_PARSE_C + +/** + * \def POLARSSL_PK_WRITE_C + * + * Enable the generic public (asymetric) key writer. + * + * Module: library/pkwrite.c + * Caller: library/x509write.c + * + * Requires: POLARSSL_PK_C + * + * Uncomment to enable generic public key write functions. + */ +#define POLARSSL_PK_WRITE_C + +/** + * \def POLARSSL_PKCS5_C + * + * Enable PKCS#5 functions. + * + * Module: library/pkcs5.c + * + * Requires: POLARSSL_MD_C + * + * This module adds support for the PKCS#5 functions. + */ +#define POLARSSL_PKCS5_C + +/** + * \def POLARSSL_PKCS11_C + * + * Enable wrapper for PKCS#11 smartcard support. + * + * Module: library/pkcs11.c + * Caller: library/pk.c + * + * Requires: POLARSSL_PK_C + * + * This module enables SSL/TLS PKCS #11 smartcard support. + * Requires the presence of the PKCS#11 helper library (libpkcs11-helper) + */ +//#define POLARSSL_PKCS11_C + +/** + * \def POLARSSL_PKCS12_C + * + * Enable PKCS#12 PBE functions. + * Adds algorithms for parsing PKCS#8 encrypted private keys + * + * Module: library/pkcs12.c + * Caller: library/pkparse.c + * + * Requires: POLARSSL_ASN1_PARSE_C, POLARSSL_CIPHER_C, POLARSSL_MD_C + * Can use: POLARSSL_ARC4_C + * + * This module enables PKCS#12 functions. + */ +#define POLARSSL_PKCS12_C + +/** + * \def POLARSSL_PLATFORM_C + * + * Enable the platform abstraction layer that allows you to re-assign + * functions like malloc(), free(), printf(), fprintf() + * + * Module: library/platform.c + * Caller: Most other .c files + * + * This module enables abstraction of common (libc) functions. + */ +//#define POLARSSL_PLATFORM_C + +/** + * \def POLARSSL_RIPEMD160_C + * + * Enable the RIPEMD-160 hash algorithm. + * + * Module: library/ripemd160.c + * Caller: library/md.c + * + */ +#define POLARSSL_RIPEMD160_C + +/** + * \def POLARSSL_RSA_C + * + * Enable the RSA public-key cryptosystem. + * + * Module: library/rsa.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * library/x509.c + * + * This module is used by the following key exchanges: + * RSA, DHE-RSA, ECDHE-RSA, RSA-PSK + * + * Requires: POLARSSL_BIGNUM_C, POLARSSL_OID_C + */ +#define POLARSSL_RSA_C + +/** + * \def POLARSSL_SHA1_C + * + * Enable the SHA1 cryptographic hash algorithm. + * + * Module: library/sha1.c + * Caller: library/md.c + * library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * library/x509write_crt.c + * + * This module is required for SSL/TLS and SHA1-signed certificates. + */ +#define POLARSSL_SHA1_C + +/** + * \def POLARSSL_SHA256_C + * + * Enable the SHA-224 and SHA-256 cryptographic hash algorithms. + * (Used to be POLARSSL_SHA2_C) + * + * Module: library/sha256.c + * Caller: library/entropy.c + * library/md.c + * library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * + * This module adds support for SHA-224 and SHA-256. + * This module is required for the SSL/TLS 1.2 PRF function. + */ +#define POLARSSL_SHA256_C + +/** + * \def POLARSSL_SHA512_C + * + * Enable the SHA-384 and SHA-512 cryptographic hash algorithms. + * (Used to be POLARSSL_SHA4_C) + * + * Module: library/sha512.c + * Caller: library/entropy.c + * library/md.c + * library/ssl_cli.c + * library/ssl_srv.c + * + * This module adds support for SHA-384 and SHA-512. + */ +#define POLARSSL_SHA512_C + +/** + * \def POLARSSL_SSL_CACHE_C + * + * Enable simple SSL cache implementation. + * + * Module: library/ssl_cache.c + * Caller: + * + * Requires: POLARSSL_SSL_CACHE_C + */ +#define POLARSSL_SSL_CACHE_C + +/** + * \def POLARSSL_SSL_CLI_C + * + * Enable the SSL/TLS client code. + * + * Module: library/ssl_cli.c + * Caller: + * + * Requires: POLARSSL_SSL_TLS_C + * + * This module is required for SSL/TLS client support. + */ +#define POLARSSL_SSL_CLI_C + +/** + * \def POLARSSL_SSL_SRV_C + * + * Enable the SSL/TLS server code. + * + * Module: library/ssl_srv.c + * Caller: + * + * Requires: POLARSSL_SSL_TLS_C + * + * This module is required for SSL/TLS server support. + */ +#define POLARSSL_SSL_SRV_C + +/** + * \def POLARSSL_SSL_TLS_C + * + * Enable the generic SSL/TLS code. + * + * Module: library/ssl_tls.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * + * Requires: POLARSSL_CIPHER_C, POLARSSL_MD_C + * and at least one of the POLARSSL_SSL_PROTO_* defines + * + * This module is required for SSL/TLS. + */ +#define POLARSSL_SSL_TLS_C + +/** + * \def POLARSSL_THREADING_C + * + * Enable the threading abstraction layer. + * By default PolarSSL assumes it is used in a non-threaded environment or that + * contexts are not shared between threads. If you do intend to use contexts + * between threads, you will need to enable this layer to prevent race + * conditions. + * + * Module: library/threading.c + * + * This allows different threading implementations (self-implemented or + * provided). + * + * You will have to enable either POLARSSL_THREADING_ALT or + * POLARSSL_THREADING_PTHREAD. + * + * Enable this layer to allow use of mutexes within PolarSSL + */ +//#define POLARSSL_THREADING_C + +/** + * \def POLARSSL_TIMING_C + * + * Enable the portable timing interface. + * + * Module: library/timing.c + * Caller: library/havege.c + * + * This module is used by the HAVEGE random number generator. + */ +#define POLARSSL_TIMING_C + +/** + * \def POLARSSL_VERSION_C + * + * Enable run-time version information. + * + * Module: library/version.c + * + * This module provides run-time version information. + */ +#define POLARSSL_VERSION_C + +/** + * \def POLARSSL_X509_USE_C + * + * Enable X.509 core for using certificates. + * + * Module: library/x509.c + * Caller: library/x509_crl.c + * library/x509_crt.c + * library/x509_csr.c + * + * Requires: POLARSSL_ASN1_PARSE_C, POLARSSL_BIGNUM_C, POLARSSL_OID_C, + * POLARSSL_PK_PARSE_C + * + * This module is required for the X.509 parsing modules. + */ +#define POLARSSL_X509_USE_C + +/** + * \def POLARSSL_X509_CRT_PARSE_C + * + * Enable X.509 certificate parsing. + * + * Module: library/x509_crt.c + * Caller: library/ssl_cli.c + * library/ssl_srv.c + * library/ssl_tls.c + * + * Requires: POLARSSL_X509_USE_C + * + * This module is required for X.509 certificate parsing. + */ +#define POLARSSL_X509_CRT_PARSE_C + +/** + * \def POLARSSL_X509_CRL_PARSE_C + * + * Enable X.509 CRL parsing. + * + * Module: library/x509_crl.c + * Caller: library/x509_crt.c + * + * Requires: POLARSSL_X509_USE_C + * + * This module is required for X.509 CRL parsing. + */ +#define POLARSSL_X509_CRL_PARSE_C + +/** + * \def POLARSSL_X509_CSR_PARSE_C + * + * Enable X.509 Certificate Signing Request (CSR) parsing. + * + * Module: library/x509_csr.c + * Caller: library/x509_crt_write.c + * + * Requires: POLARSSL_X509_USE_C + * + * This module is used for reading X.509 certificate request. + */ +#define POLARSSL_X509_CSR_PARSE_C + +/** + * \def POLARSSL_X509_CREATE_C + * + * Enable X.509 core for creating certificates. + * + * Module: library/x509_create.c + * + * Requires: POLARSSL_BIGNUM_C, POLARSSL_OID_C, POLARSSL_PK_WRITE_C + * + * This module is the basis for creating X.509 certificates and CSRs. + */ +#define POLARSSL_X509_CREATE_C + +/** + * \def POLARSSL_X509_CRT_WRITE_C + * + * Enable creating X.509 certificates. + * + * Module: library/x509_crt_write.c + * + * Requires: POLARSSL_CREATE_C + * + * This module is required for X.509 certificate creation. + */ +#define POLARSSL_X509_CRT_WRITE_C + +/** + * \def POLARSSL_X509_CSR_WRITE_C + * + * Enable creating X.509 Certificate Signing Requests (CSR). + * + * Module: library/x509_csr_write.c + * + * Requires: POLARSSL_CREATE_C + * + * This module is required for X.509 certificate request writing. + */ +#define POLARSSL_X509_CSR_WRITE_C + +/** + * \def POLARSSL_XTEA_C + * + * Enable the XTEA block cipher. + * + * Module: library/xtea.c + * Caller: + */ +#define POLARSSL_XTEA_C + +/* \} name SECTION: PolarSSL modules */ + +/** + * \name SECTION: Module configuration options + * + * This section allows for the setting of module specific sizes and + * configuration options. The default values are already present in the + * relevant header files and should suffice for the regular use cases. + * + * Our advice is to enable options and change their values here + * only if you have a good reason and know the consequences. + * + * Please check the respective header file for documentation on these + * parameters (to prevent duplicate documentation). + * \{ + */ + +/* MPI / BIGNUM options */ +//#define POLARSSL_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */ +//#define POLARSSL_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */ + +/* CTR_DRBG options */ +//#define CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */ +//#define CTR_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ +//#define CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ +//#define CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ +//#define CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ + +/* HMAC_DRBG options */ +//#define POLARSSL_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ +//#define POLARSSL_HMAC_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ +//#define POLARSSL_HMAC_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ +//#define POLARSSL_HMAC_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ + +/* ECP options */ +//#define POLARSSL_ECP_MAX_BITS 521 /**< Maximum bit size of groups */ +//#define POLARSSL_ECP_WINDOW_SIZE 6 /**< Maximum window size used */ +//#define POLARSSL_ECP_FIXED_POINT_OPTIM 1 /**< Enable fixed-point speed-up */ + +/* Entropy options */ +//#define ENTROPY_MAX_SOURCES 20 /**< Maximum number of sources supported */ +//#define ENTROPY_MAX_GATHER 128 /**< Maximum amount requested from entropy sources */ + +/* Memory buffer allocator options */ +//#define POLARSSL_MEMORY_ALIGN_MULTIPLE 4 /**< Align on multiples of this value */ + +/* Platform options */ +//#define POLARSSL_PLATFORM_STD_MEM_HDR /**< Header to include if POLARSSL_PLATFORM_NO_STD_FUNCTIONS is defined. Don't define if no header is needed. */ +//#define POLARSSL_PLATFORM_STD_MALLOC malloc /**< Default allocator to use, can be undefined */ +//#define POLARSSL_PLATFORM_STD_FREE free /**< Default free to use, can be undefined */ +//#define POLARSSL_PLATFORM_STD_PRINTF printf /**< Default printf to use, can be undefined */ +//#define POLARSSL_PLATFORM_STD_FPRINTF fprintf /**< Default fprintf to use, can be undefined */ + +/* SSL Cache options */ +//#define SSL_CACHE_DEFAULT_TIMEOUT 86400 /**< 1 day */ +//#define SSL_CACHE_DEFAULT_MAX_ENTRIES 50 /**< Maximum entries in cache */ + +/* SSL options */ +//#define SSL_MAX_CONTENT_LEN 16384 /**< Size of the input / output buffer */ +//#define SSL_DEFAULT_TICKET_LIFETIME 86400 /**< Lifetime of session tickets (if enabled) */ +//#define POLARSSL_PSK_MAX_LEN 32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */ + +/** + * Complete list of ciphersuites to use, in order of preference. + * + * \warning No dependency checking is done on that field! This option can only + * be used to restrict the set of available ciphersuites. It is your + * responsibility to make sure the needed modules are active. + * + * Use this to save a few hundred bytes of ROM (default ordering of all + * available ciphersuites) and a few to a few hundred bytes of RAM. + * + * The value below is only an example, not the default. + */ +//#define SSL_CIPHERSUITES TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + +/* Debug options */ +//#define POLARSSL_DEBUG_DFL_MODE POLARSSL_DEBUG_LOG_FULL /**< Default log: Full or Raw */ + +/* \} name SECTION: Module configuration options */ + + +#endif /* POLARSSL_CONFIG_H */ From a631936e84fa35d04bef9c45928ee602a258d6c4 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 13 Jan 2015 23:18:04 +0100 Subject: [PATCH 091/133] ADD: Midnitesnaks's & Pentura labs Ultralight-c modifications in ARMSRC. ADD: des.c , aes.c in ARMSRC --- armsrc/Makefile | 12 +- armsrc/aes.c | 1168 +++++++++++++++++++++++++++++++++++++++++++ armsrc/aes.h | 30 ++ armsrc/appmain.c | 12 +- armsrc/apps.h | 25 +- armsrc/des.c | 383 ++++++++++++++ armsrc/des.h | 107 ++++ armsrc/mifarecmd.c | 123 ++++- armsrc/mifareutil.c | 75 ++- armsrc/mifareutil.h | 5 + armsrc/util.h | 2 +- 11 files changed, 1930 insertions(+), 12 deletions(-) create mode 100644 armsrc/aes.c create mode 100644 armsrc/aes.h create mode 100644 armsrc/des.c create mode 100644 armsrc/des.h diff --git a/armsrc/Makefile b/armsrc/Makefile index b9019541e..929f1e796 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -10,7 +10,7 @@ APP_INCLUDES = apps.h #remove one of the following defines and comment out the relevant line #in the next section to remove that particular feature from compilation -APP_CFLAGS = -DWITH_LF -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b -DWITH_ICLASS -DWITH_LEGICRF -DWITH_HITAG -fno-strict-aliasing +APP_CFLAGS = -DWITH_LF -DWITH_ISO15693 -DWITH_ISO14443a -DWITH_ISO14443b -DWITH_ICLASS -DWITH_LEGICRF -DWITH_HITAG -DWITH_CRC -fno-strict-aliasing #-DWITH_LCD #SRC_LCD = fonts.c LCD.c @@ -18,7 +18,8 @@ SRC_LF = lfops.c hitag2.c SRC_ISO15693 = iso15693.c iso15693tools.c SRC_ISO14443a = epa.c iso14443a.c mifareutil.c mifarecmd.c mifaresniff.c SRC_ISO14443b = iso14443.c -SRC_CRAPTO1 = crapto1.c crypto1.c +SRC_CRAPTO1 = crapto1.c crypto1.c des.c aes.c +SRC_CRC = iso14443crc.c crc.c crc16.c crc32.c THUMBSRC = start.c \ $(SRC_LCD) \ @@ -34,15 +35,14 @@ THUMBSRC = start.c \ # These are to be compiled in ARM mode ARMSRC = fpgaloader.c \ legicrf.c \ - iso14443crc.c \ - crc16.c \ lfdemod.c \ $(SRC_ISO14443a) \ $(SRC_ISO14443b) \ $(SRC_CRAPTO1) \ + $(SRC_CRC) \ legic_prng.c \ - iclass.c \ - crc.c + iclass.c + # stdint.h provided locally until GCC 4.5 becomes C99 compliant APP_CFLAGS += -I. diff --git a/armsrc/aes.c b/armsrc/aes.c new file mode 100644 index 000000000..3df006bb3 --- /dev/null +++ b/armsrc/aes.c @@ -0,0 +1,1168 @@ +#include "stdio.h" +#include "aes.h" + +static const unsigned int Te0[256] = { + 0xc66363a5UL, 0xf87c7c84UL, 0xee777799UL, 0xf67b7b8dUL, + 0xfff2f20dUL, 0xd66b6bbdUL, 0xde6f6fb1UL, 0x91c5c554UL, + 0x60303050UL, 0x02010103UL, 0xce6767a9UL, 0x562b2b7dUL, + 0xe7fefe19UL, 0xb5d7d762UL, 0x4dababe6UL, 0xec76769aUL, + 0x8fcaca45UL, 0x1f82829dUL, 0x89c9c940UL, 0xfa7d7d87UL, + 0xeffafa15UL, 0xb25959ebUL, 0x8e4747c9UL, 0xfbf0f00bUL, + 0x41adadecUL, 0xb3d4d467UL, 0x5fa2a2fdUL, 0x45afafeaUL, + 0x239c9cbfUL, 0x53a4a4f7UL, 0xe4727296UL, 0x9bc0c05bUL, + 0x75b7b7c2UL, 0xe1fdfd1cUL, 0x3d9393aeUL, 0x4c26266aUL, + 0x6c36365aUL, 0x7e3f3f41UL, 0xf5f7f702UL, 0x83cccc4fUL, + 0x6834345cUL, 0x51a5a5f4UL, 0xd1e5e534UL, 0xf9f1f108UL, + 0xe2717193UL, 0xabd8d873UL, 0x62313153UL, 0x2a15153fUL, + 0x0804040cUL, 0x95c7c752UL, 0x46232365UL, 0x9dc3c35eUL, + 0x30181828UL, 0x379696a1UL, 0x0a05050fUL, 0x2f9a9ab5UL, + 0x0e070709UL, 0x24121236UL, 0x1b80809bUL, 0xdfe2e23dUL, + 0xcdebeb26UL, 0x4e272769UL, 0x7fb2b2cdUL, 0xea75759fUL, + 0x1209091bUL, 0x1d83839eUL, 0x582c2c74UL, 0x341a1a2eUL, + 0x361b1b2dUL, 0xdc6e6eb2UL, 0xb45a5aeeUL, 0x5ba0a0fbUL, + 0xa45252f6UL, 0x763b3b4dUL, 0xb7d6d661UL, 0x7db3b3ceUL, + 0x5229297bUL, 0xdde3e33eUL, 0x5e2f2f71UL, 0x13848497UL, + 0xa65353f5UL, 0xb9d1d168UL, 0x00000000UL, 0xc1eded2cUL, + 0x40202060UL, 0xe3fcfc1fUL, 0x79b1b1c8UL, 0xb65b5bedUL, + 0xd46a6abeUL, 0x8dcbcb46UL, 0x67bebed9UL, 0x7239394bUL, + 0x944a4adeUL, 0x984c4cd4UL, 0xb05858e8UL, 0x85cfcf4aUL, + 0xbbd0d06bUL, 0xc5efef2aUL, 0x4faaaae5UL, 0xedfbfb16UL, + 0x864343c5UL, 0x9a4d4dd7UL, 0x66333355UL, 0x11858594UL, + 0x8a4545cfUL, 0xe9f9f910UL, 0x04020206UL, 0xfe7f7f81UL, + 0xa05050f0UL, 0x783c3c44UL, 0x259f9fbaUL, 0x4ba8a8e3UL, + 0xa25151f3UL, 0x5da3a3feUL, 0x804040c0UL, 0x058f8f8aUL, + 0x3f9292adUL, 0x219d9dbcUL, 0x70383848UL, 0xf1f5f504UL, + 0x63bcbcdfUL, 0x77b6b6c1UL, 0xafdada75UL, 0x42212163UL, + 0x20101030UL, 0xe5ffff1aUL, 0xfdf3f30eUL, 0xbfd2d26dUL, + 0x81cdcd4cUL, 0x180c0c14UL, 0x26131335UL, 0xc3ecec2fUL, + 0xbe5f5fe1UL, 0x359797a2UL, 0x884444ccUL, 0x2e171739UL, + 0x93c4c457UL, 0x55a7a7f2UL, 0xfc7e7e82UL, 0x7a3d3d47UL, + 0xc86464acUL, 0xba5d5de7UL, 0x3219192bUL, 0xe6737395UL, + 0xc06060a0UL, 0x19818198UL, 0x9e4f4fd1UL, 0xa3dcdc7fUL, + 0x44222266UL, 0x542a2a7eUL, 0x3b9090abUL, 0x0b888883UL, + 0x8c4646caUL, 0xc7eeee29UL, 0x6bb8b8d3UL, 0x2814143cUL, + 0xa7dede79UL, 0xbc5e5ee2UL, 0x160b0b1dUL, 0xaddbdb76UL, + 0xdbe0e03bUL, 0x64323256UL, 0x743a3a4eUL, 0x140a0a1eUL, + 0x924949dbUL, 0x0c06060aUL, 0x4824246cUL, 0xb85c5ce4UL, + 0x9fc2c25dUL, 0xbdd3d36eUL, 0x43acacefUL, 0xc46262a6UL, + 0x399191a8UL, 0x319595a4UL, 0xd3e4e437UL, 0xf279798bUL, + 0xd5e7e732UL, 0x8bc8c843UL, 0x6e373759UL, 0xda6d6db7UL, + 0x018d8d8cUL, 0xb1d5d564UL, 0x9c4e4ed2UL, 0x49a9a9e0UL, + 0xd86c6cb4UL, 0xac5656faUL, 0xf3f4f407UL, 0xcfeaea25UL, + 0xca6565afUL, 0xf47a7a8eUL, 0x47aeaee9UL, 0x10080818UL, + 0x6fbabad5UL, 0xf0787888UL, 0x4a25256fUL, 0x5c2e2e72UL, + 0x381c1c24UL, 0x57a6a6f1UL, 0x73b4b4c7UL, 0x97c6c651UL, + 0xcbe8e823UL, 0xa1dddd7cUL, 0xe874749cUL, 0x3e1f1f21UL, + 0x964b4bddUL, 0x61bdbddcUL, 0x0d8b8b86UL, 0x0f8a8a85UL, + 0xe0707090UL, 0x7c3e3e42UL, 0x71b5b5c4UL, 0xcc6666aaUL, + 0x904848d8UL, 0x06030305UL, 0xf7f6f601UL, 0x1c0e0e12UL, + 0xc26161a3UL, 0x6a35355fUL, 0xae5757f9UL, 0x69b9b9d0UL, + 0x17868691UL, 0x99c1c158UL, 0x3a1d1d27UL, 0x279e9eb9UL, + 0xd9e1e138UL, 0xebf8f813UL, 0x2b9898b3UL, 0x22111133UL, + 0xd26969bbUL, 0xa9d9d970UL, 0x078e8e89UL, 0x339494a7UL, + 0x2d9b9bb6UL, 0x3c1e1e22UL, 0x15878792UL, 0xc9e9e920UL, + 0x87cece49UL, 0xaa5555ffUL, 0x50282878UL, 0xa5dfdf7aUL, + 0x038c8c8fUL, 0x59a1a1f8UL, 0x09898980UL, 0x1a0d0d17UL, + 0x65bfbfdaUL, 0xd7e6e631UL, 0x844242c6UL, 0xd06868b8UL, + 0x824141c3UL, 0x299999b0UL, 0x5a2d2d77UL, 0x1e0f0f11UL, + 0x7bb0b0cbUL, 0xa85454fcUL, 0x6dbbbbd6UL, 0x2c16163aUL, +}; +static const unsigned int Te1[256] = { + 0xa5c66363UL, 0x84f87c7cUL, 0x99ee7777UL, 0x8df67b7bUL, + 0x0dfff2f2UL, 0xbdd66b6bUL, 0xb1de6f6fUL, 0x5491c5c5UL, + 0x50603030UL, 0x03020101UL, 0xa9ce6767UL, 0x7d562b2bUL, + 0x19e7fefeUL, 0x62b5d7d7UL, 0xe64dababUL, 0x9aec7676UL, + 0x458fcacaUL, 0x9d1f8282UL, 0x4089c9c9UL, 0x87fa7d7dUL, + 0x15effafaUL, 0xebb25959UL, 0xc98e4747UL, 0x0bfbf0f0UL, + 0xec41adadUL, 0x67b3d4d4UL, 0xfd5fa2a2UL, 0xea45afafUL, + 0xbf239c9cUL, 0xf753a4a4UL, 0x96e47272UL, 0x5b9bc0c0UL, + 0xc275b7b7UL, 0x1ce1fdfdUL, 0xae3d9393UL, 0x6a4c2626UL, + 0x5a6c3636UL, 0x417e3f3fUL, 0x02f5f7f7UL, 0x4f83ccccUL, + 0x5c683434UL, 0xf451a5a5UL, 0x34d1e5e5UL, 0x08f9f1f1UL, + 0x93e27171UL, 0x73abd8d8UL, 0x53623131UL, 0x3f2a1515UL, + 0x0c080404UL, 0x5295c7c7UL, 0x65462323UL, 0x5e9dc3c3UL, + 0x28301818UL, 0xa1379696UL, 0x0f0a0505UL, 0xb52f9a9aUL, + 0x090e0707UL, 0x36241212UL, 0x9b1b8080UL, 0x3ddfe2e2UL, + 0x26cdebebUL, 0x694e2727UL, 0xcd7fb2b2UL, 0x9fea7575UL, + 0x1b120909UL, 0x9e1d8383UL, 0x74582c2cUL, 0x2e341a1aUL, + 0x2d361b1bUL, 0xb2dc6e6eUL, 0xeeb45a5aUL, 0xfb5ba0a0UL, + 0xf6a45252UL, 0x4d763b3bUL, 0x61b7d6d6UL, 0xce7db3b3UL, + 0x7b522929UL, 0x3edde3e3UL, 0x715e2f2fUL, 0x97138484UL, + 0xf5a65353UL, 0x68b9d1d1UL, 0x00000000UL, 0x2cc1ededUL, + 0x60402020UL, 0x1fe3fcfcUL, 0xc879b1b1UL, 0xedb65b5bUL, + 0xbed46a6aUL, 0x468dcbcbUL, 0xd967bebeUL, 0x4b723939UL, + 0xde944a4aUL, 0xd4984c4cUL, 0xe8b05858UL, 0x4a85cfcfUL, + 0x6bbbd0d0UL, 0x2ac5efefUL, 0xe54faaaaUL, 0x16edfbfbUL, + 0xc5864343UL, 0xd79a4d4dUL, 0x55663333UL, 0x94118585UL, + 0xcf8a4545UL, 0x10e9f9f9UL, 0x06040202UL, 0x81fe7f7fUL, + 0xf0a05050UL, 0x44783c3cUL, 0xba259f9fUL, 0xe34ba8a8UL, + 0xf3a25151UL, 0xfe5da3a3UL, 0xc0804040UL, 0x8a058f8fUL, + 0xad3f9292UL, 0xbc219d9dUL, 0x48703838UL, 0x04f1f5f5UL, + 0xdf63bcbcUL, 0xc177b6b6UL, 0x75afdadaUL, 0x63422121UL, + 0x30201010UL, 0x1ae5ffffUL, 0x0efdf3f3UL, 0x6dbfd2d2UL, + 0x4c81cdcdUL, 0x14180c0cUL, 0x35261313UL, 0x2fc3ececUL, + 0xe1be5f5fUL, 0xa2359797UL, 0xcc884444UL, 0x392e1717UL, + 0x5793c4c4UL, 0xf255a7a7UL, 0x82fc7e7eUL, 0x477a3d3dUL, + 0xacc86464UL, 0xe7ba5d5dUL, 0x2b321919UL, 0x95e67373UL, + 0xa0c06060UL, 0x98198181UL, 0xd19e4f4fUL, 0x7fa3dcdcUL, + 0x66442222UL, 0x7e542a2aUL, 0xab3b9090UL, 0x830b8888UL, + 0xca8c4646UL, 0x29c7eeeeUL, 0xd36bb8b8UL, 0x3c281414UL, + 0x79a7dedeUL, 0xe2bc5e5eUL, 0x1d160b0bUL, 0x76addbdbUL, + 0x3bdbe0e0UL, 0x56643232UL, 0x4e743a3aUL, 0x1e140a0aUL, + 0xdb924949UL, 0x0a0c0606UL, 0x6c482424UL, 0xe4b85c5cUL, + 0x5d9fc2c2UL, 0x6ebdd3d3UL, 0xef43acacUL, 0xa6c46262UL, + 0xa8399191UL, 0xa4319595UL, 0x37d3e4e4UL, 0x8bf27979UL, + 0x32d5e7e7UL, 0x438bc8c8UL, 0x596e3737UL, 0xb7da6d6dUL, + 0x8c018d8dUL, 0x64b1d5d5UL, 0xd29c4e4eUL, 0xe049a9a9UL, + 0xb4d86c6cUL, 0xfaac5656UL, 0x07f3f4f4UL, 0x25cfeaeaUL, + 0xafca6565UL, 0x8ef47a7aUL, 0xe947aeaeUL, 0x18100808UL, + 0xd56fbabaUL, 0x88f07878UL, 0x6f4a2525UL, 0x725c2e2eUL, + 0x24381c1cUL, 0xf157a6a6UL, 0xc773b4b4UL, 0x5197c6c6UL, + 0x23cbe8e8UL, 0x7ca1ddddUL, 0x9ce87474UL, 0x213e1f1fUL, + 0xdd964b4bUL, 0xdc61bdbdUL, 0x860d8b8bUL, 0x850f8a8aUL, + 0x90e07070UL, 0x427c3e3eUL, 0xc471b5b5UL, 0xaacc6666UL, + 0xd8904848UL, 0x05060303UL, 0x01f7f6f6UL, 0x121c0e0eUL, + 0xa3c26161UL, 0x5f6a3535UL, 0xf9ae5757UL, 0xd069b9b9UL, + 0x91178686UL, 0x5899c1c1UL, 0x273a1d1dUL, 0xb9279e9eUL, + 0x38d9e1e1UL, 0x13ebf8f8UL, 0xb32b9898UL, 0x33221111UL, + 0xbbd26969UL, 0x70a9d9d9UL, 0x89078e8eUL, 0xa7339494UL, + 0xb62d9b9bUL, 0x223c1e1eUL, 0x92158787UL, 0x20c9e9e9UL, + 0x4987ceceUL, 0xffaa5555UL, 0x78502828UL, 0x7aa5dfdfUL, + 0x8f038c8cUL, 0xf859a1a1UL, 0x80098989UL, 0x171a0d0dUL, + 0xda65bfbfUL, 0x31d7e6e6UL, 0xc6844242UL, 0xb8d06868UL, + 0xc3824141UL, 0xb0299999UL, 0x775a2d2dUL, 0x111e0f0fUL, + 0xcb7bb0b0UL, 0xfca85454UL, 0xd66dbbbbUL, 0x3a2c1616UL, +}; +static const unsigned int Te2[256] = { + 0x63a5c663UL, 0x7c84f87cUL, 0x7799ee77UL, 0x7b8df67bUL, + 0xf20dfff2UL, 0x6bbdd66bUL, 0x6fb1de6fUL, 0xc55491c5UL, + 0x30506030UL, 0x01030201UL, 0x67a9ce67UL, 0x2b7d562bUL, + 0xfe19e7feUL, 0xd762b5d7UL, 0xabe64dabUL, 0x769aec76UL, + 0xca458fcaUL, 0x829d1f82UL, 0xc94089c9UL, 0x7d87fa7dUL, + 0xfa15effaUL, 0x59ebb259UL, 0x47c98e47UL, 0xf00bfbf0UL, + 0xadec41adUL, 0xd467b3d4UL, 0xa2fd5fa2UL, 0xafea45afUL, + 0x9cbf239cUL, 0xa4f753a4UL, 0x7296e472UL, 0xc05b9bc0UL, + 0xb7c275b7UL, 0xfd1ce1fdUL, 0x93ae3d93UL, 0x266a4c26UL, + 0x365a6c36UL, 0x3f417e3fUL, 0xf702f5f7UL, 0xcc4f83ccUL, + 0x345c6834UL, 0xa5f451a5UL, 0xe534d1e5UL, 0xf108f9f1UL, + 0x7193e271UL, 0xd873abd8UL, 0x31536231UL, 0x153f2a15UL, + 0x040c0804UL, 0xc75295c7UL, 0x23654623UL, 0xc35e9dc3UL, + 0x18283018UL, 0x96a13796UL, 0x050f0a05UL, 0x9ab52f9aUL, + 0x07090e07UL, 0x12362412UL, 0x809b1b80UL, 0xe23ddfe2UL, + 0xeb26cdebUL, 0x27694e27UL, 0xb2cd7fb2UL, 0x759fea75UL, + 0x091b1209UL, 0x839e1d83UL, 0x2c74582cUL, 0x1a2e341aUL, + 0x1b2d361bUL, 0x6eb2dc6eUL, 0x5aeeb45aUL, 0xa0fb5ba0UL, + 0x52f6a452UL, 0x3b4d763bUL, 0xd661b7d6UL, 0xb3ce7db3UL, + 0x297b5229UL, 0xe33edde3UL, 0x2f715e2fUL, 0x84971384UL, + 0x53f5a653UL, 0xd168b9d1UL, 0x00000000UL, 0xed2cc1edUL, + 0x20604020UL, 0xfc1fe3fcUL, 0xb1c879b1UL, 0x5bedb65bUL, + 0x6abed46aUL, 0xcb468dcbUL, 0xbed967beUL, 0x394b7239UL, + 0x4ade944aUL, 0x4cd4984cUL, 0x58e8b058UL, 0xcf4a85cfUL, + 0xd06bbbd0UL, 0xef2ac5efUL, 0xaae54faaUL, 0xfb16edfbUL, + 0x43c58643UL, 0x4dd79a4dUL, 0x33556633UL, 0x85941185UL, + 0x45cf8a45UL, 0xf910e9f9UL, 0x02060402UL, 0x7f81fe7fUL, + 0x50f0a050UL, 0x3c44783cUL, 0x9fba259fUL, 0xa8e34ba8UL, + 0x51f3a251UL, 0xa3fe5da3UL, 0x40c08040UL, 0x8f8a058fUL, + 0x92ad3f92UL, 0x9dbc219dUL, 0x38487038UL, 0xf504f1f5UL, + 0xbcdf63bcUL, 0xb6c177b6UL, 0xda75afdaUL, 0x21634221UL, + 0x10302010UL, 0xff1ae5ffUL, 0xf30efdf3UL, 0xd26dbfd2UL, + 0xcd4c81cdUL, 0x0c14180cUL, 0x13352613UL, 0xec2fc3ecUL, + 0x5fe1be5fUL, 0x97a23597UL, 0x44cc8844UL, 0x17392e17UL, + 0xc45793c4UL, 0xa7f255a7UL, 0x7e82fc7eUL, 0x3d477a3dUL, + 0x64acc864UL, 0x5de7ba5dUL, 0x192b3219UL, 0x7395e673UL, + 0x60a0c060UL, 0x81981981UL, 0x4fd19e4fUL, 0xdc7fa3dcUL, + 0x22664422UL, 0x2a7e542aUL, 0x90ab3b90UL, 0x88830b88UL, + 0x46ca8c46UL, 0xee29c7eeUL, 0xb8d36bb8UL, 0x143c2814UL, + 0xde79a7deUL, 0x5ee2bc5eUL, 0x0b1d160bUL, 0xdb76addbUL, + 0xe03bdbe0UL, 0x32566432UL, 0x3a4e743aUL, 0x0a1e140aUL, + 0x49db9249UL, 0x060a0c06UL, 0x246c4824UL, 0x5ce4b85cUL, + 0xc25d9fc2UL, 0xd36ebdd3UL, 0xacef43acUL, 0x62a6c462UL, + 0x91a83991UL, 0x95a43195UL, 0xe437d3e4UL, 0x798bf279UL, + 0xe732d5e7UL, 0xc8438bc8UL, 0x37596e37UL, 0x6db7da6dUL, + 0x8d8c018dUL, 0xd564b1d5UL, 0x4ed29c4eUL, 0xa9e049a9UL, + 0x6cb4d86cUL, 0x56faac56UL, 0xf407f3f4UL, 0xea25cfeaUL, + 0x65afca65UL, 0x7a8ef47aUL, 0xaee947aeUL, 0x08181008UL, + 0xbad56fbaUL, 0x7888f078UL, 0x256f4a25UL, 0x2e725c2eUL, + 0x1c24381cUL, 0xa6f157a6UL, 0xb4c773b4UL, 0xc65197c6UL, + 0xe823cbe8UL, 0xdd7ca1ddUL, 0x749ce874UL, 0x1f213e1fUL, + 0x4bdd964bUL, 0xbddc61bdUL, 0x8b860d8bUL, 0x8a850f8aUL, + 0x7090e070UL, 0x3e427c3eUL, 0xb5c471b5UL, 0x66aacc66UL, + 0x48d89048UL, 0x03050603UL, 0xf601f7f6UL, 0x0e121c0eUL, + 0x61a3c261UL, 0x355f6a35UL, 0x57f9ae57UL, 0xb9d069b9UL, + 0x86911786UL, 0xc15899c1UL, 0x1d273a1dUL, 0x9eb9279eUL, + 0xe138d9e1UL, 0xf813ebf8UL, 0x98b32b98UL, 0x11332211UL, + 0x69bbd269UL, 0xd970a9d9UL, 0x8e89078eUL, 0x94a73394UL, + 0x9bb62d9bUL, 0x1e223c1eUL, 0x87921587UL, 0xe920c9e9UL, + 0xce4987ceUL, 0x55ffaa55UL, 0x28785028UL, 0xdf7aa5dfUL, + 0x8c8f038cUL, 0xa1f859a1UL, 0x89800989UL, 0x0d171a0dUL, + 0xbfda65bfUL, 0xe631d7e6UL, 0x42c68442UL, 0x68b8d068UL, + 0x41c38241UL, 0x99b02999UL, 0x2d775a2dUL, 0x0f111e0fUL, + 0xb0cb7bb0UL, 0x54fca854UL, 0xbbd66dbbUL, 0x163a2c16UL, +}; +static const unsigned int Te3[256] = { + 0x6363a5c6UL, 0x7c7c84f8UL, 0x777799eeUL, 0x7b7b8df6UL, + 0xf2f20dffUL, 0x6b6bbdd6UL, 0x6f6fb1deUL, 0xc5c55491UL, + 0x30305060UL, 0x01010302UL, 0x6767a9ceUL, 0x2b2b7d56UL, + 0xfefe19e7UL, 0xd7d762b5UL, 0xababe64dUL, 0x76769aecUL, + 0xcaca458fUL, 0x82829d1fUL, 0xc9c94089UL, 0x7d7d87faUL, + 0xfafa15efUL, 0x5959ebb2UL, 0x4747c98eUL, 0xf0f00bfbUL, + 0xadadec41UL, 0xd4d467b3UL, 0xa2a2fd5fUL, 0xafafea45UL, + 0x9c9cbf23UL, 0xa4a4f753UL, 0x727296e4UL, 0xc0c05b9bUL, + 0xb7b7c275UL, 0xfdfd1ce1UL, 0x9393ae3dUL, 0x26266a4cUL, + 0x36365a6cUL, 0x3f3f417eUL, 0xf7f702f5UL, 0xcccc4f83UL, + 0x34345c68UL, 0xa5a5f451UL, 0xe5e534d1UL, 0xf1f108f9UL, + 0x717193e2UL, 0xd8d873abUL, 0x31315362UL, 0x15153f2aUL, + 0x04040c08UL, 0xc7c75295UL, 0x23236546UL, 0xc3c35e9dUL, + 0x18182830UL, 0x9696a137UL, 0x05050f0aUL, 0x9a9ab52fUL, + 0x0707090eUL, 0x12123624UL, 0x80809b1bUL, 0xe2e23ddfUL, + 0xebeb26cdUL, 0x2727694eUL, 0xb2b2cd7fUL, 0x75759feaUL, + 0x09091b12UL, 0x83839e1dUL, 0x2c2c7458UL, 0x1a1a2e34UL, + 0x1b1b2d36UL, 0x6e6eb2dcUL, 0x5a5aeeb4UL, 0xa0a0fb5bUL, + 0x5252f6a4UL, 0x3b3b4d76UL, 0xd6d661b7UL, 0xb3b3ce7dUL, + 0x29297b52UL, 0xe3e33eddUL, 0x2f2f715eUL, 0x84849713UL, + 0x5353f5a6UL, 0xd1d168b9UL, 0x00000000UL, 0xeded2cc1UL, + 0x20206040UL, 0xfcfc1fe3UL, 0xb1b1c879UL, 0x5b5bedb6UL, + 0x6a6abed4UL, 0xcbcb468dUL, 0xbebed967UL, 0x39394b72UL, + 0x4a4ade94UL, 0x4c4cd498UL, 0x5858e8b0UL, 0xcfcf4a85UL, + 0xd0d06bbbUL, 0xefef2ac5UL, 0xaaaae54fUL, 0xfbfb16edUL, + 0x4343c586UL, 0x4d4dd79aUL, 0x33335566UL, 0x85859411UL, + 0x4545cf8aUL, 0xf9f910e9UL, 0x02020604UL, 0x7f7f81feUL, + 0x5050f0a0UL, 0x3c3c4478UL, 0x9f9fba25UL, 0xa8a8e34bUL, + 0x5151f3a2UL, 0xa3a3fe5dUL, 0x4040c080UL, 0x8f8f8a05UL, + 0x9292ad3fUL, 0x9d9dbc21UL, 0x38384870UL, 0xf5f504f1UL, + 0xbcbcdf63UL, 0xb6b6c177UL, 0xdada75afUL, 0x21216342UL, + 0x10103020UL, 0xffff1ae5UL, 0xf3f30efdUL, 0xd2d26dbfUL, + 0xcdcd4c81UL, 0x0c0c1418UL, 0x13133526UL, 0xecec2fc3UL, + 0x5f5fe1beUL, 0x9797a235UL, 0x4444cc88UL, 0x1717392eUL, + 0xc4c45793UL, 0xa7a7f255UL, 0x7e7e82fcUL, 0x3d3d477aUL, + 0x6464acc8UL, 0x5d5de7baUL, 0x19192b32UL, 0x737395e6UL, + 0x6060a0c0UL, 0x81819819UL, 0x4f4fd19eUL, 0xdcdc7fa3UL, + 0x22226644UL, 0x2a2a7e54UL, 0x9090ab3bUL, 0x8888830bUL, + 0x4646ca8cUL, 0xeeee29c7UL, 0xb8b8d36bUL, 0x14143c28UL, + 0xdede79a7UL, 0x5e5ee2bcUL, 0x0b0b1d16UL, 0xdbdb76adUL, + 0xe0e03bdbUL, 0x32325664UL, 0x3a3a4e74UL, 0x0a0a1e14UL, + 0x4949db92UL, 0x06060a0cUL, 0x24246c48UL, 0x5c5ce4b8UL, + 0xc2c25d9fUL, 0xd3d36ebdUL, 0xacacef43UL, 0x6262a6c4UL, + 0x9191a839UL, 0x9595a431UL, 0xe4e437d3UL, 0x79798bf2UL, + 0xe7e732d5UL, 0xc8c8438bUL, 0x3737596eUL, 0x6d6db7daUL, + 0x8d8d8c01UL, 0xd5d564b1UL, 0x4e4ed29cUL, 0xa9a9e049UL, + 0x6c6cb4d8UL, 0x5656faacUL, 0xf4f407f3UL, 0xeaea25cfUL, + 0x6565afcaUL, 0x7a7a8ef4UL, 0xaeaee947UL, 0x08081810UL, + 0xbabad56fUL, 0x787888f0UL, 0x25256f4aUL, 0x2e2e725cUL, + 0x1c1c2438UL, 0xa6a6f157UL, 0xb4b4c773UL, 0xc6c65197UL, + 0xe8e823cbUL, 0xdddd7ca1UL, 0x74749ce8UL, 0x1f1f213eUL, + 0x4b4bdd96UL, 0xbdbddc61UL, 0x8b8b860dUL, 0x8a8a850fUL, + 0x707090e0UL, 0x3e3e427cUL, 0xb5b5c471UL, 0x6666aaccUL, + 0x4848d890UL, 0x03030506UL, 0xf6f601f7UL, 0x0e0e121cUL, + 0x6161a3c2UL, 0x35355f6aUL, 0x5757f9aeUL, 0xb9b9d069UL, + 0x86869117UL, 0xc1c15899UL, 0x1d1d273aUL, 0x9e9eb927UL, + 0xe1e138d9UL, 0xf8f813ebUL, 0x9898b32bUL, 0x11113322UL, + 0x6969bbd2UL, 0xd9d970a9UL, 0x8e8e8907UL, 0x9494a733UL, + 0x9b9bb62dUL, 0x1e1e223cUL, 0x87879215UL, 0xe9e920c9UL, + 0xcece4987UL, 0x5555ffaaUL, 0x28287850UL, 0xdfdf7aa5UL, + 0x8c8c8f03UL, 0xa1a1f859UL, 0x89898009UL, 0x0d0d171aUL, + 0xbfbfda65UL, 0xe6e631d7UL, 0x4242c684UL, 0x6868b8d0UL, + 0x4141c382UL, 0x9999b029UL, 0x2d2d775aUL, 0x0f0f111eUL, + 0xb0b0cb7bUL, 0x5454fca8UL, 0xbbbbd66dUL, 0x16163a2cUL, +}; +static const unsigned int Te4[256] = { + 0x63636363UL, 0x7c7c7c7cUL, 0x77777777UL, 0x7b7b7b7bUL, + 0xf2f2f2f2UL, 0x6b6b6b6bUL, 0x6f6f6f6fUL, 0xc5c5c5c5UL, + 0x30303030UL, 0x01010101UL, 0x67676767UL, 0x2b2b2b2bUL, + 0xfefefefeUL, 0xd7d7d7d7UL, 0xababababUL, 0x76767676UL, + 0xcacacacaUL, 0x82828282UL, 0xc9c9c9c9UL, 0x7d7d7d7dUL, + 0xfafafafaUL, 0x59595959UL, 0x47474747UL, 0xf0f0f0f0UL, + 0xadadadadUL, 0xd4d4d4d4UL, 0xa2a2a2a2UL, 0xafafafafUL, + 0x9c9c9c9cUL, 0xa4a4a4a4UL, 0x72727272UL, 0xc0c0c0c0UL, + 0xb7b7b7b7UL, 0xfdfdfdfdUL, 0x93939393UL, 0x26262626UL, + 0x36363636UL, 0x3f3f3f3fUL, 0xf7f7f7f7UL, 0xccccccccUL, + 0x34343434UL, 0xa5a5a5a5UL, 0xe5e5e5e5UL, 0xf1f1f1f1UL, + 0x71717171UL, 0xd8d8d8d8UL, 0x31313131UL, 0x15151515UL, + 0x04040404UL, 0xc7c7c7c7UL, 0x23232323UL, 0xc3c3c3c3UL, + 0x18181818UL, 0x96969696UL, 0x05050505UL, 0x9a9a9a9aUL, + 0x07070707UL, 0x12121212UL, 0x80808080UL, 0xe2e2e2e2UL, + 0xebebebebUL, 0x27272727UL, 0xb2b2b2b2UL, 0x75757575UL, + 0x09090909UL, 0x83838383UL, 0x2c2c2c2cUL, 0x1a1a1a1aUL, + 0x1b1b1b1bUL, 0x6e6e6e6eUL, 0x5a5a5a5aUL, 0xa0a0a0a0UL, + 0x52525252UL, 0x3b3b3b3bUL, 0xd6d6d6d6UL, 0xb3b3b3b3UL, + 0x29292929UL, 0xe3e3e3e3UL, 0x2f2f2f2fUL, 0x84848484UL, + 0x53535353UL, 0xd1d1d1d1UL, 0x00000000UL, 0xededededUL, + 0x20202020UL, 0xfcfcfcfcUL, 0xb1b1b1b1UL, 0x5b5b5b5bUL, + 0x6a6a6a6aUL, 0xcbcbcbcbUL, 0xbebebebeUL, 0x39393939UL, + 0x4a4a4a4aUL, 0x4c4c4c4cUL, 0x58585858UL, 0xcfcfcfcfUL, + 0xd0d0d0d0UL, 0xefefefefUL, 0xaaaaaaaaUL, 0xfbfbfbfbUL, + 0x43434343UL, 0x4d4d4d4dUL, 0x33333333UL, 0x85858585UL, + 0x45454545UL, 0xf9f9f9f9UL, 0x02020202UL, 0x7f7f7f7fUL, + 0x50505050UL, 0x3c3c3c3cUL, 0x9f9f9f9fUL, 0xa8a8a8a8UL, + 0x51515151UL, 0xa3a3a3a3UL, 0x40404040UL, 0x8f8f8f8fUL, + 0x92929292UL, 0x9d9d9d9dUL, 0x38383838UL, 0xf5f5f5f5UL, + 0xbcbcbcbcUL, 0xb6b6b6b6UL, 0xdadadadaUL, 0x21212121UL, + 0x10101010UL, 0xffffffffUL, 0xf3f3f3f3UL, 0xd2d2d2d2UL, + 0xcdcdcdcdUL, 0x0c0c0c0cUL, 0x13131313UL, 0xececececUL, + 0x5f5f5f5fUL, 0x97979797UL, 0x44444444UL, 0x17171717UL, + 0xc4c4c4c4UL, 0xa7a7a7a7UL, 0x7e7e7e7eUL, 0x3d3d3d3dUL, + 0x64646464UL, 0x5d5d5d5dUL, 0x19191919UL, 0x73737373UL, + 0x60606060UL, 0x81818181UL, 0x4f4f4f4fUL, 0xdcdcdcdcUL, + 0x22222222UL, 0x2a2a2a2aUL, 0x90909090UL, 0x88888888UL, + 0x46464646UL, 0xeeeeeeeeUL, 0xb8b8b8b8UL, 0x14141414UL, + 0xdedededeUL, 0x5e5e5e5eUL, 0x0b0b0b0bUL, 0xdbdbdbdbUL, + 0xe0e0e0e0UL, 0x32323232UL, 0x3a3a3a3aUL, 0x0a0a0a0aUL, + 0x49494949UL, 0x06060606UL, 0x24242424UL, 0x5c5c5c5cUL, + 0xc2c2c2c2UL, 0xd3d3d3d3UL, 0xacacacacUL, 0x62626262UL, + 0x91919191UL, 0x95959595UL, 0xe4e4e4e4UL, 0x79797979UL, + 0xe7e7e7e7UL, 0xc8c8c8c8UL, 0x37373737UL, 0x6d6d6d6dUL, + 0x8d8d8d8dUL, 0xd5d5d5d5UL, 0x4e4e4e4eUL, 0xa9a9a9a9UL, + 0x6c6c6c6cUL, 0x56565656UL, 0xf4f4f4f4UL, 0xeaeaeaeaUL, + 0x65656565UL, 0x7a7a7a7aUL, 0xaeaeaeaeUL, 0x08080808UL, + 0xbabababaUL, 0x78787878UL, 0x25252525UL, 0x2e2e2e2eUL, + 0x1c1c1c1cUL, 0xa6a6a6a6UL, 0xb4b4b4b4UL, 0xc6c6c6c6UL, + 0xe8e8e8e8UL, 0xddddddddUL, 0x74747474UL, 0x1f1f1f1fUL, + 0x4b4b4b4bUL, 0xbdbdbdbdUL, 0x8b8b8b8bUL, 0x8a8a8a8aUL, + 0x70707070UL, 0x3e3e3e3eUL, 0xb5b5b5b5UL, 0x66666666UL, + 0x48484848UL, 0x03030303UL, 0xf6f6f6f6UL, 0x0e0e0e0eUL, + 0x61616161UL, 0x35353535UL, 0x57575757UL, 0xb9b9b9b9UL, + 0x86868686UL, 0xc1c1c1c1UL, 0x1d1d1d1dUL, 0x9e9e9e9eUL, + 0xe1e1e1e1UL, 0xf8f8f8f8UL, 0x98989898UL, 0x11111111UL, + 0x69696969UL, 0xd9d9d9d9UL, 0x8e8e8e8eUL, 0x94949494UL, + 0x9b9b9b9bUL, 0x1e1e1e1eUL, 0x87878787UL, 0xe9e9e9e9UL, + 0xcecececeUL, 0x55555555UL, 0x28282828UL, 0xdfdfdfdfUL, + 0x8c8c8c8cUL, 0xa1a1a1a1UL, 0x89898989UL, 0x0d0d0d0dUL, + 0xbfbfbfbfUL, 0xe6e6e6e6UL, 0x42424242UL, 0x68686868UL, + 0x41414141UL, 0x99999999UL, 0x2d2d2d2dUL, 0x0f0f0f0fUL, + 0xb0b0b0b0UL, 0x54545454UL, 0xbbbbbbbbUL, 0x16161616UL, +}; +static const unsigned int Td0[256] = { + 0x51f4a750UL, 0x7e416553UL, 0x1a17a4c3UL, 0x3a275e96UL, + 0x3bab6bcbUL, 0x1f9d45f1UL, 0xacfa58abUL, 0x4be30393UL, + 0x2030fa55UL, 0xad766df6UL, 0x88cc7691UL, 0xf5024c25UL, + 0x4fe5d7fcUL, 0xc52acbd7UL, 0x26354480UL, 0xb562a38fUL, + 0xdeb15a49UL, 0x25ba1b67UL, 0x45ea0e98UL, 0x5dfec0e1UL, + 0xc32f7502UL, 0x814cf012UL, 0x8d4697a3UL, 0x6bd3f9c6UL, + 0x038f5fe7UL, 0x15929c95UL, 0xbf6d7aebUL, 0x955259daUL, + 0xd4be832dUL, 0x587421d3UL, 0x49e06929UL, 0x8ec9c844UL, + 0x75c2896aUL, 0xf48e7978UL, 0x99583e6bUL, 0x27b971ddUL, + 0xbee14fb6UL, 0xf088ad17UL, 0xc920ac66UL, 0x7dce3ab4UL, + 0x63df4a18UL, 0xe51a3182UL, 0x97513360UL, 0x62537f45UL, + 0xb16477e0UL, 0xbb6bae84UL, 0xfe81a01cUL, 0xf9082b94UL, + 0x70486858UL, 0x8f45fd19UL, 0x94de6c87UL, 0x527bf8b7UL, + 0xab73d323UL, 0x724b02e2UL, 0xe31f8f57UL, 0x6655ab2aUL, + 0xb2eb2807UL, 0x2fb5c203UL, 0x86c57b9aUL, 0xd33708a5UL, + 0x302887f2UL, 0x23bfa5b2UL, 0x02036abaUL, 0xed16825cUL, + 0x8acf1c2bUL, 0xa779b492UL, 0xf307f2f0UL, 0x4e69e2a1UL, + 0x65daf4cdUL, 0x0605bed5UL, 0xd134621fUL, 0xc4a6fe8aUL, + 0x342e539dUL, 0xa2f355a0UL, 0x058ae132UL, 0xa4f6eb75UL, + 0x0b83ec39UL, 0x4060efaaUL, 0x5e719f06UL, 0xbd6e1051UL, + 0x3e218af9UL, 0x96dd063dUL, 0xdd3e05aeUL, 0x4de6bd46UL, + 0x91548db5UL, 0x71c45d05UL, 0x0406d46fUL, 0x605015ffUL, + 0x1998fb24UL, 0xd6bde997UL, 0x894043ccUL, 0x67d99e77UL, + 0xb0e842bdUL, 0x07898b88UL, 0xe7195b38UL, 0x79c8eedbUL, + 0xa17c0a47UL, 0x7c420fe9UL, 0xf8841ec9UL, 0x00000000UL, + 0x09808683UL, 0x322bed48UL, 0x1e1170acUL, 0x6c5a724eUL, + 0xfd0efffbUL, 0x0f853856UL, 0x3daed51eUL, 0x362d3927UL, + 0x0a0fd964UL, 0x685ca621UL, 0x9b5b54d1UL, 0x24362e3aUL, + 0x0c0a67b1UL, 0x9357e70fUL, 0xb4ee96d2UL, 0x1b9b919eUL, + 0x80c0c54fUL, 0x61dc20a2UL, 0x5a774b69UL, 0x1c121a16UL, + 0xe293ba0aUL, 0xc0a02ae5UL, 0x3c22e043UL, 0x121b171dUL, + 0x0e090d0bUL, 0xf28bc7adUL, 0x2db6a8b9UL, 0x141ea9c8UL, + 0x57f11985UL, 0xaf75074cUL, 0xee99ddbbUL, 0xa37f60fdUL, + 0xf701269fUL, 0x5c72f5bcUL, 0x44663bc5UL, 0x5bfb7e34UL, + 0x8b432976UL, 0xcb23c6dcUL, 0xb6edfc68UL, 0xb8e4f163UL, + 0xd731dccaUL, 0x42638510UL, 0x13972240UL, 0x84c61120UL, + 0x854a247dUL, 0xd2bb3df8UL, 0xaef93211UL, 0xc729a16dUL, + 0x1d9e2f4bUL, 0xdcb230f3UL, 0x0d8652ecUL, 0x77c1e3d0UL, + 0x2bb3166cUL, 0xa970b999UL, 0x119448faUL, 0x47e96422UL, + 0xa8fc8cc4UL, 0xa0f03f1aUL, 0x567d2cd8UL, 0x223390efUL, + 0x87494ec7UL, 0xd938d1c1UL, 0x8ccaa2feUL, 0x98d40b36UL, + 0xa6f581cfUL, 0xa57ade28UL, 0xdab78e26UL, 0x3fadbfa4UL, + 0x2c3a9de4UL, 0x5078920dUL, 0x6a5fcc9bUL, 0x547e4662UL, + 0xf68d13c2UL, 0x90d8b8e8UL, 0x2e39f75eUL, 0x82c3aff5UL, + 0x9f5d80beUL, 0x69d0937cUL, 0x6fd52da9UL, 0xcf2512b3UL, + 0xc8ac993bUL, 0x10187da7UL, 0xe89c636eUL, 0xdb3bbb7bUL, + 0xcd267809UL, 0x6e5918f4UL, 0xec9ab701UL, 0x834f9aa8UL, + 0xe6956e65UL, 0xaaffe67eUL, 0x21bccf08UL, 0xef15e8e6UL, + 0xbae79bd9UL, 0x4a6f36ceUL, 0xea9f09d4UL, 0x29b07cd6UL, + 0x31a4b2afUL, 0x2a3f2331UL, 0xc6a59430UL, 0x35a266c0UL, + 0x744ebc37UL, 0xfc82caa6UL, 0xe090d0b0UL, 0x33a7d815UL, + 0xf104984aUL, 0x41ecdaf7UL, 0x7fcd500eUL, 0x1791f62fUL, + 0x764dd68dUL, 0x43efb04dUL, 0xccaa4d54UL, 0xe49604dfUL, + 0x9ed1b5e3UL, 0x4c6a881bUL, 0xc12c1fb8UL, 0x4665517fUL, + 0x9d5eea04UL, 0x018c355dUL, 0xfa877473UL, 0xfb0b412eUL, + 0xb3671d5aUL, 0x92dbd252UL, 0xe9105633UL, 0x6dd64713UL, + 0x9ad7618cUL, 0x37a10c7aUL, 0x59f8148eUL, 0xeb133c89UL, + 0xcea927eeUL, 0xb761c935UL, 0xe11ce5edUL, 0x7a47b13cUL, + 0x9cd2df59UL, 0x55f2733fUL, 0x1814ce79UL, 0x73c737bfUL, + 0x53f7cdeaUL, 0x5ffdaa5bUL, 0xdf3d6f14UL, 0x7844db86UL, + 0xcaaff381UL, 0xb968c43eUL, 0x3824342cUL, 0xc2a3405fUL, + 0x161dc372UL, 0xbce2250cUL, 0x283c498bUL, 0xff0d9541UL, + 0x39a80171UL, 0x080cb3deUL, 0xd8b4e49cUL, 0x6456c190UL, + 0x7bcb8461UL, 0xd532b670UL, 0x486c5c74UL, 0xd0b85742UL, +}; +static const unsigned int Td1[256] = { + 0x5051f4a7UL, 0x537e4165UL, 0xc31a17a4UL, 0x963a275eUL, + 0xcb3bab6bUL, 0xf11f9d45UL, 0xabacfa58UL, 0x934be303UL, + 0x552030faUL, 0xf6ad766dUL, 0x9188cc76UL, 0x25f5024cUL, + 0xfc4fe5d7UL, 0xd7c52acbUL, 0x80263544UL, 0x8fb562a3UL, + 0x49deb15aUL, 0x6725ba1bUL, 0x9845ea0eUL, 0xe15dfec0UL, + 0x02c32f75UL, 0x12814cf0UL, 0xa38d4697UL, 0xc66bd3f9UL, + 0xe7038f5fUL, 0x9515929cUL, 0xebbf6d7aUL, 0xda955259UL, + 0x2dd4be83UL, 0xd3587421UL, 0x2949e069UL, 0x448ec9c8UL, + 0x6a75c289UL, 0x78f48e79UL, 0x6b99583eUL, 0xdd27b971UL, + 0xb6bee14fUL, 0x17f088adUL, 0x66c920acUL, 0xb47dce3aUL, + 0x1863df4aUL, 0x82e51a31UL, 0x60975133UL, 0x4562537fUL, + 0xe0b16477UL, 0x84bb6baeUL, 0x1cfe81a0UL, 0x94f9082bUL, + 0x58704868UL, 0x198f45fdUL, 0x8794de6cUL, 0xb7527bf8UL, + 0x23ab73d3UL, 0xe2724b02UL, 0x57e31f8fUL, 0x2a6655abUL, + 0x07b2eb28UL, 0x032fb5c2UL, 0x9a86c57bUL, 0xa5d33708UL, + 0xf2302887UL, 0xb223bfa5UL, 0xba02036aUL, 0x5ced1682UL, + 0x2b8acf1cUL, 0x92a779b4UL, 0xf0f307f2UL, 0xa14e69e2UL, + 0xcd65daf4UL, 0xd50605beUL, 0x1fd13462UL, 0x8ac4a6feUL, + 0x9d342e53UL, 0xa0a2f355UL, 0x32058ae1UL, 0x75a4f6ebUL, + 0x390b83ecUL, 0xaa4060efUL, 0x065e719fUL, 0x51bd6e10UL, + 0xf93e218aUL, 0x3d96dd06UL, 0xaedd3e05UL, 0x464de6bdUL, + 0xb591548dUL, 0x0571c45dUL, 0x6f0406d4UL, 0xff605015UL, + 0x241998fbUL, 0x97d6bde9UL, 0xcc894043UL, 0x7767d99eUL, + 0xbdb0e842UL, 0x8807898bUL, 0x38e7195bUL, 0xdb79c8eeUL, + 0x47a17c0aUL, 0xe97c420fUL, 0xc9f8841eUL, 0x00000000UL, + 0x83098086UL, 0x48322bedUL, 0xac1e1170UL, 0x4e6c5a72UL, + 0xfbfd0effUL, 0x560f8538UL, 0x1e3daed5UL, 0x27362d39UL, + 0x640a0fd9UL, 0x21685ca6UL, 0xd19b5b54UL, 0x3a24362eUL, + 0xb10c0a67UL, 0x0f9357e7UL, 0xd2b4ee96UL, 0x9e1b9b91UL, + 0x4f80c0c5UL, 0xa261dc20UL, 0x695a774bUL, 0x161c121aUL, + 0x0ae293baUL, 0xe5c0a02aUL, 0x433c22e0UL, 0x1d121b17UL, + 0x0b0e090dUL, 0xadf28bc7UL, 0xb92db6a8UL, 0xc8141ea9UL, + 0x8557f119UL, 0x4caf7507UL, 0xbbee99ddUL, 0xfda37f60UL, + 0x9ff70126UL, 0xbc5c72f5UL, 0xc544663bUL, 0x345bfb7eUL, + 0x768b4329UL, 0xdccb23c6UL, 0x68b6edfcUL, 0x63b8e4f1UL, + 0xcad731dcUL, 0x10426385UL, 0x40139722UL, 0x2084c611UL, + 0x7d854a24UL, 0xf8d2bb3dUL, 0x11aef932UL, 0x6dc729a1UL, + 0x4b1d9e2fUL, 0xf3dcb230UL, 0xec0d8652UL, 0xd077c1e3UL, + 0x6c2bb316UL, 0x99a970b9UL, 0xfa119448UL, 0x2247e964UL, + 0xc4a8fc8cUL, 0x1aa0f03fUL, 0xd8567d2cUL, 0xef223390UL, + 0xc787494eUL, 0xc1d938d1UL, 0xfe8ccaa2UL, 0x3698d40bUL, + 0xcfa6f581UL, 0x28a57adeUL, 0x26dab78eUL, 0xa43fadbfUL, + 0xe42c3a9dUL, 0x0d507892UL, 0x9b6a5fccUL, 0x62547e46UL, + 0xc2f68d13UL, 0xe890d8b8UL, 0x5e2e39f7UL, 0xf582c3afUL, + 0xbe9f5d80UL, 0x7c69d093UL, 0xa96fd52dUL, 0xb3cf2512UL, + 0x3bc8ac99UL, 0xa710187dUL, 0x6ee89c63UL, 0x7bdb3bbbUL, + 0x09cd2678UL, 0xf46e5918UL, 0x01ec9ab7UL, 0xa8834f9aUL, + 0x65e6956eUL, 0x7eaaffe6UL, 0x0821bccfUL, 0xe6ef15e8UL, + 0xd9bae79bUL, 0xce4a6f36UL, 0xd4ea9f09UL, 0xd629b07cUL, + 0xaf31a4b2UL, 0x312a3f23UL, 0x30c6a594UL, 0xc035a266UL, + 0x37744ebcUL, 0xa6fc82caUL, 0xb0e090d0UL, 0x1533a7d8UL, + 0x4af10498UL, 0xf741ecdaUL, 0x0e7fcd50UL, 0x2f1791f6UL, + 0x8d764dd6UL, 0x4d43efb0UL, 0x54ccaa4dUL, 0xdfe49604UL, + 0xe39ed1b5UL, 0x1b4c6a88UL, 0xb8c12c1fUL, 0x7f466551UL, + 0x049d5eeaUL, 0x5d018c35UL, 0x73fa8774UL, 0x2efb0b41UL, + 0x5ab3671dUL, 0x5292dbd2UL, 0x33e91056UL, 0x136dd647UL, + 0x8c9ad761UL, 0x7a37a10cUL, 0x8e59f814UL, 0x89eb133cUL, + 0xeecea927UL, 0x35b761c9UL, 0xede11ce5UL, 0x3c7a47b1UL, + 0x599cd2dfUL, 0x3f55f273UL, 0x791814ceUL, 0xbf73c737UL, + 0xea53f7cdUL, 0x5b5ffdaaUL, 0x14df3d6fUL, 0x867844dbUL, + 0x81caaff3UL, 0x3eb968c4UL, 0x2c382434UL, 0x5fc2a340UL, + 0x72161dc3UL, 0x0cbce225UL, 0x8b283c49UL, 0x41ff0d95UL, + 0x7139a801UL, 0xde080cb3UL, 0x9cd8b4e4UL, 0x906456c1UL, + 0x617bcb84UL, 0x70d532b6UL, 0x74486c5cUL, 0x42d0b857UL, +}; +static const unsigned int Td2[256] = { + 0xa75051f4UL, 0x65537e41UL, 0xa4c31a17UL, 0x5e963a27UL, + 0x6bcb3babUL, 0x45f11f9dUL, 0x58abacfaUL, 0x03934be3UL, + 0xfa552030UL, 0x6df6ad76UL, 0x769188ccUL, 0x4c25f502UL, + 0xd7fc4fe5UL, 0xcbd7c52aUL, 0x44802635UL, 0xa38fb562UL, + 0x5a49deb1UL, 0x1b6725baUL, 0x0e9845eaUL, 0xc0e15dfeUL, + 0x7502c32fUL, 0xf012814cUL, 0x97a38d46UL, 0xf9c66bd3UL, + 0x5fe7038fUL, 0x9c951592UL, 0x7aebbf6dUL, 0x59da9552UL, + 0x832dd4beUL, 0x21d35874UL, 0x692949e0UL, 0xc8448ec9UL, + 0x896a75c2UL, 0x7978f48eUL, 0x3e6b9958UL, 0x71dd27b9UL, + 0x4fb6bee1UL, 0xad17f088UL, 0xac66c920UL, 0x3ab47dceUL, + 0x4a1863dfUL, 0x3182e51aUL, 0x33609751UL, 0x7f456253UL, + 0x77e0b164UL, 0xae84bb6bUL, 0xa01cfe81UL, 0x2b94f908UL, + 0x68587048UL, 0xfd198f45UL, 0x6c8794deUL, 0xf8b7527bUL, + 0xd323ab73UL, 0x02e2724bUL, 0x8f57e31fUL, 0xab2a6655UL, + 0x2807b2ebUL, 0xc2032fb5UL, 0x7b9a86c5UL, 0x08a5d337UL, + 0x87f23028UL, 0xa5b223bfUL, 0x6aba0203UL, 0x825ced16UL, + 0x1c2b8acfUL, 0xb492a779UL, 0xf2f0f307UL, 0xe2a14e69UL, + 0xf4cd65daUL, 0xbed50605UL, 0x621fd134UL, 0xfe8ac4a6UL, + 0x539d342eUL, 0x55a0a2f3UL, 0xe132058aUL, 0xeb75a4f6UL, + 0xec390b83UL, 0xefaa4060UL, 0x9f065e71UL, 0x1051bd6eUL, + 0x8af93e21UL, 0x063d96ddUL, 0x05aedd3eUL, 0xbd464de6UL, + 0x8db59154UL, 0x5d0571c4UL, 0xd46f0406UL, 0x15ff6050UL, + 0xfb241998UL, 0xe997d6bdUL, 0x43cc8940UL, 0x9e7767d9UL, + 0x42bdb0e8UL, 0x8b880789UL, 0x5b38e719UL, 0xeedb79c8UL, + 0x0a47a17cUL, 0x0fe97c42UL, 0x1ec9f884UL, 0x00000000UL, + 0x86830980UL, 0xed48322bUL, 0x70ac1e11UL, 0x724e6c5aUL, + 0xfffbfd0eUL, 0x38560f85UL, 0xd51e3daeUL, 0x3927362dUL, + 0xd9640a0fUL, 0xa621685cUL, 0x54d19b5bUL, 0x2e3a2436UL, + 0x67b10c0aUL, 0xe70f9357UL, 0x96d2b4eeUL, 0x919e1b9bUL, + 0xc54f80c0UL, 0x20a261dcUL, 0x4b695a77UL, 0x1a161c12UL, + 0xba0ae293UL, 0x2ae5c0a0UL, 0xe0433c22UL, 0x171d121bUL, + 0x0d0b0e09UL, 0xc7adf28bUL, 0xa8b92db6UL, 0xa9c8141eUL, + 0x198557f1UL, 0x074caf75UL, 0xddbbee99UL, 0x60fda37fUL, + 0x269ff701UL, 0xf5bc5c72UL, 0x3bc54466UL, 0x7e345bfbUL, + 0x29768b43UL, 0xc6dccb23UL, 0xfc68b6edUL, 0xf163b8e4UL, + 0xdccad731UL, 0x85104263UL, 0x22401397UL, 0x112084c6UL, + 0x247d854aUL, 0x3df8d2bbUL, 0x3211aef9UL, 0xa16dc729UL, + 0x2f4b1d9eUL, 0x30f3dcb2UL, 0x52ec0d86UL, 0xe3d077c1UL, + 0x166c2bb3UL, 0xb999a970UL, 0x48fa1194UL, 0x642247e9UL, + 0x8cc4a8fcUL, 0x3f1aa0f0UL, 0x2cd8567dUL, 0x90ef2233UL, + 0x4ec78749UL, 0xd1c1d938UL, 0xa2fe8ccaUL, 0x0b3698d4UL, + 0x81cfa6f5UL, 0xde28a57aUL, 0x8e26dab7UL, 0xbfa43fadUL, + 0x9de42c3aUL, 0x920d5078UL, 0xcc9b6a5fUL, 0x4662547eUL, + 0x13c2f68dUL, 0xb8e890d8UL, 0xf75e2e39UL, 0xaff582c3UL, + 0x80be9f5dUL, 0x937c69d0UL, 0x2da96fd5UL, 0x12b3cf25UL, + 0x993bc8acUL, 0x7da71018UL, 0x636ee89cUL, 0xbb7bdb3bUL, + 0x7809cd26UL, 0x18f46e59UL, 0xb701ec9aUL, 0x9aa8834fUL, + 0x6e65e695UL, 0xe67eaaffUL, 0xcf0821bcUL, 0xe8e6ef15UL, + 0x9bd9bae7UL, 0x36ce4a6fUL, 0x09d4ea9fUL, 0x7cd629b0UL, + 0xb2af31a4UL, 0x23312a3fUL, 0x9430c6a5UL, 0x66c035a2UL, + 0xbc37744eUL, 0xcaa6fc82UL, 0xd0b0e090UL, 0xd81533a7UL, + 0x984af104UL, 0xdaf741ecUL, 0x500e7fcdUL, 0xf62f1791UL, + 0xd68d764dUL, 0xb04d43efUL, 0x4d54ccaaUL, 0x04dfe496UL, + 0xb5e39ed1UL, 0x881b4c6aUL, 0x1fb8c12cUL, 0x517f4665UL, + 0xea049d5eUL, 0x355d018cUL, 0x7473fa87UL, 0x412efb0bUL, + 0x1d5ab367UL, 0xd25292dbUL, 0x5633e910UL, 0x47136dd6UL, + 0x618c9ad7UL, 0x0c7a37a1UL, 0x148e59f8UL, 0x3c89eb13UL, + 0x27eecea9UL, 0xc935b761UL, 0xe5ede11cUL, 0xb13c7a47UL, + 0xdf599cd2UL, 0x733f55f2UL, 0xce791814UL, 0x37bf73c7UL, + 0xcdea53f7UL, 0xaa5b5ffdUL, 0x6f14df3dUL, 0xdb867844UL, + 0xf381caafUL, 0xc43eb968UL, 0x342c3824UL, 0x405fc2a3UL, + 0xc372161dUL, 0x250cbce2UL, 0x498b283cUL, 0x9541ff0dUL, + 0x017139a8UL, 0xb3de080cUL, 0xe49cd8b4UL, 0xc1906456UL, + 0x84617bcbUL, 0xb670d532UL, 0x5c74486cUL, 0x5742d0b8UL, +}; +static const unsigned int Td3[256] = { + 0xf4a75051UL, 0x4165537eUL, 0x17a4c31aUL, 0x275e963aUL, + 0xab6bcb3bUL, 0x9d45f11fUL, 0xfa58abacUL, 0xe303934bUL, + 0x30fa5520UL, 0x766df6adUL, 0xcc769188UL, 0x024c25f5UL, + 0xe5d7fc4fUL, 0x2acbd7c5UL, 0x35448026UL, 0x62a38fb5UL, + 0xb15a49deUL, 0xba1b6725UL, 0xea0e9845UL, 0xfec0e15dUL, + 0x2f7502c3UL, 0x4cf01281UL, 0x4697a38dUL, 0xd3f9c66bUL, + 0x8f5fe703UL, 0x929c9515UL, 0x6d7aebbfUL, 0x5259da95UL, + 0xbe832dd4UL, 0x7421d358UL, 0xe0692949UL, 0xc9c8448eUL, + 0xc2896a75UL, 0x8e7978f4UL, 0x583e6b99UL, 0xb971dd27UL, + 0xe14fb6beUL, 0x88ad17f0UL, 0x20ac66c9UL, 0xce3ab47dUL, + 0xdf4a1863UL, 0x1a3182e5UL, 0x51336097UL, 0x537f4562UL, + 0x6477e0b1UL, 0x6bae84bbUL, 0x81a01cfeUL, 0x082b94f9UL, + 0x48685870UL, 0x45fd198fUL, 0xde6c8794UL, 0x7bf8b752UL, + 0x73d323abUL, 0x4b02e272UL, 0x1f8f57e3UL, 0x55ab2a66UL, + 0xeb2807b2UL, 0xb5c2032fUL, 0xc57b9a86UL, 0x3708a5d3UL, + 0x2887f230UL, 0xbfa5b223UL, 0x036aba02UL, 0x16825cedUL, + 0xcf1c2b8aUL, 0x79b492a7UL, 0x07f2f0f3UL, 0x69e2a14eUL, + 0xdaf4cd65UL, 0x05bed506UL, 0x34621fd1UL, 0xa6fe8ac4UL, + 0x2e539d34UL, 0xf355a0a2UL, 0x8ae13205UL, 0xf6eb75a4UL, + 0x83ec390bUL, 0x60efaa40UL, 0x719f065eUL, 0x6e1051bdUL, + 0x218af93eUL, 0xdd063d96UL, 0x3e05aeddUL, 0xe6bd464dUL, + 0x548db591UL, 0xc45d0571UL, 0x06d46f04UL, 0x5015ff60UL, + 0x98fb2419UL, 0xbde997d6UL, 0x4043cc89UL, 0xd99e7767UL, + 0xe842bdb0UL, 0x898b8807UL, 0x195b38e7UL, 0xc8eedb79UL, + 0x7c0a47a1UL, 0x420fe97cUL, 0x841ec9f8UL, 0x00000000UL, + 0x80868309UL, 0x2bed4832UL, 0x1170ac1eUL, 0x5a724e6cUL, + 0x0efffbfdUL, 0x8538560fUL, 0xaed51e3dUL, 0x2d392736UL, + 0x0fd9640aUL, 0x5ca62168UL, 0x5b54d19bUL, 0x362e3a24UL, + 0x0a67b10cUL, 0x57e70f93UL, 0xee96d2b4UL, 0x9b919e1bUL, + 0xc0c54f80UL, 0xdc20a261UL, 0x774b695aUL, 0x121a161cUL, + 0x93ba0ae2UL, 0xa02ae5c0UL, 0x22e0433cUL, 0x1b171d12UL, + 0x090d0b0eUL, 0x8bc7adf2UL, 0xb6a8b92dUL, 0x1ea9c814UL, + 0xf1198557UL, 0x75074cafUL, 0x99ddbbeeUL, 0x7f60fda3UL, + 0x01269ff7UL, 0x72f5bc5cUL, 0x663bc544UL, 0xfb7e345bUL, + 0x4329768bUL, 0x23c6dccbUL, 0xedfc68b6UL, 0xe4f163b8UL, + 0x31dccad7UL, 0x63851042UL, 0x97224013UL, 0xc6112084UL, + 0x4a247d85UL, 0xbb3df8d2UL, 0xf93211aeUL, 0x29a16dc7UL, + 0x9e2f4b1dUL, 0xb230f3dcUL, 0x8652ec0dUL, 0xc1e3d077UL, + 0xb3166c2bUL, 0x70b999a9UL, 0x9448fa11UL, 0xe9642247UL, + 0xfc8cc4a8UL, 0xf03f1aa0UL, 0x7d2cd856UL, 0x3390ef22UL, + 0x494ec787UL, 0x38d1c1d9UL, 0xcaa2fe8cUL, 0xd40b3698UL, + 0xf581cfa6UL, 0x7ade28a5UL, 0xb78e26daUL, 0xadbfa43fUL, + 0x3a9de42cUL, 0x78920d50UL, 0x5fcc9b6aUL, 0x7e466254UL, + 0x8d13c2f6UL, 0xd8b8e890UL, 0x39f75e2eUL, 0xc3aff582UL, + 0x5d80be9fUL, 0xd0937c69UL, 0xd52da96fUL, 0x2512b3cfUL, + 0xac993bc8UL, 0x187da710UL, 0x9c636ee8UL, 0x3bbb7bdbUL, + 0x267809cdUL, 0x5918f46eUL, 0x9ab701ecUL, 0x4f9aa883UL, + 0x956e65e6UL, 0xffe67eaaUL, 0xbccf0821UL, 0x15e8e6efUL, + 0xe79bd9baUL, 0x6f36ce4aUL, 0x9f09d4eaUL, 0xb07cd629UL, + 0xa4b2af31UL, 0x3f23312aUL, 0xa59430c6UL, 0xa266c035UL, + 0x4ebc3774UL, 0x82caa6fcUL, 0x90d0b0e0UL, 0xa7d81533UL, + 0x04984af1UL, 0xecdaf741UL, 0xcd500e7fUL, 0x91f62f17UL, + 0x4dd68d76UL, 0xefb04d43UL, 0xaa4d54ccUL, 0x9604dfe4UL, + 0xd1b5e39eUL, 0x6a881b4cUL, 0x2c1fb8c1UL, 0x65517f46UL, + 0x5eea049dUL, 0x8c355d01UL, 0x877473faUL, 0x0b412efbUL, + 0x671d5ab3UL, 0xdbd25292UL, 0x105633e9UL, 0xd647136dUL, + 0xd7618c9aUL, 0xa10c7a37UL, 0xf8148e59UL, 0x133c89ebUL, + 0xa927eeceUL, 0x61c935b7UL, 0x1ce5ede1UL, 0x47b13c7aUL, + 0xd2df599cUL, 0xf2733f55UL, 0x14ce7918UL, 0xc737bf73UL, + 0xf7cdea53UL, 0xfdaa5b5fUL, 0x3d6f14dfUL, 0x44db8678UL, + 0xaff381caUL, 0x68c43eb9UL, 0x24342c38UL, 0xa3405fc2UL, + 0x1dc37216UL, 0xe2250cbcUL, 0x3c498b28UL, 0x0d9541ffUL, + 0xa8017139UL, 0x0cb3de08UL, 0xb4e49cd8UL, 0x56c19064UL, + 0xcb84617bUL, 0x32b670d5UL, 0x6c5c7448UL, 0xb85742d0UL, +}; +static const unsigned int Td4[256] = { + 0x52525252UL, 0x09090909UL, 0x6a6a6a6aUL, 0xd5d5d5d5UL, + 0x30303030UL, 0x36363636UL, 0xa5a5a5a5UL, 0x38383838UL, + 0xbfbfbfbfUL, 0x40404040UL, 0xa3a3a3a3UL, 0x9e9e9e9eUL, + 0x81818181UL, 0xf3f3f3f3UL, 0xd7d7d7d7UL, 0xfbfbfbfbUL, + 0x7c7c7c7cUL, 0xe3e3e3e3UL, 0x39393939UL, 0x82828282UL, + 0x9b9b9b9bUL, 0x2f2f2f2fUL, 0xffffffffUL, 0x87878787UL, + 0x34343434UL, 0x8e8e8e8eUL, 0x43434343UL, 0x44444444UL, + 0xc4c4c4c4UL, 0xdedededeUL, 0xe9e9e9e9UL, 0xcbcbcbcbUL, + 0x54545454UL, 0x7b7b7b7bUL, 0x94949494UL, 0x32323232UL, + 0xa6a6a6a6UL, 0xc2c2c2c2UL, 0x23232323UL, 0x3d3d3d3dUL, + 0xeeeeeeeeUL, 0x4c4c4c4cUL, 0x95959595UL, 0x0b0b0b0bUL, + 0x42424242UL, 0xfafafafaUL, 0xc3c3c3c3UL, 0x4e4e4e4eUL, + 0x08080808UL, 0x2e2e2e2eUL, 0xa1a1a1a1UL, 0x66666666UL, + 0x28282828UL, 0xd9d9d9d9UL, 0x24242424UL, 0xb2b2b2b2UL, + 0x76767676UL, 0x5b5b5b5bUL, 0xa2a2a2a2UL, 0x49494949UL, + 0x6d6d6d6dUL, 0x8b8b8b8bUL, 0xd1d1d1d1UL, 0x25252525UL, + 0x72727272UL, 0xf8f8f8f8UL, 0xf6f6f6f6UL, 0x64646464UL, + 0x86868686UL, 0x68686868UL, 0x98989898UL, 0x16161616UL, + 0xd4d4d4d4UL, 0xa4a4a4a4UL, 0x5c5c5c5cUL, 0xccccccccUL, + 0x5d5d5d5dUL, 0x65656565UL, 0xb6b6b6b6UL, 0x92929292UL, + 0x6c6c6c6cUL, 0x70707070UL, 0x48484848UL, 0x50505050UL, + 0xfdfdfdfdUL, 0xededededUL, 0xb9b9b9b9UL, 0xdadadadaUL, + 0x5e5e5e5eUL, 0x15151515UL, 0x46464646UL, 0x57575757UL, + 0xa7a7a7a7UL, 0x8d8d8d8dUL, 0x9d9d9d9dUL, 0x84848484UL, + 0x90909090UL, 0xd8d8d8d8UL, 0xababababUL, 0x00000000UL, + 0x8c8c8c8cUL, 0xbcbcbcbcUL, 0xd3d3d3d3UL, 0x0a0a0a0aUL, + 0xf7f7f7f7UL, 0xe4e4e4e4UL, 0x58585858UL, 0x05050505UL, + 0xb8b8b8b8UL, 0xb3b3b3b3UL, 0x45454545UL, 0x06060606UL, + 0xd0d0d0d0UL, 0x2c2c2c2cUL, 0x1e1e1e1eUL, 0x8f8f8f8fUL, + 0xcacacacaUL, 0x3f3f3f3fUL, 0x0f0f0f0fUL, 0x02020202UL, + 0xc1c1c1c1UL, 0xafafafafUL, 0xbdbdbdbdUL, 0x03030303UL, + 0x01010101UL, 0x13131313UL, 0x8a8a8a8aUL, 0x6b6b6b6bUL, + 0x3a3a3a3aUL, 0x91919191UL, 0x11111111UL, 0x41414141UL, + 0x4f4f4f4fUL, 0x67676767UL, 0xdcdcdcdcUL, 0xeaeaeaeaUL, + 0x97979797UL, 0xf2f2f2f2UL, 0xcfcfcfcfUL, 0xcecececeUL, + 0xf0f0f0f0UL, 0xb4b4b4b4UL, 0xe6e6e6e6UL, 0x73737373UL, + 0x96969696UL, 0xacacacacUL, 0x74747474UL, 0x22222222UL, + 0xe7e7e7e7UL, 0xadadadadUL, 0x35353535UL, 0x85858585UL, + 0xe2e2e2e2UL, 0xf9f9f9f9UL, 0x37373737UL, 0xe8e8e8e8UL, + 0x1c1c1c1cUL, 0x75757575UL, 0xdfdfdfdfUL, 0x6e6e6e6eUL, + 0x47474747UL, 0xf1f1f1f1UL, 0x1a1a1a1aUL, 0x71717171UL, + 0x1d1d1d1dUL, 0x29292929UL, 0xc5c5c5c5UL, 0x89898989UL, + 0x6f6f6f6fUL, 0xb7b7b7b7UL, 0x62626262UL, 0x0e0e0e0eUL, + 0xaaaaaaaaUL, 0x18181818UL, 0xbebebebeUL, 0x1b1b1b1bUL, + 0xfcfcfcfcUL, 0x56565656UL, 0x3e3e3e3eUL, 0x4b4b4b4bUL, + 0xc6c6c6c6UL, 0xd2d2d2d2UL, 0x79797979UL, 0x20202020UL, + 0x9a9a9a9aUL, 0xdbdbdbdbUL, 0xc0c0c0c0UL, 0xfefefefeUL, + 0x78787878UL, 0xcdcdcdcdUL, 0x5a5a5a5aUL, 0xf4f4f4f4UL, + 0x1f1f1f1fUL, 0xddddddddUL, 0xa8a8a8a8UL, 0x33333333UL, + 0x88888888UL, 0x07070707UL, 0xc7c7c7c7UL, 0x31313131UL, + 0xb1b1b1b1UL, 0x12121212UL, 0x10101010UL, 0x59595959UL, + 0x27272727UL, 0x80808080UL, 0xececececUL, 0x5f5f5f5fUL, + 0x60606060UL, 0x51515151UL, 0x7f7f7f7fUL, 0xa9a9a9a9UL, + 0x19191919UL, 0xb5b5b5b5UL, 0x4a4a4a4aUL, 0x0d0d0d0dUL, + 0x2d2d2d2dUL, 0xe5e5e5e5UL, 0x7a7a7a7aUL, 0x9f9f9f9fUL, + 0x93939393UL, 0xc9c9c9c9UL, 0x9c9c9c9cUL, 0xefefefefUL, + 0xa0a0a0a0UL, 0xe0e0e0e0UL, 0x3b3b3b3bUL, 0x4d4d4d4dUL, + 0xaeaeaeaeUL, 0x2a2a2a2aUL, 0xf5f5f5f5UL, 0xb0b0b0b0UL, + 0xc8c8c8c8UL, 0xebebebebUL, 0xbbbbbbbbUL, 0x3c3c3c3cUL, + 0x83838383UL, 0x53535353UL, 0x99999999UL, 0x61616161UL, + 0x17171717UL, 0x2b2b2b2bUL, 0x04040404UL, 0x7e7e7e7eUL, + 0xbabababaUL, 0x77777777UL, 0xd6d6d6d6UL, 0x26262626UL, + 0xe1e1e1e1UL, 0x69696969UL, 0x14141414UL, 0x63636363UL, + 0x55555555UL, 0x21212121UL, 0x0c0c0c0cUL, 0x7d7d7d7dUL, +}; +static const unsigned int rcon[] = { + 0x01000000UL, 0x02000000UL, 0x04000000UL, 0x08000000UL, + 0x10000000UL, 0x20000000UL, 0x40000000UL, 0x80000000UL, + 0x1B000000UL, 0x36000000UL, +}; + +#define GETU32(pt) (((unsigned int)(pt)[0] << 24) ^ \ + ((unsigned int)(pt)[1] << 16) ^ \ + ((unsigned int)(pt)[2] << 8) ^ \ + ((unsigned int)(pt)[3])) + +#define PUTU32(ct, st) { (ct)[0] = (unsigned char)((st) >> 24); \ + (ct)[1] = (unsigned char)((st) >> 16); \ + (ct)[2] = (unsigned char)((st) >> 8); \ + (ct)[3] = (unsigned char)(st); } + +/* +* Expand the cipher key into the encryption key schedule and return the +* number of rounds for the given cipher key size. +*/ +int aes_setkey_enc(unsigned int rk[], const unsigned char cipherKey[], int keyBytes) +{ + int i = 0; + unsigned int temp; + + rk[0] = GETU32(cipherKey ); + rk[1] = GETU32(cipherKey + 4); + rk[2] = GETU32(cipherKey + 8); + rk[3] = GETU32(cipherKey + 12); + if (keyBytes == 16) { // 128 bits + for (;;) { + temp = rk[3]; + rk[4] = rk[0] ^ + (Te4[(temp >> 16) & 0xff] & 0xff000000) ^ + (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ + (Te4[(temp ) & 0xff] & 0x0000ff00) ^ + (Te4[(temp >> 24) ] & 0x000000ff) ^ + rcon[i]; + rk[5] = rk[1] ^ rk[4]; + rk[6] = rk[2] ^ rk[5]; + rk[7] = rk[3] ^ rk[6]; + if (++i == 10) { + return 10; + } + rk += 4; + } + } + rk[4] = GETU32(cipherKey + 16); + rk[5] = GETU32(cipherKey + 20); + if (keyBytes == 24) { // 192 bits + for (;;) { + temp = rk[ 5]; + rk[ 6] = rk[ 0] ^ + (Te4[(temp >> 16) & 0xff] & 0xff000000) ^ + (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ + (Te4[(temp ) & 0xff] & 0x0000ff00) ^ + (Te4[(temp >> 24) ] & 0x000000ff) ^ + rcon[i]; + rk[ 7] = rk[ 1] ^ rk[ 6]; + rk[ 8] = rk[ 2] ^ rk[ 7]; + rk[ 9] = rk[ 3] ^ rk[ 8]; + if (++i == 8) { + return 12; + } + rk[10] = rk[ 4] ^ rk[ 9]; + rk[11] = rk[ 5] ^ rk[10]; + rk += 6; + } + } + rk[6] = GETU32(cipherKey + 24); + rk[7] = GETU32(cipherKey + 28); + if (keyBytes == 32) { // 256 bits + for (;;) { + temp = rk[ 7]; + rk[ 8] = rk[ 0] ^ + (Te4[(temp >> 16) & 0xff] & 0xff000000) ^ + (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^ + (Te4[(temp ) & 0xff] & 0x0000ff00) ^ + (Te4[(temp >> 24) ] & 0x000000ff) ^ + rcon[i]; + rk[ 9] = rk[ 1] ^ rk[ 8]; + rk[10] = rk[ 2] ^ rk[ 9]; + rk[11] = rk[ 3] ^ rk[10]; + if (++i == 7) { + return 14; + } + temp = rk[11]; + rk[12] = rk[ 4] ^ + (Te4[(temp >> 24) ] & 0xff000000) ^ + (Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(temp >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(temp ) & 0xff] & 0x000000ff); + rk[13] = rk[ 5] ^ rk[12]; + rk[14] = rk[ 6] ^ rk[13]; + rk[15] = rk[ 7] ^ rk[14]; + + rk += 8; + } + } + return 0; +} + +/* +* Expand the cipher key into encryption and decryption key schedule and +* return the number of rounds for the given cipher key size. +*/ +int AesGenKeySched(unsigned int rk[], unsigned int rrk[], const unsigned char cipherKey[], int keyBytes) +{ + int Nr, i; + + // expand the cipher key + Nr = aes_setkey_enc(rk, cipherKey, keyBytes); + // invert the order of the first round keys + rrk += Nr * 4; + rrk[0] = rk[0]; + rrk[1] = rk[1]; + rrk[2] = rk[2]; + rrk[3] = rk[3]; + + /* + * apply the inverse MixColumn transform to all round keys but the first + * and the last + */ + for (i = 1; i < Nr; i++) { + rrk -= 4; + rk += 4; + rrk[0] = + Td0[Te4[(rk[0] >> 24) ] & 0xff] ^ + Td1[Te4[(rk[0] >> 16) & 0xff] & 0xff] ^ + Td2[Te4[(rk[0] >> 8) & 0xff] & 0xff] ^ + Td3[Te4[(rk[0] ) & 0xff] & 0xff]; + rrk[1] = + Td0[Te4[(rk[1] >> 24) ] & 0xff] ^ + Td1[Te4[(rk[1] >> 16) & 0xff] & 0xff] ^ + Td2[Te4[(rk[1] >> 8) & 0xff] & 0xff] ^ + Td3[Te4[(rk[1] ) & 0xff] & 0xff]; + rrk[2] = + Td0[Te4[(rk[2] >> 24) ] & 0xff] ^ + Td1[Te4[(rk[2] >> 16) & 0xff] & 0xff] ^ + Td2[Te4[(rk[2] >> 8) & 0xff] & 0xff] ^ + Td3[Te4[(rk[2] ) & 0xff] & 0xff]; + rrk[3] = + Td0[Te4[(rk[3] >> 24) ] & 0xff] ^ + Td1[Te4[(rk[3] >> 16) & 0xff] & 0xff] ^ + Td2[Te4[(rk[3] >> 8) & 0xff] & 0xff] ^ + Td3[Te4[(rk[3] ) & 0xff] & 0xff]; + } + // invert the order of the last round keys + rrk -= 4; + rk += 4; + rrk[0] = rk[0]; + rrk[1] = rk[1]; + rrk[2] = rk[2]; + rrk[3] = rk[3]; + + return Nr; +} + +/* +* Encrypt the plain text into cipher +*/ +void AesEncBlk(AesCtx *pCtx, const unsigned char pt[], unsigned char ct[]) +{ + unsigned int s0, s1, s2, s3, t0, t1, t2, t3, *iv; + const unsigned int *rk; + int r; + + rk = pCtx->Ek; + iv = pCtx->Iv; + /* + * map byte array block to cipher state + * and add initial round key: + */ + s0 = GETU32(pt ) ^ rk[0]; + s1 = GETU32(pt + 4) ^ rk[1]; + s2 = GETU32(pt + 8) ^ rk[2]; + s3 = GETU32(pt + 12) ^ rk[3]; + if (pCtx->Mode) { + s0 = s0 ^ iv[0]; + s1 = s1 ^ iv[1]; + s2 = s2 ^ iv[2]; + s3 = s3 ^ iv[3]; + } + /* + * Nr - 1 full rounds: + */ + r = pCtx->Nr >> 1; + for (;;) { + t0 = + Te0[(s0 >> 24) ] ^ + Te1[(s1 >> 16) & 0xff] ^ + Te2[(s2 >> 8) & 0xff] ^ + Te3[(s3 ) & 0xff] ^ + rk[4]; + t1 = + Te0[(s1 >> 24) ] ^ + Te1[(s2 >> 16) & 0xff] ^ + Te2[(s3 >> 8) & 0xff] ^ + Te3[(s0 ) & 0xff] ^ + rk[5]; + t2 = + Te0[(s2 >> 24) ] ^ + Te1[(s3 >> 16) & 0xff] ^ + Te2[(s0 >> 8) & 0xff] ^ + Te3[(s1 ) & 0xff] ^ + rk[6]; + t3 = + Te0[(s3 >> 24) ] ^ + Te1[(s0 >> 16) & 0xff] ^ + Te2[(s1 >> 8) & 0xff] ^ + Te3[(s2 ) & 0xff] ^ + rk[7]; + + rk += 8; + if (--r == 0) { + break; + } + + s0 = + Te0[(t0 >> 24) ] ^ + Te1[(t1 >> 16) & 0xff] ^ + Te2[(t2 >> 8) & 0xff] ^ + Te3[(t3 ) & 0xff] ^ + rk[0]; + s1 = + Te0[(t1 >> 24) ] ^ + Te1[(t2 >> 16) & 0xff] ^ + Te2[(t3 >> 8) & 0xff] ^ + Te3[(t0 ) & 0xff] ^ + rk[1]; + s2 = + Te0[(t2 >> 24) ] ^ + Te1[(t3 >> 16) & 0xff] ^ + Te2[(t0 >> 8) & 0xff] ^ + Te3[(t1 ) & 0xff] ^ + rk[2]; + s3 = + Te0[(t3 >> 24) ] ^ + Te1[(t0 >> 16) & 0xff] ^ + Te2[(t1 >> 8) & 0xff] ^ + Te3[(t2 ) & 0xff] ^ + rk[3]; + } + /* + * apply last round and + * map cipher state to byte array block: + */ + s0 = + (Te4[(t0 >> 24) ] & 0xff000000) ^ + (Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(t3 ) & 0xff] & 0x000000ff) ^ + rk[0]; + PUTU32(ct , s0); + s1 = + (Te4[(t1 >> 24) ] & 0xff000000) ^ + (Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(t0 ) & 0xff] & 0x000000ff) ^ + rk[1]; + PUTU32(ct + 4, s1); + s2 = + (Te4[(t2 >> 24) ] & 0xff000000) ^ + (Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(t1 ) & 0xff] & 0x000000ff) ^ + rk[2]; + PUTU32(ct + 8, s2); + s3 = + (Te4[(t3 >> 24) ] & 0xff000000) ^ + (Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ + (Te4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ + (Te4[(t2 ) & 0xff] & 0x000000ff) ^ + rk[3]; + PUTU32(ct + 12, s3); + + if (pCtx->Mode) { + iv[0] = s0; + iv[1] = s1; + iv[2] = s2; + iv[3] = s3; + } +} + +/* +* Decrypt the cipher into plain text +*/ +void AesDecBlk(AesCtx *pCtx, const unsigned char ct[], unsigned char pt[]) +{ + unsigned int s0, s1, s2, s3, t0, t1, t2, t3, v0, v1, v2, v3, *iv; + const unsigned int *rk; + int r; + + rk = pCtx->Dk; + iv = pCtx->Iv; + /* + * map byte array block to cipher state + * and add initial round key: + */ + v0 = GETU32(ct ); s0 = v0 ^ rk[0]; + v1 = GETU32(ct + 4); s1 = v1 ^ rk[1]; + v2 = GETU32(ct + 8); s2 = v2 ^ rk[2]; + v3 = GETU32(ct + 12); s3 = v3 ^ rk[3]; + /* + * Nr - 1 full rounds: + */ + r = pCtx->Nr >> 1; + for (;;) { + t0 = + Td0[(s0 >> 24) ] ^ + Td1[(s3 >> 16) & 0xff] ^ + Td2[(s2 >> 8) & 0xff] ^ + Td3[(s1 ) & 0xff] ^ + rk[4]; + t1 = + Td0[(s1 >> 24) ] ^ + Td1[(s0 >> 16) & 0xff] ^ + Td2[(s3 >> 8) & 0xff] ^ + Td3[(s2 ) & 0xff] ^ + rk[5]; + t2 = + Td0[(s2 >> 24) ] ^ + Td1[(s1 >> 16) & 0xff] ^ + Td2[(s0 >> 8) & 0xff] ^ + Td3[(s3 ) & 0xff] ^ + rk[6]; + t3 = + Td0[(s3 >> 24) ] ^ + Td1[(s2 >> 16) & 0xff] ^ + Td2[(s1 >> 8) & 0xff] ^ + Td3[(s0 ) & 0xff] ^ + rk[7]; + + rk += 8; + if (--r == 0) { + break; + } + + s0 = + Td0[(t0 >> 24) ] ^ + Td1[(t3 >> 16) & 0xff] ^ + Td2[(t2 >> 8) & 0xff] ^ + Td3[(t1 ) & 0xff] ^ + rk[0]; + s1 = + Td0[(t1 >> 24) ] ^ + Td1[(t0 >> 16) & 0xff] ^ + Td2[(t3 >> 8) & 0xff] ^ + Td3[(t2 ) & 0xff] ^ + rk[1]; + s2 = + Td0[(t2 >> 24) ] ^ + Td1[(t1 >> 16) & 0xff] ^ + Td2[(t0 >> 8) & 0xff] ^ + Td3[(t3 ) & 0xff] ^ + rk[2]; + s3 = + Td0[(t3 >> 24) ] ^ + Td1[(t2 >> 16) & 0xff] ^ + Td2[(t1 >> 8) & 0xff] ^ + Td3[(t0 ) & 0xff] ^ + rk[3]; + } + /* + * apply last round and + * map cipher state to byte array block: + */ + s0 = + (Td4[(t0 >> 24) ] & 0xff000000) ^ + (Td4[(t3 >> 16) & 0xff] & 0x00ff0000) ^ + (Td4[(t2 >> 8) & 0xff] & 0x0000ff00) ^ + (Td4[(t1 ) & 0xff] & 0x000000ff) ^ + rk[0]; + s1 = + (Td4[(t1 >> 24) ] & 0xff000000) ^ + (Td4[(t0 >> 16) & 0xff] & 0x00ff0000) ^ + (Td4[(t3 >> 8) & 0xff] & 0x0000ff00) ^ + (Td4[(t2 ) & 0xff] & 0x000000ff) ^ + rk[1]; + s2 = + (Td4[(t2 >> 24) ] & 0xff000000) ^ + (Td4[(t1 >> 16) & 0xff] & 0x00ff0000) ^ + (Td4[(t0 >> 8) & 0xff] & 0x0000ff00) ^ + (Td4[(t3 ) & 0xff] & 0x000000ff) ^ + rk[2]; + s3 = + (Td4[(t3 >> 24) ] & 0xff000000) ^ + (Td4[(t2 >> 16) & 0xff] & 0x00ff0000) ^ + (Td4[(t1 >> 8) & 0xff] & 0x0000ff00) ^ + (Td4[(t0 ) & 0xff] & 0x000000ff) ^ + rk[3]; + + if (pCtx->Mode) { + s0 = s0 ^ iv[0]; iv[0] = v0; + s1 = s1 ^ iv[1]; iv[1] = v1; + s2 = s2 ^ iv[2]; iv[2] = v2; + s3 = s3 ^ iv[3]; iv[3] = v3; + } + + PUTU32(pt , s0); + PUTU32(pt + 4, s1); + PUTU32(pt + 8, s2); + PUTU32(pt + 12, s3); +} + +////////////////////////////////////////////////////////////////////////////// +// API functions // +////////////////////////////////////////////////////////////////////////////// + +/* +* initialize AES context +*/ +int AesCtxIni(AesCtx *pCtx, unsigned char *pIV, unsigned char *pKey, unsigned int KeyLen, unsigned char Mode) +{ + if (pKey == 0 || pCtx == 0 || (KeyLen != KEY128 && KeyLen != KEY192 && KeyLen != KEY256)) + return -1; + + // generate key schedule + pCtx->Nr = AesGenKeySched(pCtx->Ek, pCtx->Dk, pKey, KeyLen); + + // initialize IV + if (pIV != 0) { + pCtx->Iv[0] = GETU32(pIV ); + pCtx->Iv[1] = GETU32(pIV + 4 ); + pCtx->Iv[2] = GETU32(pIV + 8 ); + pCtx->Iv[3] = GETU32(pIV + 12); + } + + // mode + pCtx->Mode = Mode; + + return 0; +} + +/* +* Encrypt plain text +*/ +int AesEncrypt(AesCtx *pCtx, unsigned char *pData, unsigned char *pCipher, unsigned int DataLen) +{ + int i; + + if (pData == 0 || pCipher == 0 || pCtx == 0 || (DataLen & 0xf) != 0) + return -1; + + for (i = 0; i < DataLen; i += BLOCKSZ) { + // encrypt block by block + AesEncBlk(pCtx, pData, pCipher); + pCipher += BLOCKSZ; + pData += BLOCKSZ; + } + return DataLen; +} + +/* +* Decrypt cipher +*/ +int AesDecrypt(AesCtx *pCtx, unsigned char *pCipher, unsigned char *pData, unsigned int CipherLen) +{ + int i; + + if (pData == 0 || pCipher == 0 || pCtx == 0 || (CipherLen & 0xf) != 0) + return -1; + + for (i = 0; i < CipherLen; i += BLOCKSZ) { + // decrypt block by block + AesDecBlk(pCtx, pCipher, pData); + pCipher += BLOCKSZ; + pData += BLOCKSZ; + } + return CipherLen; +} + +////////////////////////////////////////////////////////////////////////////// +// Sample main program // +////////////////////////////////////////////////////////////////////////////// + +#ifndef EMBEDDED +int main() +{ + AesCtx ctx; + unsigned char iv[] = "INI VECTINI VECT"; + unsigned char key[] = "This is a sample AESKey"; + unsigned char databuf[] = "Data : AES Test"; // must be in multiple of 16 + + // initialize context and encrypt data at one end + + if( AesCtxIni(&ctx, iv, key, KEY128, CBC) < 0) + printf("init error\n"); + + if (AesEncrypt(&ctx, databuf, databuf, sizeof databuf) < 0) + printf("error in encryption\n"); + + // initialize context and decrypt cipher at other end + + if( AesCtxIni(&ctx, iv, key, KEY128, CBC) < 0) + printf("init error\n"); + + if (AesDecrypt(&ctx, databuf, databuf, sizeof databuf) < 0) + printf("error in decryption\n"); + + printf("%s\n", databuf); + + return 0; +} +#endif \ No newline at end of file diff --git a/armsrc/aes.h b/armsrc/aes.h new file mode 100644 index 000000000..859448735 --- /dev/null +++ b/armsrc/aes.h @@ -0,0 +1,30 @@ +/* +* AES Cryptographic Algorithm Header File. Include this header file in +* your source which uses these given APIs. (This source is kept under +* public domain) +*/ + +// AES context structure +typedef struct { + unsigned int Ek[60]; + unsigned int Dk[60]; + unsigned int Iv[4]; + unsigned char Nr; + unsigned char Mode; +} AesCtx; + +// key length in bytes +#define KEY128 16 +#define KEY192 24 +#define KEY256 32 +// block size in bytes +#define BLOCKSZ 16 +// mode +#define EBC 0 +#define CBC 1 + +// AES API function prototype + +int AesCtxIni(AesCtx *pCtx, unsigned char *pIV, unsigned char *pKey, unsigned int KeyLen, unsigned char Mode); +int AesEncrypt(AesCtx *pCtx, unsigned char *pData, unsigned char *pCipher, unsigned int DataLen); +int AesDecrypt(AesCtx *pCtx, unsigned char *pCipher, unsigned char *pData, unsigned int CipherLen); \ No newline at end of file diff --git a/armsrc/appmain.c b/armsrc/appmain.c index ca16ee60f..13995f591 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -798,8 +798,17 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_MIFAREU_READBL: MifareUReadBlock(c->arg[0],c->d.asBytes); break; + case CMD_MIFAREUC_AUTH1: + MifareUC_Auth1(c->arg[0],c->d.asBytes); + break; + case CMD_MIFAREUC_AUTH2: + MifareUC_Auth2(c->arg[0],c->d.asBytes); + break; case CMD_MIFAREU_READCARD: - MifareUReadCard(c->arg[0],c->d.asBytes); + MifareUReadCard(c->arg[0],c->arg[1],c->d.asBytes); + break; + case CMD_MIFAREUC_READCARD: + MifareUReadCard(c->arg[0],c->arg[1],c->d.asBytes); break; case CMD_MIFARE_READSC: MifareReadSector(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); @@ -855,6 +864,7 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_MIFARE_SNIFFER: SniffMifare(c->arg[0]); break; + #endif #ifdef WITH_ICLASS diff --git a/armsrc/apps.h b/armsrc/apps.h index eafee559a..cc462dc1e 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -18,6 +18,8 @@ #include "hitag2.h" #include "mifare.h" +#include "../common/crc32.h" + // The large multi-purpose buffer, typically used to hold A/D samples, // maybe processed in some way. #define BIGBUF_SIZE 40000 @@ -177,7 +179,9 @@ void ReaderMifare(bool first_try); int32_t dist_nt(uint32_t nt1, uint32_t nt2); void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *data); void MifareUReadBlock(uint8_t arg0,uint8_t *datain); -void MifareUReadCard(uint8_t arg0,uint8_t *datain); +void MifareUC_Auth1(uint8_t arg0, uint8_t *datain); +void MifareUC_Auth2(uint32_t arg0, uint8_t *datain); +void MifareUReadCard(uint8_t arg0, int Pages, uint8_t *datain); void MifareReadSector(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain); void MifareWriteBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain); void MifareUWriteBlock(uint8_t arg0,uint8_t *datain); @@ -194,6 +198,25 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain); void MifareCIdent(); // is "magic chinese" card? +//desfire +void Mifare_DES_Auth1(uint8_t arg0,uint8_t *datain); +void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain); + +// mifaredesfire.h +bool InitDesfireCard(); +void MifareSendCommand(uint8_t arg0,uint8_t arg1, uint8_t *datain); +void MifareDesfireGetInformation(); +void MifareDES_Auth1(uint8_t arg0,uint8_t arg1,uint8_t arg2, uint8_t *datain); +void ReaderMifareDES(uint32_t param, uint32_t param2, uint8_t * datain); +int DesfireAPDU(uint8_t *cmd, size_t cmd_len, uint8_t *dataout); +size_t CreateAPDU( uint8_t *datain, size_t len, uint8_t *dataout); +void OnSuccess(); +void OnError(uint8_t reason); + + + + + /// iso15693.h void RecordRawAdcSamplesIso15693(void); void AcquireRawAdcSamplesIso15693(void); diff --git a/armsrc/des.c b/armsrc/des.c new file mode 100644 index 000000000..0a27503e0 --- /dev/null +++ b/armsrc/des.c @@ -0,0 +1,383 @@ +/* des.c */ +/* + This file is part of the ARM-Crypto-Lib. + Copyright (C) 2006-2010 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +/** + * \file des.c + * \author Daniel Otte + * \email daniel.otte@rub.de + * \date 2007-06-16 + * \brief DES and EDE-DES implementation + * \license GPLv3 or later + * + */ +#include +#include + +const uint8_t sbox[256] = { + /* S-box 1 */ + 0xE4, 0xD1, 0x2F, 0xB8, 0x3A, 0x6C, 0x59, 0x07, + 0x0F, 0x74, 0xE2, 0xD1, 0xA6, 0xCB, 0x95, 0x38, + 0x41, 0xE8, 0xD6, 0x2B, 0xFC, 0x97, 0x3A, 0x50, + 0xFC, 0x82, 0x49, 0x17, 0x5B, 0x3E, 0xA0, 0x6D, + /* S-box 2 */ + 0xF1, 0x8E, 0x6B, 0x34, 0x97, 0x2D, 0xC0, 0x5A, + 0x3D, 0x47, 0xF2, 0x8E, 0xC0, 0x1A, 0x69, 0xB5, + 0x0E, 0x7B, 0xA4, 0xD1, 0x58, 0xC6, 0x93, 0x2F, + 0xD8, 0xA1, 0x3F, 0x42, 0xB6, 0x7C, 0x05, 0xE9, + /* S-box 3 */ + 0xA0, 0x9E, 0x63, 0xF5, 0x1D, 0xC7, 0xB4, 0x28, + 0xD7, 0x09, 0x34, 0x6A, 0x28, 0x5E, 0xCB, 0xF1, + 0xD6, 0x49, 0x8F, 0x30, 0xB1, 0x2C, 0x5A, 0xE7, + 0x1A, 0xD0, 0x69, 0x87, 0x4F, 0xE3, 0xB5, 0x2C, + /* S-box 4 */ + 0x7D, 0xE3, 0x06, 0x9A, 0x12, 0x85, 0xBC, 0x4F, + 0xD8, 0xB5, 0x6F, 0x03, 0x47, 0x2C, 0x1A, 0xE9, + 0xA6, 0x90, 0xCB, 0x7D, 0xF1, 0x3E, 0x52, 0x84, + 0x3F, 0x06, 0xA1, 0xD8, 0x94, 0x5B, 0xC7, 0x2E, + /* S-box 5 */ + 0x2C, 0x41, 0x7A, 0xB6, 0x85, 0x3F, 0xD0, 0xE9, + 0xEB, 0x2C, 0x47, 0xD1, 0x50, 0xFA, 0x39, 0x86, + 0x42, 0x1B, 0xAD, 0x78, 0xF9, 0xC5, 0x63, 0x0E, + 0xB8, 0xC7, 0x1E, 0x2D, 0x6F, 0x09, 0xA4, 0x53, + /* S-box 6 */ + 0xC1, 0xAF, 0x92, 0x68, 0x0D, 0x34, 0xE7, 0x5B, + 0xAF, 0x42, 0x7C, 0x95, 0x61, 0xDE, 0x0B, 0x38, + 0x9E, 0xF5, 0x28, 0xC3, 0x70, 0x4A, 0x1D, 0xB6, + 0x43, 0x2C, 0x95, 0xFA, 0xBE, 0x17, 0x60, 0x8D, + /* S-box 7 */ + 0x4B, 0x2E, 0xF0, 0x8D, 0x3C, 0x97, 0x5A, 0x61, + 0xD0, 0xB7, 0x49, 0x1A, 0xE3, 0x5C, 0x2F, 0x86, + 0x14, 0xBD, 0xC3, 0x7E, 0xAF, 0x68, 0x05, 0x92, + 0x6B, 0xD8, 0x14, 0xA7, 0x95, 0x0F, 0xE2, 0x3C, + /* S-box 8 */ + 0xD2, 0x84, 0x6F, 0xB1, 0xA9, 0x3E, 0x50, 0xC7, + 0x1F, 0xD8, 0xA3, 0x74, 0xC5, 0x6B, 0x0E, 0x92, + 0x7B, 0x41, 0x9C, 0xE2, 0x06, 0xAD, 0xF3, 0x58, + 0x21, 0xE7, 0x4A, 0x8D, 0xFC, 0x90, 0x35, 0x6B +}; + +const uint8_t e_permtab[] ={ + 4, 6, /* 4 bytes in 6 bytes out*/ + 32, 1, 2, 3, 4, 5, + 4, 5, 6, 7, 8, 9, + 8, 9, 10, 11, 12, 13, + 12, 13, 14, 15, 16, 17, + 16, 17, 18, 19, 20, 21, + 20, 21, 22, 23, 24, 25, + 24, 25, 26, 27, 28, 29, + 28, 29, 30, 31, 32, 1 +}; + +const uint8_t p_permtab[] ={ + 4, 4, /* 32 bit -> 32 bit */ + 16, 7, 20, 21, + 29, 12, 28, 17, + 1, 15, 23, 26, + 5, 18, 31, 10, + 2, 8, 24, 14, + 32, 27, 3, 9, + 19, 13, 30, 6, + 22, 11, 4, 25 +}; + +const uint8_t ip_permtab[] ={ + 8, 8, /* 64 bit -> 64 bit */ + 58, 50, 42, 34, 26, 18, 10, 2, + 60, 52, 44, 36, 28, 20, 12, 4, + 62, 54, 46, 38, 30, 22, 14, 6, + 64, 56, 48, 40, 32, 24, 16, 8, + 57, 49, 41, 33, 25, 17, 9, 1, + 59, 51, 43, 35, 27, 19, 11, 3, + 61, 53, 45, 37, 29, 21, 13, 5, + 63, 55, 47, 39, 31, 23, 15, 7 +}; + +const uint8_t inv_ip_permtab[] ={ + 8, 8, /* 64 bit -> 64 bit */ + 40, 8, 48, 16, 56, 24, 64, 32, + 39, 7, 47, 15, 55, 23, 63, 31, + 38, 6, 46, 14, 54, 22, 62, 30, + 37, 5, 45, 13, 53, 21, 61, 29, + 36, 4, 44, 12, 52, 20, 60, 28, + 35, 3, 43, 11, 51, 19, 59, 27, + 34, 2, 42, 10, 50, 18, 58, 26, + 33, 1, 41, 9, 49, 17, 57, 25 +}; + +const uint8_t pc1_permtab[] ={ + 8, 7, /* 64 bit -> 56 bit*/ + 57, 49, 41, 33, 25, 17, 9, + 1, 58, 50, 42, 34, 26, 18, + 10, 2, 59, 51, 43, 35, 27, + 19, 11, 3, 60, 52, 44, 36, + 63, 55, 47, 39, 31, 23, 15, + 7, 62, 54, 46, 38, 30, 22, + 14, 6, 61, 53, 45, 37, 29, + 21, 13, 5, 28, 20, 12, 4 +}; + +const uint8_t pc2_permtab[] ={ + 7, 6, /* 56 bit -> 48 bit */ + 14, 17, 11, 24, 1, 5, + 3, 28, 15, 6, 21, 10, + 23, 19, 12, 4, 26, 8, + 16, 7, 27, 20, 13, 2, + 41, 52, 31, 37, 47, 55, + 30, 40, 51, 45, 33, 48, + 44, 49, 39, 56, 34, 53, + 46, 42, 50, 36, 29, 32 +}; + +const uint8_t splitin6bitword_permtab[] = { + 8, 8, /* 64 bit -> 64 bit */ + 64, 64, 1, 6, 2, 3, 4, 5, + 64, 64, 7, 12, 8, 9, 10, 11, + 64, 64, 13, 18, 14, 15, 16, 17, + 64, 64, 19, 24, 20, 21, 22, 23, + 64, 64, 25, 30, 26, 27, 28, 29, + 64, 64, 31, 36, 32, 33, 34, 35, + 64, 64, 37, 42, 38, 39, 40, 41, + 64, 64, 43, 48, 44, 45, 46, 47 +}; + +const uint8_t shiftkey_permtab[] = { + 7, 7, /* 56 bit -> 56 bit */ + 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 1, + 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 29 +}; + +const uint8_t shiftkeyinv_permtab[] = { + 7, 7, + 28, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, + 56, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55 +}; + +/* +1 0 +1 0 +2 1 +2 1 +2 1 +2 1 +2 1 +2 1 +---- +1 0 +2 1 +2 1 +2 1 +2 1 +2 1 +2 1 +1 0 +*/ +#define ROTTABLE 0x7EFC +#define ROTTABLE_INV 0x3F7E +/******************************************************************************/ + +void permute(const uint8_t *ptable, const uint8_t *in, uint8_t *out){ + uint8_t ob; /* in-bytes and out-bytes */ + uint8_t byte, bit; /* counter for bit and byte */ + ob = ptable[1]; + ptable = &(ptable[2]); + for(byte=0; byte>(x%8)) ){ + t|=0x01; + } + } + out[byte]=t; + } +} + +/******************************************************************************/ + +void changeendian32(uint32_t * a){ + *a = (*a & 0x000000FF) << 24 | + (*a & 0x0000FF00) << 8 | + (*a & 0x00FF0000) >> 8 | + (*a & 0xFF000000) >> 24; +} + +/******************************************************************************/ +static inline +void shiftkey(uint8_t *key){ + uint8_t k[7]; + memcpy(k, key, 7); + permute((uint8_t*)shiftkey_permtab, k, key); +} + +/******************************************************************************/ +static inline +void shiftkey_inv(uint8_t *key){ + uint8_t k[7]; + memcpy(k, key, 7); + permute((uint8_t*)shiftkeyinv_permtab, k, key); + +} + +/******************************************************************************/ +static inline +uint64_t splitin6bitwords(uint64_t a){ + uint64_t ret=0; + a &= 0x0000ffffffffffffLL; + permute((uint8_t*)splitin6bitword_permtab, (uint8_t*)&a, (uint8_t*)&ret); + return ret; +} + +/******************************************************************************/ + +static inline +uint8_t substitute(uint8_t a, uint8_t * sbp){ + uint8_t x; + x = sbp[a>>1]; + x = (a&1)?x&0x0F:x>>4; + return x; + +} + +/******************************************************************************/ + +uint32_t des_f(uint32_t r, uint8_t* kr){ + uint8_t i; + uint32_t t=0,ret; + uint64_t data; + uint8_t *sbp; /* sboxpointer */ + permute((uint8_t*)e_permtab, (uint8_t*)&r, (uint8_t*)&data); + for(i=0; i<7; ++i) + ((uint8_t*)&data)[i] ^= kr[i]; + + /* Sbox substitution */ + data = splitin6bitwords(data); + sbp=(uint8_t*)sbox; + for(i=0; i<8; ++i){ + uint8_t x; + x = substitute(((uint8_t*)&data)[i], sbp); + t<<=4; + t |= x; + sbp += 32; + } + changeendian32(&t); + + permute((uint8_t*)p_permtab,(uint8_t*)&t, (uint8_t*)&ret); + + return ret; +} + +/******************************************************************************/ + +void des_enc(void* out, const void* in, const void* key){ +#define R *((uint32_t*)&(data[4])) +#define L *((uint32_t*)&(data[0])) + + uint8_t data[8],kr[6],k[7]; + uint8_t i; + + permute((uint8_t*)ip_permtab, (uint8_t*)in, data); + permute((uint8_t*)pc1_permtab, (const uint8_t*)key, k); + for(i=0; i<8; ++i){ + shiftkey(k); + if(ROTTABLE&((1<<((i<<1)+0))) ) + shiftkey(k); + permute((uint8_t*)pc2_permtab, k, kr); + L ^= des_f(R, kr); + + shiftkey(k); + if(ROTTABLE&((1<<((i<<1)+1))) ) + shiftkey(k); + permute((uint8_t*)pc2_permtab, k, kr); + R ^= des_f(L, kr); + + } + /* L <-> R*/ + R ^= L; + L ^= R; + R ^= L; + + permute((uint8_t*)inv_ip_permtab, data, (uint8_t*)out); +} + +/******************************************************************************/ + +void des_dec(void* out, const void* in, const uint8_t* key){ +#define R *((uint32_t*)&(data[4])) +#define L *((uint32_t*)&(data[0])) + + uint8_t data[8],kr[6],k[7]; + int8_t i; + permute((uint8_t*)ip_permtab, (uint8_t*)in, data); + permute((uint8_t*)pc1_permtab, (const uint8_t*)key, k); + for(i=7; i>=0; --i){ + + permute((uint8_t*)pc2_permtab, k, kr); + L ^= des_f(R, kr); + shiftkey_inv(k); + if(ROTTABLE&((1<<((i<<1)+1))) ){ + shiftkey_inv(k); + } + + permute((uint8_t*)pc2_permtab, k, kr); + R ^= des_f(L, kr); + shiftkey_inv(k); + if(ROTTABLE&((1<<((i<<1)+0))) ){ + shiftkey_inv(k); + } + + } + /* L <-> R*/ + R ^= L; + L ^= R; + R ^= L; + + permute((uint8_t*)inv_ip_permtab, data, (uint8_t*)out); +} + +/******************************************************************************/ + +void tdes_enc(void* out, void* in, const void* key){ + des_enc(out, in, (uint8_t*)key + 0); + des_dec(out, out, (uint8_t*)key + 8); + des_enc(out, out, (uint8_t*)key +16); +} + +/******************************************************************************/ + +void tdes_dec(void* out, void* in, const uint8_t* key){ + des_dec(out, in, (uint8_t*)key +16); + des_enc(out, out, (uint8_t*)key + 8); + des_dec(out, out, (uint8_t*)key + 0); +} + +/******************************************************************************/ + + diff --git a/armsrc/des.h b/armsrc/des.h new file mode 100644 index 000000000..652886fd7 --- /dev/null +++ b/armsrc/des.h @@ -0,0 +1,107 @@ +/* des.h */ +/* + This file is part of the ARM-Crypto-Lib. + Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +/** + * \file des.h + * \author Daniel Otte + * \date 2007-06-16 + * \brief des and tdes declarations + * \license GPLv3 or later + * + */ +#ifndef DES_H_ +#define DES_H_ + +/* the FIPS 46-3 (1999-10-25) name for triple DES is triple data encryption algorithm so TDEA. + * Also we only implement the three key mode */ + +/** \def tdea_enc + * \brief defining an alias for void tdes_enc(void* out, const void* in, const void* key) + */ + +/** \def tdea_dec + * \brief defining an alias for void tdes_dec(void* out, const void* in, const void* key) + */ + +#define tdea_enc tdes_enc +#define tdea_dec tdes_dec + +/** \fn void des_enc(void* out, const void* in, const void* key) + * \brief encrypt a block with DES + * + * This function encrypts a block of 64 bits (8 bytes) with the DES algorithm. + * Key expansion is done automatically. The key is 64 bits long, but note that + * only 56 bits are used (the LSB of each byte is dropped). The input and output + * blocks may overlap. + * + * \param out pointer to the block (64 bit = 8 byte) where the ciphertext is written to + * \param in pointer to the block (64 bit = 8 byte) where the plaintext is read from + * \param key pointer to the key (64 bit = 8 byte) + */ +void des_enc(void* out, const void* in, const void* key); + +/** \fn void des_dec(void* out, const void* in, const void* key) + * \brief decrypt a block with DES + * + * This function decrypts a block of 64 bits (8 bytes) with the DES algorithm. + * Key expansion is done automatically. The key is 64 bits long, but note that + * only 56 bits are used (the LSB of each byte is dropped). The input and output + * blocks may overlap. + * + * \param out pointer to the block (64 bit = 8 byte) where the plaintext is written to + * \param in pointer to the block (64 bit = 8 byte) where the ciphertext is read from + * \param key pointer to the key (64 bit = 8 byte) + */ +void des_dec(void* out, const void* in, const void* key); + +/** \fn void tdes_enc(void* out, const void* in, const void* key) + * \brief encrypt a block with Tripple-DES + * + * This function encrypts a block of 64 bits (8 bytes) with the Tripple-DES (EDE) + * algorithm. Key expansion is done automatically. The key is 192 bits long, but + * note that only 178 bits are used (the LSB of each byte is dropped). The input + * and output blocks may overlap. + * + * \param out pointer to the block (64 bit = 8 byte) where the ciphertext is written to + * \param in pointer to the block (64 bit = 8 byte) where the plaintext is read from + * \param key pointer to the key (192 bit = 24 byte) + */ +void tdes_enc(void* out, const void* in, const void* key); + +/** \fn void tdes_dec(void* out, const void* in, const void* key) + * \brief decrypt a block with Tripple-DES + * + * This function decrypts a block of 64 bits (8 bytes) with the Tripple-DES (EDE) + * algorithm. Key expansion is done automatically. The key is 192 bits long, but + * note that only 178 bits are used (the LSB of each byte is dropped). The input + * and output blocks may overlap. + * + * \param out pointer to the block (64 bit = 8 byte) where the plaintext is written to + * \param in pointer to the block (64 bit = 8 byte) where the ciphertext is read from + * \param key pointer to the key (192 bit = 24 byte) + */ + void tdes_dec(void* out, const void* in, const void* key); + +#endif /*DES_H_*/ + +// Copied from des.h in desfire imp. +typedef unsigned long DES_KS[16][2]; /* Single-key DES key schedule */ +typedef unsigned long DES3_KS[48][2]; /* Triple-DES key schedule */ + + +extern int Asmversion; /* 1 if we're linked with an asm version, 0 if C */ diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index 2619a9763..470af6a7a 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -17,6 +17,8 @@ #include "apps.h" #include "util.h" +#include "crc.h" + //----------------------------------------------------------------------------- // Select, Authenticate, Read a MIFARE tag. // read block @@ -80,7 +82,71 @@ void MifareReadBlock(uint8_t arg0, uint8_t arg1, uint8_t arg2, uint8_t *datain) cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,16); LED_B_OFF(); - // Thats it... + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LEDsoff(); +} + + +void MifareUC_Auth1(uint8_t arg0, uint8_t *datain){ + + byte_t isOK = 0; + byte_t dataoutbuf[16] = {0x00}; + uint8_t uid[10] = {0x00}; + uint32_t cuid; + + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); + + iso14a_clear_trace(); + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); + + if(!iso14443a_select_card(uid, NULL, &cuid)) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Can't select card"); + OnError(0); + return; + }; + + if(mifare_ultra_auth1(cuid, dataoutbuf)){ + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Authentication part1: Fail."); + OnError(1); + return; + } + + isOK = 1; + if (MF_DBGLEVEL >= MF_DBG_EXTENDED) + DbpString("AUTH 1 FINISHED"); + + cmd_send(CMD_ACK,isOK,cuid,0,dataoutbuf,11); + LEDsoff(); +} +void MifareUC_Auth2(uint32_t arg0, uint8_t *datain){ + + uint32_t cuid = arg0; + uint8_t key[16] = {0x00}; + byte_t isOK = 0; + byte_t dataoutbuf[16] = {0x00}; + + memcpy(key, datain, 16); + + LED_A_ON(); + LED_B_OFF(); + LED_C_OFF(); + + if(mifare_ultra_auth2(cuid, key, dataoutbuf)){ + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Authentication part2: Fail..."); + OnError(1); + return; + } + + isOK = 1; + if (MF_DBGLEVEL >= MF_DBG_EXTENDED) + DbpString("AUTH 2 FINISHED"); + + cmd_send(CMD_ACK,isOK,0,0,dataoutbuf,11); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); } @@ -1061,3 +1127,58 @@ void MifareCIdent(){ // // DESFIRE // + +void Mifare_DES_Auth1(uint8_t arg0, uint8_t *datain){ + + byte_t dataout[11] = {0x00}; + uint8_t uid[10] = {0x00}; + uint32_t cuid; + + iso14a_clear_trace(); + iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN); + + int len = iso14443a_select_card(uid, NULL, &cuid); + if(!len) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Can't select card"); + OnError(1); + return; + }; + + if(mifare_desfire_des_auth1(cuid, dataout)){ + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Authentication part1: Fail."); + OnError(4); + return; + } + + if (MF_DBGLEVEL >= MF_DBG_EXTENDED) DbpString("AUTH 1 FINISHED"); + + cmd_send(CMD_ACK,1,cuid,0,dataout, sizeof(dataout)); +} + +void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain){ + + uint32_t cuid = arg0; + uint8_t key[16] = {0x00}; + byte_t isOK = 0; + byte_t dataout[12] = {0x00}; + + memcpy(key, datain, 16); + + isOK = mifare_desfire_des_auth2(cuid, key, dataout); + + if( isOK) { + if (MF_DBGLEVEL >= MF_DBG_EXTENDED) + Dbprintf("Authentication part2: Failed"); + OnError(4); + return; + } + + if (MF_DBGLEVEL >= MF_DBG_EXTENDED) + DbpString("AUTH 2 FINISHED"); + + cmd_send(CMD_ACK, isOK, 0, 0, dataout, sizeof(dataout)); + FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); + LEDsoff(); +} \ No newline at end of file diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index 976f6dca7..2b3a5fcf2 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -93,10 +93,30 @@ int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint AppendCrc14443a(dcmd, 6); ReaderTransmit(dcmd, sizeof(dcmd), NULL); int len = ReaderReceive(answer, answer_parity); - if(!len) - { + if(!len) { if (MF_DBGLEVEL >= 1) Dbprintf("Authentication failed. Card timeout."); return 2; + } + return len; +} + +int mifare_sendcmd_short_mfucauth(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t *data, uint8_t *answer, uint8_t *answer_parity, uint32_t *timing) +{ + uint8_t dcmd[19]; + int len; + dcmd[0] = cmd; + memcpy(dcmd+1,data,16); + AppendCrc14443a(dcmd, 17); + + ReaderTransmit(dcmd, sizeof(dcmd), timing); + len = ReaderReceive(answer, answer_parity); + if(!len) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("Authentication failed. Card timeout."); + len = ReaderReceive(answer,answer_parity); + } + if(len==1) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) Dbprintf("NAK - Authentication failed."); + return 1; } return len; } @@ -278,6 +298,57 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo return 0; } +// mifare ultralight commands +int mifare_ultra_auth1(uint32_t uid, uint8_t *blockData){ + + uint16_t len; + uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + + len = mifare_sendcmd_short(NULL, 1, 0x1A, 0x00, receivedAnswer,receivedAnswerPar ,NULL); + if (len == 1) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Cmd Error: %02x", receivedAnswer[0]); + return 1; + } + if (len != 11) + return 1; + + if (MF_DBGLEVEL >= MF_DBG_EXTENDED) { + Dbprintf("Auth1 Resp: %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + receivedAnswer[0],receivedAnswer[1],receivedAnswer[2],receivedAnswer[3],receivedAnswer[4], + receivedAnswer[5],receivedAnswer[6],receivedAnswer[7],receivedAnswer[8],receivedAnswer[9], + receivedAnswer[10]); + } + memcpy(blockData, receivedAnswer, 11); + return 0; +} + +int mifare_ultra_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){ + + uint16_t len; + uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + + len = mifare_sendcmd_short_mfucauth(NULL, 1, 0xAF, key, receivedAnswer, receivedAnswerPar, NULL); + if (len == 1) { + if (MF_DBGLEVEL >= MF_DBG_ERROR) + Dbprintf("Cmd Error: %02x", receivedAnswer[0]); + return 1; + } + if (len != 11) + return 1; + + if (MF_DBGLEVEL >= MF_DBG_EXTENDED) { + Dbprintf("Auth2 Resp: %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + receivedAnswer[0],receivedAnswer[1],receivedAnswer[2],receivedAnswer[3],receivedAnswer[4], + receivedAnswer[5],receivedAnswer[6],receivedAnswer[7],receivedAnswer[8],receivedAnswer[9], + receivedAnswer[10]); + } + memcpy(blockData, receivedAnswer, 11); + return 0; +} + int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) { uint16_t len; diff --git a/armsrc/mifareutil.h b/armsrc/mifareutil.h index c8f3dadfd..a62a9f0b8 100644 --- a/armsrc/mifareutil.h +++ b/armsrc/mifareutil.h @@ -56,17 +56,22 @@ extern int MF_DBGLEVEL; uint8_t* mifare_get_bigbufptr(void); int mifare_sendcmd_short(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t *data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); + +int mifare_sendcmd_short_mfucauth(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t *data, uint8_t *answer, uint8_t *answer_parity, uint32_t *timing); int mifare_sendcmd_shortex(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); int mifare_classic_auth(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint8_t isNested); int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t keyType, uint64_t ui64Key, uint8_t isNested, uint32_t * ntptr, uint32_t *timing); int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t *blockData); +int mifare_ultra_auth1(uint32_t cuid, uint8_t *blockData); +int mifare_ultra_auth2(uint32_t cuid, uint8_t *key, uint8_t *blockData); int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData); int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blockNo, uint8_t *blockData); int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData); int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData); int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid); int mifare_ultra_halt(uint32_t uid); + // crypto functions void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *receivedCmd, int len); diff --git a/armsrc/util.h b/armsrc/util.h index d7eacd705..bf5d0cc81 100644 --- a/armsrc/util.h +++ b/armsrc/util.h @@ -13,7 +13,7 @@ #include #include -#include +#include "common.h" #define BYTEx(x, n) (((x) >> (n * 8)) & 0xff ) From 84871873a41a6eb80dd836efdbf4722ffcea089a Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 13 Jan 2015 17:21:36 -0500 Subject: [PATCH 092/133] Small lf bug fixes and threshold adjustments adjusted lf demod thresholds based on additional testing fixed bug in hid bit length calc in cmddata.c fixed bugs in lf search --- client/cmddata.c | 53 +++++++++++++++++++++++++++++++----------------- client/cmdlf.c | 33 ++++++++++++++++++++---------- common/lfdemod.c | 34 +++++++++++++++---------------- 3 files changed, 73 insertions(+), 47 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index ed0a0758e..a88fa4e10 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -618,7 +618,7 @@ int CmdFSKdemodHID(const char *Cmd) uint32_t cardnum = 0; if (((hi>>5)&1)==1){//if bit 38 is set then < 37 bit format is used uint32_t lo2=0; - lo2=(((hi & 15) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit + lo2=(((hi & 31) << 12) | (lo>>20)); //get bits 21-37 to check for format len bit uint8_t idx3 = 1; while(lo2>1){ //find last bit set to 1 (format len bit) lo2=lo2>>1; @@ -631,10 +631,6 @@ int CmdFSKdemodHID(const char *Cmd) cardnum = (lo>>1)&0xFFFF; fc = (lo>>17)&0xFF; } - if(fmtLen==37){ - cardnum = (lo>>1)&0x7FFFF; - fc = ((hi&0xF)<<12)|(lo>>20); - } if(fmtLen==34){ cardnum = (lo>>1)&0xFFFF; fc= ((hi&1)<<15)|(lo>>17); @@ -645,10 +641,10 @@ int CmdFSKdemodHID(const char *Cmd) } } else { //if bit 38 is not set then 37 bit format is used - fmtLen= 37; - fc =0; - cardnum=0; - if(fmtLen==37){ + fmtLen = 37; + fc = 0; + cardnum = 0; + if(fmtLen == 37){ cardnum = (lo>>1)&0x7FFFF; fc = ((hi&0xF)<<12)|(lo>>20); } @@ -870,24 +866,35 @@ int PSKnrzDemod(const char *Cmd){ // optional arguments - same as CmdpskNRZrawDemod (clock & invert) int CmdIndalaDecode(const char *Cmd) { - int ans; - if (strlen(Cmd)>0) - ans=PSKnrzDemod(Cmd); - else - ans=PSKnrzDemod("32"); + uint8_t verbose = 1; + int ans; + if (strlen(Cmd)>0){ + if (Cmd[0]=='0'){ + verbose=0; + ans = PSKnrzDemod("32"); + }else{ + ans = PSKnrzDemod(Cmd); + } + } else{ //default to RF/32 + ans = PSKnrzDemod("32"); + } if (ans < 0){ - PrintAndLog("Error1: %d",ans); + if (verbose) + PrintAndLog("Error1: %d",ans); return 0; } uint8_t invert=0; ans = indala26decode(DemodBuffer,(size_t *) &DemodBufferLen, &invert); if (ans < 1) { - PrintAndLog("Error2: %d",ans); + if (verbose) + PrintAndLog("Error2: %d",ans); return -1; } char showbits[251]; - if(invert==1) PrintAndLog("Had to invert bits"); + if (invert) + if (verbose) + PrintAndLog("Had to invert bits"); //convert UID to HEX uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; int idx; @@ -951,11 +958,19 @@ int CmdPskClean(const char *Cmd) //prints binary found and saves in graphbuffer for further commands int CmdpskNRZrawDemod(const char *Cmd) { - int errCnt= PSKnrzDemod(Cmd); + uint8_t verbose = 1; + int errCnt; + if (strlen(Cmd)>0){ + if (Cmd[0]=='0') + verbose=0; + } + + errCnt = PSKnrzDemod(Cmd); //output if (errCnt<0) return 0; if (errCnt>0){ - PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + if (verbose) + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); } PrintAndLog("PSK or NRZ demoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits diff --git a/client/cmdlf.c b/client/cmdlf.c index 65d6fdd5f..e3361cb50 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -566,26 +566,37 @@ int CmdLFfind(const char *Cmd) return 0; } - if (!offline || (cmdp != '1') ){ + if (!offline && (cmdp != '1')){ ans=CmdLFRead(""); - ans=CmdSamples("20000"); + ans=CmdSamples("20000"); } else if (GraphTraceLen < 1000) { PrintAndLog("Data in Graphbuffer was too small."); return 0; } + PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); PrintAndLog("Checking for known tags:"); - ans=Cmdaskmandemod(""); - if (ans>0) return 1; - ans=CmdFSKdemodHID(""); - if (ans>0) return 1; ans=CmdFSKdemodIO(""); - if (ans>0) return 1; + if (ans>0) { + PrintAndLog("Valid IO Prox ID Found!"); + return 1; + } + ans=CmdFSKdemodHID(""); + if (ans>0) { + PrintAndLog("Valid HID Prox ID Found!"); + return 1; + } //add psk and indala - ans=CmdIndalaDemod(""); - if (ans>0) return 1; - ans=CmdIndalaDemod("224"); - if (ans>0) return 1; + ans=CmdIndalaDecode("0"); + if (ans>0) { + PrintAndLog("Valid Indala ID Found!"); + return 1; + } + ans=Cmdaskmandemod(""); + if (ans>0) { + PrintAndLog("Valid EM410x ID Found!"); + return 1; + } PrintAndLog("No Known Tags Found!\n"); return 0; } diff --git a/common/lfdemod.c b/common/lfdemod.c index 11ad1403e..2352caadb 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -19,7 +19,7 @@ uint64_t Em410xDecode(uint8_t *BitStream, size_t size) //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future // otherwise could be a void with no arguments //set defaults - int high=0, low=128; + int high=0, low=255; uint64_t lo=0; uint32_t i = 0; @@ -84,7 +84,7 @@ uint64_t Em410xDecode(uint8_t *BitStream, size_t size) int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { int i; - int high = 0, low = 128; + int high = 0, low = 255; *clk=DetectASKClock(BinStream, *size, *clk); //clock default if (*clk<8) *clk =64; @@ -100,7 +100,7 @@ int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) else if (BinStream[i] < low) low = BinStream[i]; } - if ((high < 158) ){ //throw away static + if ((high < 129) ){ //throw away static (anything < 1 graph) //PrintAndLog("no data found"); return -2; } @@ -283,7 +283,7 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { uint32_t i; // int invert=0; //invert default - int high = 0, low = 128; + int high = 0, low = 255; *clk=DetectASKClock(BinStream, *size, *clk); //clock default uint8_t BitStream[502] = {0}; @@ -300,7 +300,8 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) else if (BinStream[i] < low) low = BinStream[i]; } - if ((high < 134)){ //throw away static high has to be more than 6 on graph. noise <= -10 here + if ((high < 129)){ //throw away static high has to be more than 0 on graph. + //noise <= -10 here // PrintAndLog("no data found"); return -2; } @@ -410,8 +411,8 @@ size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow //uint32_t maxVal=0; if (fchigh==0) fchigh=10; if (fclow==0) fclow=8; - //set the threshold close to 0 (graph) to avoid static - uint8_t threshold_value = 134; //(uint8_t)(((maxVal-128)*.75)+128); + //set the threshold close to 0 (graph) or 128 std to avoid static + uint8_t threshold_value = 123; // sync to first lo-hi transition, and threshold @@ -471,7 +472,7 @@ size_t aggregate_bits(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t maxCons if ( dest[idx-1]==1 ) { n=myround2((float)(n+1)/((float)(rfLen)/(float)fclow)); } else {// 0->1 crossing - n=myround2((float)(n+1)/((float)(rfLen-2)/(float)fchigh)); //-2 for fudge factor + n=myround2((float)(n+1)/((float)(rfLen-1)/(float)fchigh)); //-1 for fudge factor } if (n == 0) n = 1; @@ -563,7 +564,7 @@ uint32_t bytebits_to_byte(uint8_t* src, size_t numbits) int IOdemodFSK(uint8_t *dest, size_t size) { - static const uint8_t THRESHOLD = 134; + static const uint8_t THRESHOLD = 129; uint32_t idx=0; //make sure buffer has data if (size < 66) return -1; @@ -607,7 +608,7 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock) { int i=0; int peak=0; - int low=128; + int low=255; int clk[]={16,32,40,50,64,100,128,256}; int loopCnt = 256; //don't need to loop through entire array... if (size 1280) gLen=1280; // get high @@ -889,7 +889,7 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) int lastBit = 0; //set first clock check uint32_t bitnum = 0; //output counter uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=2; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + if (*clk==32) tol = 2; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely uint32_t iii = 0; uint8_t errCnt =0; uint32_t bestStart = *size; From dc065b4e3467effd6b4f695dd3bc781da872d394 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 13 Jan 2015 17:52:48 -0500 Subject: [PATCH 093/133] slight em410xdecode adjustments a little faster --- common/lfdemod.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/common/lfdemod.c b/common/lfdemod.c index 2352caadb..062818ef4 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -19,21 +19,9 @@ uint64_t Em410xDecode(uint8_t *BitStream, size_t size) //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future // otherwise could be a void with no arguments //set defaults - int high=0, low=255; uint64_t lo=0; - uint32_t i = 0; - uint32_t initLoopMax = 65; - if (initLoopMax>size) initLoopMax=size; - - for (;i < initLoopMax; ++i) //65 samples should be plenty to find high and low values - { - if (BitStream[i] > high) - high = BitStream[i]; - else if (BitStream[i] < low) - low = BitStream[i]; - } - if (((high !=1)||(low !=0))){ //allow only 1s and 0s + if (BitStream[10]>1){ //allow only 1s and 0s // PrintAndLog("no data found"); return 0; } @@ -51,9 +39,9 @@ uint64_t Em410xDecode(uint8_t *BitStream, size_t size) idx+=9; for (i=0; i<10;i++){ for(ii=0; ii<5; ++ii){ - parityTest += BitStream[(i*5)+ii+idx]; + parityTest ^= BitStream[(i*5)+ii+idx]; } - if (parityTest== ((parityTest>>1)<<1)){ + if (!parityTest){ parityTest=0; for (ii=0; ii<4;++ii){ lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); @@ -63,7 +51,7 @@ uint64_t Em410xDecode(uint8_t *BitStream, size_t size) //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); parityTest=0; idx-=8; - if (resetCnt>5)return 0; + if (resetCnt>5)return 0; //try 5 times resetCnt++; goto restart;//continue; } From 645c960f6111f4820c78c76f209479c3f369a8ac Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 15 Jan 2015 15:16:34 +0100 Subject: [PATCH 094/133] Implemented new FPGA mode for iclass tag simulation. Reduces arm-side size of transfer/memory by a factor of 8. Makes for easier arm-side encoding of messages, for when we start needing to do that on the fly instead of using precalculated messages --- armsrc/apps.h | 2 + armsrc/iclass.c | 136 +++++++++++++++++++++++++++------------------ fpga/fpga_hf.bit | Bin 42175 -> 42175 bytes fpga/hi_simulate.v | 39 +++++++++++-- 4 files changed, 118 insertions(+), 59 deletions(-) diff --git a/armsrc/apps.h b/armsrc/apps.h index ea70144e7..6a3fa1868 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -134,6 +134,8 @@ void SetAdcMuxFor(uint32_t whichGpio); #define FPGA_HF_SIMULATOR_MODULATE_BPSK (1<<0) #define FPGA_HF_SIMULATOR_MODULATE_212K (2<<0) #define FPGA_HF_SIMULATOR_MODULATE_424K (4<<0) +#define FPGA_HF_SIMULATOR_MODULATE_424K_8BIT 0x5//101 + // Options for ISO14443A #define FPGA_HF_ISO14443A_SNIFFER (0<<0) #define FPGA_HF_ISO14443A_TAGSIM_LISTEN (1<<0) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 64abc84ab..329e17655 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -857,57 +857,93 @@ static int GetIClassCommandFromReader(uint8_t *received, int *len, int maxLen) } } +static uint8_t encode4Bits(const uint8_t b) +{ + uint8_t c = b & 0xF; + // OTA, the least significant bits first + // The columns are + // 1 - Bit value to send + // 2 - Reversed (big-endian) + // 3 - Encoded + // 4 - Hex values + + switch(c){ + // 1 2 3 4 + case 15: return 0x55; // 1111 -> 1111 -> 01010101 -> 0x55 + case 14: return 0x95; // 1110 -> 0111 -> 10010101 -> 0x95 + case 13: return 0x65; // 1101 -> 1011 -> 01100101 -> 0x65 + case 12: return 0xa5; // 1100 -> 0011 -> 10100101 -> 0xa5 + case 11: return 0x59; // 1011 -> 1101 -> 01011001 -> 0x59 + case 10: return 0x99; // 1010 -> 0101 -> 10011001 -> 0x99 + case 9: return 0x69; // 1001 -> 1001 -> 01101001 -> 0x69 + case 8: return 0xa9; // 1000 -> 0001 -> 10101001 -> 0xa9 + case 7: return 0x56; // 0111 -> 1110 -> 01010110 -> 0x56 + case 6: return 0x96; // 0110 -> 0110 -> 10010110 -> 0x96 + case 5: return 0x66; // 0101 -> 1010 -> 01100110 -> 0x66 + case 4: return 0xa6; // 0100 -> 0010 -> 10100110 -> 0xa6 + case 3: return 0x5a; // 0011 -> 1100 -> 01011010 -> 0x5a + case 2: return 0x9a; // 0010 -> 0100 -> 10011010 -> 0x9a + case 1: return 0x6a; // 0001 -> 1000 -> 01101010 -> 0x6a + default: return 0xaa; // 0000 -> 0000 -> 10101010 -> 0xaa + + } +} //----------------------------------------------------------------------------- // Prepare tag messages //----------------------------------------------------------------------------- static void CodeIClassTagAnswer(const uint8_t *cmd, int len) { - //So far a dummy implementation, not used - //int lastProxToAirDuration =0; + + /* + * SOF comprises 3 parts; + * * An unmodulated time of 56.64 us + * * 24 pulses of 423.75 KHz (fc/32) + * * A logic 1, which starts with an unmodulated time of 18.88us + * followed by 8 pulses of 423.75kHz (fc/32) + * + * + * EOF comprises 3 parts: + * - A logic 0 (which starts with 8 pulses of fc/32 followed by an unmodulated + * time of 18.88us. + * - 24 pulses of fc/32 + * - An unmodulated time of 56.64 us + * + * + * A logic 0 starts with 8 pulses of fc/32 + * followed by an unmodulated time of 256/fc (~18,88us). + * + * A logic 0 starts with unmodulated time of 256/fc (~18,88us) followed by + * 8 pulses of fc/32 (also 18.88us) + * + * The mode FPGA_HF_SIMULATOR_MODULATE_424K_8BIT which we use to simulate tag, + * works like this. + * - A 1-bit input to the FPGA becomes 8 pulses on 423.5kHz (fc/32) (18.88us). + * - A 0-bit inptu to the FPGA becomes an unmodulated time of 18.88us + * + * In thist mode the SOF can be written as 00011101 = 0x1D + * The EOF can be written as 10111000 = 0xb8 + * A logic 1 is 01 + * A logic 0 is 10 + * + * */ + int i; ToSendReset(); // Send SOF - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff;//Proxtoair duration starts here - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; + ToSend[++ToSendMax] = 0x1D; for(i = 0; i < len; i++) { - int j; uint8_t b = cmd[i]; - - // Data bits - for(j = 0; j < 8; j++) { - if(b & 1) { - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; - } else { - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; - } - b >>= 1; - } + ToSend[++ToSendMax] = encode4Bits(b & 0xF); //Least significant half + ToSend[++ToSendMax] = encode4Bits((b >>4) & 0xF);//Most significant half } // Send EOF - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - + ToSend[++ToSendMax] = 0xB8; //lastProxToAirDuration = 8*ToSendMax - 3*8 - 3*8;//Not counting zeroes in the beginning or end - // Convert from last byte pos to length ToSendMax++; } @@ -920,18 +956,9 @@ static void CodeIClassTagSOF() ToSendReset(); // Send SOF - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0xff; - ToSend[++ToSendMax] = 0x00; - ToSend[++ToSendMax] = 0xff; - + ToSend[++ToSendMax] = 0x1D; // lastProxToAirDuration = 8*ToSendMax - 3*8;//Not counting zeroes in the beginning - // Convert from last byte pos to length ToSendMax++; } @@ -984,6 +1011,7 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain memcpy(csn_crc, datain+(i*8), 8); if(doIClassSimulation(csn_crc,1,mac_responses+i*8)) { + cmd_send(CMD_ACK,CMD_SIMULATE_TAG_ICLASS,i,0,mac_responses,i*8); return; // Button pressed } } @@ -1036,23 +1064,23 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader int trace_data_size = 0; //uint8_t sof = 0x0f; - // Respond SOF -- takes 8 bytes + // Respond SOF -- takes 1 bytes uint8_t *resp1 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); int resp1Len; // Anticollision CSN (rotated CSN) - // 176: Takes 16 bytes for SOF/EOF and 10 * 16 = 160 bytes (2 bytes/bit) - uint8_t *resp2 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 10); + // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte) + uint8_t *resp2 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 2); int resp2Len; // CSN - // 176: Takes 16 bytes for SOF/EOF and 10 * 16 = 160 bytes (2 bytes/bit) - uint8_t *resp3 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 190); + // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte) + uint8_t *resp3 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 30); int resp3Len; // e-Purse - // 144: Takes 16 bytes for SOF/EOF and 8 * 16 = 128 bytes (2 bytes/bit) - uint8_t *resp4 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 370); + // 18: Takes 2 bytes for SOF/EOF and 8 * 2 = 16 bytes (2 bytes/byte) + uint8_t *resp4 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 60); int resp4Len; // + 1720.. @@ -1195,7 +1223,7 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader A legit tag has about 380us. **/ if(modulated_response_size > 0) { - SendIClassAnswer(modulated_response, modulated_response_size, timeout); + SendIClassAnswer(modulated_response, modulated_response_size, 1); t2r_time = GetCountSspClk(); } @@ -1232,7 +1260,8 @@ static int SendIClassAnswer(uint8_t *resp, int respLen, int delay) int i = 0, d=0;//, u = 0, d = 0; uint8_t b = 0; - FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K); + //FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K); + FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SIMULATOR|FPGA_HF_SIMULATOR_MODULATE_424K_8BIT); AT91C_BASE_SSC->SSC_THR = 0x00; FpgaSetupSsc(); @@ -1256,7 +1285,8 @@ static int SendIClassAnswer(uint8_t *resp, int respLen, int delay) AT91C_BASE_SSC->SSC_THR = b; } - if (i > respLen +4) break; +// if (i > respLen +4) break; + if (i > respLen +1) break; } return 0; diff --git a/fpga/fpga_hf.bit b/fpga/fpga_hf.bit index 5389428c5539eb60eee9f27b6956ca950aa79b15..8b0c7a3788ef438c94eaed81346a08f24927f954 100644 GIT binary patch literal 42175 zcmeIbeRLevl`p#MR7oy(x71}>;%SH>rIsO$X~}Jg5XT6)EE`4vPpl-&3^yxlZbN+Y zd}lF<$mGrQdxtpHEK`o|pcuCCQ;4 zn*DjIv-t7v`7xyW;NQ{4)_>0{yvG^!Kk>e8r24e({n{A+3vHbDd6A($`=v!GYNTq? zB!nxeT2hwcbi1r`DYtM`_1Uc|(AQ`oMO^*sbU`l6N2m1X=~daDkB;d{>g5+n>vj3K z(Q4PMOSjT@WUCv_i3u8_m>bRt+emVo!K%Zl?UW!hBbE{bH=K-3Xpd0b4cj87srR@I z|D-)mt;y+|M1r0qeoyQzyl0LZZW2i&#qXhpSL7MDGaGqHzlY9HryI@b`{_6G2{$@C z-7?gB@>-6j>`ocorJto=(n2>{(9VhrnUA^ANqq`K#gAicl|xS3U?dYx6yGyj9HJ37 znhjfq&27f2u9d4?n@r2=&z^9uF5!)9OS%mk2tWC%E_!IX{Sz}OBL299LEjh z`43GBC=-8Icl~qpM8;k|D8%97*q^ieEsT8=-lNuivf=x5-kFz49A7+1PY@O*tDh39 z<%q;uEbzXooAU0Ixw|eZ^}I1foy0s9Jok*sAHXUH$ z+q&?+OVSr;)mSVQ%FJ9&*hoF*`nqdql>=d;u*u^0G*%h3%7{5w)7fZ~=rQZBtU((H z>qWJ<7N$|9_c^v3suxRW8zs20L4BSelo_F2HFwjP9I+#Vi*1d&8j-rKxk?DP>T2CL zT=i=@=Pn$N9@8hd&woDm+xtOt>ER z^eawV>20U8JG#LemlMtCuc<|WaM07QxV1@)rAAC+K+jWgerSx^2$m$|=~vu{I}fIs zGoh^Dz0oSote8WqDJIRlSnaJvyy}lAEp0hH>Fu$+IbYOLzqIqFEkZ^8y4oI~rdQN9 z#(o|*zanPY4>(QZc+ar^9`g$Oh@6+NS*gEFzmp5IiOKK+IwH4c6L;!!JpD4SdQ?t9 z^=co}mG1CfofM~e(`NL&o_;x1=jlAGpLwpolVA^1(WCl%^ehXLy6dgi@Qh4qhto7_ z7Q{x@FDKk1PNwc-Atm1M=9y?C?eKJP7Pq0WBgScfg*%1o=~t>Ac9`sw@u$QZ=vOO+ zN$i2Oh42UBfVb|$(67@nxi2!+&o)!p!z1F5gkbCbcS$-yrw4auqPc$0CM?V8Cv0Ur zvsfLaUz#;V=XsS2dI#GU8Og&`9-(#_84uGE)uzw*k~QMSQgJqePtsgorYZU^T`$dX zVLKM@XIZsEJ}F}bGba+plSZp!X6hzr6+z>G1-^cv-3ZyPnG7kL$@(=x-=jFU@%4+$ z71%ay&eDRO(9l)Zue`T^GCJu!{9W0r3iK6vnu_+2=DK=;&H}CGj_Z@vz1+sF@=Rsq z9bT`2n;5?WAS-z5C9QMr(<|prnC}6<(D{6LR~-aug&^|YJOjUGZx;zS4m+%GUh(T)0>)_af5V;`&Pq_x!S(!Xs^P&?rG_6~7E z^$-C4j<**1s-@JAwSay_XdVHV=Mjv#mT>hX7FW%)tzAtI$fo@CmB6nb$?NjrZt+Xa z2eL8mJ>6!+dB#e*ElC~tH4XTc)Wmc-~w0$%bJpQ>R=8Qve`?Dah-S#%WCf z*=g^)y2&*P)B)I93|nU^{5r0T-ZTkkDamVLTCd3iTH7L6QH2E+Hgm7{UD5!48PJsV z=~p#4R8III@mmQXb80gpU&OE3(5B5!cScOu{84y)^+ZMq8L{8jFQbO~9osSM1%pDu z30uApvc%p1zr)fI-Te^cYe4N{n5+t zi_u{g5O z-&frM;Tntry|KAJcKuptADm6X?=({ss5N$wzRSjpY)F-8H69W9o0|#L$CjkK$LhUY0%1OLO8BceK z(!o9>H4D4WojxF5ftqi2Yja{BETkeV`67PJpDc*F3{5IZNn1-Mn zTM5Frp7e%uLiBrf!`CmWS;1=MLYpRxGX~smiOqJ%187%Qb`|(#0j=B`SAPMR`(gLN z-kHZd$G%X)uLA6GJ9|w@=NCMjF&#jbZ=Z}zVWho0&(bSB-H2$k4G9G(;aALw^GPwS>~}d%Nv9bJGyG4ez=* z#wF$#@vEBd&)6w*1@P;B*)%c#PVusMKwgsvyD_~r1%A<9u&oHD#a6;K`eCfsd>05? z=jj*ltLr>19G#oj&pK~;xO_|~B36c9uhBDdK`Js|PtZY$apm+^>@)U_hq0dn{2HJK z;4p!IMbP;s*Sr_L-_9PTaV7i$=3d7={4?|!?(WybOZLv}HIpEZW%%WfG=cZT+<1q0 zjB!PLJk~c~?w*h{^@=w2lqH^dJ<1AxAnz6v@z>^Yw zv4vDt^fmcC2pCtwE|6km0e&qnTH{}vt6)xjLmf*&D8sKGS#zE6PsB<3foc;<;J1`j z5Adtr`l07G|CAmj@UIMmLelOw%kc}N=(MAQnAH=q)589-snFF%iTg_U^(vimI(wq) z^@bShAo9(^TD^EXdaNk0+iv`Qg27ikFAmY*kgX6gYAYmRKl;F4zS=W z;5!^fz@`PMNkaH?3BRtUcjdNxbbk0jD9H9a%-7X)LFV$2uVV$(k9n2n_d-+dfk}b6 z08gPaPNzG!48P7hDh#zUd?R2B_HZTM^PD@6Ul{N&MY~)eQ9b(8G8(=Y{rOkm7Zk0? zznqPh?=h-2Znz*ioPO?nukiU7T1II z5EB+yKZ!mU@oUCbHRSLPI>CX&RCs*|u>uS4DZ{VB^cz~>Mz?6#S_2FJ5_{|;_923W zEW@v-Y-QD9=jnU~`t<^Y3&zv39KZgFe$Gpo(Rl;3bw#$oW*(w8i5HF=HgD*$ssydg zD(@meZ`^rf3g%+c8X_Sp`Pak7J??i1!-46}P0xzM)%_&a!AGj#UoH6$b=O@@-<8*7 zoBpdfPitkhTA#{uXjUJG9Wh?MY43Q1Bs*PYDLZEcb0N9Ph*h~0D2l?BF`{Q)_XnQ8Q z^^uzZtnC-$7sHmo66B2CFnVFeFFdKhuLBvxwVu#t!#8gGd^E=f){7_x_;m}da??(D zBl8O5jJ5P&F&rQf$@Zg z@2Ea2KeMsH!>{lRo*$aC1iZ4oTeZR1i}*FF_*XPDbBpn|^H|TcjQ$Y@R_;&0zqZiZ zCe#W(f6=L!FccB1z^|i>UuivWtz-dyCN}%_3jF%G`5?t)_@AIwyQw(?+Qsq1W(Kl= ze|6jI1h&@vYM3}_zY|vRLxLxqM4KMo^I5H4+^_hTI7W{-O#(oM_#wZijDKBCFEf5I z?JBUq@x#M%UMjLu5BS#rGelP(=|90jA6zW>S^(&|CH!hY{BWQ>4>$fiT>uV7@6;K{ zlsydaYdt;2Y|BA^5F~WMJ*#hEVCDW4@ryRnV?e878#la1SoRvTDOHYNqh^k>P%GHX z+_>EnHsQz)vX@fAuc|@x5cGu2`)Rjr6hf;wB$0`Lzgps7Jg(?d+@@PC+zAt?$F{DB zUv!f8(@hBJz*L@x`&7g6LogR7QV8(N_<|U8L8VEM783|k10I@pJ!c(R$-G{CRrup6-Rpk2mk8gakr z#SftuIX%Fyljt?=A6Ll9CJfWb!Uaj`LTXmj(DckckQwa0^RxZr1o#KVdw!3Sl z`U{%Z#(ImxhH0SHYxIv&g$>^#WKWKTrog{!-eY4`huOp(P*D3Y&F0Rpq3zc2GwAbi zEy-=%24J_zBgOpuBS2hD!c8>C4VB^73FBYnh+DHuo3I&x*5(udEpRceAb$9i1@kV~ zp4CrUK0P^0@4AXp`}waP3$WGG>DKPRn!>z$8-RISZ5jV!U!rvo=y_PfCi438B0>ZV>)oNGz7+Apq+6RT<6m@^K0HuU(2pX1h|Pw)9$jc$I2wJs48Q1%#Bg@O zoIWE*_F#(w=(BA{YetIsuQ9|ocG5>B(8_{ZZE_(TqwPufhx0_8q531~?`gN{s<@K= z4qXLoai2GxnErnWwOXA2;_WwEhRw7I`k(SPB##|yT4$(M96vlyH_GVNut_g5kSUvx zZIdn8a4G)<9b8D!KK*Sr7Ytj#FHZ>Khn}fi_AMQOME3bJFrHHyVsTcG|1y?){A(k8 zwil@^J_c+m=D##H-CuOVHDV{Bk>zvIA zKD}B?@!ptkafnhy3-d4+zQ9jHQuz6=?kcb?)z!LDOH%@D!Zu4K?}Vpcj9+T(>+2?* z(%9{U!(%Vv7v^~!)4Lwi8_e^mzD{RpChX_GR%l!3lt7yiwDC!CAe7>VYJMUE{dqA~ zTGKYFrE>nYdk|@_VR4imq*e|aPSS3+b!GUqlyZZK6yi3A!STUC*ywTgBvgi9vw#Jy z1#=0u@%7=|lmH4l~ulq}0xmf_b{j&-}y%~&rb z$gFOuYC%u!-OW@a(z8gY&;UfOk^-(w61KOoPs#j;U+T_+$ z;MYzQ(ZVHwTK))q<~CXGa|QpJjr}D~OmifyvK3|g>uq_X1DCHFeI9YqRgA)J zXL}gn7c2met8ekE{;X~~gOLgFOJkb}j9UjRSY6fzF|iw-8WrA}!a4B=xOWC`d7_$o z&}Y~HWvbe`?lX;R|~@C(+@!>V_T*z$Qh!zJAGc7VCU6_Eb_00;adm$ z5Qogx4%w#HP1JZ1b6aQ#!|BdFd^>HE ztrO{+>SEq)sVb<&xpS6CNZpoW> zZoY#4LAF4N;IgatFn&D)w2Ib+5tA`H#%k-r5%DYDV`cp7De+;h)^M9o8s{LaJqCaN zm)^L>i~MVnCSk53JNi?I?X(rbJM@m?xB~vQ0e#*iV1EYi5&T0CG12EJAPe}{-PK3?+OoA{`ep;POGeFbv*R1;ApiAK;}qhDwd?hN zGtU_v4hlK`P5MctfPcM5FUs~*WJCA{+DA7pYCWo73-DC{9mEeOtwCdRU(0={MqvCh z*RDn&ahQROg8bL3^pKP78Rq;KN=;H%T4Gued`s~|hq>qUjMySpIf$=v5sN?efPeiM z-#*fl*f5Q0S4VGcX7TJ|eW1)kMYUD3AaXcoHDJvXC|8a|NiC0n)O`i<$G zR%@Sbi!rB-YSO50@qLmYe)w@`^(W>IhPEQo{-6!IlrJU14)R+#NA^kNA`{6u)ggnV zw8y63AR?A;H+=qOYgf^L)}aa()~}#_a$CM; zEX-cz&CJLS3iVxxABy=Y?92h(W$<-s;ru%nq_PP(4OmLmPsBVo(T8m_DLYcI^EcDeZ28OZ>si2f z2O&g|cX(WIsDhk$k$+id#n>L?iQc$=2Rl@w5jm~HLx)1ZzvxR+zOva4ZJqgfdsn)3 zrTO~ed+=S#J_q~@IcN@XXVTx*kSudRMidKR8=lu3o@kQ{4Y^vZmsq0Z;6s|kg&dl~ zg1u@f&}cawg7sgMLtFw|YfnTX&aY572mYmWIeQg{4R5BXqZg2OSm;ax=4w7+3GnL- zoyB@VPuoGa7dA%r>PdRm*j^q#v@l+qCT_@1nD7y1+idx3%HoHp)@riTjdt3U z{bu4$Qx}6!G$c)!e<{6i8@AeygN?#lo((-sID;eLXbfc21N?FtUWcEVa}rkAz~1Z> ziFA0gxNmRU82pVA|AMJpC=~_1AQsMsFY(pEGi>=Q@?Sp(T19gG2(MY4pIfReo{*=U z1qJmUn`e>ZhioqBe!%fyrZo>o@wYtEd`)@%hMBPwbe$m(S9B6NGm>_J%W>u)0e)Sn zEdTVC)m+HYl0|&}CFqXgUuF39JatHf4NdB&j?sjs@3Y^rk^d^guU!uN>b3CILBv2< zJRj+19#?>0Z^5dMI0*Z^#`81C0UYrhwT;zaKYRMsJ!1pnHi#CcoTCg|qlh1lLHHg6 zS%6=EkFNT(3w?eC`1LbNbp`L8j|PmGwFLP$)6JK!6qy|D-QH7pJ~ZJA|T7QfE0 zh4^9r8GAn^*MBqH9OS=HHDoRnQMbP^8~HDRKJUp)(T!9YKlHOO?CQ6TMR(|`F3ycq z;FrIDCJYvUUmp>xM67pCMwI8j=n= zvaoGWf$b}R5Xf{17w>ubDfM3VcG8>DVgI!Q)i3vv_(HIoqDP{4)38d<- zL$zVLKKp1Km}`k@^C1VZ9ZNjp=@ab-5sA zZqTn4uV>pU@tZQy2yqsPXyT@QE-^#vDySeif{0p!pXW9dYQ*FuU z8tg*=nLvCsz^^zhu*C*5OL19i#|DS8;y3bV*qP=0tDBOPwc-?Nf(wyF4TCs>J!X$X zzk>K-BmIz?2)oyU<8hY*$Kx2{2dFTf3@4@nBIozotKTS>_1}c@0*vMRmQ)D z*;G<3vl0m7AegV($LT4F0S5f*G#!!f-Z_4FUM^(X^`3ZH-puweh#ziXwb~!PH+{^0 z%xsYWsTZC5trjcPD~@|Sm*`ul@c>oi7~^A^gfy3@$Kjfxae!ZT{TNI^0#$I;NBTx2 zY)f3YW?Cjhs1!eJ_yLXOJ2Aa*c2BvTKZ^|OubT($4hcI};$PyF-D+Yu7?<7A1N?eR zf?%Q|5l@nA>ooAM6Kqm|jdV_1=tRc#Y6nEjjuZm?GQLJX(&kdQfC$Ww1aRkX#Yaq# zEF1B$0KZ!3`;2I^Ist0d8bhu&PH1C-jFj;&-vfz&b|nC4SDIMU1Yumhe@Hb;=?w!V zG;&&k&{bA6+dQasQX*H1ANu?YX3&7aN9VNyTYff-0e-y)^@P8{WgEy>^1>lsDHRqZ zJ$on-Kiq}-jj;`(#Fn9SYyS4((6uzwr}$S;KR*g5HAc{;h*U1R4ZqhHVgY{96ZNr} zxvtBnIa>i_Ln!0`MEUjePQzRB9OaVG?u1~vv}~(x&>JI{1vSkY|6*G zg&FWK=NY^wYRo*`qw44FX-gzCvPg9)ez?I>tMe26>ND6FwY_8IrmfL@xwE+!(EzbW?aU&da)q^ z(05~pS9|M)_@Two!niA3Vqr+a6rg^?0)F}NL#{vkp)=Pp?-Zk&7f2MN7$9;bR!~1b zV+;K#KDWy}DkgaBi~QIrFm8QUby@sS>u}a^cvki2e|%=b0+9!v7UPF;Z3~^M;w32d zc|$)|$9&2`te}Kn_LTg(9dThHeOl^G6!0r#*jNg1tLxar0j*+_h%L9ua9&?QPZ)Ue zC~D&!uMJ1z?{TLm#bN7V-ddbD&-El+(=67{qyEs?Npts1?}@#9-`{Z zq>p>=88)w`-}SZRTUP47%>JvqnQ7P6^lyVV=Oc|c>B3)y`opct6x2d@l(04z-bzz8 zlxRmee(jeZWwhe_7wq9*qgeO^$D_{bW%zYJqi|2`7$_C|!~auk6b~?3mGQ3)HrfoJ zEK0S(M|EFw9;LtFVvitxcwi7noxuuv`i1%pL_8cd2|@hupV;kLvW8&mlpTA#|BLn; z8T2_@hF^4QaDf9;37Y_$3FClqNeC7A^{ha)>tJ(-_M8`j>p&p~?CR8vV*Q4(6pRBq zY73~)&l#l5DJR-TNQ%iSbk&0UMBQxp z;k}pmS20?6f`*L5akPokkk)!|sEmL4aFf#~ou30!Be})b%7cBV(B4tbzkC)sWrBZU zIQj)T|41~u?DZ0Ud3zNrI0@BjtAo38jdP%<^NzKDgZJ1x&&OxT6Z`@6#{J ze?j#aw%}$wq$fNBn`thKA9}DA0yc@wPJAN^gnZL_=#Ir}%JIX;=~~7nE<0rEk;W4f z#(cflU(_#!Ru1CxEZDcffEd|r@x*N)EWUnu`7dUOpNUa{l5zNlF*%j(WFi*C4}A#8 z=;yd>p83}a^0Qq*{4gl3SL6B=V%ev>vpmvRsEYaPsUH~7~zbjm?QaeW1T zd2J>dPla(1jKOXmb)=%R%J8eWrcG>QOaR&2bl8Mf>GqfLFUGHMDuhDB?$#U(+8aHq zomP1}NV~TdarlQyzfhNpWK7~@JSmEJ@{w-+2<=b*w=AB#A-G9^UvT+U{RXjlw@w*A>c1`F7w5mW z^Lsk!tOPxoLLvQG`Hkh#!+L;U8yyu1x?4@e!hhDRC9|nc|KZ zryn{k8Wt|VFV-)ly=;Wno}|P{*ux_dgykoo!~uS>9YeG*3v~cCjYHpGiG%egqZ`{x z{EL(;o7LaKqI6)>a#4iroQw`b;{yJrY$js?$`1F|y864ka1Pchz^{8edzkGyK~HJT zWEScWk4j?&5odFheo4<}?m;T^1iM%iQiU8=YgXR`9dy(@8(2z$&9sF#K$E&$_779x zAim+{zhK9*YAurVplnt(C!EkP;#ZAt{m^HWu|3VO<(>b6KOf-NX|>#l?kXU2Ymm6? zem2vdU%Fy(8UF%)*%-xJ#*;EJ-ZCO0nIStnW^NW)&krBGg}ZtW+j$leFHN@)Nmv!L z_nLM(;9o!B`LV-1*8G}skN2*e>>Z0wxpAA)~5XV|;QVO(bbwKco-sQrv=n@D8! z68~a5Pk=2R;LYxr3i|o(3u3Mt<)WGt&!J=efY*J6|DI0wk8(K3%yoJZevi#<6n>ep zKCeH7deIz=-jIg=Jc>eThubj!+9tP*7sutU%0bak=*euDm%}&cEKK8yI&EI}BtsNj)MC^&nCj>#y_lOP&9sn=F4^z~#JNaK6F( zD<2-OPH}%we~6e>GLLP1Lb)pt64pWO%kG-;^UKh$P1M~hJm1eOaQ;iX%k55;_}Aaj zk7P5$mfz=<=|7_f+@|9=1rXrZ5gYnNFez$HU30hi5)HZb6tbK_{l*Yzmzq`fu{&jC zqWP<7oFvU)w^r0|Fon_cCUcp&$mHWCyZK3gUvJWZEY{uQ1syQ&8uDM7ifajPk4a;> zKsIMF>@&v?`TTMh>JJeltXU7sAK(|-q__<|uC?~W*CSbmn#u9<^UJg0XC{DOfOV)< zPrSbNJ_N5~J=52h*Khc=0#r!ruoF_3IEFKgd* zU@Ck4wO}F^=Fabia1nl)yrv4sB2u@B6JY?dfPc*a|7sb5t(!DFBBuX2`RA8Io_+zp zoE*YytX~=%y*TO*fnRn$9xvlxCPM(wf%h|LS0Vj58{--`mzVh06^I|UWL5nk&VOYS zEA$2Ca}wv5r%L>53r(dE8Srcige*I^*tF5y;vjx_p3b`S@LN9riX5GJqxr0CPa#4@ zo-CC1l8qEoKH}VFgWZ&vX6!6fMXpeMeXKw07vrVh3fekjRGp?~=r@b;Y{k zxZJAk*Kd`l7vYp>wuE0uNjUAQV^`Sm0C&34meTJ5r z`Otjvpfgw26mT3Tz%RfS*Sx`ogMXQsYEA|rzJZ{(x2C2622Hl~#${l=&_+nKnNA_0 zvFfP$jVS|mgV*9owi|@~qwWW=O6QkV*`bUoJFlV6fhpBlLPl)7gkLYC?693R4jfJ1 zln0P~4g71n5gEscuwMQu7yN6r#IfZ}>^x!{S27W6aRzO~J~xQ0w-#J~_>YDvp@ECe z;EOmwR+=_J<6?cbdQZbvl%vGF6cBp;?Aen{s9?mckP=L>X`ivhA#@04>>CH&gzpvL1ER`9U)8~U=V7WWmD|3?D+ zI;yqO>J6=K?PhVdX^1wv7}r^QmHmBLlhwcMtwp|SnS8`a6v9`FBNhspd0fx+ZKh#o z*ec>zLE~dzE&0%$zyjtn`pWxXUUYxvd#UM-qT92p%)k6z8f(8P1-7h{cQg#r21X zTF1lLbg-sNjqhmoME5nt_i+6o(q6lwTl6vEmu;+|mz*}4m|R?jUuPZQm+RX)gn~EG zB;%LcAK=%7Ksj6r7V=tofWGcTzpW!EmrXh__yK+`p;cY2Uk+#HTwATm5>SXJA9rI; zO-4_ZZ}NKwBGSeq6nd`Fk6g>V?iv>(QsZkzt;bXOHm z5ANSc@wm9pF&e~i$7r^BFHL1f;%g2D_*FBiupqiY|2I#_=)cZ>oQYUQKkn_-4ONU^ zH#$*wX1%5A4>{O)ZV>Uq4X7wn`Zb?$tbm#+JO~u#ge>x3IKS+~_(a%)o*m=*!ynN# zE}|JhpZCF0M6{<~)D`*HRt$U-I@?+{)51yG<~Di81;*DIhD*d;*XK_%)waJF$#D zmVQGbMIyr!;tjlIGYq4Co0?|C7?)56hA*6~M(B*~#_Tk_COhuJzJ$Cr&Ca+ognTY< zpEqO13!&EI(ffDBdl@#RJRN^$mUO!R z+ysqF@k~qPzkb0c<+L_|Sll;U43Ldy(!D1e)|S}ZX2AH8P}OU@V*4E>Y}7X)@)iTX z&{F|^$#03)WMlZ3tR-fajwk{LFM>IqWJAl3h&RdS$P|=~oqAYd(ptqVwa;IXa0aYxBjk9$Y_^&1MZK{?-oZMi!OVG{3|!^9`Ze|fa4HmC2GFOIbzhmh|&M7!KbK{rbH z#p9|e=s0d;b+~g2`f+HAaMRKm_<#=`ZUo-+UX4rrI1 z6Ti0m+?ZRF6R+~P-0->b{1>iv!6@h!dSnd6bgFM56P6c%O#p?5 zOZsV7eKB_uADUU>EMiP>@Zh}K|s&ion)y-@dW43zknqKZz4 z``kyfzidL#5c9-sQ6>D^!nDf?VeGUjG)GN>nlS)$bvb^i8$$Nk2jtEaCfs9W=zPGx zws4=>D|ppDW$(UyZANGOQegLzXAc>_U{@KfkpD6lP_5KofyR&Ung;mA=a*ZhofW6( zLG6(YLKc(YU(GU{50&^As(BNxo2)zF42^$(4-ANlT!{@uE8}0FT`jzyj{(2z!R}tM z*T$g_8SW|ZudC_T64|bm`p@V{-^X{MZ2o!rrJR>VmV6En13!NLYpg1#k558Ie@!+^^k-c1`7iV*;9qD1 zjYFFkw0~}E%9y>?M;ECxm<~J;oBQLPUuN5a(|PL#P?((*hd~gsGHk~J{9-!>{*JE7 zH&SgGrTEVcw#g_Cf_ZBy$+MZ!9G!@rUb1@tAH6DIB_!6OB7WHEMqo2TN6dCRQqc0S zEjXv?=(9Z=-e=qc`#jg}&eiQVzWa&mg(6u`Q%nM_{P>21%~Z52heXsWO%bs-@r2u? z%lH@Djj<&5>Sl_|I15O=$Z!S!^2RlDLclB&2FP3(;{p-$;v3nk7-3-#3s9@`h97W) zW6y>$h#wZRhwXNg%MK-SWO*FWK23+yH!%?l@atEI8pS4%z-@Jq9&*D^F#wrhWV=Ge z_+eF^`s?8_Hd(gWFCsYfinTy-vWtVvLHsa_n#9eZlN_c?F?Pq^BoySkAIcTuhtyC2 z`j@8AY1o6Wx{m#HBvWwwwNDMHiUnm{~3-BvThwQd)oVSY0 zLn-y^Kd`W--h0&k8LQG9oYxzHm-`VOAk2FgQ0BYnShB>w9FhasT*wg9sNV&_oG-pP zdmBaegp(m3zfxMA=pSrOnJZUcdG`Y-+X$~rBO|uAC4c)$_=gVf)ozmr)f%!k7B=V^ zE9(Nk*2s75jy>i0m1B17M8}~rSh&$?Z^M^Zs4W~_dvB?J1LlI@rDXI32H5FdRRE8} zO(Sl98GdEJwotE?f*{)%XV^s!EECI)j81(;S&E6h!&>I4Pv&1dtexw zaD%0@*$H1+9zXo1@d(&fr~{3?Hnb`|#|f{C1^6}Fi}vslU}@lLL<=<@eKPJK>gdNe zcGYwd&M(`MLDaL2Nt8w5AT#Xq0=CaV{P0!rw$stGtX|(oXKw*vSr3Qm!tjmGvYsM- zZK&FB|739F?wZE_{lE(Z?v6qkeIi!mU)C!$xCqr616{As8mc7|Kt?_h^ZAzv9``rY z>`dsS2lX2{vuTE!$_E3PSFvv^T_vZqykG9?ardJ(VchFy!3Np+I4Fc;?hD-L*t z95n(Uj;Q9ISgi6`>d9I=DlfzuBdT1yr72mEW0zDsjg;mANQ{VltW06Ps89V`I4 zxIZi4A0m$3g{7>ezC7GQtNQS`+{5R;LS^y8SC(}4M7|aNqJlKfrLItKcGlMC4D%yKQn8g~9sx#!~Yq9A^_ z!oo6vKc$=OK^wrD6R%O8U>Fe_4ER@U$eFX)%v`xutkUk`Hov9EXQRysFwWucG7S@U z-sW}BBH)IYuq6%~k5HBkh_7GFzYd87d*V5LD;+|AfL}Q82|E_el;Vd|=;70}%+-78 zY!${nuDt-PW}$>%UfK&@3c_>%$u-Ei;I|e!Sh#}cAA0p0a}S3%h=tawyJIK2hsAOB z4^y1itKeUI!`WEG>Fc%$6j%~&!E(^&ur8o6g(2%+@a8yMO-6X<%Oh zOJJb>@L6|zJh4T8#hF6g1wd-NjDK;Pqu~=cK-!Uw=E1*EZ<7Mp1^A`-mm7INKWrUH zwWT6>41GjKlTD9ob5);!J@q5tp(@5*q1;x6gJ!5tTf>x ziGJ3(vif<&zqs1)Wx6lhlvPP3@Glm|y!RCAHzG~?;q-w}QYJWl$cP3;_B?hpe!Tn_ zRwuvsESscTolh??EZTy?%#l>$jI=_ zG4s5$y+4u-#X|>ay95zC?b%G!A7W>A&|H*QL+CX5pb7*yR2BHe9)4oI{+fB9JGX-I ztLXFZ_4XL@Uy4nbkBQfeRSqs1(y^`*f7h-4IB-z6H>Q}eJ-!xFgkm$&&+(4&W+;!jrG&~ z8>KQu{AxtFhQ}4j%sgp4mmaw*l7XI{!xQM~{&N1+N)gH1?>DOKP$j|u^yT*-f-`bg zxzDj)*aVM}g}Kj)$9dTqf^;KFY&?i^jlefIfRfL~c&O7wYVUW|3afA;1_aq0lSJpKi>dV?NZas%@(?+G$u z0e<=V#ne76?LoE2SmR(f0{oiATxJZr_gFk_&UPWFCvLb5zx=X|m5=PFQ8{lm^oySW zzsl<8l}-4`Ts||4aOkICQhaMuRzI)o;X8_d@kJa;03%}{bG`NA{1@sWxf`gB?`d*t zSU?Z=qCanV^Gw8TJdQ?uM~7<6PteBo^vmO4uq}odwVr&)?wStU!q#RAV;}SOymx=p zLKo-1&{f%1fSRA6ciH-t*Ux)4b3Hyf?d;B#kE?=z!M2>x&&t#0ND3x}*^Rmg(Osf2 z&f{OL?(G9z6V`4yXE>beI>FouL__2Q{8Ic2cTG>w6EZe7loQ-$vuab+FR%b!LEfSx zhH`g#TyXxAMg8*XH_)GKGuP6zIcvSOP(;JkdsvqP{)O|fNUS{V`hCW4mGLjE7h##+ z0e<~bZf}etMiC-}%zAdfp8p_}z zDHoa9doTx6&LYZ_0ekI+dKgB)mKc_Y;df(zV5EsP?{O>Mb@jbjm}KuZ~9-i4&rv)$olg7ji>XtOL<kHv0CD!f2JaSXxjy|9;rISa%Y?Iu2GU^g3S2piuhqu%KWN=fRfu+i3*R0Q&sZIUfUQyC;ts%sU0J^Y&*2^Y7pV(OFkcbpFhJP(*URzi z-6U4o(!sx|b53MfZ=uuiPB$@J5kHKxrx%)qum%)l9_+KyCa$|k@!sJ0;nT9|c=)KO zl?WSh+2NJ+L)nrquixNZ2bP`m#y*bw4{K@r9f=pcAYgLc6_xAx%t7fv&!TT@uC3j6|Wfl`6~f3XX9{KAHVgP1=l$FIi`HZ<#Ri?9QX zvct`z*-i15+v1cD95iS$L+%OM!rgp?#aVhg7uRFqo{E$$1l72xLJ+s^uc!u<~?E-?xSWPTNm&z z+<)k9J6-d+u%I8yj?IbrLwJ(@C`S}a{EN=4K%Qt2?h~BkLEP(zxaf)nj0F|(L)gQk z`W52G8I)}t)jKuZzmWxymGQ5gJ)2x}&uYHgaMNJ?Q({*APP=)~EL6r1n_aVqV<1}7 z^MBBr{v2)7nq;U~IOX_-N)E{%*uy2Av0Z_C&02!Ap8 zcz2sqJJA2)iYh{S&x75`L8o_`()(s+N1{lm5ROr zgMZkW=S18R|GI~s6!w^TEYuA9+&Uw?27$7{C2i|kHk9!%deYkLnsQytMw=yJJDs3) zCW4=$#J?gyw3rJWB)IwsLf9|@B4*QcETP8cC%Atjk;QKf!C694Xo8N?h!e?{_!pb^ zn_Zw4(kL3tAQwEGrJGm?;)lR5yWNhy+h53@mF+q2B6`o?DC1vGkE5*jz1Xj4S6{3T z_iyk;^s1u1f`8c>(nEV`7i}KfkOYwVepCg1Z6-!@(6`uL;6(x>V?!clYXYA~)TFTTO|&+}>Jp}z)x?QmQ2C`9xa8H5V{m8?V9 zkO-HtbNxn8QD4r#%!RjtcHxg5SO7B5M^gUAcy)^V%=H^*?9N@0k;NES--x?*1Ul%? zPdWdxTK1a%hnSUo%m9#mC9V8JH(bfTvU7(O?b!Jn7M7X`MA^i`}r3lias@4qJYfjXchbmM}YbMLr#PtfTIKl9^+n5zZCxh zenrihF&+*fkjVT?^|_pXE$Uc=`w!nlAtG#ox(LzZR%Q6*GZ)Y<9KcDG@yc@iD#F$- zsJSZT@+#`f@r(JF@@b!xiZhn=xq^Q&Y=L&!%)bJDT8>{{4*^>lzE8L`&t>?9J}(C& zJ7Jwlcdmf5bb0=T`H?su$M956yX^X($PxU#DdHf4yQHACNe7|;Q zO+gRFRms25Mn_s1XRgcbVHtk$nc0M^aDP;@ zgSZWwuNWZ#!53B(JU@Z!4@azohB!8kNAaJC!uc=a;3s_bcQo%ksNZ#d|EnW-MU*LVh{foranZ-WkiAPqZ;E zLy5kR!@Lf+@#BY6aYUp=zuYorj)WqEIa`g(=U;ivLo0J-7hlA2O&*|7heP+uQS9{I zOw?=Q%C!I5r-9m8lGX`P>b~*pz`wtOD0Dc)t zKt`;u&0QPR&-49<%+{64j8L;1N5}&H&n6cqas2uX)E@$^nz*Z1(_^0SvV9)}R3zH4 zq4@FQhw42M;_J)cZ#>72qKi~e8UH#>n-ML<^<3wj5sC7lGjzlOBTH4D|LPzP8`@{R zzn=p9>b)4hU{ZRJ|1yyFYIE4G+KM22yOjT0&e1TH|HA$O$=V3q;Uw1({6ov)K6~-Q zxjp819hWrQi_C|*P-AbZiu&rJezE0mapK5-3AAy5ak#!Ij*9=X{8tKFs}uRJaEuNE z$gpi<5{Wrj>{9*!m)jY>mg@_l$ z5ABno`G{0(ce4dE*|n7Vjl>J#kBLhBa?M`RsG)G(iaWv*IRB-Eol^db@1Ji<)vna9 z1Z>TF1?RtRqy2q1+qi(YoPW_%&f3S|VkuW7_aV#%iu#s)x5&Tv{wTixaM?Niv~yU( zvB&u@gq8!(#)ZC=p$ z4gnNT`uLSn^-=JnlJIheTxAarnf(q3i&eZoY8Pzg8Tf3y=$&xQo#=kBA(Xd{ZZ6(wC5^TUW^ceo&8<@}2l?uDCyuwf%`Io}_Q zYrHzeYpVDcb&e%Q^x5)^jX+|$G_G>~#r0YrMZ5*q_PXIOr!ULD&_l#LKP(x@!k;bm zxq^SGG%mZu%5MqQ^m%X37ytej%zGR>Wkg0Fh3;IIf3dIriu5VW<@gu#lmyJXRM$a# zyX5m%@GnFHGh(jfvhcxOifE|%go^l~YQxk60d0?rs5bk{@vBI?IFQJJdY|2t^DjdF zOVKVl0{wz1xD5Z|b5a|ThsE7KDVU3Zr(DFp6m0or>Oq@}_?J(+Vg%uR@?Q+TE1Xb8 zpL=<4c=*L-8#vazjZ)5>;@EFT?$7hp%kp2>fP*~Yd~)5)pg)!T3n;9==J2A_JX9Lj zCHXJi#U1%7$7%iuqxLYrY2)rsbd@C)8xl0(zlY`B^w{VK;VSbnBm_D=hn z!-J@wFY=v9Z%w`P%N-MuPW@{8LVjl+f41`F%kr>)un2($VVYw{-a>E6L4be(D=`$q}Ra6 zz|I5FJpC%>zoLck9N-SF+uc#(DL&Wp>JMQ_a{8N|iNi%4gt|(8Qpvwy=k+$J(q4RE z>azTc-BcT98Tvk0vWJ!Y3+okX^4i>A)~2XmY%bKAs=x2xhN-ls75s~F2m9xDw9PGF zi%S0G!XA#(H(=*cDjD?I=U=pMk>2YZvp#0j>zrJm3W;ZMnNXCw_L7#BGxA23LxqQKYAoBZ!Z zew%$MY|=E@5`45IRN>EaNpq3^UHhD>l=h$KPcR#p76?v*oVHx+R!@q3cJvhD#5Yon zRKgWhGlyGQ;hCy7S3PlUOSRe8Rh8&+qZVl2->8o?$rK-{#Z7Y1g%l);wMgVy{ffEvL{vFSXCx`%6mek zaglUzOw3!i4eke{%vZll;{->v$m0O^`Y;b3I`bFXrwMt`A zO#2Gckl1JHr&_y9-kG|hvFiRnsPdmkzsW65Rj>9r`crCfmGBuQ&{Flp|E^oQC?y;1 zYEw%qL2XzE>xCz>*yk?8#*;47N-IGv9I1t~N^Pp3P4*pTgJ2=~$B_o;*Pc802^Ghs zYd!8A$%aVP;xa+rVK?!R|U%z}|TJecLu6>SPpaEtG0u3E9@v&lbM)9^@{;C?n) zzotPJ+YolG=?H>_g&>7Z8M+p+F!jW5WG=aTMx(s7X~rN6#;qEJR72xHb<>Q}dv58O zafk88T7$EsXGXme9DdS(C&lkFo4UNS^MTOKPx|>Zeeoxx3F+WcOT!Z=z9d9K@->%6 zu?a==&(I6*N0T*6l`tj1?)}!hfi-veLgcPy z%W>@gB_~xmbR(9{7xozUaUk7b8(Tl$!_Yq_Io{NO~ z>29%+5y0^!LeNHB#%?I2ZZu@^Jw%tm(;~w9jZA~#_z&$FW0wf-|MWeu8^tze5sm{~ z_Jx!cw3%bv)>oHZGCbo_!GDeEM(8tC?^Y$XrI!ef2TedWx)_)JCyoZ~XT74Bcw_FyNJ%IM@yo06z9A7G^7dhx) z5@?P{F8-3}MS`oEsPC%4(_77Y4_INSrDuB`Am>H?NXbKy-g|nqE(ON{F5k)q-+!~; z#<|5YdbE1Fg=SnTba~&^P1UqWS}CJZyHxPLin@Vu6}TJ#Gz7nm13bM1my1svA5*kj zjeGlMrT(yS#{NqL*L#tp-74;t8&e-?oW9=|w4zYdubxYBxk>^3T|oT3{v2KwmwiuI z`rn1I-z6JU)s5Qymk53vx+P_-L>&JQ<&69#LUC_ky((}y0BFW#|GThW6}TJ#G=yRs z>_ex|vX`KA<`RL5>+5rgF6Kb9NM{9a5eQJhv5A?ksiIC_FW?E zEq>QxBekb7d23`w|0RO-=TLK~!kh>npgjZQeV5kFa6C}NL-qddMmgXOmLIYwG4LftJONF3Kk$9CGc;EJWui=iB<|mjaUnsuEqG?I(F#RRX zasxrlJf7_J5aY7%c_4|I|4Za>{4ewLu~JnH_NAR*e$W#CzGwml_=yv|1%#yd!qWeB z&p#kC?9#*cmpVG$=ksXveLnnu>!XDiE?jW=<(CSH{eHS!v=aV%==YE6{dGCeZhyfpr^~@wexS>jGX?+O>U*#_zgI|-t?@QVQr9Pb zZ=(-B_+SP;n1K&w;DZ_XUgBkc>20oa9 y4`$$l8Tb!61Bl`yqq8%gB#HkMqWaGCf6r9-?W>ZM<==xZ#qZfuN=x}K`M&{afFh#+ literal 42175 zcmeIb4|H7BbuYZ<+>yA_9eJ*0nWum;S0mXOn~^k@iE$hu9m|F);Km{$39paUHzqXC zO-U+9SD)MFwMQcv%QoPNaT_Of^9_#EDukwE*#R3IxE8{dje!Z}OC6wOa1}=olPKVT zY>fT=_PH~6W@N+bx7PQq?^~;=Yn7d=<9pA)y?^_+_dZ8d6`u6|k0`K)W__{uf2{fM zYrojsd&inD{K4%lU-`oAbQ@K-eRXmCPw!k5kJA^(YKt$ry46|Iy6EF{J5{wUTGqB? znbSspK(wp(JboVh=4ZbcClw%~OX7h9|JRHMoB*lL<~X_hzbXIwsyN|!@qY*6B&mm* zzCg7$KYpK|pwhqi53~sw@AC@pvG*SFA81qiL2ZI5{o4<2<9(}Ee!z=@`giASN>Dvj zQb2iv3Zw&f(0^0HrF7@0;zn-8IXbU8DKutuu#gLP8<*01YH=>K)`(Ltw^8=5=rPqo zX2$pm3$B$i?x4p+#5L0*9gK6E!HT1_hhhmcB|3}=#aoa zC%k8S@(%S_Fmf30$pjPp9-4iU-lg_*sNRU7O@|xaVYJ{$#*L*7JE-523ml;H)S<$Y z##soRE(DBXIXa&+rZ80eNc$o6E_I|s+xlbp=XlRvyzprj_&pA{8LMb^(2clxU=x1} z{fUbhZKf7!?GkO+K={d3e2Ry&-CU}NgK^mq{+0*0Q!K?6!;ce~OOL4Lw7E`bA!i*E z9rO*=oUAk1h4AEQE?#6Z-o)ET;Q1V~!B<%FpdK*X9@VGjuIIbUCXX%e^3@~S9 zD--;!p^9G#j6z`)JW&`%=SQ{Jfm?HT3zPR71{ME1*pLt?s&`)K4w9TaM6+>spVC8TKAK;^N6x zZ`~(m5780oOod-HCg==zY}|^{>uPu>)?%6Wt!~QE6m^(kWoUs|kjJPa5LPRmhYI7z zv~Q==)R73Kj3yQ&3&BrP+gb=C-nUfncG{2rnDyejEcBS$#5~$4BfSuEWb=FKE1LAL zs)xH+h;f?=@qmm#s6FJZg&7ReZv1NDUU3f#(zHd89-uS}BifA6zM2I0*_ojXhXo3e z<DoWifJl%XDs z>oAYYHs;Y`JH8y_s`S=tshy*J)S^sP?a&Y_$Y6COIjD9nj2@|;;f>v_7%g_SFW7v8 z`RQbxT2Bq#5QL{+^|N>J*kv@8Y@+Y+xNa78_WDSJG0Oc>(6%G zu{LO~5%u&dO5CQsE1bd}XzMzyD3 z(cm(Alv-2ftH~h<7~qgt2qB`PIZ^GcMYN(zLch}HLxLO#IVc)5PC2d_MH@ZOPGAmi zW6$>f~qBeKyoZx_-0d(2vTM|C=(bw;g(kdCc2evi(n-A-uAS}1ra$h_hq zs7wpBW{g)^cUXz^rX?uRh^Jq&;zfE6|2%Zec-w|OOoWdaOX!(_&KxYH>#f%i^y^=# znWDYo1@4cuvf^r54@EPjc-@<4qV24MgeSTUSu$xm1N`I`m|utclYoBRPchrPT8z>j zbj%70hg1rd))r&lx({JZpQiRq=m2!b(|4FP>uvDSu5E zS4O<)twpY46=edEfz6q&-^HTn;mn}L6q~f-k*R`y&83WLaI8NQzwbPvzMKOn%%y)& z&Bq~(dGGP?D}KycWUbObhHiu;BU(6aJn!k3yy5`8N1f96jiG_eT|IfZKQ14?Fh6F; zkF7m`t-`np!t3680l(~rgUzE>Z&EA1YxQ(6WRn7g!g?o2%4 z&QE&!#rXA@iXGR>q{p7A&O0Y@@w~V0j9+KcYzhEdj9*sT@C4}28Sh(p{L-*RQ-O}W zKpi%K%*U^BjG}FPb;_8p*v`XLY6E*agfje!eA-HN%~u=Q%}9wR6T&(OW%w1rud17% zGG3d4P>NsDxyh;%71Rg)f=?23`l4DW#V&_uH#KqRN6PVQ5YwW84AU|m*e`fC#364j(zDSY+0h$ISxve>@I|?Y zx<3dS!wY)yq%U5gd?6_M4?~UT3f5)wE@_T7@Lb{*{Y91IO6G7n(@nNR#m-F zs}1yJ>}T@b)E`M8AbdGK0yuJ2fr%n7{9nbKW4OY zYkG|by?G|ufnPOHeSCgF2jNVjjWl};_~k&qfYfLM_etwl9KYg8sEUh0Z{3GrGtZmD z6q>v$ukVw_IPeRWKU2gnpq0};0865Q%*Al<1j-1($1iP3dRI*v8o%6duMtr{^PGQo zrN*YdpvI;w?DNM8_OOaJi zhPftdTt+`rkL0jkrTC><9CMH&G^iq`xm|o*{?koYy=|7^*PcL35k*W=c zMkhk%Cb)B(=^E}&34UQ~NzxY-JmcaVwZ^x zsd+4v;a9sGazNikMDIu_ZkXa}d*3L868yq4jke~Dvt8$?bu@h1m=foie@zF;hBfufb;7x(ZL z+Q5BY3wL)zx?!RmzgVp>QuawSm9AdduN)WquoSY;HfPGf2qh;|`< z-Jb*aK5mEIepgJ{+US+wmv;3%bK17HdYh5Mt7GkqW5)dSGee6LA@H5# zVW&-orsG$gxn4BTpp4k20%uadFKEg%{Hg|i0dt)mvrY_PTnTAjfL~B6#%{sBG5lU9 z!a^y2QAc7%%9<}W(y#=O?GlF-3q~n^QF}K+1f%LVqFsjLE54|HLlCCnmtH~Ur)}&% z1IP%Lwj95xr4MKYAfv`~G)+rs6GapdtsK8xOUE}<^r%V6km#pfZnPY~fDSkQ3Bm}E z$OW$1Bid<0eBKy#co}{Hww79R=`FP{7c#9YlmD!)nFJ#%#V^vHFe}j#H$2>b)OlAf zbD=wV{-yCtY406CraBX#UFYbz(Z#Qp;g<(ncY5)SmF7+2W#DPUsCj3Re=&Y(XnUCj zStXN4jRG20e*WuAX&{Bo^*l_%l2wydl9fj9|FS>j%R zUwFc8L`%ZljW*v2A|{iWhF`7~zm&&yhpe&%GtDMEDaEhH&{g~^ZO|ml`&sd87&P>` z6u%f@v*`1CF!<4gLTf+5lzjrrF#X5*x}kLCwAXCpbl z7Dp68#P)$R>ajEbTD&Nh9gNooEBeWCFN;UG^V*>*#t+RsYz8yXFUyR$^%?O-;4zxd zqlkNci=2592z!mI`In2~%*enAgpcIHyC{txR?X#^Kh<;2b0L0P0O(@;ke=|+s)^1d zIu32g^!v_9Ht4X8Li|uZG1fRX*t_C(dTdoJ7d(K;^qh(!eyx^!6qs+kvQq6)v7B{n z*U{h}3h`PL@ymW>Js@CR?dKd&m~nF*aZs+Axl9qiD#-N}0lKn5bF1s-X(GQn*$ekIzDZP{(a=r^j(t;yg$Ixbp@U-XFC0R9F4 z@L{_FD%16{VE?cjzxJf&jo-Mm@=|ma@xyiE41i4cxrBf1(Yvm)Qtrv_a;u?MiM*3s zhF?qi!fC+z8Cn9^T5;Mu!oFV_eofLoW?PJ3%cx2V9uf2L3lPB3LL2@VhI2dY{J0Kq z!DjmS^+nnrj3i8OtI$sg4nsm54vi%X@eO#4)9}mf=-ILj@r~16+Pt5|C^TUy#jkWc z5z3;?GqhONcmS>2l<}`f9bhYG50Qo~@Gk-pE5olnD;){68fW~HunAs7QTJKvY5h!& zA4ZmA>?i4ariQI?$q~hA{EONctw!l^HpBhlnb-aC@r!Nd0T(lWLY}6_B}@u)G~K4i zzvN`K2U|4B)6xfg=Rhmw$LC*H$wyaewE8&x%52?f4FPUAkZ9$K_|-*wDB(nbUn)bf zDa(Yd({{r_n;u?^bik&EsUg|j9;u`6A_Qkip+Uh#Jlw~xTJx>cqC{w&bs4?Q{Ogwf zSHQ?1tS#c#14CyLKlrcOs_WtGEZF&U5x?FP&!iT|5kEXbUt=JfF!Drf!tnXmHlSyN z2^h`N5AEh`m8_ma-(dYp6!9xX8v+f|=@G|hFFQ*d!`FzG5c&9_Q#T5?P_O9-?Y3jG zik;j0Ddr+R@8ee*>d>ZO-p3tGuZ!u8d5D%S@~_wEOyF_S%QV&9!E1Vw{(>8)i}-a0 z40`co_&3;x2*J5w1_e!Oaz*_5BX=L{vyQ6mb6a|D+?&kX!*r2Byp6B@C&-yxFMYQl7opb(|6PmEv<7ng9o{1>CuujtWKi&MQ* zG`m}%ZF-~*@3Ar9m!A1Jw%;&)C1IxT4prX|e*>d9j<68)PY*6p#T;My;;%dHm{uAz)WT zPYdE&a#ec8N&02sJq~|stU`xyC-C)?P%G$rEP0l;c>O8oUpxvPSM-)>GFHM{kPpEzmw7nVm;je~MfR%(1_jq!(?b3WD9o_6bj);&qh0^r6lYw1QE+!W{IWYo zv0l7PpKy^>IxEkcS2ADr@#|M?-gDT`C+UpJxR{@_^pdGZn&)3*UVPq#r}r`|zH26G z5liv#>qT##6+P-OT510Eu-lj$M4#y!>2mxUad=JP4IZV;LFakXsXc1uSJ}s}N9jlq z{EJfw=iJ4Eu^folix=Qm-m(F|9GJKPs8#-nk6*Bm0c|0*sazS_K5Lu~ieXubU$=8u ztOwSZ`BzNV>=5H15t>_-^DnfiM4KSu^IwOZ&$lVXFAuF40^s)o3uK?;$TIx0_j%SB zT~)xZwDBZ?50>HA%dqP0+{1BtM|QefzV+nK)oFVMKPli>fKeD*l-t0EWZ*bK|3-RT zCHQsBLn{xqK)VhS16dKjx+@sAVp5>1y3YWzr+~TnK5Jd({MR=FfYZ^-8+zUR%4 z&%b`Iy@DCspVP8khFJJ15Dh)d9P4SAbuO(xG)Lezx>`v@+8U2W@0t2f-QFRL;TJwGZif{&!-0bgeOTpm9( z3pVp$wUZ3_Z3_4mVh@C{f~)vFu1T=-`86$xA7WhSb0h2+%<^2vn1gY7{41dCyqEvd z^#ET(pPz8UZX!=jp6k?G|oTZENL=J^-R{xwbJkpD_qmCl&kkwtRhEKT)v)P?`rBCpTDFRTXgU!2!F zSJ&yz$Z{JFByKOse>sQEWp;?&ON4#i1gs--B-?Ccu5EAsaQ9B;jo@g%-%=O z%EhVJc>ihntl2RLe|3V+h+!4WS$_S-t76J|oK~y;SGxdP_3+hmp409cK7O6(I{ZLe zH*98;e60rSo-%HS71egt=U=}=eQIZ7b4px7%&qc3wxpDQRm7Z)pdOoTaQyE(E%I_W ziu7@6lvWm_klbf8*aR#{C#*Wegh9J{uti7dhcr)GHx>LtuHW#`sya#&eH{vYzKuOb zvfN_)@a5opfgeev_)pOrvLg|G9-Hm7L_`r8G0#7&hhO&$J;CTuNB7d=9tbDWhk0Dt z()`yZq`rVw4#SoM^PcnYYp@tU95;bqISe_3&N~U+=RRtZR&BD7|N87h8qGIvt8Ox{ zQaio*`5w(@p@3hg-#Dn?Cu}!@?&0pXMEIM=c!)PBG@M$3R!vvS}HFhmM#%JUOemS4YNIrmYcg33(M-My{bG>~!q z1`J3wzXk89_+8pMmfot(MZb(4wBlVyZQf(Bet!K%oHm#b^jUXRX6YZ8%iKxKzZ%@? zbp`#3nwL5MIf96*A7WvmU z`9rf|oAn!EbK1+bCV_DqXu+uI#}B!FV>hMytVP10KG;=jKMekN2td{$j(K)BLNaO*;&|atS^+kHS z{WclwUX42@whyip5(WGc zs0UE1dmFRx{jQWn{ssK1=;ar=74OnX7kqilSWHJ13K8A@Q}l1@V>ztXWFdZdQnMs; z7;wDVY3VZ4krU?TNF-NNlK&b5GC70Y&fTU;nz5i+4_o(jv&lv0{rZi29QK5P4oz^0 zQ5%-22AAXPh7JrLUcq{5RIL;R0_c;75#;<&o27d1<#^vgT2q3p);q4UpmkA0? zm{V}!!Pq`4)b%NQvxtphTz>rUGN2VRmr5NrJZ>$h{e5~Q&4EO$pyY2c{~D%t=&~^e z*Qi~EXZEi`0t*?jlKj^`$@Lo=zurS2amJ4ucdR_`Xn!MHnc(-J{*e9WL?{Kv9=0V@ za}WF|L>PEne*SB_dADd*W}@pB@Gq>zowfC~_d(xl%JN?uP-;?-J_oqwppKn2yR4=3tUIhgSp518 z(0{X2w7UJh&RKT4VCx(J*|hqNJX+~-Wy5>>#|K_Bb)Lw_uRoyuPNdt~D#jIv*j?5( z@y|8~)8Ji{@UI^Mtu|)`@?Qju+a|`H?^C1;yUxe2E9i%^p~t#e{GSkFHvj@g)2L&V zAT@scP{JC=(bdKr+_{cuxVrJUn!p-{O7dSP=+D&S37B`(Z>Wwhg}-(GDSA&`%XZ$! zFYqtB4fTEjC@i%the=uD9A2)8kI%nGl7s0;6zSIp-J=|3QFQ|yQ!NxNi64$T>uHUQ zep=L}*GHogF_|E&1ibgM{MUNbkbqBeDQ!>-8Mc}f7};_jyQg1Vzj0W#B|_Vc`4E=% zhQG}MwaZnEU)m-_0|VGvk7E?pxHwG@k8L^N0ht?4iDLXv<2z=<2_8j$IaX;zu-Q9I zJn`d)QOak#qI91S+s(i4x=g`wO+`!iS2roz6^sU|N%Yz232o~*Mh(H|U-dMAN>dZ; zlTdP*HhUxOIv(C##=o9X*Q`O@59NYt(eY3>0*NT(I6kM8e_=Qph4mgg7T){h7@b$z zO8ETi44qAO?ppO)ppBkO!JnTpUJO2`u4H@Y^RMl+x4!j0^WT$pV#CsAbz_e}{f3G9 z!xH@ZJ9tFRZhdbhYCP1JmBqnE2C^c4G5^|~jO7qJosV=3GLiM-AaZ|t>^}ec9-VPJ zoX|bSRW#*xJRcs8jL|<+i`Mr7|ANQpbck@WaYA(`;6ClzGvU1JzzHnDFL=W0s}i=Q zLm}1E1($dd38V7-*VmA9`3`$}?dClcxy>4y^&R>r+L2=6K6 zzkpwd?ctR%rQvwlq3|e#UxGKG;?K{2?Sqx*Ol$!?F%f5T!i4(6_e^M9rWC&p1J-L& zmaad{hIjD`W&5^RrpUjl)W*?B@4|he)j`^eZcGE9ce^b)^S4F*^(m3;OQ#n^M3|6^ zbg?M#C2UmuW{UOmSDJUb4STD*lleg6EkX-vU_pU@nW1}*n8SD1@OmNtCBwEA3cO{v z+o8Bs!oNDezgm9^N`-}!2v$R|!G%lWhbQUj0MJTZj^T*8gD{mb1`ZzkLeJk|{aaD+)XREkgwLdsOg?!Hpx4-s*2v&xilhB5#C!4xUCt z(cFQ`bDO_~`g!r!8yk9~$0~2vZP

eu*}zWMx6WDri0MtNP{{*8u|VkeY~bQJ-m} z7M)*%{Fekx&IC-iaV?u=LLrBPKDS_pSS>~mx7mKh34t=T#Fp*W-`gBs+w!t8Zoa__ zx4qxTuiw&P*>)3H|JCex$V+~TaiNw^hK}`Ddh4~+9x>tkMWbUF#US?KW)lK?R?z`b zte;P=cTg?gBLG_gr0On(up6C+eu;p_o%-4Lgirz^(WXi8{QT`U9yAl& zsE%-}Wpa+=rE!yU=zyA+LYt_!rd)q`sBcj^Hf1amUj3mpH}G3^bt2YnEEK$4x_+L^ zUt3fCJRHE*!~HlQU@psIANu&k+5g3f*wl(;5U$Mu5Ig9c(>V#2P2PG9&D;*RuyL^Y z)&5&qzucN1i#Zbdl|^E1p*PP&9Aj*dLp{LUN5J*qR6rTyUmit{j9>)uIc8P0 zU94pN%2v&ReqkTF;3=l3Uqh(xgf6;!Dy$ms`E&QeEvm$4%liW(>1;b(+xhD#cqGM zJ2r`cwqHLVTE3C3`d+b6w}C4gqeq<<7e12Xt%Vsh14&A&s3UIhY-XVlF-m^@Jn9b* zVjp&^#(e$Zq^0ec8%kT`=~w!SDY%ZEw8aI~`at$;;l&Rt^`7Va7d-qN+>E!eUJwqh zh)V#p#7^+}7pgVfmIsjSIsw>f$!-1zz}8?N{M8cvg~*bPnO}-f4A#Q6?8_(xv^t1A z=JT(Ic*qJ!eZtZ6vsZw!nL7^x3w-{imw-8bevb{VSR@glBJhh6{)L)kg+8C6zXCvS zdEGe9M2ukPeg5?jmJ%#GQ+Q9x3J?n9()vAm|1keTzFXnzvfN4R4?L5O)3Av zaH1|oG3JdcDZ*R(1jb&%zvc!XVKiSSUbJ=n{2$&uSA0F?{7F?A|3cc!jmE*h_JDT5 z6ok}48|T_e_}2kmCZ$K=uh$!OfAwlPereUq7!zJu%YYFJz;B^g3IEy=gzu-UUU5w8 zm$e8sp`RKkT*klh6(%oIUcia4K8Hu)^DmBX#FP~%jJ;iif(QttpkIFeYlz-Vcc}0X z`UCt@;RjIXIg;K}#=jV?usVa-Q5wGjhJI4Jx&*)2RO)D0x~t3h7uHll^-gKi4g9K5_XZjz+W7p7Eq{Zwxc-n~>+;%U-OlyV zc{eO9;a>@w8sKOcW&?c=gf|(HloSuR*x?gJ{K{8ryn_9FEgQ7^RvuEB+(qgSIhDXl zWM$|MY}&sB7L?-`%%ESkF@-{oXVv0{QvS6=GHjtg`HtO*jdV9P1WWnX4%ASUw&Bf& zHdM~P7`Cif625T|Hgns~QI2oK+1do-jB#8)ul4<*{#Hi|DddHZ1loQQg1#5{mmbbo zI1PTG+Z-?^YR}Mt>HLei419h^+m@_h%0sj`7n>~PzjXb40A?`V#ry)oflUj=gX&>3 z3~nWD?vH}a)TY}n+t?m-#NbR6rK3#&zu@8XaPn(<@N!28N>h`2RlE@2;QD#)>T2&j z9qyKt;m{adXN+q)|4MKgg*(qch71eA9{T+2C&0MHCRXQdl+AZK5IT?m)reMtU&w!5 z3bZ;wFR7OFV1_YQV1Q-#m7yqM=EqUU(V`Y|%yZcDB?|a86ZmC*$;L=e@R5N`wZ?7+ z`V#yam*?C^B}Q>Vy@Z2%_hs_9ygIX@h+n~T?lt2Wg&vox@{*F*xOn2@*FVuA3Gbcj z91u3l6cUAH=f7Iv7S3?dpQ9)mY1xHtoMiuS5<)S4$WaTF7meghH6fuY~vMrTs@%Af7z1Po#TfGopu$9&l(j78>%bgD~^8h&DvfU z^&8I%Zi4!aeYIGo9*p7z4P+?WI6L!P@UM7W*~$dB;rQXxiMGLT<`O+Fr3VP$U>)@1 zhdZd>)Y)xacBrDgQ2d9f`5+F0`StUU(}pBcb?Yk6n<(UXwO$vWsOB6x@8j2)=*Q}z0E*Y5KPmVku)6@S+V*R`~J59CjVzv??+|$EXEDHEaTBLdx+= zGDEEON+r?xZ5&L)lOle7SM7JuCKVayLXMR#~YL#i?Y_15x2XOU;2Xigf&!N;#U0=sd|UU3#gtkqr6EB+1f zx;3flGW8y4;#F{5sp$IeE|2 zidSF{@t!FJBoXa#0EmA4@bA!{)=~85W%Q?c6y2!fLPWC4>gV@Lug~He)I4G)s%;)c z!t(Q9PTg|~xe1KD_Bq(h*fFd+5uQlsmycgRP*bw=WGrJmzfq3rsLJ zpw9>!Lcbi(CZO|0{L=gjJq&Q!{FQP>4)_H|Ceddfzh2>JAy=6q1gEay_39-Qau9^L z^f(&o4>xkP;Sl!EenLPg-h}{;YH@&Q`S>B%AL)7xwINn`O1V+!k z#Ctd%)r#TJIfV@7WWSGJ56RcDSHnB8+(>RdiT6~WS)a zJ3oX#IRCZsZU|B4U)pbB{Q7rlcf*bWSJr7CL)t3{2Hk#hD4z833+I*t?NB1)V#-iW~L@cgjdxQo|4pIb-$p@3y`wZF;&6m1NF=m*>z znSbfAEBba|lWNG}wvAU@Bu#RlT|Wt~S8Ec$FPC&1KEJHGol5OTZC3i=!_lh#zQps` zhxzyD`#0opDx5&}nU(>PlmP@`PWK@Eg(^KQ|(6DDWj=sKE$+BntvmF{A!|msWr=CL#dOk+eA!a z_o8tTzk;ypC<6dB1AZYG0#cLi8**-7EU4gV*7fsa?CB|^np}#rS&pc&oo!JF{`s#_ zjRoN>?EHH}od0?f`7hS5lyThK&)X|bVO-#qHdK!T+A)szGJ-%T;1}g+kWjzjisLk> zI1v_sYQZL$ZlQjoyJEEJUZpvsE7qG0U1m@6QWKj^cK3+q3;c`qtFhP0GA=uf5(PZ% z^dr%FgP9d4JX@EZJ<8MDqag{2FgYh>ebhcZ+TMc+&)09P4S;`%$9WX4H$dRm!086P zIxl*AgYVyXflF~l497vZCJ=HBJ~7kz5je?y{!51qx8s1>V%k(60c<6&ayA88(y#zW z^faS><2tn!-mv9VhGakObcdE!him{@7JKZ7r#tDHa~J|#+-4I}159D$r)y~-*enpQ z8?&{34bi3a6LoC@c5Lp*b1-P33GAOy01z$|I)WG;e$3hTuz82>SSO|4hp80^VgQB1 z4;T0s*KhnvvG?A1j*hZnJZ9Y0jlfjX>a&JTz5E`;59NkhL<>DUZ6Iq+WRAPnZXV_M zAtkttO)2_&?lWT?im6=u>Xs_tS0x1U<}gu*@&>6#ii>U(@)hxNfYzh?-2 ze%(eSP{AHPoo)+2&Hsp|QXO$iRbS=pu@v9Gp*oJE%`>cDE`(q36ZX|}UVl=kczcCS ziW|W3G5Q3-cxD}3Si!h_aHYfFQo%11ZXe28gE)vaK#hm2Y}Xt1;7u*hTLVcSzgp;9 zqGinbx_Cnk(n5j~jR&`{#FHd+u!rBn_{FY>Wmg`>3sH*WzzhPQd4MC_0^b6Dy~tfn zVO%aPqcA}L=DMqaUzK{j(pS6;*g~JPz$PtBLWxd7E3cGA{Ni|T=lJTk?vJbIu-u`a zTAhRqkhtLfs4?qp5s~0u-GiwJa3|`Fz>ms!^UU>!dnh($wIRNNONY9+*hBR@Fb+<# z&C@S;_AZZm#u45J|5_Q{hnCT_*V!R75LR=hvzioN+|>Oa+uajitX%@hYnN5iic?~n54 zCp2sE5Qeu1r*KaU-0lT9Avv#cP)9;V6Yynp`5c{N= zO)p0Ji7?zbn6BV{G|FQ|+{s8gFt1s7`~$eR`;9jQ#PUijyij~Uu9 z=EApdK}cqCB0N^aFT@6^Ic5C`u!$Az#vXCCv)+bxF)jZEA4!UTbI>LU=ftLg=o(?& zf_>=lr}Fjl$|9i^O<6(2*%ac3SV14Z@^*~56*`|o+AAcUblXma(^gA?f9YRIr1OgQz4!f}o z3YbycH3SP;j33hZAm@oz0GCY=F$OaDy-q29;a)ze>B$0l#ExfU8DjxG-QAW&fXgo8 z7u;{Y_kii-64&fawtUL!inujp_=PseNW#`_bTO`_l@+p2?vzzd0lyM~g~ZoxAOv?g zgn2ph&#Eu&-l7_ss><#^e3Ie{ERwGmXk-4>B*8BZ)|BAaK00Lswhm(E5$1Kn2#3md zIA577#V@|?r$!mKBmT4GSZI;aOi!vM6iXX^{E+j@sGsi@^&E0PYThNbIU8VjfM0(6 z@Y}$zc{yb0exJUf=A8il`hD7<{vh{}wW1h5ggJHUKS{L?tCb7ven$0o-*)mN4&I~p zyuLpQhu&(^##%U3*TiFv@rUBRv1?RKqOAT9UegS{{X_>WnW0R+J#WS|{A!c;q^@HA z1t;NK#vOtg8BN14M|RuTKYf@41j?|H(j7gqGW_~cuu;}$@%no~_HRj5-cB1ET6!)k z!7oI6uyTjuikwY`EZ{}SoJ7QrpdTJ6}Y*x_aOA7&IN*QO-b zA66665bi{KIHqm&UkOum14ymEqL)$5kGMOY>j2J#Q7bX%O{? z6jIh2XG~7VuVF?jzJFtrgM#XWSnAw&({%jGP@1At9f&CPAlr>kiLI2*RYgTf{l;D| zj4&q%Hw@QqL@tB>)sU?!!>?0nF`olk2Hy1XlXKQx@+sUO_0@E98GeDD9K3{a`CZZe za;rUSf*R>B6`a64e#we+Htb=#X07q3bVyy3Ln7=iyH=~t1m5h&4|mW3dH@u7Q+;B6 zeZv?69ap;uBuY~j>gR3RfoNgFK-C&?D|B$)L2FI*4niAYmfe52FB?gi^?i^ z@ZK(G@LdJFkuKnu0)8P+BtzL*Q-L=~ANz{i@0kFO$wK^aJ71j@FF zhJpQVtE!nSj~_-*v4A-C_n}`_CW%6hjd1?i`;v?oUi>iaL`^t+Y&Wd<3}P=uE}%mE zkogy)@h-wg9IHebWX6D<2N%XZbd3Uj1sJVXyGE8_%MJIyFv89g7+C?obp6I+C;X<- zMj&D?>TQ+*sqwnMiSOLu=9^OEkA|>4D8~FVp;xckIfV~DeOIFEQ=+e04zT` zU&Jruzi6jvG5>muzTzUJ(?XkY5eH(YW%V0vTaoRG0GF>l82ZSpD3C}Gumr!}rOw>y z4AU++imS5#vPpu!0fX=Phq%8N|GX^-cg0cfIvpc$q@x7=;u*^Z9iC_AUr$iPu_na= zdMw?VtxgFGiq;5VEyfR5p{ttOSJ56B%MC8Mq1xSwaY51i{1+&UdZ0JYznYIPoD$3A zU#kWV%8eEH7ndEzdHX>Kw!6Tukj&Br^&4hq7G;OOb@a7ScN#CtUtf5Cl+(6%#xU5H zrjzac;FSsy#j^a@9usPQ4g6Kk7u57t*TLZHj94jtAytJFG#!c$GDpWi#5j8%w>WW%$)LG$XwN%fxgE6e2JAVB<^RLG#tgKx1l!Viz z`g2ia#2}ROFT~kWjq}y%pd+zNCjexcxs>F;P@Cbx_iLg3iG|=+2nm7<%pKif;e(Ny%+Cm&FfvO9$t_L@>A;v@2SV_w<>uE(`HP&p*uPzqsav`Nc9P zqz^i!QAl4BKLj?p2i(;=jL{%mtlmH7MA$|0UqGvH%HXhJ=UR;G1$u_sZiAi{;)nYF z-u(G5@ULYxYzh!jv|$s}Q$ZV&?8Pm z%Hk_59;Vol>Ry3bbnHW*c}e}od3X15+!{330soo|-Ga38LA85&{l;39$Ud?ewMN|? z>W}X>5I^*oW*PrN*pSNrU=MS#H;gw?hrgH;D<$~FwS~GrD3s!BqmHQ!^fB&F9#aVT zwTBuM##QGa^{lFUYA3}8WTnx@g+alO$G>o-G+rH`47|E(Q#=j)YGT_m7S#TszW(g>YxI;gVj~_gG2(OH&vD3!tw+ku`gtoKX33*E9pOrg{)U0~^A6h-_(n}fNx;@wbxkhRg>fCFYdQZ_%D)s!Kqo!7&^7N7xCpUN=f85^JoEig+(XQ~ zN&Bz_Q6?;D@Gm?$?)itvf7zOHX81h{{40sm+ux_JaQ>?dzYyhPIG$2V+|Yx@0_QcS z<4rs%!7qj_j5MF%o9I7IuYA2TjRBV7SDa~1)Zsi)co!56`LCdUkKR9C{1EqIy(tz( z`g(UBNANSCtgNn$FR9;P{W3dhO>DWy*o|`{hC==;5S@l!8m*S8fz$)J&9_v~HSbO} zPhNmu`r1PpvjJqaz^{WgDojf1HxAG{^n{Bn-Z6F7gRQf-T=f3KV_}?CqzQ~GG@Qe^ z>_D4@SLyRF9p4zS?n)k`0lLbCTZoGbI0(=AuLQ<{_#yMJ=9AW+}yC|J`KP0&YYlrY~yHq@@T^znRvm9ca`85PWm%iP2qNyht;ZGsMk8Ta&dY(erdE~ zAX|p}Hz+5k;^p=8Y*#faX`-Lxs$^=v6 zav6R>n+63ah;kMJwj3G^e3YuD;TNdO*{R)$|(;~|3fy)dxm zv8JmV?xl~)s%iLzIBlx2iC$AWA2-iD>~^d}pZ)V+yD%A9L@d251xDuAZ!mtLLi<{rPuc7` z$IP~BzR4$)h21E{FKRx5FhZOLOwNDRX3cH1z$wSCcU1diti5`!_-C~!7cz|z@j_pF zQ>?UpgVE|Gl+E)#L?JzDCA^H7&%Zc+i1W*gR&4_DC?_=0c!ok>@7#6Cbo_Ghb@mS% z#-gY#3~sQSSC!Xq@Cj?QL7%CSmU8{!hMCRFp@Zf4GL~V>U&Jr? z;Xo^tu_6EEBJBJN`{`82U9f(B{RZO~y!X9eTRbk*0FQ|&)q*N7JSo91*vv<9g&@Dd~I(yPs9j)o{nEr%w<&PSZu;r zD)mM5)A4Hr)f#8JA4|5Jx?#AhA-P$#Oy^&?HJZEH=K`80JVjjhF>ur&bv6n8;e_=4igQmMHzlw>#m+e8;oo8lBvcqk;mmS{OWM$;638$ znH_Fy*oq4OJr3J&#;?BxJwboY!lh|BcJF~?bl@egKV|r(aT#i*?l@*P0ig5aD&t=< zu&v5h~lA3?vf_=)5s~o=&W-)fS8z`pgCnHOtXgZr*j$i1r zz_n56s(Gupj4pEjp}=~@5kb43Vy|MNqHccdCHTb|1Vl3?5I^i3j7`j1R?9@}qWI;~ z5Vg~mq~+h0H!c4)CuNM&;WX_0w=Qdv7vo?2_d#%N6b|_J{_YOre;|lDoqwTp9I#ah z*rLd1qp9RB2)fOof_~-mUv}kF0miSYx@x|QNf)J;@UMLob4;8JBG8Hk@QVk{{6Qzb zeuMF=h3gN05j;&#^n{PC_@8X~C7w*ne}(k8s55az)>xu0ieK6k5TE~w4layfqEOQ{ z9lscxMuEA=*$t0Wq#?)>{F=%2^IU%@M)_L);}Dvh@8!o{%D;5=$hbf^dheat|Iq@T zmg5(X!sB0Cwi_3XAF|u5U?Il>?ZMc`XJae z{JO(4ardj(R5Wr|OMQNimEu>h8T%P-*ao=7Q2>XN-_Ird3-`}Y0j| z4XVCP%w)j@HkI%%PK|M&1JFS-b6a}~I#`BZ+P0hw^c%5#3m+0|C_nZx`~tr~tclg! z4E@kZu;9*^hF`EG+GbL_-I{LvPGMZr@GHbN^Jh3x8p|3@4i_Q<3(D~e_ORHMo;!x`EfbA4rm1&i?y z|Kc7Zj0h)Ch22K~AefI|uh7xdCwfC~8tuGH!O)1Yh|a+SDaH?7TbqJ0^Wo&Y#O8rm zoq2b%A&c|Nj9-(UpDj+yskub``@ITKDGB5y8yi8l-UYuBgYV!60~wV8)Z zQ6w@zLQCU^H2V^UGJgz)`F%2uZHrfPTGM$oYQT0slIVZ1N0Z*y{dT^<30%%wx>W zdGQUd-*_w$%UOR1-xyT;AFO(f}wS1kJ$5`+s+`nhiSEGMFh-p6z9K=ub+-zd}OjC z5q{ZthhYo#hy5qg4Q6#;89eoL|PD{Svde&r$=~Mx`T)h5Eyp1GE9xHFsxmoh)isaOKFz zQQA15XRH`M6dPsRn$UJ@KDvQFq_ShyxHt&@zQyNXy8ci--rZVfj3+U!Q5?qnmAbHg zgQJDOuSFhgtv7t1qy)e6(ZZ$hZCX;+KZ;*!MAP+$lE=<}KSft-EcM*N5vbL(4qHD6 zK7PUbl54nHV=32fbRpk#jEf?8KbPRwb81fx)f)QR4X(S$-`@-V#b09l8WI|<(#9B< z9c~Km?4L*%@XON+_onNwk#Vx1yY3fhu zu^%h&uOHBvEba`*H2y-s9%jM^R=g3}th7zYe=CJR%o&NeXxhLb6#f%Ye*=FbKdwA} zA^(MHd7NLKy!`3}U@L{o1m0A6-#8ybQ^9rgxNJ-zOa3udne8_wYjgC80yfz^hg`pb zzb8dzsuspGsMQLGXVGSJ3I8%FL-4?q2r_I*%kIh_3ikPzm;V|js6&wLJW>g>a<~gh zk1J>N@V5%*mqEKuaoCU`T!>#Nvxy`B1^%Tt-dpn)5@GK}OYw{AH=gK4o@iK{mwbL1 ziLjmYqXgp@u2#_c<;4#O-@kq2G3vH@#v|D&ra*oXFdny0Q=)aaSm-4i0uFQA7B>x2u*#ooL2dwu+xgC~t?aG4PCe%_3v676xcKURWY@8lNc zYR=*Br)b*sHRCdRC%t?6{k;;fwb$T)8&qbm@pJWVkJg>i{Fe*scQ&8@3ZI?TN%)Ik zj9(@BFZ}&4X-y)2sMTr`{lSwG{Nnr<#}A={`8Hfkm48ykzp#SdkhNM>!2am5m+-Ii zgw>fu{80CK(rSiH&~~gWeuyRTZCwekEaP9DYl}8>(l{fh-yd}co57{NecqfAPpg+a zeo>PDLL23`fxt0F%|XiJhlFvl&D3j}LjWhui(8ie!k-JAY|O94B=UOC!Gpyp+yZ`S z^G>CGo{nGi)N-R&zHDC;tU2fl0e4zKGc{I{ z5&=hbNvLN&a60Uxt3ghaUHg2APc%Pn$l0GN;>YeM&naN;5 zpsV|8oa?)1s+nGYo=Q~Q68Ic_R?RL7fqMOQ`cAA*>`K=ztqn@ zRB@-eHSu`}m)zNROX7FxXBTwmy6cTQ)ys)%>T3>Z;lDsYvEs{#|5;z-=ErrN_a6S| z`h}mb|LmdQBDE^<8N6qvx93R|^~+bZ-T~9O)C?+bdWb3mYt$`?OY1A{&I^INgZ$)k z^%aFS*U5_Bz^(Lon(b=gGgJqGcu)J^x~_{7s@|zI1IZErtAi(nwYaV;=wJoAOgmW= zBHoi?8S=^vB2 z$kyu10ga;R%u~T+=Nguz)xhMky!!(c~H0{j}C63 zO=ErcA$!rlJ!|qpXicLn-P-uTJq?8>)OmjO`F}Zo>il~b3Vxgah!A_pTJq!@nLT%~ zF!D^P;Q#Z*?W>-f_15Uo-)LcRso=Ny#9w~uXZJrc{>Et*wq7%S@99sh>pnDV_xQ;_ z^VgJ>0N<2>UW%( zV;2bix8C#Gi3AmrQhT!_m)K+hg2tk?fuza+-KM%5>v zO?O`)D6cms=9A$9&e66Rwz4nfsmiW9)jjeo%}d>f#BxfLlv}0hI;T97oNI67%6;fMKE!&K7M^@X8#3( z%FkgyG8|vTu4t2^UnB$F49ASZ8kfriRrr=%*)tQqL15-Zgu;4F_r;34AmF_Q|9=`T z`v6_UWqIB28lRCbWIuLw&4q$2jH~+s2=GC{EqsjOxVC`HWy118lmAC?xg3rQ0R6xG zZ(Rt-g(vU%ZOU-j2WTz$Z3Is9Q&d*lWx~N_ZGI@VhG;P`|d#AoPL|>@9|$4;SJ0`=KJpD z#ZIwJ^?-PQhU7x~LZSGcqFtYE^1V-S#|ravp-^~_O_#(2JR5V|Qi1r%h=&*#eGmTl zA(>yrpYqCoj61KUscMj)NPm9Na(WByA!bneZvi1Gys-FRR10?)*ewOqcz&{7{!KW(xkl)pvh!-dBi|6X0zUr>;-FZ=(-?@!<@7 zI0GNfz=t#N;S78@10T-7f8rU?{t_G}_)GFX@icrm^bcp?!x{K+20omD4`<-R8Td~+ p1Bl`yjrKz`P741eMD=CWe`G51?JMHA3xwNy?>SgZOXXkke*p-x>z)7r diff --git a/fpga/hi_simulate.v b/fpga/hi_simulate.v index c04ade80b..0768c29de 100644 --- a/fpga/hi_simulate.v +++ b/fpga/hi_simulate.v @@ -50,12 +50,38 @@ begin else if(~(| adc_d[7:5])) after_hysteresis = 1'b0; end + // Divide 13.56 MHz by 32 to produce the SSP_CLK // The register is bigger to allow higher division factors of up to /128 -reg [6:0] ssp_clk_divider; +reg [10:0] ssp_clk_divider; + always @(posedge adc_clk) ssp_clk_divider <= (ssp_clk_divider + 1); -assign ssp_clk = ssp_clk_divider[4]; + +reg ssp_clk; +reg ssp_frame; +always @(negedge adc_clk) +begin + //If we're in 101, we only need a new bit every 8th carrier bit (53Hz). Otherwise, get next bit at 424Khz + if(mod_type == 3'b101) + begin + if(ssp_clk_divider[7:0] == 8'b00000000) + ssp_clk <= 1'b0; + if(ssp_clk_divider[7:0] == 8'b10000000) + ssp_clk <= 1'b1; + + end + else + begin + if(ssp_clk_divider[4:0] == 5'd0)//[4:0] == 5'b00000) + ssp_clk <= 1'b1; + if(ssp_clk_divider[4:0] == 5'd16) //[4:0] == 5'b10000) + ssp_clk <= 1'b0; + end +end + + +//assign ssp_clk = ssp_clk_divider[4]; // Divide SSP_CLK by 8 to produce the byte framing signal; the phase of // this is arbitrary, because it's just a bitstream. @@ -69,12 +95,13 @@ reg [2:0] ssp_frame_divider_from_arm; always @(negedge ssp_clk) ssp_frame_divider_from_arm <= (ssp_frame_divider_from_arm + 1); -reg ssp_frame; + + always @(ssp_frame_divider_to_arm or ssp_frame_divider_from_arm or mod_type) if(mod_type == 3'b000) // not modulating, so listening, to ARM ssp_frame = (ssp_frame_divider_to_arm == 3'b000); else - ssp_frame = (ssp_frame_divider_from_arm == 3'b000); + ssp_frame = (ssp_frame_divider_from_arm == 3'b000); // Synchronize up the after-hysteresis signal, to produce DIN. reg ssp_din; @@ -90,7 +117,7 @@ always @(mod_type or ssp_clk or ssp_dout) modulating_carrier <= ssp_dout ^ ssp_clk_divider[3]; // XOR means BPSK else if(mod_type == 3'b010) modulating_carrier <= ssp_dout & ssp_clk_divider[5]; // switch 212kHz subcarrier on/off - else if(mod_type == 3'b100) + else if(mod_type == 3'b100 || mod_type == 3'b101) modulating_carrier <= ssp_dout & ssp_clk_divider[4]; // switch 424kHz modulation on/off else modulating_carrier <= 1'b0; // yet unused @@ -106,7 +133,7 @@ assign pwr_oe4 = modulating_carrier; // This one is always on, so that we can watch the carrier. assign pwr_oe3 = 1'b0; -assign dbg = after_hysteresis; +assign dbg = modulating_carrier; //reg dbg; //always @(ssp_dout) // dbg <= ssp_dout; From 7b941c8d7f8d8203316fdfaf1ad0038fc4864cf1 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 15 Jan 2015 15:27:44 +0100 Subject: [PATCH 095/133] Fixed memory corruption after reader-attack in armsrc, fixed annoying LED --- armsrc/iclass.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 329e17655..72cfbefc3 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -998,7 +998,7 @@ void SimulateIClass(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain else if(simType == 2) { - uint8_t mac_responses[64] = { 0 }; + uint8_t mac_responses[USB_CMD_DATA_SIZE] = { 0 }; Dbprintf("Going into attack mode, %d CSNS sent", numberOfCSNS); // In this mode, a number of csns are within datain. We'll simulate each one, one at a time // in order to collect MAC's from the reader. This can later be used in an offlne-attack @@ -1248,6 +1248,8 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader //Dbprintf("%x", cmdsRecvd); LED_A_OFF(); LED_B_OFF(); + LED_C_OFF(); + if(buttonPressed) { DbpString("Button pressed"); From 09b69422e221428d7e4870ae413fdda9042eac5f Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 15 Jan 2015 15:29:03 +0100 Subject: [PATCH 096/133] This was resynthezised along with my hf-changes. Nothing changed though --- fpga/fpga_lf.bit | Bin 42175 -> 42175 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/fpga/fpga_lf.bit b/fpga/fpga_lf.bit index e942921a8685731cbcf0e7bb6f86a11ea629dd0c..51b0681cd6a082550a19dccd794ff40439e393f9 100644 GIT binary patch literal 42175 zcmeIbeRN#qbuYZnhs5#BNOLU9SxRus(MXWN8A)T=0msPFV_6Wzc49RlDfhlv_njmp zb-PF-NN!%*+oq330^|?E0B-80G10ABsC&BFRSJF|65tj(MWc+WXa|KP5$o}WC_nJ|69wFpgwB; zEY;ck_-%enseVz{_cp)h$EL)8h;;Se`Tt{*RKNIbZOCs^H~%ZVr>0c@|3BYGz2^1zR7dyD3BQ<$6j}?{OFJrTeMX zjhFP3rV{q(FVcPd=8|4AbNn7!e3IUvPB&RHPNH$=(WErWG((+zcw(FCJ!S0yI!j${ za@sgEOOVO__zbD{2zzhkJ$T_{@^)j2PE+TSuVj2 zPwVa2K=>(FZ4Acs6bmw*Ngd4Xvoj@(bOc)rKaRGP?vX9!`1ShFSt!P@s{0XrPqyUn z#PZ(LYbEGa>Tr`;<1h;{5ctV$-o_E{ojop@bd70o#_pnIzcE>z<8SS$3g_o3dV)G- zqG+6;*C8bDk1zAqt9RiYbPu(-@qYan{g_$?tUmn+eUDm1Je#lc=Gmoh27P{(Zjx<9 z>w5iJ|49tW#NXmG!uYXlwK^hM@Rms=AXumMPJS}xeM_2G)4kLx;st%mfzTI&;62%? zm&xY$G*mSQZJwul&5W>)cE3gs%C>U+HvKVgEiBXIohjnp7Hu1i^>zF6Q>Tw9GeRRZ zIo@?apF1ew?L*b)mkhP;JKuXwpV3vdIwEDLSonuH|v@J`~AGquN`q zRd$(1sFmUpqhO(?sDw5=iPd^zx2lvjg?$!Q*k}6+-P5mz#k+&Cd(*ODvil4@Ol>@4 z)!teZ>vwx!54sWbr#o4Qr#<~j)2ucf;i7aWZR3!qUunA-&X3@UN{kyX(;0#J88Eh* z4v#%;rs+OvmGPqfx)Nf4r=JL(#JsggSM=*ihxN+}_t>h~p+LWu1pE0Ygf>T3xGOKT6;Cv=SzR zzm==#*EkKrcrGyYap&%0Mu&b`-n#FB%?#|J_OJ9+nUMM~=(Om({=Aame@jwm6Hahr z2^05%c)hQ)0GnC%^h>itQ+Y}%<5?c`pOg%@N9o{zc}-vsr`R5jV%t1NBLX{fL@x`a zU$SB|PjF+&%E-Hp;`^{^1&_-z6XauoOZzq0Oh=!feHb9d47dSF|#f}w7cfPFWM$+9cx%WP9w6_iJzJm zzXr{W7ISoE{mSU`T>Sb4ZKKw1*dHity49-Sm#E;^lk`NcGuv7)UZgiOHHnIg zV|G^$!G=5W@8wqo`W52Wv(7y-Q(Vxi|CBsLOU;L0uTY0u;~3*KO&tXMs`K$??UdYSyl5+%ISapTq?N9f)0aTe8r}GH`DZ-+ zis08<^flR7#+tU%c6p%_{}X+B4t`BQznaIbY%HM<(r(^|&zNdINAPO~__d;#DK1L) zZKX?OvS_^SeJg@r&vnnp4m~-_`;ac9P4nXybWkj@o0>gKyYSmLpEtq6Vro2W~CvE*Zuar<4*pV!a2+)(AC730N|7#HxOnSMg;;)2PK zSJ$aFv+(OEOo1hJM<1rU7}07y`xC*hDH?z)VokBqSW`7W0e)45 z`1N9zfo#}`S+q}s(VH4v@2y1yzsA_;-3A|tSidN~O5f_~S5XV`YZ9;pjGNY%G~Q#u zLlY?lyJI*-}hgWxR`i&4{+D={vjDO%hvOn-x`dWPl-9U}f>eJ`q*R)bSYck(K|3poB0GW?p zP6fZ9UuN?QRz?RoD>&C#_PO{43;9Uy5z$^q>@`xk6O-*(b3Xhk(`g63@ok2WXglV^ zFM7JVT_(;LE3qM0xQUWZJ!(Hk@aqM!jh4w}7ToVVjDgjl7w6ztnYP&}*DC61+Da*5 zjpU2onnv)eOk4D2F6?|WZK0I3vU*-q(;UICDfr>-=!TJDL1IHnqmLU!@M{`w7zm3n zCg~Kd5%I}$@v8>>ixmHI7xmMb`b*1+85kL*Us3+$5izN!sN|sYz-7<21pI43$iGMz z3rf`NqR+=Q^`0pI0$$X*@jd#*bgzZ?l=NxO)&=-g!~6?-%uQ}J;0eo1cz}~{$G<54 znt03Ya@(fo$1i?Q$yh^gh}FO^yvM=xMERG8UxOq046JJEIqa5KytRn%FQ1IWu>Dri zvPszRnYsAo!PXz@OU+9QjpYs3!|@ROt#kR8n&uh6P7;MX&FC4M6Kq^rfUP)$Sf~A4_*e29ag&~- z_RTae|58L_o9*dEzr~J_&Hahsm&ZY1x|`|SW=cSb=I37^V(odeIFK%im>u|s=kPBO zv3%T-C!DNomB!ohuj{s*qBql>>uU;8{`Dqc3l{R~1k=e)lN+w4gS3C`%?0BzZ@p&W zmrumlCcth;{V8vrBly)5kjEYXnIjf(pOt>i;a}$$x|?@yaU1}>{+PG!#R`61jctRD z-C=x=4vKbxKA-UUR|UTSc1(e9Gsbn*xG*38Qfr#rZhTsIMY{!}ddSnSbckPw`zRvz zVhrOln+9O?4taVJ!7pFGO8Q1~keum;EZX$(nnv);r(M&rB{b-0V-5Wvbb{MN@Qe8u z6S4S5>G9&N<;?ZQ+w!km97@y&!&oxLJpCfz*Kg#06^~N(Fg{~+nm>0}ly8|aTyMQR z{DLpiB{- zOnB?=@vnC7p|9`XGX9BvF7}P$iT|w#|MJ^N?HYQ+>axMn=JGG!q&UVB`X#L>*G|vF zzhDpbR(Hd&p0T%4>I1RTJp9YEnembC41JeUlibEziwJ)C<7$W{-~eMk&&R)1pGTn} z8TvPBr`pmy{LAmN>)As}M){Wt8(uJD{3*RDFP-?vOp^y>iD_dF|9aO&)|PbBlr`MV z{3}D&|I{6Co*BRH@))88bJ08s&Zs)CS=sJ6{418O-y&fK3(Vs_mT)ny>}>psmyGp& zuZ~~hLd{QDZ_rYAV<|o>et3a<-n4NF^rX{0ue|6KaXhMRdRF|lrc623u0KvCkwKs5;a@*y z{Cds;|FZ8Xw5+tQuba!iTzXk_jMajFEdc*A6U*n}U#GRRcGojW#lQ5fsZG-#n)LK5 z#IIFGBfUZ^CNJ2zC`A)_I579jgJ1OsSu{?>fnVlL)I?VQJp8MU9t8i24|liIUfJk0 z%!gkVpp6x+JE7l2yWDhXHh#4-+e*`GrF{_MX?l_UsCn=!{+ws)Mi;$8pYnY5x$(o7 z7>?QCdrV>bPDA(hScHE)FYcvXOe;K)vi?SQ=EbiRTs8fa;$PTo)q#Fh_?LOFaMs8B z>Qwx&KV1(l!=@$5zfPDl)NTQ4PoVQ%v{A-eJ^wJmzosk(sas0m)Gs4QnB1{$R{Zc! zMRL;kvZ7rH=3gLdJ&7O8A3xMmbhC^(^Z>PTpkr42FfG8g4gn?h0=5vJzp_oHU({pg;Ma0pC=(Z>I+sdr=J}Ar_qh|>;DXYtY&gSADn-|>op6%o-Spb+Fs*FbZY2=a?2{?J32QB`PZfb zV)$?Lb-Hl*IN;Xh)=oz8OS$or@Qii^C8F?PptDM1eRC*)sP(}w#^XEffSk80qaCHPvi;)kt_U;mOj zTWoiib{MWX?RFMxOU560YZ}3?DSAWev^Nb6o)q^}*Url)qxki2OkrM85CC2|ZLD+- zFIcfVQ8K7U`Jy5J8qpcQQcGfz()KpJv5%h9opbnC0iMJCBBB(XjV zkw#Jc1Wr3P zTZDfh(ms}Cw)LvrA(0;XD!s+4GmC%Ch)W8IeVCR*qJ6k_2zKKI%ox^v(sX#9-Kq@T zZ>7rVj;$HmHkq2R?$MXQKWx1a{fY3e(nPakt<-6BV9c@Cuhch>?V^kw3;9<`TWZ}S z8?QzRsjmAbd1u-Bu>MJLgKR0|$t?c0QU_X@;t?zB)@F^3)^WRY48kn_wT4G=OaQ;Y zm)Di(O%pMh>1h0LTFVM7_Y{r7ZX`><3nan_PkjD0q2lw6uEqZ0O>{BBEPA~;gxGsJ zsjZP;fu@hk&Bkls6O0bRQ?t|31Ia7$_zw|9` zN?3oXPjzqU+t-u+hJF!kFnw*>JY1m$M&uL%!@VV@nQ6-{95w1zSj{`KxDdJ|zo=-?6H*JUhB6@dloAlsRT|CkV|GE#Jr=S12bO8FEHixNIR`^$M6(j7O!iQSmm#v%n04Mk= z{A=NEdQfiyWLN)MJgmR37iQ2z+@`gc#~#5i*`7lWkw&5R{_VDLA^2ctANu3-ug%QA zimNyCaO~4gCmKJ2TqH2AZ5Dp9B}ur(%g!0=GENjemzto?cVT`){&lgnPqdcy>_(dV zxNwT`a{hH|tJYSC@~@A`{Z3}W>e8R2{e?YlJflAaAZsndr;YG0WR6mn(0_omTVp=n zpE{OC;)&x45&nf}VKLEbJY$`bAG|ub83CooWmh>di+>%3n~^MO%IAkqvM5Zxg#7Du z{b}?l(Yp@zP_D?OUoblRkXU&R@u-l0?W7y2aT5BqMBHRI!i~>A;G#d{coOojoiqd& z!s^G?Vrpi+oMNFxM;jOR5kF4-1Push#G*Q#WX{=*Fx@U^(9L8q_6Yxa0%j1bmbYJf zeWKWu$v<&b=c&vr{`I=uIo@`l>16jCec$g(76*R?Tt<9j7XNzETG5ku+32LFy$+DI~&D~wo)=;bw*wmVZJq+_-Kr0>8>={_5GDah$fppVg!!*C`eE6XO>)@=+zdDQ>bjL!IQWOBqx_4}it9Hl zRmkyG#AJqL>*m;f(fn7QG8Sl;;wj_tOY~-QU67|to@46PY$J6+*l+k-z> z?-@&!;$JWiY3(l7ebU1(=3joehJA@P*P7OA<Ng~3`bZzOFm~6< zrfO+WW{z8{qV*ex`Z{+c|IT=UQwcJIvJD!eHN}(Pd4E{H;d+@7q+cb+50kQ~oSU&a z&9-R%OUJl`T6g4J`V+Qc(i68bqQxWp3;Rc4|9G@34H6;XPzl)Z2>-g7P_e+Yi)%cf zUl-CAZ5POXsyfgwv&d)_@6(THT*!exzg!;xqNNLge~9>@oB&e8EKe)Wn7AQMbV$qA zXKpZN^Djm#MNj%byWXVJW>?=A`)1=;IId1nQ!p--Pb#F2&#B)?Aswu%{MTLiVQf;E zlPLc(Gi&2^_qfe{USR80Dt?Fo<|F*e#{AsM^P_WqP#==WJFsx0k6&EBA<>_ms?Qzb zBZc^dG-~b3Wg3hNj9ly_j%@49A(sVIN8(=D)}E z@?UAtF1k+#92a9BbelzNY8gYs z@m7g{JI8H2OF;1P-_9dYSFi;HrTyty(~(o;c#43^Tripa$R(>xB-4y z*I?!quk`F#dKv)zgth|qxyjYldqVy-ZJe?GLWg0T_VCMX>o-oE*Uxjv^&40nCo$2a z{EhPV-gqbdTy}8;*ymr!f9b$4L^JAAiQ$1%xpx>!h9_{^qxmn)JX!SLsZJ8i1!AXk zI~E0_i106<`C9ANYJ|Zxz{GHMCV?kB8T_9p zfX-HRO##2om~Rd#ga0NQd>&w>ek1or1JdOKgD2dHV*BA+usgIHr#Yv=r+3Xn?Pzd%;^6^ z0LaQfhX{V5?2urVU6}W*yD1yrn7|WvZvN|wFE2W#|AvS2a{K|?A6Epw9)aJIC>qW7 z!F+q!LOjZRLPbgg{>Aw(Ty z4z_-2!%o<6@GnNRawUGKs6A3YmJfCpTHp3iFXUe)EWfhqaIt^|00n-+LZDxq|AM;< zYrKg4L&jXgu}*k>4)b5*K&v$ZXmx~?qu3We0#c*;9N}Ltt0#+^0npjCCgZY?)D`|^ zjTo)k1~|X=Fzq7C?RE(Kiy2v%|2m>vk@)o}+qi}O`RSBt`+W}a>i|be`+(i5Y(u0c zW6i>!gedzeNq6w zxFYez0KbZC0Y;&5hm|Q%0RcQ=+fw0Qba-gFvvC6a>&(#IPU5QgYFJ2R4@3U7gKny8 zWVZF*#67$gYxM@<>sQFXMm!z-GN+zUf#9> zu&Hcj1iywaYPHhxGblSWVa(g>G{?8kA^*CFE&l`}Z(dQlwWrQuj>a}T-m<%flFtFH6#ptgco=JetXYU(MYbe8&{O7LYxvJsVcn4l&Eh={WA{Xr z!)fIb^efksQpRIl~NKcy@F#h|dd zdvLgs@yquQdo5!AC6mtJ1Tk!Zc3Jd@mgW8+e84~Ay@(caJPQ1)hhgi2Ul0DoKp=7a zf=K=0m=`xL8C*Z#btrkj_+SC!I-NN%7}jqT2+=}9*ihB?P9ol7I7^O!&ZD1 z@ay}Guo3(^GtlL1nppG-a!D|81R$HH)c^%8f?piYN;0?dO=UCeYJ1P7LQ{xeSJT~Q z>i6P1x~FV#E3pB!87A|K+4%J!(nGM}ihuF15JR&+!$JhV9;C)x{3@g^z-89Q>+DF7X0yiW)JGQnl8gPs2?r*SME!LKg)W4WdXwDRlc z&&HR^9~bYQgn-!FykK|oC*WVOhviLg7@f}3a>aA- z=R^FuL)_EQQXT)j{IML$=3SJ{t03W8^e4oxJJ{cl=Zk9e8KK4abxwyuG_(ov3q$VB z)WyxbH}(xBjB6XCImZvx9^13{0eZvjETPQiC83~pI^F@r-{+#wQT!rQ%NHu+I-~oz z9O9QMfgt!BN^s%ocT|Ia2?!DVf?0OrUt|8IDM&(Mr2xks*d$bcWL1VucQ(G0+jy|W zeNIhmLmLumubK&7N`g1&jSIs`n1kN9Lj1aB_F8P}$G9G6`&_Ev*ExOOG~ILz2LEC1 za~MB7C4cVRKbCnVj>c(FjaQ77()Ty|1N{0IF?=Mo+`75DiH65n(3^zfU!@9ujZp!8 zUVvB=!I!Yp)NKX)>oWmQu{*@C<8;*Nv}^Ll@!ZTrdnPkz zv|7Hu(HHQq2dy`5TRl~KZTztQ8~Z`GYs8o^&gEZ2^g~)TiP=zTK{t_&hknbX>F_*H zRHb$0?#epn#$gTS;%2=$ruwt55n^0|t zsM=C-SHYQz{b~Li;wD*BHX{7X6zIV8r zC^w6L$)nCbE3wOP@)OQ|7X03_(1NTZi_#k zKkamK*#?Lh+ME}`FYp5KeM;Q$-6A}@b~|InK@hz8iQpIVAkxak8gO>u&b;+2galO~ z;+_cqf@i*a931~^G-t&FR+@jdv+QF5#fuX#7ebqu{acv1;jY zd7zwFWqi|oT$UhwX{qg>2n+ca@Js7-Hx{UOlmWa9LqPV4Cc z>KqV1#FMV_;Ata*UpLX6;|OEcf99s;NOJY)NQ5y+^;Pg|yFO?)_Coa%x}?S)YoT86 z>tJ1oUr)+G%lV3BrN}BuC@jUQ<+=RpALSDW*JKWCYo#Z0?UUw6yd@v#yXTWg6fV3f z!6Gj)T=_$%;Zy6a0Kl5-RlK*OvcXvB|Rz2u#o>D2= zsi&N+nls%S!LN<9KUci!{TIZ#yZ7}v_JSq42CveYPOqxq*9CMyHWn9bM%eJ{!xv6L zSSoIijZDO5#ScsC+w8dLeuc8KrtW=-o=2#E91+DRe%W2J_BrDL@jQJ{)aHyyafTk8 zgugKhzxE+Ye166}q<>!|vIg=p-udp3f87CWLRwkqHr+_ymQbQQEM$CK_KBvOGyxfOgY|A;a~U5SEwXgoOrJeEV?z3 zj$2r`jy=im%;I0jSJt{l36<2B*>D1RLn===#IIiht+1b&o-iF?0d^Jn%AFPb`kZ;M zw(F|RUw;qqi!Kp0JB+L8CmMk4uk|o~cp=^IG`Yjm7p+A6@Uwk5cf-N7U8;t`vvqua znK@d+Wc5mIz`Rf_=+nPUe<>6w`2Hcs4@YPhr6v2qo_;y76R4|<)Nh>H{j$~}K4dQ% z2aoFj1T6B&<76fObt)W=jrgI+*fso(fT-kaX|Zq>2c zf`Ndo)0x{I#V^luK+V4r+6u<=T))wqjNn&MPS9oEnx52G5DGc6Y>0IDBq4sSa-b>F zau9{c7advS7$2se(w#ECCm+TSzkpalhGKM)TyU3Ob_w|}*l&BbZA9+<4n_P?P+(-6o4$mufG*HI9^DQZWI@r zF|l=ryvb>KEEeHkJD_@>6W-RM3uXFqvDFD?k;@|d>rnNeRxG8L#p3cd%6tXx=8ZI% z%DAy?br?UqS-N87NKMN4u>2{l%q4ch-*{Sdlu`Fp;a~E!-6^n?O!ij~Aas91;LNP7 z8L8mcDe;uG;`nxkW4?(YF^c*_#;*htPd!=o0S3%3>cB4oHaX^&wU@w`FxJ!0wANQ* z;3*aU1=t$ed8eN4#W5;YE36d(3vSb$K)=$k^C{7Q@QAjJu9nDqUSr)3jEiMsu%7Ct z=4vc2N8Vtc)!}AdmZyPVu+L<8>;CSe2pg`U^Mp1@e?cg0>tA@x0#BhRew~qz$~C!U zuhD@&-#?LCBBl5fq$hwEDDmeHni@5skG+0%1X{h`DCnW%cQ zdO$;d*#ZR~6b|BtdO`qv1%%@Rs*SsFuf1gmp73zY<6nR+2!cm}{FnL`q5e=sqZy%PD!*|S2!_V-Z zL}_p@E2B(?_;pn4(7%gOB(iY%e(Zb~MK$>)bbq;3f-k?~t;GrCmj`$hgf_R6GYbE3 zJCz*x#$o;8w6;|IgKR3JY<{VJ`wuQg5?NnL-)Ec7_+|6_aQ((3Y`(z1oFCd*eAL)Z zFVmmNBw}$oH$nXHL5Ir@Yp3I9dd~K(8Bbn&-kSpJC6mA}Bgbu+fBD(2GYBNMzli1j zH*JExN*LE6_&WGO{h|3|53T;$gulv#QvVEXLPQbx<+YLYHS)7vPswkU6x4o=P%~LX zpMC$3@87t6AoFN^B}&5XBFDv29>#hhn#%D*^({XCb*R``L@f6>s?2uD40K0-s(;Pj zNAq8<^2|3$qui}r^dYE~@2iLSh47lLGDoBz)K`n-&J<&T0XP4o>~ZWjW9;wBa*`(fDEUPE)ZhKKAAO5nec6ygR*XJq$<%zhIvg z!Xj+gyqfFh%W?+%I|KYWuaD;$@k8@XN{Zy<`P0SI0J2Sm&!QqR-Nom>j#sO_x)X7~ zEnqHK!RzQ(ULf(5{U){d!Da^eFDmO^wyQg34{IrcVJMp;lyWNktG8+#6(-jR45tUQ z8L4pe8K9|Rp3i9NTMei`^w?IaS#F`v2n(?Qx|=7epg$kP4>8XY{W;&b8fn3HvAv*S zo^z@q@r1Xgo3$Z2eJAo?JE3uWemPlKhc?3xF@F8j+do{t5zLS7TFQSeE1-|!S30J$ zU1c1{ewOYkEGvU9eGSg7iXZY6s``yVy2gz=&@Y6hk3zo=)1a$jXoo!ADK6yb9K5e` zDp9;0Ko1T*+mJPthat?(&DOUvvn59Dc0eE(>ST zNijpKCAO&IDdW(cF>ijjenUl{P8gl`(#;bFrQ~n4 zKOn7s1PQsm7mDU%icQ*eO3FzGcK!(%t7i0Bf8y3I_nK1Uzk2qtKt9_l;y4>joQvTcrZ+?< z#)U*!j^88gV=(W?c9l_1FiOieC(4V?(94!0?o*U)!?GFY8fF--et+3wUy z8ZNfEu!oWOA+xRXi)^}wQoZ*9Xtga3Hyh~b=2!T@|@hJ_-?Qg>KaYv;%Dm4=$FwgD0skFRnE?jb-Pus@ak~> z>lyk#@={*+rM!Y}at0A-r5DmZZu-?4FVTxK<-~^d6guBJy8l% zpam05elm_ew|n~KE-d0#Dk@S&>=YcWg!9XojZus}j31UU9A!6(>>o0c3A^??L{{*`F?sZOCp*kV~sXf(!zpbuf^H_*KH`@(WBAUIQ*m z3=lzhZ=@mrg5{T42Q0v)A7FlJ7`B3Vg12713kwLjEC28q-KbqGdIb_a-!fZH0KZ=G z^wg!>n168(pQSsv&%Jj&&YovHuxv7&jEgE&EQsF6bm^2wS}65#l;MWG4`U(W8PXY|5CSUq5hEmk}eeK zKE!rZA}oqu3Sny`y2|>sQ9>PNG@R^+@UJNor@dg_4VZUj=arzI1o1;{%DNZ$1(rPy zy8$@14HFw%)z3fgtryNO+lZ$J8C`L9J&`ly~2i5-gYcH&7Se#kQ)jLQ>H zzrjET{K~OyN!zI3fG4~O){ag(m+1-DaFGA%q+25V%d0=cH3b&^R9rH0^B*uT{Lr_DCy+-Q zmn)o_tBn5vd$=Zt3Z)Rg{ub!jGKuIV)QT>4m*p1SA-+W|J+WMXUxZNs(Ik3!jPB@d zvKJi7|G5Jc7FJFl_wQw7Ut`NJVvZiguN<^sr||+3B3ZX) zkMYN-Gsli9V!d)ahmw>xIF!6|U0IwkJ58it14M(PsPt5`-_n&;pM-k;8?N1`EgKKO zwyY6}vQaiwn*nnz4U1MgzFQxaN9hu>Y~vae^=#KAi~4h(FCjH#eC$6K=a=*oReM0z z*30}}81vQ~0*U27zZ~59n32f2a4q_7tZ8hc&B;xysqY_B%|=))ReyMb_CUXCrLmWz zyF9M4(Z}N|zMG>o7ZB=prs;pfJxH>_hdmTP;V^#4<62(E>Rcyq-hl&&*I~W7%E@T` zp|vf|RpqIKwJo12509kg)*qG$HwJ7?@5}ex#^jNCC6fNvi~_%o`}noEh&Cx{mGYJ+ z6uUDHqdD-)uRo;4hrusEmx{(_m_guI(dZ5A^JIWu4_Ie!dwA-W={T-CKsxV>lkY#J zvz^}*;a^4X&kq3KpKuUAEEyM9-sAB6pnk(f*id469bKA^21D(~dqe(JuG$E{cb7j`fA34vf^KYzs2<%F18YeW74R`aU{dE z9sm;&s<>Ce($~Rf!+!9BYE6)GHy@ zS8Xc`!2HYG^IX3%B%7S{X1!B~J!BwTN`B2`rG5jtQ6%Iq93gGTjA=Rv-iQCsEd279 zX_>WEwigq7j6YI^^t16xu`PxzKaM?5{tGq}=G}`Q?h~~hC@AAu!7r3;U@dTMls+I3 z_}!sV{Y)nTTY6q*rZAktiTz+Dup1Hlde~{=YWWU{FoKM$LJk~(yO;X)|h})v3*LBd7e5LA14+|I++#VmluE8}9DR)mPmeCO? zYs4~zMH&(Q#ceE#l9lHUWNd{f48~lwA=C*a{0deEeem^&7f-G{I#XaK9zY zSGX3g;o%qGe~41aHoz8mK$pD0$1m=41;0qu!E)LQg@_((A$~}SNh9Q6FIgj8UOs|( z_6re@)38iA!#gYaFFwEQ5Rk}ZQ^4ELRn{+U$HM&AUgQ)~V~C0<$BbdCOv6@6w+i`? zf8qQx?JFb+$8u+EWtLBMAMRUGpZGt~`!`?)1x9fy0oZyZIlb?V>tO|GN}I1pU{z=bkj~OtUp{z2MR4kpw(N%$Ce@dl%3?VwHcnL;BO&*=-{A- z0E-;g{j!Y-LPXI`IF6~R1- z4FJU7V}$3w?tt%y{1?jR>3gPsiOmnOqmYTH3-Ifkw4M3a3}EYFbQOJmD(G_-3(0+k ze<&dW)=6M-c})>f4Bn&myow*{fUP3di-{Ou>jiiYU}WWZc>b%bqdwG3dibTtwd!%2ZBygeAhiJ`Wq7$|0K^!qzWzuDIJ%;a|Y7d#Ne6fnn=G zLa?!b`%V=|O-A?^>R@qmAj8)8;O@d^9x3`29hLYY_F+5U&{)Qzs6LnF1mcH@vC92X zA=<`VEP;Fn)hipJi!o-dx3?KuRdszd$-y+B-|2sYs#NPL+_M9RK7 za{i02-C*B0HE#Lj@fh6=5Fh3{L;88Wg8QSk?MqG3gQ88uy&}wAV!=80Z(w@wFw`}$ zL7&-k2=DLJRHR)%o0wPnYwmm zlu>59wb&}v0Qn-0crh09^deo=OLsfiE1lR{Qf8W!)6T_0*laQK?3iZbb_=kr{yb`B zJ(xf^66k<7Y41JYUjn!F=8{(#&+1%1kA%o$^f)|oR3t9bd3tdE>rVEpgh#vJ^4(Hu zQWxI3uo4mebq4Rj^@(2D1_}}RL^A@35&SC9fxecW8ex2jb~85R^dr(cu~Ok*Xv1u) zPxphLeci`U`=k)f$1kVeh0V-dxnP0*5mD?@l#>G;Mc3-A;8zj*5U0y`8ZFj@z&->$ z@$`MwV3_|Z^SHW`L%^>$EZEF~aZ(jIV_ZIdY4$YV@F0?tfGsxf@Que2QH0%?uH?Ty zL-)BCAx{L@`XN9Hx^qI`M!VctDa?Oqj=)_Oz0kqKCX!_?Kq0Ilcf7T*OlF@~i#T;3 zrkzwItSMhm?6|RPaK4g|U&gq2`+=~a8_G~CJ64KQfM4wHUMgTE&Oq?vHhw%R#II*S zlb1VQ*@jg7tB%gLcTM1e$LUJ^kkJaqzEU)t2W;VNSMlLo+fOY3kg4n##}B1+9Mt?1 zvHJ+4hf9aDnQ^PV!oP-!c+Yb<8rDQxMQW|J2l1c#0d{zg&%eat7nQpUzpjxcM7x>T zGw3+%Z>YGR($lhbAF~ozKSbZfZXqRyjent;%MmsVe05lo3VwkFAS?6@<9P`n z+q{wES{!i04zKVp3$$YGww<5(<*K{$#s2gTB*M0syBMT`_+b_DUv(+5%};yv^%nAY zLMjIo@-IA*PA=X6wYnF-!acw^ONEO#0AvyTV%misGOh54hCbnBqw&M{9?^dd`k(AG zjt~;EYhfHt?KzG652N*mQ~E*bP<{)D7z7(@>NCwC|79a=sI}4t_=xquFKvUXqcjSB zRC-qYFgSBf-!odo`F-d-=f7eR{`CNm+J`M11QYRN`Y+W0W3%Fi*fyWUm4;J=)9o;N zJDQl0DZ)FueqP-2*G=l$4PF9fksYF@P{FUe>5S901ZbX>hqJ1F!y~Ggu@Ju&^xU_$ z^;T9ehrs-K@g$n?F4dBTV6PlfpPD3y9Mj)H917JWlDpMZY|b`#-WMKR;5 zNc(Z@LnzTV_gV}A)T31|!K;fAq)X;ywzDRt6fkg`ffPS|WSWmU7d-)Wry^#C<9TgOp$ zh$yJn=McXvWh&!T=hiEm3I3%qeqmhQ8ovhjZ(QvS2R6u_L8&da%^4j97^*)3eyQ8b z*^O6WLw6H{uW#o={CWlJb*WP`!KoIh_*W=|_~ji{t5x@6$yO#}-V+ERekosquofXz z429#Ke;C}~3p5XDX()vF#n-@I;zCnS(*MG>hYFW{z8uC655T8wqxkX4aKdp_@QZM# z$^`T@q@|%S>G_8fRqvyF-Bu^QYo7ju_;q>i?%qtj(fl#?S`@Dg#}(q&dkEDU<@i;| zCHWz^Pzdp>N_$y!&?e`+!;uqie*VYrCoTp8QUmQP# zKkq?+;$MsfN{HZ>G8gmpIT}Coe8}I*zh3a#e7VA9`~imeg(w95F`W{u z^mlLH=YHNB4U2d9_=WtAA2JPvNdD^uMN5sV{r;RcrTP6i2fvbqRD^%|ZNm6r2`(|` zGzaIdX;^=FF{x^K@Jbm7!IMJ)ehH_66#LKzh1M?6uK@9&wn9o7}~=SzjkKtNqq2; zcy7#7D;%RfX3dTt672y0`hq;auR2t{Pzdqs5bZCfbMa-cKYrLS)UOFsValGx-zB); z{mH%a*s&15rW{-ga2wo=a5$k5@~@+OD}{?l&O_2awjA0Pw?}&hfm5y4rnshZ>%UMU;VfrKjixl znSX&drQo=tetx(cL<~>jzX|F$`2ItwQb^ro510tS$y5e@FD|95)Nd@_tD{a>q<6#` z^IM!0$|S&dkP#z{-H#ud$baz};lu(17Y?%DTQV*jdZc%sz(s#y{RZM}0`%mB@fy7; zA0F#+jTs#ymC61fe%Ob9|LbR>T_kSgw3o*I^Wa5UR9^MqA}Jdaj34G-+juzN2ma$o z@{F}AZ&_RQ)}l3y3!ntILH>&hmXoqfU6%tz5X=t!!<5fuitr`;_~A6N)>q0IE$a-c_(&Q9qA>K(s}G zHrz4Q)^6-3MC`9l-d%|woj-xm_XY7ozW8H|NWG9FMcTLA^IoyJ~)BiY2wJX6Q9uQoCjoMHvT6mha4U|;)mMcq*KO7Ylw+h zJX@E*6`4*MYg*^&7sn5uxA)(eI1yhpcF5W{kaXe}PHOK5kVWE$>}%P{Ap^b^gj*0u zL_8ilGm2mOL8rY3agz7Z!D2f~-QvyaBE(Hm{zY3f=c?Wda2xGFF?CfO2c1lxTZQ;# zs)%B`uzt4^0Axsni6$4Q7vh)4$PgvoO#{>@4An-zGlzrB5&UBQg*d<-bu9NhX*fC` zVNdFn_~8-r*NDk%nq2f{2slDzBlxLq+X&BpA^!#b<(17tD1qzwymBKKt}EQ(`{xn0 z9^hlk_ORJRDBEy|1uKjn^8JS@r^%%zN|@|s0m(aCudBolZ?^6d))CMF4w$L~xE5B#AJQe?ve#`}IQMw2BZ+zdma|n3qV+zqu?SO{Rhk{zY?M7=73-^Ey zMGNcabM+G%=F8s3v7Ic6Fuj;n4vJQa)^EH*oy(Iq4?ZVm^o|_z-OK1zw|yF{B*ZV2 z9SZythl+poz%6{p_@$hYo#_hy;{4ZJwBk7aRYyR8=*njhFhN~8^mN*AJYAONHFR%p zs(r)IZO@4j(K?Px4lh*v9sP0q`i-hIa(26X{v}#nwO2Wav4PtNwi}ko{L9gpS6U@% zm56U7uoF;cpM8(6aTC-ZZpO@q@r_Q{L&L%9;0gK@;MWYtJY76t*jgi!lS)ueLi|$R z1&6Phi2YXn6{TH@e?1rFUkYJm+^HVdN?Z_|)kDmk&A$ZxB__V_Vm5Y%{7ZQbY}t;B znZhihu`c9a4+JbSgyT>M`PW`{v1Ib^p?bV&qxe1<;+F&$?%nqFdHNIbua7u5BmXg+ zMwu{iYGT&7LjDEakuAmeX57Dl_#x+#LM{{XuY>^Y8uze?Isj6}T>gb|>B`?wjz_R? zYP}|_bG+_8{}S-E!q9!_YlZyl4uV?AcrJx&u_;g@PngBOzED2@`nqSedj?t{RQeq9 zFSUYnKK3CtWM6eIqSq~}Ir&!~-harCLV2~n};YIP=(yD_f+<#Yo6G_TF3Nd8NWLNFFsXEjyo7TU~^ zf91po+>AJv#It>_Eg5?QLmluh;Fns;g5L(v7RJy*{-sJF1hC*R1GI~@*Y;ps5&p%W zh??baT=Vg-zW|WcPOF;9D1OnSYmI(!%)ZpD8J#1z%hkHmqdisEYM&CnZ!aE?2-M3@ z+~s|$k<>Lu_BwTznV%!bM(;h6v>aVU@1iOh3RS@q$NyGu)pgpZw5`-At+oEQ9u-wN?Z43{X|ePK0pV(`S3L>(EQ}m(?zx0&q!KWh!&*-Fo&;^W zO=f88EE|?T6o%B3U=Ah0<%84XmqjYU2H#MEL+S@>nw1-!MV2`h2#-{?yXuJ>jH|mU zH*l5nNo#T57Zwgy<=jv46B&%F``mH!Obn=*2-l+9%ndX+S6B=46=CH-jdMls!mv%w zyh{5deL^nIRe8d~oOYFV1wRqNdR1#{WnZqop=z!`m2r_2s3kRZjRiizu9-t?8|_{* zX!Gb5#_!1^xeqkdM1_GPx#bNt!M7g0qUzd#Pvw5UVew<3a2`MTWCQl9H;0#BVO%SZ zffi|iq{e`#oFLW@GYyc+v>~LJ2!a3V&{flJh>829u1lh3YDecq5)5!w0c7PBy5u~K2As6 z4`gdLDxooJL8uzyCn9KMor?vFC(iTH!429pHS|7aFCW_eX`Zou+3#( z{pinczh~-Kr&+k|(y5zIUv_=(V~g&dI{7DI8%^&Qci8VU7mS`G)Gu&@MrH(#&jIML z&3tylM`{_ohiD!=WrS@2!umg!d7ZXIe#lukF-LHNHgEeLMr!}ZnuE*3-jkdiwpnJb zAE+z#>{&Qh2;Sl*NSUszwsDRS*bO&?<8uX}K|A@!az&svq5f2au#K66cX0(Rlye2I zjjahihhn9RXn~v~LU#y;MzWrJXYyw7G)!8tMhc z&BEmnpdt8e1n_hoT=tM!_?V(yVO~41B=@0)g^$e5hxg!L4B^s+6iqPg!*h%L=gUa&cWpnpjq&m@IIV{ z%OOCs5PVA$bJZ$*;(zP6>6i4|U=CMlwX_Zw-p&#HIqV~7zDV#P#?d)~>%WJpXt_xA z8TIt&9APZ@);cpc+K{~>v2bvXApJSi1VwSVVpo*OQ7;l&FT*jTu)^h8f(*VTfXnsf z<=Vn|gkZfQzF2h4^Od!rb8$HY=n5{2%Rgd#TpXGFz{;Arf(XXdI|l+nP;k9I6EPgu z1-Lv*SQ|8XM{#*J90vgX=i#^J!g28A&9KcZTn+(R31J(32=_0fMGRLPns-|1?gjPU zlP|^Wunjy^C_u;w*8)nzCqW||oNuII6lq&S7d0ZIsnv&1f+p}Y!}mCF=LFSzPrl>@ z!@YJg++-%}l-gU)VI_DCf@h(N*cf@@f6MaRMx=otEJLcbjs-Z9`~@Ak*Rr7;^9=c#loz zWwpa3Xo-8?$^}GUVj+u}hcMBJ~Y!et*LSNJP3vLtsm`*5qLilIrJg1J1@JUwUBhkgCWHS6^AiP^%B#7RPhHv}x zF8Qvn|F+-rA3EuVG^T65pRTiK&$|4JxkA`{?ytfp|7F`mbU9RNUkLl`X|6Xgwy|NHOEAX-#(x$;+` zG)I@i-<&H%botz0(R{i*x6wQOB-F~eLink}`cCa>Be#vefHg4vvH4N`$-Xnga9e(|m sE&ZR`KUps3qw-g>Bsr*$Lni_WhkyUaZ(o(AqDlsM?-{M6rTka?|2shWwEzGB literal 42175 zcmeIb4Rl=PbuPT;JxB7fX5=}RWvT=Rjz$6oXC#khV;mz($Fd;`c58)@l=REW9fI5I zb~&v`b9G*rMZJ~QbS2H{s9Cba4ZW)7zHNOw{a4O3`8Y@2qM4< zvN87e?Dzc48A~MnR$1%oT3;q>h3%tPXWqZPpZ)B;-&Zs{KI#6CC~`B+`;+efdh>tT z^e0W-n{K}4k2f^``7ImhGgQ^`mrK%rb?f4Enr@+JOM3CrMb@%KElX$v&9*+YqUEX; zi^f za-w-LL62~oy!##}I@mj@XSfZ`pP;v?&57qV2-!9#W@#Jg47JI4Rx9YLKgGynbe`Is z_@s80h2eNnJ4NqMyA5HA)O&36fzW&S*K>X2bfyl1#Ct6Ms*wsc3b#LxQtE+=_lPli zgqm&i@C|Gre2Nw8LgTt6m5weK!?fQ{*-=YOVT<8oMJ}O-Wm7S_Sv*eMOf44bhW1A^Y^){lhelO z*Y>g;x{>ssoN>RalZrG&ZG@SJU_DwF@6{&hEMb6-_8e3gAHy7@)6`~Tl_7`&SWb2B|a0~U4u4VSg))olF9F>t7r_j`Ha0bD~{70w8)MY#8G!G z3|*)FgcUT!FgB!RV_J^WZPdiVkTN4QSnc*Xs`^Yds`KI)kHXPj)4KS(c7LGMXZ;mQf0U5&-_vw3=ms1i;ewLYB?OwqCcw5a2FQF6a3<>aImj-y51|$D8o)Q({$or#9~D zSCT?)-ZtAd#`Ap`g`pZBbM-4pxzL(Yi<%!}$`y|37LPrtC+SgYmeHITr$_Au8NDCE zYchc++E#Zhl4bg3SVPgJVs!37(}E?jkNNtwptPSKmp2!%OedYMQ$6qSecpSFOXw}R z5;~|oPruIA7vr1zp4Z=z`yptrxcX&$-~m@t*tWcBJuc&iv{xax>}VHC#?rvt#n-d%9QkL zI~{y3$u{#@xj&zpjJAqScis2FW|r)sla_Px+Bs7_Ikfr}_q!y8Y{J_{Tb7Nd`G2c% zMT)L|MNDNXU7LB1mQd^rj3;d7P<*n_S(E0m_vo8S_W7W(Y-u$c>Tee>XA4=hO>QGA zLT$cHi2`gm+DK*9i=KW_EMzkyjrNwb7^VGMBcp?-Uu5umd^=Aqt73Wd$6E`>)vw(9 zLVbRVR+2LK-*GMfxT{}b{Ob5=`XJ4j(pqR#{&y<|{BqYTgkKZ#_U?q$nbZD&w#h`% zVEj^J_wlQWyV{5KsY)jd>J^skv?^b8^(%y5qqGg~OlMAP(6{Ib+t?*M{IUc5!nFLD z(gxN`7l-MPo!a$o_*G!ovd$6g{LJ|EG_@4s`MXla(_)#ke(#L^Y0gwwHud5#f zQ51Fb5H(5Y`waLcZqHlAs?CBC?X!%+)9|ZCt!eRk3x*)C@Qcdus~PTr*hpJxNwzts z-A8AxYs;?BHB7^=)kSkkv{hC}?RD!hqg}iUejTP3yLz|QNT-2c(X2KDe(75%!DhM9 zdc=Ge{8|Ikov>%m6-((mv}o1Z8SzW>By-neT59P*QI21kl6`g(EynN5sD&q&ybFHi zPAA(}t>4)6W<-+SA_BF62H%n z*^A7EG5Vp~XCJ@J5PlV?#j5Vp(zfzRhBY6*Dt!DR;1@MW?8Alh=tnPSL_6l;P8h%L zg53aq#bO6Z**Xuua*+^z9VAN{-G)hrKy;#Z$GH2ReI9-Rt)91kP~30DH_v`Q{i^rB zDg0u~3m*yiRl%TV_%EGcgVw?5`H~y{ZcN@R8MKk^k?LfVr;WUrkZDkU#9OL zQvFcH=e3*Q|11{OtHi=-_;okkYhJd-u!Tu`jmw6O%}^qX`(u^xYgEUO3$vy81G?9- z(z6X=xOO#!Uyso*>7i2#^0Q+0K{AT{s1%JGYqJD2v)D%v+0ZG}r7?DPCO#;;$p zNr7#F&|bV_^4{h8_w*$q=G-z9et~GbYHUw5(lHoM<4|vaU#SwtF&TN^e$l9JrG#$u z2p_-nFn-Y{#~@%qkJ#Va`% zPtwonLp%x}zvhSd*Dqze6&umsptJI7_BUq0FWLekHo%zs50qd=b^(4V{&g=@4}Es9 zC>t1ar{mWIRJgg26F8Ssl9-r8J*T74RrtNJ_*zpzXPX%iU|swXMOV=u!m zrnegCEqHG1YuZK~d!C<6!!PXxKmcghu=YCmS0&qx>HO;@`7-b;ey8?z`(?R;t>_H+ zC3^r0(Otb)&=yAl*-ZTFK5AgvwTr&?{)LKzxVEm0e{G@5n0D2|{#Z5`S-`(S_%+V7 zf*J;Bj8<@;eg5@6#wLYCW4U)&0Db|;)RQv&Qcq6NQ}iVpYx;Tm2@f!<9d-FmiGL-E zq+p8#83UAfH~!V*60tSp@-OsxI(|XF>}a}1ryfJikI%nKd~jGig*NEM2Ku2)urTiW zt4W1ls?VhX(rM>$ZZi{pjX=M^so|?;6cIb-+UI12k6+>pZDk@h(R)qeE1AU1`1K6+ zMN&?*wJJ`1Qth!B@GEhG7Y~b#M1+9#dVKrugSGev(ooz{A--YH5@PWOG<`6&DaEew`jmt_IU>UvbfFc90F;68(+Ty{Bk%J z2mGoMhy$uM4dIu!7Dcrd)l#zv_~q=#&wyW(=<_1rmm9YUcKT=fGp8yq((YP#{7Y8nv_BOiw3NUr9}qz5!?C>)EOrCzkIk!>^PyOwouibs}Np z>;EUs8lV%#(hKlQ&Njtff%t23c3#AFEz(#puDSrf_8Q}2#i||hW)BOpm$6X7FZ)e1 zC97+-e)<_LAFf`k#r7VlS?VlU3>&UKh##8g^_5bw$S;~JDLx60_I&L%!|~Tw7b-K{ z$c-Pi=3;3rMh<D;?-g8GbFwC8xHw ziEqiT6`$Umct+lvt7ptD$1iCZLQswxDVnYvrF(_auM6-imeUOD6(#h+l}{Szr%KxT{4uVk!IV;}^#dU9^2SGx-nPmvPF02~S(!tuih*p}>oxln>|fo!c)b7A~2E7oA_DfGGK zxOtoStR3y@2;*0T*(hLZi~Z+?XtwfH#E+f2`jrEIJ>q`*2Jw{L_EDZ^dMcv&(Row=LIkj2< zmsM1LFKoD@1TPa2#;=^(#wQs9ve?E2@Gr!}ZM@l5dIA1*-bJhP68M#ge@Xk1iHKq* zzA+p>e48F;O*xx`@q~V9V+H~O65|Tv*TBjm!cgqkFB*%T)qYLqvhlqa;FsBCyJ17K zX&Cr*!bWUxO?1_T_*K;{PO9K18W#`)`7A{@UVvY=k?wt_`(P$@Vs`q5Q4_&o2OBbk zU+1x2a|Yp}v%!x|YDm67KwP3cerU({1CHO8Z8u_EMa3)E=jN5;R|Y>iYdni^I^Huy z??`M&rwqUJ<_x^|3B;OG-QX8v^k^>}k9;Y9sQA|io^U)0elNEfw9w{GY+AJzhReTf zUP^&A#Q?EIu%^+xpcLkAIC+j8Yy{@qOrXc{)PP4%Ydypc`WxYumP%B__5J8g5B%k*NKV?xNv8_ zW>TSzw(hw2-z;S{Le?gzbs>O#~E-L z^`wMf^dc>H=A^Yz;8&~Dv{)OpJ_aEU{1U8!6wZIyZh~+1Nlys#uSwa$I=D&gX9&mj zr}Z#?ji~s%r|(`O>;(Oj>$rOOCF!g5gv+)*O{{9x_!m^T*+zT}*kr#;{E!WGGu~4(LHD_BF2t|27}jAf)>fHfcu$WOvtc(b z;9on?RqnF^|F9^>^-H+VA^cLbiy`1NY(jN*-YMVmm*E%KR)NEz7*32EKjlW}!uUmd zfL}EhasI1HLf`%Pq3eftRt#e}%n;|e$vZe*r`()fH~L)SUs5s6Mjm@-74R#_{gv?R z^-lE1M1Q_OZJ$GbUNSs9_3&$>!ml94*lNSPkM+)kUup$ivx8}wq?0q?*BlvrwU^_E z%@QunhyW4GLMV$L#z4EoI^JX0S{;ta_NJ^TRfh4)-MuarL=lw`x7$qx09gpXIR6FO z^=Xv|i*JrRr~eHMVNXUL26vd<4Y!cV+QpeN{IW4*a`meS|L|FoFf!%%^|pl` zreVI&=ONg!SLFa<<}buA2d2Os7mQwUKn*a5-K+S8%6}QKnIqa484H{k8_)0YdKG;9 zl79ZHU$}-5*i@wZVX?7Z7xJ%Ou}Q_OjC{>AmTJR|!}!JHa*0@78b7*+QWQ0O{UXE< zRS%_S$G}rY>1lUS9IcD(Va|^qI?B$sJBuc<$2=b?gkMPKIY6sV(@*8q3|k(MIVJuz zL5~&^r=kNQK?5>jm4IwOSgw9C|9Z3^wl0Tp{R8+HOq?=$1VtK59&AU z*D3GB65wAiQmX`Pjan$=ka0_^3GfU23wx}yN$Gu)?*O zs(z!c&5R$`Cgn-9U5Bmnj9x#ur_wL3-|(#HUN|0}oo9m&ODo(x#`POOt1j%HMo=pF zhm2ngQqgRc<=1cME}|90A^HX_TB9(|ZPQ!n>ldPG$<(nZ^Dj;zVOoOf2od4wLH$OC zMyxgiUCn`iwM&HM14G^H>KE!a_Hfz8dWByRw(|`PWbIw?<6-`##$|$6eqX?kQjHP# zjqUzmrOTI>n~qPr(h9aZr6?KzvfAX6Vvaj@&VO-NRiE#~kU!E@a~y`Ti5FM+_|-4& z$Sks>$3-jVN8$S^Mr(ToQi*pLJ6nkK=&o|G#yK&zd= zuMb(EUC+@e*=ogZ(yCnj;{2DY1anoUZ7W=?30Nff#yOvVas9?Q*?v!KYW3&LXZx2} zaO}_E$)a3rTr=JE;{4Zx%)e}*^h?JQ94GLvPUD6P^IyiK=%yXiAb?*dz`qdfNuxIw z4?ctZSKdjH5f{}~U&hMeM`|B-B}G-8yY8I-ni^@Q*nqZ4KAmf6L|{rSN_T8m-}L;K zip7~QDICmi-Hri<@ar9}z;U!zn3QWaTv|l@5Jtw1*&3};I*9rW{ZYMHu1$*utOde` zIk8VU9s`GZty2Alaz)(IyM+QaGXOiwT`z-TZmp5TNKqffcD|Rmmd_yURkiM1zoGCe zA5B46fj09}sxBp#(?|sP1+;4G=L4Mh^s&8Cf}gQ9^RsOKm^c`H8uAk@7A=_=Rn((q0)R zVwj)TbdXRddZ0Xh*kZ?WeJ^6+VD$F)jjF1lSp$9L@k842!v^p#r+owgx3fAEmL2=T z{Oe7*Y&Vw}F|0oa9R&XZQH|Gz@$1_XmuArec}}7k5Byt{r3idO|kjj8Rde@T+Q*_*cfp1V_h&8PoaJTLakp5ah#;gNS$oJB5#5 zh#w*<+ZEfT&7#9jeq#*v8{&s<=Qq0kkIH|EwoVteL|gZcoza(UHLkj{_@RMm>DTIM z%5KwRa-P+D!d=s?9)49A^iZxT*SVqN8koUF`J`2~Tq;D%0h?@|A60*7r-qI8nraFD zH3b{Kh?Lz(1LL~5jbFc!>=qwDEDmcriF%~lBS5tDMM?KPe*FfjEZjmwCHw#c3XJT2 z!LRY_H)K2?WtC}#ppCn=d}aBsx8xFb<1f*_D;F12o3%FAFoyGA`k@=@3*cW145Z=6 zxV3k|UN6uQ%73Bkup{d9rh#Ae5`C^!{zkMc|COg)I%-r!sIMzWM!G5i;DBve8jc^n zO)bUvV_GvEkuAq#gOP=V0l>P6k8QhYf!ZJNif_?OvU1ApU< z%y~nly_Rz!hXW^Bu2F5c{&3Jy=KTeU+CqX2zn46F7~ofmLj*S4Okfkj@_Dh4{+Vrf zUgX@h;P|0i=;Fa|rCP0oLTf4##slP_R^A^ydEHmH&+ zP=Dy)N258c#j&X92;mpQR#jd!VOkQ-HpRaPIC!WWzuKJC-$kz!PtyS&&O}7n=iR^^ zrKiQnV`^O0#lBOP8)t(JSHkzh_=QqZXF+z>mG;wV5W4)l3A_-2)?H!z8st7((C$77 ze}ju*wjtLBr#*yU@R63tda;J?vXg3DYAul54B;2b=8Lm$5`RR0>xSSMzdl$@ZVus> zJ!!OxlvTAx{0j{ZGmz10;8%>w`PWKk&PTP~_Rr~RUM8#se5CcK!tukmWsNfn)8cMp zjwiegTuvp!_;pB!n`(=K{xGXK_?NAG^-LJQzKv8}baSPOc`|H0FM(f^$*HOke&usH z3ze40!%_-F41UW&tQU+-7{5Tf;<+ovrE+d_9)88X9>%Y;?5jI8S=zL`d)Ldm0{nW3 zu>cvC2IXEd7ONiUGH5ft36T{Ya*o|#$92mdAQ_AvR@cFsa9 zbDM1-+E9RBFc)~@=JizBh8jB;A|Cbl7x0V2vndntgBR$4>W_GedzcN?9~$0pLTkZK z7G044YG+ta+oNoMBuu3O`u=eJ;p0}b1THTG7VQC*MY!*Nnu8~$_~9Bl*vWPSIacY~ zjR{x3(rDx1SFN8yVj|`S#wEwYL43wdo9(lQUskMBtD#}w4q)pX5@GFJH~2~zzb;WG zg>~mJ+ZGlI@N$FrA+lX^iDisvD~!=zWe?9;&-S;!5j%Tt5I@|7{?r$YzY_E5cH8Zb z{sRWq?mZ#=dbqA$7MZa}jh*WcPg`vRpupo2T$tO8y2jxE7DZtb}XEfb^iDz4}V@awhMBYMJmdY~gwJJ65#Aq2uGaz+{ddZa!F z)vL0=>4CWt!OyL9xr2(15PpGw9RXTl>}FyJV^7k6m2ix^%kc~9aEE3|$2vf95jAK; zF72<5h4E`jv=`P-E4tL|aN#1DODKMb(UbpfN!ibMIYvqpPm-07R_$8auUf|(h2qjLd%v8e>_R```` zV_xu*6heTa48Qg` zK&zt&{93j#SjCAj1!N)o+8??6qeixur)AHoBnMj6{FLKYG2Ip0jjp~<>6^BjsGmP= zALxvi*UujT|3WUZ^K?U7=d(Mtm+aGg5Nu}||FTTpSP}bp6(XU zGnZj3_@P2H2qFABpH;B+JTY&IZ=UzOmk2AvFB`CxL;Ceiz%hJUkEfLLuYtutz15ef z_n;nNh5c+VC&IJpIu75BYYz;xZxpQXYO$yUH3}xJ0imXo`Pbc>YUo&TKOh z@Fk>WVIOM1ra25!<@vA9=uX&hY!}C(dSyjzirVdv}a)m2wV;nP~qzI>&RUvs}6`}VxV zFhjQVDCdOSY5>3Tly?0?d+yKV>#`*s@4e-)Kb#4gu#w67Pzk>d(YY_T7k8Zg*f}?0 zG^sr!Cd~(7=lcTu%CSAHiT7*uHq$QnBq@5HTAc0K5`Hz(qn!++J%3^UUs$Hu>{M*s z^1;K#L#6ze9XYVwnvAXxzpvavEJ2L27#C_3r(FHAA{Wtv@@6aADQ*D&0ukF>bqU?( zBqx%etQ>Lu!%oBz-!RjRU+ZiYHcV?V`WH%%q{_}O|B5cvRlJv%X?AxM{L5@V0sJz3 z{DQ{m$ex7x7a~+G1ps0YKiox!B2Cn3cNBazKbh;Hdq#}z8-n=Z-vDZxiUw$x62QNn zA=J;08JjD^{L50lvEpC6{hkrq$U1D8*9ZJ-kj~g`G6j_}J^u9~Jwq)rl?d@KOKm^w zL)r`%0*dBzPRUmKR$2bb^Z6UGa4HsOiKikhcB+J5v;o!_{L9pQ0rq(d?Xiu&3B?a1 zfGr37tJQ6+l4TMex}>+9Qpz)z|y@Wy5ZyT>p?^3-Nixs2%9n6{Yy0Ne^?i#^=RP-2Ke? zuLr4q1iN?Kea}9lhEBs~tD+4c!|7e9A9 zpVQi`r|l&UEP#iVl3p~RgW34kw3k(?C7wfo^mQ9~y}?rb;UxVEeiXK!SF??r3;0*d z;nZY_e`QQ~P3&EagUDa*K$xI!*$W-$PJmw)ecNE0**jrzFb!=+nT$BbU~hn5@c$_1 zuPJyXujxIMbi({AgW+&kth5#Qr>DaL_cHhM2gOTB0Qc5xS6N4SOcW>uG9yl6%nCZR2P zU40koH{e^fW#WdGpcBptEE8zBaF#O)gR17==|3o=slU- zO&_eR%2@kopqM;#{pABH2NazDnp|~>4a^G5@l- zKb-$MCQ!EVO7sijCA*~u9ZM2;u7sBx@Gl(uvH=0xH5QgefM0>H9`LVW^Qqhc(5~oS z6s4yqW~9pEhrdd;U;mZo?mdP)P}zo@jwZ*SC}G7mrymt#jQ;~tK?Yq~Mg z57>IVdqz$`DD6hz>0c1A=@rWGxJ=rP9@aa_Tep5{_-|>WGdm3;2Go-!{L0iil%+k` zk7AX9I2&C_0@Y$nY|`R{k6-)XHNh*`uH8&0>_-XVtVZ-1QQ5rq3)dcIX_!zpk1HCY z-;!?+v=-*%wHJ9@CdO5C`y)Ai=p39(o!$1u%4f3&3$bo(C82m=GCrvtUSn~ev--`n zuLo!K2Sh!gPOqj}A|VTp5%#%+UzcOoVMnEV|A6`c0d<2|Q?!xX#`Wh79XU&BVH;Nw zNeBpDsfrH5nhx!=0&i5sptOK<7$tcnc*|3a-%26gysH-79pT~AZm z*?xD4e_8a1)ogX%x3hV}z(6zmy+s5l8XUvY{>rs=#R{AD+o_h1BxyaFBZzyFaOhrw ze`p5r!-%S%f6=%}d>Z`gv&D;%RHA!<4tVk<_dT74!PiDP)!<+BefZBPtD8U}eR?Ej zmg0wp;BTxX@UOe+HPpPti*P)CYChq_yGrpxy0+$r2a{RXNH z6bit7h3FW>t-=U+(=IV48&vE}LKI z&(B`Q?n)oOUb0VTTW;|B<4yQ!Vjx5Pq3TaE@^!+^C;qW7wH7~j2WSGnGCV&?zJEiu z*TtXI^7h%Zf-Uw*5c%&3@h@|%PZSJe@qqFTy15Be<;sbZEwU6LciX2+K>?Gd&hd4mN+|V=Xu|S{FikGwKQ=# zZ%m&uF7d|21Ki&?=IU3(JV~Q$Gx>%h*Cjsk7>fE7Pw`@Coc|h-&Gd9u{2K_Af-O`& zh=q(_maAW~0_fV?+_Q~6#!?&FZn{rCpg&m&tZ zeOH$I{21}L*5jHwt&88|)o<89D^7cO`j33ZdymEQGg4tuFS?OT!%x830Mlp^$cAN9 zf8KD{0{JiMft8q@hFy@EOkJIY2veU;yeMA$Fas-l$DQ??l79;R#iRx~mp1B$fS}xn z`<_lXB@U%y)t0t~4oBdSr~3>VGV>0sU%W8L-K&cL@7k$4G`qNcI$jBH<_v8YbEOKtz9)IV6i{zK#79<*8$Nl zKWG`a_K^76jR6H@15MoLAphk^b_^{BrB{i+0{Omg8FVc=p3%^o|>6^XfNt zSB!z(D0EP?%Z_pV;rHlEOlm^)8%(>JsETvP3dk%}B>p)&R6+i040O`U7-j;LQ(VrF zgi`=;gjAmu?$piyx&hU*uiPb=S7O5=b{g4Y0pH8=U*KP>V!O0PdDvRo8LOGsD4yz6 z7jaBGzl;pQX#^X;1tMm95yc>Wn4`_`SfQRAR&BFjJS{PDa|@H}fPWcuK;I)#g_0Cs zaTevGzv#G_z9LnG>X@q+ZvHFbfZC^w-gIg>S|=jTUADrnaQ=%LMh89zzVl@lzfAhu z0fiSq{O}Uti6KDD;Z7?tf7fUFJsxxEM@Q_6qYKu^b*M2s4T8qBpfBR2Sud!v*W z(=&lz57P(1zmOW+MNK+ljCHiv?Yu)4?=h~Q=kr9yArVX5X`!~6dJQXIRQlz`4+lB_ zMb|j%P9<9DhfeFpxDgffc2R*;5I^K_=;N>e+a~B`r>zcw#8>UN?KZXvMHj!Ae{l#d zHuTcUjq=C<>H!8i7SceboPVXz=IhQtUZAmw zOD*={tR8Ag8RLrXn!4wgEqJ*i7U6Vf9dkw$Z#&GtT>X;3ueZ>j?UULUb(Ej69ZSMc zt3Ep={5nrhIPu9@XSpyy!m(F{*?3aoUwnQU_{C+SUjFOXg!)6P9KQx7r{T2EkSd#3 z7y0%h5%x$4zxe#JC82=^2&U>P`%y{=@aq8@tVwhlJH-auOZkD>QS;=synlY##`!Pg zt%}Pf6cfM1Vs6f_YZ>6^4dxO}O^xB~q8Ccj6fLenxvVA;jkpnrbZ zJ^uxpPzTT4>(2!Dhj(TOzfixyQJRX-xQx`{WPo3M{_F8vLk?K50$9+*5WuzQi^g%N zD!{K8>gTbb0zR0R{~C?GNneyeq5!`hqhDJb4%ME=W-Iv{BkLzi{OdKO1@m?+i)$gh z<$jIVy%@`v@?Uo&cJZK0W}-KVA1IZ9N5b{aQy~dX;&4h4k6g6AOKv3J;s`H{?$S$*^s9Z;1|p?oOXEc5Q6*{ zZeT`N*CQV%JoA1W8L^did~UdY1Lyv*UZ@}Q#x;T6yV6c&wMwCI2mH$%)K%F=TKCH4 z;oKtF!Tig$KYae{J9ICPYpD-g%)hW#&C>a=z5dvj`t$RW{z#;`JIuc@t90O|)J4&X zfzmuvYxlZrG~izkpv~i0g6NogwIwom81iX zrSOZqviWg(ysMcV*8sn+r$faYC8^3*d+g$LC0mk|jXf6Nmr0LtR0Mco@itcc3nw5P zBXoYb#y%zYTd9p$L+}2m=jm5qWU()3ukcP~{sqp+7Lr3B2vxCpXKMrDfHqW{QH_xQ zdQ0xlq;86~8LmB?bkn!7? z57K4Vq4VV8msRV;4r&&r@BJhKo4KDFM_}g-U17?;`8k@TmVL1*oq!UD<$&qD`K+cUy@4|;f8V9A&iX2Wm+3(jry)0J);kjwc&qc z6S0y#d}IXJG$?}ldCNxGymMa`7#G+~=wK1}W%>9;%pxPe0*lQBU@I|-y}F6<3*Nu_ zAb$8Zb_b$HDP_l^ycS;P2{VmP?gL)gyrUJ2z#hW#+vt37{_6~23-~pq@C$`EC$vjo zJQt6|PXp|feo6Bs;<7_yAdxT!dT|hJKwM5w6dESc=YW4rP|0<~`k*M?z$o?=qAiI4 zzwW`15iQJjAm3!MAnJ9GpL+bup8pGScBdO-x~AE<$#NOsCWUdWz-DU*@N1Wi;T(>i zj-C_eB>?(`C`U@m`PVnF+%1?Nu0OQe3UCz1>4=)K5`L*6k#QS52b>KcqptUb8+VX) z932brYmJb^`XwBhw^Np}bm$oMjaWtKS5UvPf_B{5FgEaon&;ZRIyqlqK$OAn<=_it3+O{XeXM&i!Ll$$|uBwOvby8aq9LM8kf z7Dq@HW6M|1p(FA@G4_7&xFeYszE`BgzepYXvW01|kc2=e^c{un1pI3!fgxHW>k>5( z8Y~=JW+HYEgKxmUkV(&3Mex(=p*{(RYH^LO_Yr*KJl>=ByvlzKwd{;NfU?75*F)F` z5BeD8Ij|Yzzc3s=d&0B}g@_{V@I}6^(F^d4!-mYZ`hLzP1%mc({Dcb;h5KDnzm|F; ziBGQmo0^xh3by{P=I8yK?J{tF*))02BYr6EpoZc$lpWG{OjSrfMq46^j0E_#fNtwo zVb$ZcULt->^dzn8lZ*xY8pXdj@32F`7I)Rriu#Ckz`#Zd@QXE$?YuT-B9Q2;$Nd{@ z=YhF>q5ApniMY*63E0AqOifoK#keY6{o?o`!`51v0FXfd?E?Rz28Cbl*o_LDP!pSM zAT`4liU$g!*1U~gwv$|QqV$yGhk*4pKx)AHT)=wa{YxWv&g@!O=nv8#bKlgd3m3vE{bNXm&{s7fA*9wab1m z(liX(b<%mrYBH+2Siek#RvxAhA%<@wL$?MsCup4IfM0wH8=?CX+8dHfAX0_CwD>MGZr!97;MXmg!9Quf2z7%mm^cV#!-mJ$s>@Db zldbeiR#-G>VT(B;$4&fJ%Yb|v+It!g90$i{gHr6zRU!Da};486h zyh6n82GY8CEf~KLu7T>IIFE%(yXT$M-*Uk>h#$K7FI9i2>TOiK*8-xAYeD|&MLz9S z+%}ka&0qm=44(2)08mcLxcW6v;m`qwTEsj7Ta39%K>eXrs-MrnKg8HMcFHsdW^e+H z_uxIE+l?RE^NVc02%3Vlj_XUXl>idukhfBLT8!lB9N&df>^)0Q5bkwkU*c^Z7e{w9 zJa*g6Ir#Na;8y_ae3s#WgH2n|EpEf{!$G9I;N||T)Sn%+(20JtgkP%(OOQ6GW~el- zyMV&c`zr(dsv$0$Pi_`JZRDg9Ab`(*T{(uk&Pw=2Z&XS5sK zd3Id zj?yojU$*Wr8rZxqr4NzcrYh03ZC8nZH6lF({3?ix48N9-dQi)U7nb4I0q$X%om&=) zqz-gY3BM3tQ&0<@;`e#a>Ez?r$Di94;1}aEm`ir`QuDM9+XArTCwzjqgkN+b0=;m& z`=fwgFZK@Pno$N-739CX+oB3W2Y#h&Ou}*Nwkq8D(1kuLy{MbNi~g~HQFrvj^_Qnr z$}fu=#XA6YXcOeW+;8W34*JafDaS85t+m1N_RfZ7~_vOY@^D4V-ZP zOWoCA!PE2Zj~XYHI4FuL*H=$g*sNa!8~&v2*$rIeOIC3Jmr#&v$0EQlmv#m9v_D~A zt6*$ElEP+P-e+9IY%3SNh;P(2JqNZ`u)K~PrypQPRXZjAb%<`WaaE%& zzF+FR@+xmC;nxWDO4J`NMOA}0_9A6b(J|XB;TP(oB-{*~Q1kmd;dnr z`%$JUo$3+oB9uKZwqg?y6mdR_-%@(v&?|&;6of-TyS7RY zv4pVp?K7Zp5*A6#&q#$6k$Qq)=XL4@KGY?u^j?t17Xf5%xcY^^pCY!}i5ru9M5<$} zg@8$}%98sS(FR12{~95ukWR<8AE~4v*|IE_n^%!Q00+*}tf2l7@k803i;sYIosm!2 zizZO~j{(YfVcwvRUk}hore!Y2`8lrD5A)tg2z0R1<>43Kf4D7^7(vBCv$a(&EdoX@ z0a7e+1M06`y%>jnWo>ZDDp4tWbE)L)90y1%QxXQ`jH_Rhkrnj6CGdpvBwvK+*OUQ%ops;Si9Pfj(q6H2UyO!~R#~0U41qwRghL+04G1|wfJp_lUmm>oMdQ!0Y1KtiBiM%)?|IZ8_9(Wsw09JVLhCuh;yG`F0$(!ZA2V14#-q78jc@YsD|oi+GQ&&z&>PeaHI^s%$7B=-P+|e>8$8R zKBdvOs{wv(0Kc&8&Wl82|06{PvYJL67jf`K6D9l-s-phR>l^Jy=zfNzr9i7iwowS< z7r#fPkoGfd?d(+-aoC-V1w3@{FB`iBC=9odrmPjTz89|92;zrO$AEt^rE0eqF}H#- zx7QE#jqN>sW!v@mLn@{G7exrJKGUw#GHs(Eb{OM=KbFNvm42!FH}vKR-`|TsVgvK9 zB1tR)^xea+&Whs|w?(j{ZbC^RC-0)>MZ-o9kHQqC`i;mP5|s1%Vi^Y;Gi$RQ!{!zp z8N)FDlK5*WUATqja(bOwGK{Al| z-4QK~!hj{j_iqS=Um^a5Yoi7dNRfyn^lOiVel2(L>w@!Nx#yBgtKy>1v4%nR*TEj{ zagw3<;Q~4&>+3<;#4S$BCd)8U4O*}i${w9E| z;I7xcxx4KLmp2Uqzt}&lH=>{GU0|yq;jN|m`Q7!QQj^P^X!jh}O7%Cw99O?GwNEo_ zrPoG)Ur4@WqswbjrdCKz;*SiTaP8{8`QM^5PU}VS0j+4^&v2ONMms&*fx1CHzntN5 zNg(d&Oj}|7A&d)uuMGgLy(TfP5%5Y6zmWeD&ro|YHmRMHZ|=FKSNZ%n(dJ?}GWYqHU3xE9(tYncF>a^pN z4JZ9N^MHS;G8=!rl)s^nnjMc&{4jifFY_)l!`x5UlJKo6#L1pG@!9J}?)@x^@*3aD4c=y z3-L;CqJsG0E;>$4av&oL6jCCUI0)j057REWsQ5mVN=Cdt`xOweAb$7^WhqtnKB^pw zhfV-o^p?vC>7HzJM5h%K_WG5@-Q!ZnKF`uWIy z`mB9%L42P6ks58dA{>-Uu`m>2lTfNZWc&*5m+<=hnyX*C--m1$V^gTBL7zkXi^GOk zuVFMUAJ@?me!1DMM3Ek&g)V-1fyAJGgL}BhuIox1#{sv@1$|aHST}bsW~0eo&Lx-M zp+75|pQEm=%gtB!oN#~m{Bn7Jg8GfG;ZKORb?(?%T7qC)0sqR;6rzROc}+(zSkoYW zn54&TWV><*(*1~8tt-4Erg;4zP zS3N5;O*d)(O1QQc=a-R0_HOhI;TP6RR(V_0Q9$PDj)z}__#y6(n%N#YK7OJ8kgghv zq8kkn~tfF11;$Iajp87vKcq*B&B697vxh}L zeu(>{Wb;6Dj~JJaTIDvg==$p3{ZYXdEn8DhznFgozC@Xw$D%l{eg*eOxpt$x&mMl! zldH6D`=t4Mdi7x?Tn!<@Parspl`hkhYbtJye9HbkbN+C}trefL|4<3^Dfa(9X(yS8^d_j=i)0JP7 znoIt;Vv�$DR4HSsNmqcrsV|eYUj>P75ugYUv3T z0}=m;-=;%P_r$E#h6&3b2vR-q=TH(U&c=2l5L%eU;fY1+gEdXdb=EvXAM%AG6)lc> z;ey=a|Rb(9XMEc|E@P-?V8$!BA%|tM+4n5OTXI*E^?JWsQd#bI~ zou#p7^qV4|ppVP>nF?Q^x`^N>w!dDLkyWxQQ(IRtU7*sqNZOWZ=py0@wIZU+kJOu; zy5Hu>>$H!`4E$dg6cAlh;+;+ViQ*AJ)x38VIwzC%*1nd!2TxJej$=uKK7F zeh)%~pZxc_4>)t(dA@eqdp>@2{;hHyzuB4V>KBP=YSkOD`ay{eUAnI!s*Kz$>oOPB zReTx3O-iU>;S+W9{WjOydUxbg^oKOxsbJw_WI~{Icv369@4B{wGP2I9G$Or9P#ZRb z^}-YB_qjv2@T9{qdzGLT&cX`fNvTZ*w8>gy%oi-AKOURk5wQ>7Xz4};`Qy?eUCxc^ z`LT-CAwk|~%{MCSh&M2J^5m*73sAIGtY7MhKlE!m1W9RGh9OwUSxFXp2Kb5pUDvXH z-K6vjD&q>X{3qVHp0qVzn*sri`3Oa|B>$tQBQaWysVfQH(06{~H&ObPVQupDt3Zut zqn>z;Dk6*RbzSpn^(Or%fuL`6)Dv0yE^u{Qz`9`j zsz6?r8exOf6R(l6<}-8aZtKL88~KUfgsLJ!+Bq|+y8@v)2TzEf1Z`s4$LP3oRl0he z66(_igh)R>vHeDdf`9-ESeWIZgX6bpsOvmxF7DrcvnRxEZZK`9Cf&ci-fu$f=hvVA zm-DC2zcXD3+WdQj)Q_Xfj=Y*bxQT_K?}dfn*O#=edv@NN!=tY&VM$mB+FbLcKltfg z50AZinuVQLkKJ+ln$4X@=j|Vx_(ISoBD(Fn%`5cThc6InXFGl)UE#6|#{lTC5VR39 z*$o$|rT-oZ!Dtz<)&XI?j{#g>063mIGEH#&Ht+f#Mr!Y4_;4KHvL|G4_SO3=)UWTU z$*tKpce>!e#fiam)jAdF$hv8Q?Lsazj~JH$#}^8)ENS&7!wJ;J)fVVaNeJ5L8F&}h z0fnavZW}XViwtt!m(y%HP3UzyZC^VhF1rBjxc1OS(*TaA3+hESI+zBUYdF9#O>k5b z;_sS{r`{9keOF{ATy`B3SQ7Q=iu|Vc_}^vgU6ES4mgY_uI^6H-q)J*P&5T|bnJ&1m zp-y1j1-Kjlv~M?T;OPvw>>{=8VM^pW{nnlZnGe^^JvvQrygo;+6SvB{Ggs8jJ~~bC z+H_6FTB43^+NVh+9ZARZ5xr9C}=N6|4{@%cPmEm##(2UFO zdu*&%87>C^&A9Bf!QQZYOyKfdF-;(UTpD#bwdsmjWc4(Gl?osBaKpH){A>S-`&GOT z%WydW=nyX3I9B=Y`sMZcH|dx3+F%ZsN9NFKX%?pm-W+zp79b14(eT651jl<1Rgk)| zx|W`tCJg!CwOY>{u1jARo7*={klq|dY$`J+!UJg6z^E75kxqtVMq!1^WrFm-%LXpj z>eoi*&LH^f74pTxYu*de;T(z`%x?ua`VvhFPuz=yX z#>eF{VO7wd>2Mr83EKR7gz0eXKlz`*uTO_#|H(T+n=)Ju09pw_8_`d=ip8!nU7-WQ zhg0_;5i(mTh1;$ia#lfKW?|!z9VxXj`UOte+c@>6gboPbP1MtNJPE#Q2I!i_%jqeg z+fLGjn=Gqagew{R*MtDAdU|8?ZA2kcNN^GsZO0SuO=#op+_LYx+#tEcDz&NV z7x&OUd!bnpzMI&uo|N8Gvg^LdpS29OA0$2K5BVjWC1KX`x$Nee{(CU1>BuPkB`t7# zp|B=~C#z_|kc$`?;Pm%=*j#Lc-a|8ts^(gPIV;T%x;1T{&3-gcQ{r{nH?ZD6`9Jv6 zCEk#DO=kZ1WA=aA+UiTC|E47)GFrytrH2R@B2 zpR}Jpf8Jqfx}bhO^N-rk|F!#Dzp;(?=KoLHT%gN=QbP#(GlLHD?j^(zN^Sf-rpk?Z zYX#a}YEy0#${f?6(X>6L?ge43^gc6bAk-oFJ#IFmE=yq%zsJ{|8FkrvQ_!ZQ!qb#G zXj2NJOjGKh%?vu|&zRq423-!6`ZwwF1@DgT|2z0WSnwLnpv$FSe|KFj zwQ;4HbUA4A8+18n^PUUSRXBJOd{^*fy6~U2P0+D-71B6U!rLuP9UpnuM!);P?`Gh4 zGw{0^_}vWrZU%lg1HYSr{~ynQ@|WN+!C$gxoCb{?CuW3lIy1KVtq<`UjbgZ*=eM@} z%?(7v?v=HrSk`ZD{q8?SfA~HB;r`HnviVW{L23KDkNn^F6CRe6eve-C9_*j@YFzKt z{=s{Ae*VLH@m}qp_iBFrQ@-at*gx3Mzq3ETLG|CO`FXGQ&wn=i^Ipx*du4ynpWorv vZ{E-UukkC5BY4QEz!#GEFX7OMjgs5n{_)yZr14i=xwZSA!=<#8_lo}qj5k?J From 6b038d192a8418ec7c5ab74c344b4d4b216efc5e Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 15 Jan 2015 15:45:54 +0100 Subject: [PATCH 097/133] Minor dox --- armsrc/iclass.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 72cfbefc3..e7dd95358 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -921,7 +921,7 @@ static void CodeIClassTagAnswer(const uint8_t *cmd, int len) * - A 1-bit input to the FPGA becomes 8 pulses on 423.5kHz (fc/32) (18.88us). * - A 0-bit inptu to the FPGA becomes an unmodulated time of 18.88us * - * In thist mode the SOF can be written as 00011101 = 0x1D + * In this mode the SOF can be written as 00011101 = 0x1D * The EOF can be written as 10111000 = 0xb8 * A logic 1 is 01 * A logic 0 is 10 @@ -1215,12 +1215,7 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader cmdsRecvd++; } /** - After changes to parity calculation - Time between reader EOT and pm3 SOF - delay 21 -> 480uS - delay 10 -> 220us - delay 16 -> 388us - A legit tag has about 380us. + A legit tag has about 380us delay between reader EOT and tag SOF. **/ if(modulated_response_size > 0) { SendIClassAnswer(modulated_response, modulated_response_size, 1); From 758f1fd1f37d52678af1e9b1f72d58aecf41cac4 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 15 Jan 2015 16:07:58 +0100 Subject: [PATCH 098/133] Fixed issue #43 on github --- armsrc/iso14443a.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index cf55e6068..d326be2c5 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -1772,7 +1772,7 @@ int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, u Dbprintf("Multiple tags detected. Collision after Bit %d", Demod.collisionPos); for (uint16_t i = collision_answer_offset; i < Demod.collisionPos; i++, uid_resp_bits++) { // add valid UID bits before collision point uint16_t UIDbit = (resp[i/8] >> (i % 8)) & 0x01; - uid_resp[uid_resp_bits & 0xf8] |= UIDbit << (uid_resp_bits % 8); + uid_resp[uid_resp_bits / 8] |= UIDbit << (uid_resp_bits % 8); } uid_resp[uid_resp_bits/8] |= 1 << (uid_resp_bits % 8); // next time select the card(s) with a 1 in the collision position uid_resp_bits++; From d60418a05f2cbaa97140c569ba63f1a1eb831a79 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 15 Jan 2015 16:28:28 +0100 Subject: [PATCH 099/133] Synchronized loclass library, imported the legal warning --- client/loclass/cipher.c | 20 +++++++++-- client/loclass/cipher.h | 20 +++++++++-- client/loclass/cipherutils.c | 19 +++++++++-- client/loclass/cipherutils.h | 20 +++++++++-- client/loclass/elite_crack.c | 62 +++++++++++++++++++++++++++++++++-- client/loclass/elite_crack.h | 39 ++++++++++++++++++++++ client/loclass/fileutils.c | 43 ++++++++++++++++++++++-- client/loclass/fileutils.h | 38 +++++++++++++++++++++ client/loclass/ikeys.c | 24 ++++++++++---- client/loclass/ikeys.h | 38 +++++++++++++++++++++ client/loclass/loclass_main.h | 4 +++ client/loclass/main.c | 40 +++++++++++++++++++--- 12 files changed, 342 insertions(+), 25 deletions(-) create mode 100644 client/loclass/loclass_main.h diff --git a/client/loclass/cipher.c b/client/loclass/cipher.c index 463ba9be8..d3b1e7997 100644 --- a/client/loclass/cipher.c +++ b/client/loclass/cipher.c @@ -1,5 +1,17 @@ /***************************************************************************** - * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine * used in iClass, and RFID techology. * * The implementation is based on the work performed by @@ -18,9 +30,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ + #include "cipher.h" #include "cipherutils.h" #include diff --git a/client/loclass/cipher.h b/client/loclass/cipher.h index 4bfbe0b75..176a29767 100644 --- a/client/loclass/cipher.h +++ b/client/loclass/cipher.h @@ -1,5 +1,17 @@ /***************************************************************************** - * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine * used in iClass, and RFID techology. * * The implementation is based on the work performed by @@ -18,9 +30,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ + #ifndef CIPHER_H #define CIPHER_H #include diff --git a/client/loclass/cipherutils.c b/client/loclass/cipherutils.c index e11e8d224..f9c622736 100644 --- a/client/loclass/cipherutils.c +++ b/client/loclass/cipherutils.c @@ -1,5 +1,17 @@ /***************************************************************************** - * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine * used in iClass, and RFID techology. * * The implementation is based on the work performed by @@ -18,7 +30,10 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ #include diff --git a/client/loclass/cipherutils.h b/client/loclass/cipherutils.h index acf96115b..cb090f695 100644 --- a/client/loclass/cipherutils.h +++ b/client/loclass/cipherutils.h @@ -1,5 +1,17 @@ /***************************************************************************** - * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine * used in iClass, and RFID techology. * * The implementation is based on the work performed by @@ -18,9 +30,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ + #ifndef CIPHERUTILS_H #define CIPHERUTILS_H #include diff --git a/client/loclass/elite_crack.c b/client/loclass/elite_crack.c index adedba856..a8ab869e8 100644 --- a/client/loclass/elite_crack.c +++ b/client/loclass/elite_crack.c @@ -1,3 +1,41 @@ +/***************************************************************************** + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with loclass. If not, see . + * + * + * + ****************************************************************************/ + #include #include #include @@ -514,6 +552,7 @@ int bruteforceDump(uint8_t dump[], size_t dumpsize, uint16_t keytable[]) */ int bruteforceFile(const char *filename, uint16_t keytable[]) { + FILE *f = fopen(filename, "rb"); if(!f) { prnlog("Failed to read from file '%s'", filename); @@ -621,6 +660,21 @@ int _test_iclass_key_permutation() prnlog("[+] Iclass key permutation OK!"); return 0; } +int _testHash1() +{ + uint8_t csn[8]= {0x01,0x02,0x03,0x04,0xF7,0xFF,0x12,0xE0}; + uint8_t k[8] = {0}; + hash1(csn, k); + uint8_t expected[8] = {0x7E,0x72,0x2F,0x40,0x2D,0x02,0x51,0x42}; + if(memcmp(k,expected,8) != 0) + { + prnlog("Error with hash1!"); + printarr("calculated", k, 8); + printarr("expected", expected, 8); + return 1; + } + return 0; +} int testElite() { @@ -653,11 +707,13 @@ int testElite() prnlog("[+] Hash2 looks fine..."); } - prnlog("[+] Testing key diversification ..."); - int errors = 0 ; - errors +=_test_iclass_key_permutation(); + prnlog("[+] Testing hash1..."); + errors += _testHash1(); + prnlog("[+] Testing key diversification ..."); + errors +=_test_iclass_key_permutation(); errors += _testBruteforce(); + return errors; } diff --git a/client/loclass/elite_crack.h b/client/loclass/elite_crack.h index 21004e599..fb27355fd 100644 --- a/client/loclass/elite_crack.h +++ b/client/loclass/elite_crack.h @@ -1,3 +1,42 @@ +/***************************************************************************** + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with loclass. If not, see . + * + * + * + ****************************************************************************/ + + #ifndef ELITE_CRACK_H #define ELITE_CRACK_H void permutekey(uint8_t key[8], uint8_t dest[8]); diff --git a/client/loclass/fileutils.c b/client/loclass/fileutils.c index 206d9695c..4079dccf8 100644 --- a/client/loclass/fileutils.c +++ b/client/loclass/fileutils.c @@ -1,3 +1,41 @@ +/***************************************************************************** + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with loclass. If not, see . + * + * + * + ****************************************************************************/ + #include #include #include @@ -40,14 +78,13 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si /*Opening file for writing in binary mode*/ FILE *fileHandle=fopen(fileName,"wb"); if(!fileHandle) { - PrintAndLog("Failed to write to file '%s'", fileName); + prnlog("Failed to write to file '%s'", fileName); free(fileName); return 1; } fwrite(data, 1, datalen, fileHandle); fclose(fileHandle); - PrintAndLog("Saved data to '%s'", fileName); - + prnlog("Saved data to '%s'", fileName); free(fileName); return 0; diff --git a/client/loclass/fileutils.h b/client/loclass/fileutils.h index e02079d52..623190a61 100644 --- a/client/loclass/fileutils.h +++ b/client/loclass/fileutils.h @@ -1,3 +1,41 @@ +/***************************************************************************** + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with loclass. If not, see . + * + * + * + ****************************************************************************/ + #ifndef FILEUTILS_H #define FILEUTILS_H /** diff --git a/client/loclass/ikeys.c b/client/loclass/ikeys.c index f7115b197..b21ecdbc0 100644 --- a/client/loclass/ikeys.c +++ b/client/loclass/ikeys.c @@ -1,15 +1,23 @@ /***************************************************************************** - * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine * used in iClass, and RFID techology. * * The implementation is based on the work performed by * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and * Milosch Meriac in the paper "Dismantling IClass". * - * This is a reference implementation of iclass key diversification. I'm sure it can be - * optimized heavily. It is written for ease of understanding and correctness, please take it - * and tweak it and make a super fast version instead, using this for testing and verification. - * Copyright (C) 2014 Martin Holst Swende * * This is free software: you can redistribute it and/or modify @@ -22,8 +30,12 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ + /** diff --git a/client/loclass/ikeys.h b/client/loclass/ikeys.h index 1de46b62c..13096194d 100644 --- a/client/loclass/ikeys.h +++ b/client/loclass/ikeys.h @@ -1,3 +1,41 @@ +/***************************************************************************** + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine + * used in iClass, and RFID techology. + * + * The implementation is based on the work performed by + * Flavio D. Garcia, Gerhard de Koning Gans, Roel Verdult and + * Milosch Meriac in the paper "Dismantling IClass". + * + * Copyright (C) 2014 Martin Holst Swende + * + * This is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This file is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with loclass. If not, see . + * + * + * + ****************************************************************************/ + #ifndef IKEYS_H #define IKEYS_H diff --git a/client/loclass/loclass_main.h b/client/loclass/loclass_main.h new file mode 100644 index 000000000..b6d58a8bc --- /dev/null +++ b/client/loclass/loclass_main.h @@ -0,0 +1,4 @@ +#ifndef LOCLASS_MAIN_H +#define LOCLASS_MAIN_H + +#endif // LOCLASS_MAIN_H diff --git a/client/loclass/main.c b/client/loclass/main.c index 42019072f..d1b0359b3 100644 --- a/client/loclass/main.c +++ b/client/loclass/main.c @@ -1,5 +1,17 @@ /***************************************************************************** - * This file is part of iClassCipher. It is a reconstructon of the cipher engine + * WARNING + * + * THIS CODE IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. + * + * USAGE OF THIS CODE IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL + * PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, + * AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. + * + * THIS CODE SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. + * + ***************************************************************************** + * + * This file is part of loclass. It is a reconstructon of the cipher engine * used in iClass, and RFID techology. * * The implementation is based on the work performed by @@ -18,11 +30,14 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with IClassCipher. If not, see . + * along with loclass. If not, see . + * + * + * ****************************************************************************/ + #include -#include #include #include #include @@ -40,11 +55,15 @@ int unitTests() errors += testMAC(); errors += doKeyTests(0); errors += testElite(); + if(errors) + { + prnlog("OBS! There were errors!!!"); + } return errors; } int showHelp() { - prnlog("Usage: iclazz [options]"); + prnlog("Usage: loclass [options]"); prnlog("Options:"); prnlog("-t Perform self-test"); prnlog("-h Show this help"); @@ -64,7 +83,18 @@ int main (int argc, char **argv) { prnlog("IClass Cipher version 1.2, Copyright (C) 2014 Martin Holst Swende\n"); prnlog("Comes with ABSOLUTELY NO WARRANTY"); - prnlog("This is free software, and you are welcome to use, abuse and repackage, please keep the credits\n"); + prnlog("Released as GPLv2\n"); + prnlog("WARNING"); + prnlog(""); + prnlog("THIS TOOL IS CREATED FOR EXPERIMENTATION AND EDUCATIONAL USE ONLY. "); + prnlog(""); + prnlog("USAGE OF THIS TOOL IN OTHER WAYS MAY INFRINGE UPON THE INTELLECTUAL "); + prnlog("PROPERTY OF OTHER PARTIES, SUCH AS INSIDE SECURE AND HID GLOBAL, "); + prnlog("AND MAY EXPOSE YOU TO AN INFRINGEMENT ACTION FROM THOSE PARTIES. "); + prnlog(""); + prnlog("THIS TOOL SHOULD NEVER BE USED TO INFRINGE PATENTS OR INTELLECTUAL PROPERTY RIGHTS. "); + + char *fileName = NULL; int c; while ((c = getopt (argc, argv, "thf:")) != -1) From 49726b4088b78027b7ce3215c432cbb99a283f27 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 15 Jan 2015 23:00:39 +0100 Subject: [PATCH 100/133] Improved 'hf list iclass' a bit, better understanding of the protocol and when to apply CRC checks --- client/cmdhf.c | 112 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 87 insertions(+), 25 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 762fada43..33d01aeec 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -123,14 +123,19 @@ NXP/Philips CUSTOM COMMANDS 40 = Long Range CMD (Standard ISO/TR7003:1990) */ -#define ICLASS_CMD_ACTALL 0x0A +#define ICLASS_CMD_ACTALL 0x0A #define ICLASS_CMD_READ_OR_IDENTIFY 0x0C -#define ICLASS_CMD_SELECT 0x81 -#define ICLASS_CMD_PAGESEL 0x84 -#define ICLASS_CMD_READCHECK 0x88 -#define ICLASS_CMD_CHECK 0x05 -#define ICLASS_CMD_SOF 0x0F -#define ICLASS_CMD_HALT 0x00 +#define ICLASS_CMD_SELECT 0x81 +#define ICLASS_CMD_PAGESEL 0x84 +#define ICLASS_CMD_READCHECK_KD 0x88 +#define ICLASS_CMD_READCHECK_KC 0x18 +#define ICLASS_CMD_CHECK 0x05 +#define ICLASS_CMD_DETECT 0x0F +#define ICLASS_CMD_HALT 0x00 +#define ICLASS_CMD_UPDATE 0x87 +#define ICLASS_CMD_ACT 0x8E +#define ICLASS_CMD_READ4 0x06 + #define ISO14443_CMD_REQA 0x26 #define ISO14443_CMD_READBLOCK 0x30 @@ -235,11 +240,15 @@ void annotateIclass(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) break; } case ICLASS_CMD_SELECT: snprintf(exp,size,"SELECT"); break; - case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL"); break; - case ICLASS_CMD_READCHECK: snprintf(exp,size,"READCHECK"); break; + case ICLASS_CMD_PAGESEL: snprintf(exp,size,"PAGESEL(%d)", cmd[1]); break; + case ICLASS_CMD_READCHECK_KC:snprintf(exp,size,"READCHECK[Kc](%d)", cmd[1]); break; + case ICLASS_CMD_READCHECK_KD:snprintf(exp,size,"READCHECK[Kd](%d)", cmd[1]); break; case ICLASS_CMD_CHECK: snprintf(exp,size,"CHECK"); break; - case ICLASS_CMD_SOF: snprintf(exp,size,"SOF"); break; + case ICLASS_CMD_DETECT: snprintf(exp,size,"DETECT"); break; case ICLASS_CMD_HALT: snprintf(exp,size,"HALT"); break; + case ICLASS_CMD_UPDATE: snprintf(exp,size,"UPDATE(%d)",cmd[1]); break; + case ICLASS_CMD_ACT: snprintf(exp,size,"ACT"); break; + case ICLASS_CMD_READ4: snprintf(exp,size,"READ4(%d)",cmd[1]); break; default: snprintf(exp,size,"?"); break; } return; @@ -276,6 +285,66 @@ void annotateIso15693(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) } } } +/** + * @brief iclass_CRC_Ok Checks CRC in command or response + * @param isResponse + * @param data + * @param len + * @return 0 : CRC-command, CRC not ok + * 1 : CRC-command, CRC ok + * 2 : Not crc-command + */ +uint8_t iclass_CRC_Ok(bool isResponse, uint8_t* data, uint8_t len) +{ + if(len < 4) return 2;//CRC commands (and responses) are all at least 4 bytes + + uint8_t b1, b2; + + if(!isResponse)//Commands to tag + { + /** + These commands should have CRC. Total length leftmost + 4 READ + 4 READ4 + 12 UPDATE - unsecured, ends with CRC16 + 14 UPDATE - secured, ends with signature instead + 4 PAGESEL + **/ + if(len == 4 || len == 12)//Covers three of them + { + //Don't include the command byte + ComputeCrc14443(CRC_ICLASS, (data+1), len-3, &b1, &b2); + return b1 == data[len -2] && b2 == data[len-1]; + } + return 2; + }else{ + /** + These tag responses should have CRC. Total length leftmost + + 10 READ data[8] crc[2] + 34 READ4 data[32]crc[2] + 10 UPDATE data[8] crc[2] + 10 SELECT csn[8] crc[2] + 10 IDENTIFY asnb[8] crc[2] + 10 PAGESEL block1[8] crc[2] + 10 DETECT csn[8] crc[2] + + These should not + + 4 CHECK chip_response[4] + 8 READCHECK data[8] + 1 ACTALL sof[1] + 1 ACT sof[1] + + In conclusion, without looking at the command; any response + of length 10 or 34 should have CRC + **/ + if(len != 10 && len != 34) return true; + + ComputeCrc14443(CRC_ICLASS, data, len-2, &b1, &b2); + return b1 == data[len -2] && b2 == data[len-1]; + } +} uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool showWaitCycles) { @@ -332,24 +401,14 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho } } //--- Draw the CRC column - bool crcError = false; + uint8_t crcStatus = 2; if (data_len > 2) { uint8_t b1, b2; if(iclass) { - if(!isResponse && data_len == 4 ) { - // Rough guess that this is a command from the reader - // For iClass the command byte is not part of the CRC - ComputeCrc14443(CRC_ICLASS, &frame[1], data_len-3, &b1, &b2); - } else { - // For other data.. CRC might not be applicable (UPDATE commands etc.) - ComputeCrc14443(CRC_ICLASS, frame, data_len-2, &b1, &b2); - } - - if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { - crcError = true; - } + //The following commands have crc + crcStatus = iclass_CRC_Ok(isResponse, frame, data_len); }else{//Iso 14443a @@ -358,12 +417,15 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho if (b1 != frame[data_len-2] || b2 != frame[data_len-1]) { if(!(isResponse & (data_len < 6))) { - crcError = true; + crcStatus = 0; } } } } - char *crc = crcError ? "!crc" :" "; + //0 CRC-command, CRC not ok + //1 CRC-command, CRC ok + //2 Not crc-command + char *crc = (crcStatus == 0 ? "!crc" : (crcStatus == 1 ? " ok " : " ")); EndOfTransmissionTimestamp = timestamp + duration; From 41fdd0f061ae7ef4cdc5bfc027f1097c990c3318 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 16 Jan 2015 22:41:19 +0100 Subject: [PATCH 101/133] First stab at adding 'hf list 14b' and 'hf list raw' --- client/cmdhf.c | 112 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 83 insertions(+), 29 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 33d01aeec..20ca057b3 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -137,14 +137,14 @@ NXP/Philips CUSTOM COMMANDS #define ICLASS_CMD_READ4 0x06 -#define ISO14443_CMD_REQA 0x26 -#define ISO14443_CMD_READBLOCK 0x30 -#define ISO14443_CMD_WUPA 0x52 -#define ISO14443_CMD_ANTICOLL_OR_SELECT 0x93 -#define ISO14443_CMD_ANTICOLL_OR_SELECT_2 0x95 -#define ISO14443_CMD_WRITEBLOCK 0xA0 // or 0xA2 ? -#define ISO14443_CMD_HALT 0x50 -#define ISO14443_CMD_RATS 0xE0 +#define ISO14443A_CMD_REQA 0x26 +#define ISO14443A_CMD_READBLOCK 0x30 +#define ISO14443A_CMD_WUPA 0x52 +#define ISO14443A_CMD_ANTICOLL_OR_SELECT 0x93 +#define ISO14443A_CMD_ANTICOLL_OR_SELECT_2 0x95 +#define ISO14443A_CMD_WRITEBLOCK 0xA0 // or 0xA2 ? +#define ISO14443A_CMD_HALT 0x50 +#define ISO14443A_CMD_RATS 0xE0 #define MIFARE_AUTH_KEYA 0x60 #define MIFARE_AUTH_KEYB 0x61 @@ -180,14 +180,17 @@ NXP/Philips CUSTOM COMMANDS #define ISO15693_READ_MULTI_SECSTATUS 0x2C +#define ISO_14443A 0 +#define ICLASS 1 +#define ISO_14443B 2 void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) { switch(cmd[0]) { - case ISO14443_CMD_WUPA: snprintf(exp,size,"WUPA"); break; - case ISO14443_CMD_ANTICOLL_OR_SELECT:{ + case ISO14443A_CMD_WUPA: snprintf(exp,size,"WUPA"); break; + case ISO14443A_CMD_ANTICOLL_OR_SELECT:{ // 93 20 = Anticollision (usage: 9320 - answer: 4bytes UID+1byte UID-bytes-xor) // 93 70 = Select (usage: 9370+5bytes 9320 answer - answer: 1byte SAK) if(cmd[2] == 0x70) @@ -198,7 +201,7 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) snprintf(exp,size,"ANTICOLL"); break; } } - case ISO14443_CMD_ANTICOLL_OR_SELECT_2:{ + case ISO14443A_CMD_ANTICOLL_OR_SELECT_2:{ //95 20 = Anticollision of cascade level2 //95 70 = Select of cascade level2 if(cmd[2] == 0x70) @@ -209,11 +212,11 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) snprintf(exp,size,"ANTICOLL-2"); break; } } - case ISO14443_CMD_REQA: snprintf(exp,size,"REQA"); break; - case ISO14443_CMD_READBLOCK: snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break; - case ISO14443_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break; - case ISO14443_CMD_HALT: snprintf(exp,size,"HALT"); break; - case ISO14443_CMD_RATS: snprintf(exp,size,"RATS"); break; + case ISO14443A_CMD_REQA: snprintf(exp,size,"REQA"); break; + case ISO14443A_CMD_READBLOCK: snprintf(exp,size,"READBLOCK(%d)",cmd[1]); break; + case ISO14443A_CMD_WRITEBLOCK: snprintf(exp,size,"WRITEBLOCK(%d)",cmd[1]); break; + case ISO14443A_CMD_HALT: snprintf(exp,size,"HALT"); break; + case ISO14443A_CMD_RATS: snprintf(exp,size,"RATS"); break; case MIFARE_CMD_INC: snprintf(exp,size,"INC(%d)",cmd[1]); break; case MIFARE_CMD_DEC: snprintf(exp,size,"DEC(%d)",cmd[1]); break; case MIFARE_CMD_RESTORE: snprintf(exp,size,"RESTORE(%d)",cmd[1]); break; @@ -281,10 +284,44 @@ void annotateIso15693(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) case ISO15693_LOCK_DSFID :snprintf(exp, size, "LOCK_DSFID");break; case ISO15693_GET_SYSTEM_INFO :snprintf(exp, size, "GET_SYSTEM_INFO");break; case ISO15693_READ_MULTI_SECSTATUS :snprintf(exp, size, "READ_MULTI_SECSTATUS");break; - default: snprintf(exp,size,"?"); break; + default: snprintf(exp,size,"?"); break; } } } +void annotateIso14443b(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) +{ + switch(cmd[0]){ + case ISO14443B_REQB : snprintf(exp,size,"REQB");break; + case ISO14443B_ATTRIB : snprintf(exp,size,"ATTRIB");break; + case ISO14443B_HALT : snprintf(exp,size,"HALT");break; + default: snprintf(exp,size ,"?");break; + } + +} + +/** + * @brief iso14443B_CRC_Ok Checks CRC in command or response + * @param isResponse + * @param data + * @param len + * @return 0 : CRC-command, CRC not ok + * 1 : CRC-command, CRC ok + * 2 : Not crc-command + */ + +uint8_t iso14443B_CRC_check(bool isResponse, uint8_t* data, uint8_t len) +{ + uint8_t b1,b2; + + if(len <= 2) return 2; + + ComputeCrc14443(CRC_14443_B, data, len-2, &b1, &b2); + if(b1 != data[len-2] || b2 != data[len-1]) { + return 0; + } + return 1; +} + /** * @brief iclass_CRC_Ok Checks CRC in command or response * @param isResponse @@ -294,7 +331,7 @@ void annotateIso15693(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) * 1 : CRC-command, CRC ok * 2 : Not crc-command */ -uint8_t iclass_CRC_Ok(bool isResponse, uint8_t* data, uint8_t len) +uint8_t iclass_CRC_check(bool isResponse, uint8_t* data, uint8_t len) { if(len < 4) return 2;//CRC commands (and responses) are all at least 4 bytes @@ -346,7 +383,7 @@ uint8_t iclass_CRC_Ok(bool isResponse, uint8_t* data, uint8_t len) } } -uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool showWaitCycles) +uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, uint8_t protocol, bool showWaitCycles) { bool isResponse; uint16_t duration, data_len,parity_len; @@ -405,12 +442,15 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho if (data_len > 2) { uint8_t b1, b2; - if(iclass) + if(protocol == ICLASS) { - //The following commands have crc - crcStatus = iclass_CRC_Ok(isResponse, frame, data_len); + crcStatus = iclass_CRC_check(isResponse, frame, data_len); - }else{//Iso 14443a + }else if (protocol == ISO_14443B) + { + crcStatus = iso14443B_CRC_check(isResponse, frame, data_len); + } + else if (protocol == ISO_14443A){//Iso 14443a ComputeCrc14443(CRC_14443_A, frame, data_len-2, &b1, &b2); @@ -431,10 +471,12 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, bool iclass, bool sho if(!isResponse) { - if(iclass) + if(protocol == ICLASS) annotateIclass(explanation,sizeof(explanation),frame,data_len); - else + else if (protocol == ISO_14443A) annotateIso14443a(explanation,sizeof(explanation),frame,data_len); + else if(protocol == ISO_14443B) + annotateIso14443b(explanation,sizeof(explanation),frame,data_len); } int num_lines = (data_len - 1)/16 + 1; @@ -477,7 +519,7 @@ int CmdHFList(const char *Cmd) int tlen = param_getstr(Cmd,0,type); char param = param_getchar(Cmd, 1); bool errors = false; - bool iclass = false; + uint8_t protocol = false; //Validate params if(tlen == 0 || (strcmp(type, "iclass") != 0 && strcmp(type,"14a") != 0)) { @@ -490,9 +532,11 @@ int CmdHFList(const char *Cmd) if (errors) { PrintAndLog("List protocol data in trace buffer."); - PrintAndLog("Usage: hf list [14a|iclass] [f]"); + PrintAndLog("Usage: hf list [14a|14b|iclass] [f]"); PrintAndLog(" 14a - interpret data as iso14443a communications"); + PrintAndLog(" 14b - interpret data as iso14443b communications"); PrintAndLog(" iclass - interpret data as iclass communications"); + PrintAndLog(" raw - just show raw data"); PrintAndLog(" f - show frame delay times as well"); PrintAndLog(""); PrintAndLog("example: hf list 14a f"); @@ -501,7 +545,17 @@ int CmdHFList(const char *Cmd) } if(strcmp(type, "iclass") == 0) { - iclass = true; + protocol = ICLASS; + }else if(strcmp(type, "14a") == 0) + { + protocol = ISO_14443A; + } + else if(strcmp(type, "14b") == 0) + { + protocol = ISO_14443B; + }else if(strcmp(type,"raw")== 0) + { + protocol = -1;//No crc, no annotations } if (param == 'f') { @@ -525,7 +579,7 @@ int CmdHFList(const char *Cmd) while(tracepos < TRACE_SIZE) { - tracepos = printTraceLine(tracepos, trace, iclass, showWaitCycles); + tracepos = printTraceLine(tracepos, trace, protocol, showWaitCycles); } return 0; } From b689b842b68c061340f18ff595ffdabf34bdc4f0 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 16 Jan 2015 22:48:30 +0100 Subject: [PATCH 102/133] Bugfix 'hf list 14b' and 'hf list raw' --- client/cmdhf.c | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 20ca057b3..9acc9825b 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -519,9 +519,9 @@ int CmdHFList(const char *Cmd) int tlen = param_getstr(Cmd,0,type); char param = param_getchar(Cmd, 1); bool errors = false; - uint8_t protocol = false; + uint8_t protocol = 0; //Validate params - if(tlen == 0 || (strcmp(type, "iclass") != 0 && strcmp(type,"14a") != 0)) + if(tlen == 0) { errors = true; } @@ -529,6 +529,25 @@ int CmdHFList(const char *Cmd) { errors = true; } + if(!errors) + { + if(strcmp(type, "iclass") == 0) + { + protocol = ICLASS; + }else if(strcmp(type, "14a") == 0) + { + protocol = ISO_14443A; + } + else if(strcmp(type, "14b") == 0) + { + protocol = ISO_14443B; + }else if(strcmp(type,"raw")== 0) + { + protocol = -1;//No crc, no annotations + }else{ + errors = true; + } + } if (errors) { PrintAndLog("List protocol data in trace buffer."); @@ -543,20 +562,7 @@ int CmdHFList(const char *Cmd) PrintAndLog("example: hf list iclass"); return 0; } - if(strcmp(type, "iclass") == 0) - { - protocol = ICLASS; - }else if(strcmp(type, "14a") == 0) - { - protocol = ISO_14443A; - } - else if(strcmp(type, "14b") == 0) - { - protocol = ISO_14443B; - }else if(strcmp(type,"raw")== 0) - { - protocol = -1;//No crc, no annotations - } + if (param == 'f') { showWaitCycles = true; From 1e090a61a149a58a57e9d9acbf5e5532387867a4 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Sun, 18 Jan 2015 18:13:32 -0500 Subject: [PATCH 103/133] lf demod additions data fskfcdetect (field clock and bit clock detect for FSK) data fskdemodawid -AWID demod/decode data fskdemodpyramid - AWID demod/decode --- client/cmddata.c | 264 ++++++++++++++++++++++- client/cmddata.h | 2 + client/cmdlf.c | 12 +- common/lfdemod.c | 544 +++++++++++++++++++++++++++++++++++------------ common/lfdemod.h | 13 +- 5 files changed, 690 insertions(+), 145 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index a88fa4e10..60d0d8752 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -327,7 +327,8 @@ int Cmdmandecoderaw(const char *Cmd) //by marshmellow //biphase decode //take 01 or 10 = 0 and 11 or 00 = 1 -//takes 1 argument "offset" default = 0 if 1 it will shift the decode by one bit +//takes 2 arguments "offset" default = 0 if 1 it will shift the decode by one bit +// and "invert" default = 0 if 1 it will invert output // since it is not like manchester and doesn't have an incorrect bit pattern we // cannot determine if our decode is correct or if it should be shifted by one bit // the argument offset allows us to manually shift if the output is incorrect @@ -339,8 +340,9 @@ int CmdBiphaseDecodeRaw(const char *Cmd) int errCnt=0; size_t size=0; int offset=0; + int invert=0; int high=0, low=0; - sscanf(Cmd, "%i", &offset); + sscanf(Cmd, "%i %i", &offset, &invert); uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; //get graphbuffer & high and low for (;i=20){ PrintAndLog("Too many errors attempting to decode: %d",errCnt); return 0; @@ -714,6 +716,228 @@ int CmdFSKdemodIO(const char *Cmd) DemodBufferLen=64; return 1; } + + +//by marshmellow +//AWID Prox demod - FSK RF/50 with preamble of 00000001 (always a 96 bit data stream) +//print full AWID Prox ID and some bit format details if found +int CmdFSKdemodAWID(const char *Cmd) +{ + + int verbose=1; + sscanf(Cmd, "%i", &verbose); + + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(BitStream); + + //get binary from fsk wave + int idx = AWIDdemodFSK(BitStream, size); + if (idx<=0){ + if (verbose){ + if (idx == -1) + PrintAndLog("Error: not enough samples"); + else if (idx == -2) + PrintAndLog("Error: only noise found - no waves"); + else if (idx == -3) + PrintAndLog("Error: problem during FSK demod"); + // else if (idx == -3) + // PrintAndLog("Error: thought we had a tag but the parity failed"); + else if (idx == -4) + PrintAndLog("Error: AWID preamble not found"); + } + return 0; + } + + // Index map + // 0 10 20 30 40 50 60 + // | | | | | | | + // 01234567 890 1 234 5 678 9 012 3 456 7 890 1 234 5 678 9 012 3 456 7 890 1 234 5 678 9 012 3 - to 96 + // ----------------------------------------------------------------------------- + // 00000001 000 1 110 1 101 1 011 1 101 1 010 0 000 1 000 1 010 0 001 0 110 1 100 0 000 1 000 1 + // premable bbb o bbb o bbw o fff o fff o ffc o ccc o ccc o ccc o ccc o ccc o wxx o xxx o xxx o - to 96 + // |---26 bit---| |-----117----||-------------142-------------| + // b = format bit len, o = odd parity of last 3 bits + // f = facility code, c = card number + // w = wiegand parity + // (26 bit format shown) + + //get raw ID before removing parities + uint32_t rawLo = bytebits_to_byte(BitStream+idx+64,32); + uint32_t rawHi = bytebits_to_byte(BitStream+idx+32,32); + uint32_t rawHi2 = bytebits_to_byte(BitStream+idx,32); + size = removeParity(BitStream, idx+8, 4, 1, 88); + if (size != 66){ + if (verbose) PrintAndLog("Error: at parity check-tag size does not match AWID format"); + return 0; + } + // ok valid card found! + + // Index map + // 0 10 20 30 40 50 60 + // | | | | | | | + // 01234567 8 90123456 7890123456789012 3 456789012345678901234567890123456 + // ----------------------------------------------------------------------------- + // 00011010 1 01110101 0000000010001110 1 000000000000000000000000000000000 + // bbbbbbbb w ffffffff cccccccccccccccc w xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + // |26 bit| |-117--| |-----142------| + // b = format bit len, o = odd parity of last 3 bits + // f = facility code, c = card number + // w = wiegand parity + // (26 bit format shown) + + uint32_t fc = 0; + uint32_t cardnum = 0; + uint32_t code1 = 0; + uint32_t code2 = 0; + uint8_t fmtLen = bytebits_to_byte(BitStream,8); + if (fmtLen==26){ + fc = bytebits_to_byte(BitStream+9, 8); + cardnum = bytebits_to_byte(BitStream+17, 16); + code1 = bytebits_to_byte(BitStream+8,fmtLen); + PrintAndLog("AWID Found - BitLength: %d, FC: %d, Card: %d - Wiegand: %x, Raw: %x%08x%08x", fmtLen, fc, cardnum, code1, rawHi2, rawHi, rawLo); + } else { + cardnum = bytebits_to_byte(BitStream+8+(fmtLen-17), 16); + if (fmtLen>32){ + code1 = bytebits_to_byte(BitStream+8,fmtLen-32); + code2 = bytebits_to_byte(BitStream+8+(fmtLen-32),32); + PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d) - Wiegand: %x%08x, Raw: %x%08x%08x", fmtLen, cardnum, code1, code2, rawHi2, rawHi, rawLo); + } else{ + code1 = bytebits_to_byte(BitStream+8,fmtLen); + PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d) - Wiegand: %x, Raw: %x%08x%08x", fmtLen, cardnum, code1, rawHi2, rawHi, rawLo); + } + } + + //todo - convert hi2, hi, lo to demodbuffer for future sim/clone commands + + return 1; +} + +//by marshmellow +//Pyramid Prox demod - FSK RF/50 with preamble of 0000000000000001 (always a 128 bit data stream) +//print full Farpointe Data/Pyramid Prox ID and some bit format details if found +int CmdFSKdemodPyramid(const char *Cmd) +{ + + int verbose=1; + sscanf(Cmd, "%i", &verbose); + + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(BitStream); + + //get binary from fsk wave + int idx = PyramiddemodFSK(BitStream, size); + if (idx < 0){ + if (verbose){ + if (idx == -5) + PrintAndLog("Error: not enough samples"); + else if (idx == -1) + PrintAndLog("Error: only noise found - no waves"); + else if (idx == -2) + PrintAndLog("Error: problem during FSK demod"); + //else if (idx == -3) + // PrintAndLog("Error: thought we had a tag but the parity failed"); + else if (idx == -4) + PrintAndLog("Error: AWID preamble not found"); + } + PrintAndLog("idx: %d",idx); + return 0; + } + //PrintAndLog("DEBUG: idx: %d",idx); + + // Index map + // 0 10 20 30 40 50 60 + // | | | | | | | + // 0123456 7 8901234 5 6789012 3 4567890 1 2345678 9 0123456 7 8901234 5 6789012 3 + // ----------------------------------------------------------------------------- + // 0000000 0 0000000 1 0000000 1 0000000 1 0000000 1 0000000 1 0000000 1 0000000 1 + // premable xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o xxxxxxx o + + // 64 70 80 90 100 110 120 + // | | | | | | | + // 4567890 1 2345678 9 0123456 7 8901234 5 6789012 3 4567890 1 2345678 9 0123456 7 + // ----------------------------------------------------------------------------- + // 0000000 1 0000000 1 0000000 1 0110111 0 0011000 1 0000001 0 0001100 1 1001010 0 + // xxxxxxx o xxxxxxx o xxxxxxx o xswffff o ffffccc o ccccccc o ccccccw o ppppppp o + // |---115---||---------71---------| + // s = format start bit, o = odd parity of last 7 bits + // f = facility code, c = card number + // w = wiegand parity, x = extra space for other formats + // p = unknown checksum + // (26 bit format shown) + + //get raw ID before removing parities + uint32_t rawLo = bytebits_to_byte(BitStream+idx+96,32); + uint32_t rawHi = bytebits_to_byte(BitStream+idx+64,32); + uint32_t rawHi2 = bytebits_to_byte(BitStream+idx+32,32); + uint32_t rawHi3 = bytebits_to_byte(BitStream+idx,32); + size = removeParity(BitStream, idx+8, 8, 1, 120); + if (size != 105){ + if (verbose) PrintAndLog("Error: at parity check-tag size does not match Pyramid format, SIZE: %d, IDX: %d, hi3: %x",size, idx, rawHi3); + return 0; + } + + // ok valid card found! + + // Index map + // 0 10 20 30 40 50 60 70 + // | | | | | | | | + // 01234567890123456789012345678901234567890123456789012345678901234567890 + // ----------------------------------------------------------------------- + // 00000000000000000000000000000000000000000000000000000000000000000000000 + // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + // 71 80 90 100 + // | | | | + // 1 2 34567890 1234567890123456 7 8901234 + // --------------------------------------- + // 1 1 01110011 0000000001000110 0 1001010 + // s w ffffffff cccccccccccccccc w ppppppp + // |--115-| |------71------| + // s = format start bit, o = odd parity of last 7 bits + // f = facility code, c = card number + // w = wiegand parity, x = extra space for other formats + // p = unknown checksum + // (26 bit format shown) + + //find start bit to get fmtLen + idx = 0; + int j; + for (j=0; j32){ + //code1 = bytebits_to_byte(BitStream+(size-fmtLen),fmtLen-32); + //code2 = bytebits_to_byte(BitStream+(size-32),32); + PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d), Raw: %x%08x%08x%08x", fmtLen, cardnum, rawHi3, rawHi2, rawHi, rawLo); + } else{ + //code1 = bytebits_to_byte(BitStream+(size-fmtLen),fmtLen); + PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d), Raw: %x%08x%08x%08x", fmtLen, cardnum, rawHi3, rawHi2, rawHi, rawLo); + } + } + //todo - convert hi2, hi, lo to demodbuffer for future sim/clone commands + + return 1; +} + int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating { static const int LowTone[] = { @@ -833,6 +1057,21 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating return 0; } +int CmdFSKfcDetect(const char *Cmd) +{ + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t size = getFromGraphBuf(BitStream); + + + uint32_t ans = countFC(BitStream, size); + int fc1, fc2, rf1; + fc1 = (ans >> 8) & 0xFF; + fc2 = ans & 0xFF; + rf1 = (ans >>16) & 0xFF; + PrintAndLog("Detected Field Clocks: FC/%d, FC/%d - Bit Clock: RF/%d", fc1, fc2, rf1); + return 1; +} + int CmdDetectNRZpskClockRate(const char *Cmd) { GetNRZpskClock("",0,0); @@ -1560,19 +1799,22 @@ static command_t CommandTable[] = {"help", CmdHelp, 1, "This help"}, {"amp", CmdAmp, 1, "Amplify peaks"}, {"askdemod", Cmdaskdemod, 1, "<0 or 1> -- Attempt to demodulate simple ASK tags"}, - {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional[clock will try Auto-detect])"}, - {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK tags and output binary (args optional[clock will try Auto-detect])"}, + {"askmandemod", Cmdaskmandemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK/Manchester tags and output binary (args optional)"}, + {"askrawdemod", Cmdaskrawdemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate ASK tags and output bin (args optional)"}, {"autocorr", CmdAutoCorr, 1, " -- Autocorrelation over window"}, - {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] Biphase decode binary stream already in graph buffer (offset = bit to start decode from)"}, + {"biphaserawdecode",CmdBiphaseDecodeRaw,1,"[offset] [invert<0|1>] Biphase decode bin stream in demod buffer (offset = 0|1 bits to shift the decode start)"}, {"bitsamples", CmdBitsamples, 0, "Get raw samples as bitstring"}, {"bitstream", CmdBitstream, 1, "[clock rate] -- Convert waveform into a bitstream"}, {"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"}, {"dec", CmdDec, 1, "Decimate samples"}, {"detectclock", CmdDetectClockRate, 1, "Detect ASK clock rate"}, {"fskdemod", CmdFSKdemod, 1, "Demodulate graph window as a HID FSK"}, - {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK using raw"}, - {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox FSK using raw"}, - {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to binary (clock = 50)(invert = 1|0)(rchigh = 10)(rclow=8)"}, + {"fskawiddemod", CmdFSKdemodAWID, 1, "Demodulate graph window as an AWID FSK tag using raw"}, + {"fskfcdetect", CmdFSKfcDetect, 1, "Try to detect the Field Clock of an FSK wave"}, + {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK tag using raw"}, + {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox tag FSK using raw"}, + {"fskpyramiddemod",CmdFSKdemodPyramid,1, "Demodulate graph window as a Pyramid FSK tag using raw"}, + {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to bin (clock = 50)(invert = 1|0)(rchigh = 10)(rclow=8)"}, {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, {"hide", CmdHide, 1, "Hide graph window"}, @@ -1587,8 +1829,8 @@ static command_t CommandTable[] = {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, - {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional[clock will try Auto-detect])"}, - {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional[clock will try Auto-detect])"}, + {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional)"}, + {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional)"}, {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, {"save", CmdSave, 1, " -- Save trace (from graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, diff --git a/client/cmddata.h b/client/cmddata.h index 8723b847a..ffd6b983a 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -26,9 +26,11 @@ int CmdBitstream(const char *Cmd); int CmdBuffClear(const char *Cmd); int CmdDec(const char *Cmd); int CmdDetectClockRate(const char *Cmd); +int CmdFSKdemodAWID(const char *Cmd); int CmdFSKdemod(const char *Cmd); int CmdFSKdemodHID(const char *Cmd); int CmdFSKdemodIO(const char *Cmd); +int CmdFSKdemodPyramid(const char *Cmd); int CmdFSKrawdemod(const char *Cmd); int CmdDetectNRZpskClockRate(const char *Cmd); int CmdpskNRZrawDemod(const char *Cmd); diff --git a/client/cmdlf.c b/client/cmdlf.c index e3361cb50..945b45578 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -388,7 +388,7 @@ static void ChkBitstream(const char *str) } } } - +//appears to attempt to simulate manchester int CmdLFSim(const char *Cmd) { int i,j; @@ -581,6 +581,16 @@ int CmdLFfind(const char *Cmd) PrintAndLog("Valid IO Prox ID Found!"); return 1; } + ans=CmdFSKdemodPyramid("0"); + if (ans>0) { + PrintAndLog("Valid Pyramid ID Found!"); + return 1; + } + ans=CmdFSKdemodAWID("0"); + if (ans>0) { + PrintAndLog("Valid AWID ID Found!"); + return 1; + } ans=CmdFSKdemodHID(""); if (ans>0) { PrintAndLog("Valid HID Prox ID Found!"); diff --git a/common/lfdemod.c b/common/lfdemod.c index 062818ef4..4a80a10c7 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -5,13 +5,30 @@ // at your option, any later version. See the LICENSE.txt file for the text of // the license. //----------------------------------------------------------------------------- -// Low frequency commands +// Low frequency demod/decode commands //----------------------------------------------------------------------------- #include #include #include "lfdemod.h" +//by marshmellow +//get high and low with passed in fuzz factor. also return noise test = 1 for passed or 0 for only noise +int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi, uint8_t fuzzLo) +{ + *high=0; + *low=255; + // get high and low thresholds + for (int i=0; i < size; i++){ + if (BitStream[i] > *high) *high = BitStream[i]; + if (BitStream[i] < *low) *low = BitStream[i]; + } + if (*high < 123) return -1; // just noise + *high = (int)(((*high-128)*(((float)fuzzHi)/100))+128); + *low = (int)(((*low-128)*(((float)fuzzLo)/100))+128); + return 1; +} + //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID uint64_t Em410xDecode(uint8_t *BitStream, size_t size) @@ -72,7 +89,6 @@ uint64_t Em410xDecode(uint8_t *BitStream, size_t size) int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { int i; - int high = 0, low = 255; *clk=DetectASKClock(BinStream, *size, *clk); //clock default if (*clk<8) *clk =64; @@ -81,22 +97,12 @@ int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) uint32_t initLoopMax = 200; if (initLoopMax > *size) initLoopMax=*size; // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be enough to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 129) ){ //throw away static (anything < 1 graph) - //PrintAndLog("no data found"); - return -2; - } - //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)(((high-128)*.75)+128); - low= (int)(((low-128)*.75)+128); + // 25% fuzz in case highs and lows aren't clipped [marshmellow] + int high, low, ans; + ans = getHiLo(BinStream, initLoopMax, &high, &low, 75, 75); + if (ans<1) return -2; //just noise - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); + // PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); int lastBit = 0; //set first clock check uint32_t bitnum = 0; //output counter int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave @@ -108,13 +114,13 @@ int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) uint32_t bestStart = *size; uint32_t bestErrCnt = (*size/1000); uint32_t maxErr = (*size/1000); - //PrintAndLog("DEBUG - lastbit - %d",lastBit); - //loop to find first wave that works + // PrintAndLog("DEBUG - lastbit - %d",lastBit); + // loop to find first wave that works for (iii=0; iii < gLen; ++iii){ if ((BinStream[iii] >= high) || (BinStream[iii] <= low)){ lastBit=iii-*clk; errCnt=0; - //loop through to see if this start location works + // loop through to see if this start location works for (i = iii; i < *size; ++i) { if ((BinStream[i] >= high) && ((i-lastBit) > (*clk-tol))){ lastBit+=*clk; @@ -242,17 +248,17 @@ int manrawdecode(uint8_t * BitStream, size_t *size) //by marshmellow //take 01 or 10 = 0 and 11 or 00 = 1 -int BiphaseRawDecode(uint8_t *BitStream, size_t *size, int offset) +int BiphaseRawDecode(uint8_t *BitStream, size_t *size, int offset, int invert) { uint8_t bitnum=0; uint32_t errCnt =0; - uint32_t i=1; + uint32_t i; i=offset; - for (;i<*size-2;i+=2){ + for (;i<*size-2; i+=2){ if((BitStream[i]==1 && BitStream[i+1]==0) || (BitStream[i]==0 && BitStream[i+1]==1)){ - BitStream[bitnum++]=1; + BitStream[bitnum++]=1^invert; } else if((BitStream[i]==0 && BitStream[i+1]==0) || (BitStream[i]==1 && BitStream[i+1]==1)){ - BitStream[bitnum++]=0; + BitStream[bitnum++]=invert; } else { BitStream[bitnum++]=77; errCnt++; @@ -271,31 +277,21 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { uint32_t i; // int invert=0; //invert default - int high = 0, low = 255; + int clk2 = *clk; *clk=DetectASKClock(BinStream, *size, *clk); //clock default - uint8_t BitStream[502] = {0}; + //uint8_t BitStream[502] = {0}; + //HACK: if clock not detected correctly - default if (*clk<8) *clk =64; - if (*clk<32) *clk=32; + if (*clk<32 && clk2==0) *clk=32; if (*invert != 0 && *invert != 1) *invert =0; uint32_t initLoopMax = 200; if (initLoopMax > *size) initLoopMax=*size; // Detect high and lows - for (i = 0; i < initLoopMax; ++i) //200 samples should be plenty to find high and low values - { - if (BinStream[i] > high) - high = BinStream[i]; - else if (BinStream[i] < low) - low = BinStream[i]; - } - if ((high < 129)){ //throw away static high has to be more than 0 on graph. - //noise <= -10 here - // PrintAndLog("no data found"); - return -2; - } //25% fuzz in case highs and lows aren't clipped [marshmellow] - high=(int)(((high-128)*.75)+128); - low= (int)(((low-128)*.75)+128); + int high, low, ans; + ans = getHiLo(BinStream, initLoopMax, &high, &low, 75, 75); + if (ans<1) return -2; //just noise //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); int lastBit = 0; //set first clock check @@ -310,6 +306,7 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) uint8_t errCnt =0; uint32_t bestStart = *size; uint32_t bestErrCnt = (*size/1000); + uint32_t maxErr = bestErrCnt; uint8_t midBit=0; //PrintAndLog("DEBUG - lastbit - %d",lastBit); //loop to find first wave that works @@ -320,30 +317,30 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) for (i = iii; i < *size; ++i) { if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ lastBit+=*clk; - BitStream[bitnum] = *invert; - bitnum++; + //BitStream[bitnum] = *invert; + //bitnum++; midBit=0; } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ //low found and we are expecting a bar lastBit+=*clk; - BitStream[bitnum] = 1- *invert; - bitnum++; + //BitStream[bitnum] = 1- *invert; + //bitnum++; midBit=0; } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ //mid bar? midBit=1; - BitStream[bitnum]= 1- *invert; - bitnum++; + //BitStream[bitnum]= 1- *invert; + //bitnum++; } else if ((BinStream[i]>=high) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ //mid bar? midBit=1; - BitStream[bitnum]= *invert; - bitnum++; + //BitStream[bitnum]= *invert; + //bitnum++; } else if ((i-lastBit)>((*clk/2)+tol) && (midBit==0)){ //no mid bar found midBit=1; - BitStream[bitnum]= BitStream[bitnum-1]; - bitnum++; + //BitStream[bitnum]= BitStream[bitnum-1]; + //bitnum++; } else { //mid value found or no bar supposed to be here @@ -351,45 +348,94 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) //should have hit a high or low based on clock!! //debug //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - if (bitnum > 0){ - BitStream[bitnum]=77; - bitnum++; - } + //if (bitnum > 0){ + // BitStream[bitnum]=77; + // bitnum++; + //} errCnt++; lastBit+=*clk;//skip over until hit too many errors if (errCnt > ((*size/1000))){ //allow 1 error for every 1000 samples else start over errCnt=0; - bitnum=0;//start over + // bitnum=0;//start over break; } } } - if (bitnum>500) break; + if ((i-iii)>(500 * *clk)) break; //got enough bits } //we got more than 64 good bits and not all errors - if ((bitnum > (64+errCnt)) && (errCnt<(*size/1000))) { + if ((((i-iii)/ *clk) > (64+errCnt)) && (errCnt<(*size/1000))) { //possible good read - if (errCnt==0) break; //great read - finish - if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish + if (errCnt==0){ + bestStart=iii; + bestErrCnt=errCnt; + break; //great read - finish + } if (errCnt=gLen){ //exhausted test - //if there was a ok test go back to that one and re-run the best run (then dump after that run) - if (bestErrCnt < (*size/1000)) iii=bestStart; - } } - if (bitnum>16){ - for (i=0; i < bitnum; ++i){ - BinStream[i]=BitStream[i]; + if (bestErrCnt= high) && ((i-lastBit) > (*clk-tol))){ + lastBit += *clk; + BinStream[bitnum] = *invert; + bitnum++; + midBit=0; + } else if ((BinStream[i] <= low) && ((i-lastBit) > (*clk-tol))){ + //low found and we are expecting a bar + lastBit+=*clk; + BinStream[bitnum] = 1-*invert; + bitnum++; + midBit=0; + } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BinStream[bitnum] = 1 - *invert; + bitnum++; + } else if ((BinStream[i]>=high) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ + //mid bar? + midBit=1; + BinStream[bitnum] = *invert; + bitnum++; + } else if ((i-lastBit)>((*clk/2)+tol) && (midBit==0)){ + //no mid bar found + midBit=1; + if (bitnum!=0) BinStream[bitnum] = BinStream[bitnum-1]; + bitnum++; + + } else { + //mid value found or no bar supposed to be here + if ((i-lastBit)>(*clk+tol)){ + //should have hit a high or low based on clock!! + + //debug + //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); + if (bitnum > 0){ + BinStream[bitnum]=77; + bitnum++; + } + + lastBit+=*clk;//skip over error + } + } + if (bitnum >=400) break; } *size=bitnum; - } else return -1; - return errCnt; + } else{ + *invert=bestStart; + *clk=iii; + return -1; + } + return bestErrCnt; } //translate wave to 11111100000 (1 for each short wave 0 for each long wave) size_t fsk_wave_demod(uint8_t * dest, size_t size, uint8_t fchigh, uint8_t fclow) @@ -589,37 +635,128 @@ int IOdemodFSK(uint8_t *dest, size_t size) return 0; } +// by marshmellow +// pass bits to be tested in bits, length bits passed in bitLen, and parity type (even=0 | odd=1) in pType +// returns 1 if passed +int parityTest(uint32_t bits, uint8_t bitLen, uint8_t pType) +{ + uint8_t ans = 0; + for (int i = 0; i < bitLen; i++){ + ans ^= ((bits >> i) & 1); + } + //PrintAndLog("DEBUG: ans: %d, ptype: %d",ans,pType); + return (ans == pType); +} + +// by marshmellow +// takes a array of binary values, start position, length of bits per parity (includes parity bit), +// Parity Type (1 for odd 0 for even), and binary Length (length to run) +size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t pType, size_t bLen) +{ + uint32_t parityWd = 0; + size_t j = 0, bitCnt = 0; + for (int word = 0; word < (bLen); word+=pLen){ + for (int bit=0; bit < pLen; bit++){ + parityWd = (parityWd << 1) | BitStream[startIdx+word+bit]; + BitStream[j++] = (BitStream[startIdx+word+bit]); + } + j--; + // if parity fails then return 0 + if (parityTest(parityWd, pLen, pType) == 0) return -1; + bitCnt+=(pLen-1); + parityWd = 0; + } + // if we got here then all the parities passed + //return ID start index and size + return bitCnt; +} + +// by marshmellow +// FSK Demod then try to locate an AWID ID +int AWIDdemodFSK(uint8_t *dest, size_t size) +{ + static const uint8_t THRESHOLD = 123; + uint32_t idx=0; + //make sure buffer has data + if (size < 96*50) return -1; + //test samples are not just noise + uint8_t justNoise = 1; + for(idx=0; idx < size && justNoise ;idx++){ + justNoise = dest[idx] < THRESHOLD; + } + if(justNoise) return -2; + + // FSK demodulator + size = fskdemod(dest, size, 50, 1, 10, 8); // RF/64 and invert + if (size < 96) return -3; //did we get a good demod? + + uint8_t mask[] = {0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 96); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + // frame marker found + //return ID start index and size + return idx; + //size should always be 96 + } + } + //never found mask + return -4; +} + +// by marshmellow +// FSK Demod then try to locate an Farpointe Data (pyramid) ID +int PyramiddemodFSK(uint8_t *dest, size_t size) +{ + static const uint8_t THRESHOLD = 123; + uint32_t idx=0; + // size_t size2 = size; + //make sure buffer has data + if (size < 128*50) return -5; + //test samples are not just noise + uint8_t justNoise = 1; + for(idx=0; idx < size && justNoise ;idx++){ + justNoise = dest[idx] < THRESHOLD; + } + if(justNoise) return -1; + + // FSK demodulator + size = fskdemod(dest, size, 50, 1, 10, 8); // RF/64 and invert + if (size < 128) return -2; //did we get a good demod? + + uint8_t mask[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}; + for( idx=0; idx < (size - 128); idx++) { + if ( memcmp(dest + idx, mask, sizeof(mask))==0) { + // frame marker found + return idx; + } + } + //never found mask + return -4; +} + // by marshmellow // not perfect especially with lower clocks or VERY good antennas (heavy wave clipping) // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(uint8_t dest[], size_t size, int clock) { int i=0; - int peak=0; - int low=255; - int clk[]={16,32,40,50,64,100,128,256}; + int clk[]={8,16,32,40,50,64,100,128,256}; int loopCnt = 256; //don't need to loop through entire array... if (size peak){ - peak = dest[i]; - } - if(dest[i] < low){ - low = dest[i]; - } - } - peak=(int)(((peak-128)*.75)+128); - low= (int)(((low-128)*.75)+128); + int peak, low; + getHiLo(dest, loopCnt, &peak, &low, 75, 75); + int ii; int clkCnt; int tol = 0; - int bestErr[]={1000,1000,1000,1000,1000,1000,1000,1000}; + int bestErr[]={1000,1000,1000,1000,1000,1000,1000,1000,1000}; int errCnt=0; //test each valid clock from smallest to greatest to see which lines up for(clkCnt=0; clkCnt < 6; ++clkCnt){ @@ -651,7 +788,7 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock) } int iii=0; int best=0; - for (iii=0; iii<7;++iii){ + for (iii=0; iii<8;++iii){ if (bestErr[iii] peak){ - peak = dest[i]; - } - if(dest[i] < low){ - low = dest[i]; - } - } - peak=(int)(((peak-128)*.75)+128); - low= (int)(((low-128)*.75)+128); + int peak, low; + getHiLo(dest, loopCnt, &peak, &low, 75, 75); + //PrintAndLog("DEBUG: peak: %d, low: %d",peak,low); int ii; uint8_t clkCnt; @@ -698,7 +826,7 @@ int DetectpskNRZClock(uint8_t dest[], size_t size, int clock) int peaksdet[]={0,0,0,0,0,0,0,0,0}; //test each valid clock from smallest to greatest to see which lines up for(clkCnt=0; clkCnt < 6; ++clkCnt){ - if (clk[clkCnt] == 32){ + if (clk[clkCnt] >= 32){ tol=1; }else{ tol=0; @@ -749,40 +877,37 @@ int DetectpskNRZClock(uint8_t dest[], size_t size, int clock) } //by marshmellow (attempt to get rid of high immediately after a low) -void pskCleanWave(uint8_t *bitStream, size_t size) +void pskCleanWave(uint8_t *BitStream, size_t size) { int i; - int low=255; - int high=0; int gap = 4; - // int loopMax = 2048; - int newLow=0; + int newLow=0; int newHigh=0; - for (i=0; i < size; ++i){ - if (bitStream[i] < low) low=bitStream[i]; - if (bitStream[i] > high) high=bitStream[i]; - } - high = (int)(((high-128)*.80)+128); - low = (int)(((low-128)*.90)+128); - //low = (uint8_t)(((int)(low)-128)*.80)+128; - for (i=0; i < size; ++i){ + int high, low; + getHiLo(BitStream, size, &high, &low, 80, 90); + + for (i=0; i < size; ++i){ if (newLow == 1){ - bitStream[i]=low+8; - gap--; + if (BitStream[i]>low){ + BitStream[i]=low+8; + gap--; + } if (gap == 0){ newLow=0; gap=4; } }else if (newHigh == 1){ - bitStream[i]=high-8; - gap--; + if (BitStream[i]= high) newHigh=1; + if (BitStream[i] <= low) newLow=1; + if (BitStream[i] >= high) newHigh=1; } return; } @@ -853,7 +978,7 @@ int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert) } -//by marshmellow - demodulate PSK wave or NRZ wave (both similar enough) +//by marshmellow - demodulate PSK1 wave or NRZ wave (both similar enough) //peaks switch bit (high=1 low=0) each clock cycle = 1 bit determined by last peak int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) { @@ -861,22 +986,14 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) int clk2 = DetectpskNRZClock(dest, *size, *clk); *clk=clk2; uint32_t i; - uint8_t high=0, low=255; + int high, low, ans; + ans = getHiLo(dest, 1260, &high, &low, 75, 80); //25% fuzz on high 20% fuzz on low + if (ans<1) return -2; //just noise uint32_t gLen = *size; - if (gLen > 1280) gLen=1280; - // get high - for (i=0; i < gLen; ++i){ - if (dest[i] > high) high = dest[i]; - if (dest[i] < low) low = dest[i]; - } - //fudge high/low bars by 25% - high = (uint8_t)((((int)(high)-128)*.75)+128); - low = (uint8_t)((((int)(low)-128)*.80)+128); - //PrintAndLog("DEBUG - valid high: %d - valid low: %d",high,low); int lastBit = 0; //set first clock check uint32_t bitnum = 0; //output counter - uint8_t tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave + uint8_t tol = 1; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave if (*clk==32) tol = 2; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely uint32_t iii = 0; uint8_t errCnt =0; @@ -931,7 +1048,6 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) bestErrCnt = errCnt; break; //great read - finish } - if (bestStart == iii) break; //if current run == bestErrCnt run (after exhausted testing) then finish if (errCnt < bestErrCnt){ //set this as new best run bestErrCnt = errCnt; bestStart = iii; @@ -995,3 +1111,169 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) return errCnt; } + +//by marshmellow +//countFC is to detect the field clock and bit clock rates. +//for fsk or ask not psk or nrz +uint32_t countFC(uint8_t *BitStream, size_t size) +{ + // get high/low thresholds + int high, low; + getHiLo(BitStream,10, &high, &low, 100, 100); + // get zero crossing + uint8_t zeroC = (high-low)/2+low; + uint8_t clk[]={8,16,32,40,50,64,100,128}; + uint8_t fcLens[] = {0,0,0,0,0,0,0,0,0,0}; + uint16_t fcCnts[] = {0,0,0,0,0,0,0,0,0,0}; + uint8_t rfLens[] = {0,0,0,0,0,0,0,0,0,0,0}; + // uint8_t rfCnts[] = {0,0,0,0,0,0,0,0,0,0}; + uint8_t fcLensFnd = 0; + uint8_t rfLensFnd = 0; + uint8_t lastBit=0; + uint8_t curBit=0; + uint8_t lastFCcnt=0; + uint32_t errCnt=0; + uint32_t fcCounter = 0; + uint32_t rfCounter = 0; + uint8_t firstBitFnd = 0; + int i; + + // prime i to first up transition + for (i = 1; i < size; i++) + if (BitStream[i]>=zeroC && BitStream[i-1]= zeroC){ + // new up transition + fcCounter++; + rfCounter++; + if (fcCounter > 3 && fcCounter < 256){ + //we've counted enough that it could be a valid field clock + + //if we had 5 and now have 9 then go back to 8 (for when we get a fc 9 instead of an 8) + if (lastFCcnt==5 && fcCounter==9) fcCounter--; + //if odd and not rc/5 add one (for when we get a fc 9 instead of 10) + if ((fcCounter==9 && fcCounter & 1) || fcCounter==4) fcCounter++; + + //look for bit clock (rf/xx) + if ((fcCounterlastFCcnt)){ + //not the same size as the last wave - start of new bit sequence + + if (firstBitFnd>1){ //skip first wave change - probably not a complete bit + for (int ii=0; ii<10; ii++){ + if (rfLens[ii]==rfCounter){ + //rfCnts[ii]++; + rfCounter=0; + break; + } + } + if (rfCounter>0 && rfLensFnd<10){ + //PrintAndLog("DEBUG: rfCntr %d, fcCntr %d",rfCounter,fcCounter); + //rfCnts[rfLensFnd]++; + rfLens[rfLensFnd++]=rfCounter; + } + } else { + //PrintAndLog("DEBUG i: %d",i); + firstBitFnd++; + } + rfCounter=0; + lastFCcnt=fcCounter; + } + + // save last field clock count (fc/xx) + // find which fcLens to save it to: + for (int ii=0; ii<10; ii++){ + if (fcLens[ii]==fcCounter){ + fcCnts[ii]++; + fcCounter=0; + break; + } + } + if (fcCounter>0 && fcLensFnd<10){ + //add new fc length + //PrintAndLog("FCCntr %d",fcCounter); + fcCnts[fcLensFnd]++; + fcLens[fcLensFnd++]=fcCounter; + } + } else{ + // hmmm this should not happen often - count them + errCnt++; + } + // reset counter + fcCounter=0; + } else { + // count sample + fcCounter++; + rfCounter++; + } + } + // if too many errors return errors as negative number (IS THIS NEEDED?) + if (errCnt>100) return -1*errCnt; + + uint8_t maxCnt1=0, best1=9, best2=9, best3=9, rfHighest=10, rfHighest2=10, rfHighest3=10; + + // go through fclens and find which ones are bigest 2 + for (i=0; i<10; i++){ + // PrintAndLog("DEBUG: FC %d, Cnt %d, Errs %d, RF %d",fcLens[i],fcCnts[i],errCnt,rfLens[i]); + + // get the 3 best FC values + if (fcCnts[i]>maxCnt1) { + best3=best2; + best2=best1; + maxCnt1=fcCnts[i]; + best1=i; + } else if(fcCnts[i]>fcCnts[best2]){ + best3=best2; + best2=i; + } else if(fcCnts[i]>fcCnts[best3]){ + best3=i; + } + //get highest 2 RF values (might need to get more values to compare or compare all?) + if (rfLens[i]>rfLens[rfHighest]){ + rfHighest3=rfHighest2; + rfHighest2=rfHighest; + rfHighest=i; + } else if(rfLens[i]>rfLens[rfHighest2]){ + rfHighest3=rfHighest2; + rfHighest2=i; + } else if(rfLens[i]>rfLens[rfHighest3]){ + rfHighest3=i; + } + } + + // set allowed clock remainder tolerance to be 1 large field clock length + // we could have mistakenly made a 9 a 10 instead of an 8 or visa versa so rfLens could be 1 FC off + int tol1 = (fcLens[best1]>fcLens[best2]) ? fcLens[best1] : fcLens[best2]; + + // loop to find the highest clock that has a remainder less than the tolerance + // compare samples counted divided by + int ii=7; + for (; ii>=0; ii--){ + if (rfLens[rfHighest] % clk[ii] < tol1 || rfLens[rfHighest] % clk[ii] > clk[ii]-tol1){ + if (rfLens[rfHighest2] % clk[ii] < tol1 || rfLens[rfHighest2] % clk[ii] > clk[ii]-tol1){ + if (rfLens[rfHighest3] % clk[ii] < tol1 || rfLens[rfHighest3] % clk[ii] > clk[ii]-tol1){ + break; + } + } + } + } + + if (ii<0) ii=7; // oops we went too far + + // TODO: take top 3 answers and compare to known Field clocks to get top 2 + + uint32_t fcs=0; + // PrintAndLog("DEBUG: Best %d best2 %d best3 %d, clk %d, clk2 %d",fcLens[best1],fcLens[best2],fcLens[best3],clk[i],clk[ii]); + // + + if (fcLens[best1]>fcLens[best2]){ + fcs = (((uint32_t)clk[ii])<<16) | (((uint32_t)fcLens[best1])<<8) | ((fcLens[best2])); + } else { + fcs = (((uint32_t)clk[ii])<<16) | (((uint32_t)fcLens[best2])<<8) | ((fcLens[best1])); + } + + return fcs; +} diff --git a/common/lfdemod.h b/common/lfdemod.h index b0feff043..ae04bc2fa 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -4,7 +4,11 @@ // at your option, any later version. See the LICENSE.txt file for the text of // the license. //----------------------------------------------------------------------------- -// Low frequency commands +// Low frequency demod related commands +// marshmellow +// note that many of these demods are not the slickest code and they often rely +// on peaks and clock instead of converting to clean signal. +// //----------------------------------------------------------------------------- #ifndef LFDEMOD_H__ @@ -15,7 +19,7 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock); int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); uint64_t Em410xDecode(uint8_t *BitStream,size_t size); int manrawdecode(uint8_t *BitStream, size_t *size); -int BiphaseRawDecode(uint8_t * BitStream, size_t *size, int offset); +int BiphaseRawDecode(uint8_t * BitStream, size_t *size, int offset, int invert); int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); int IOdemodFSK(uint8_t *dest, size_t size); @@ -25,5 +29,10 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert); int DetectpskNRZClock(uint8_t dest[], size_t size, int clock); int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert); void pskCleanWave(uint8_t *bitStream, size_t size); +int PyramiddemodFSK(uint8_t *dest, size_t size); +int AWIDdemodFSK(uint8_t *dest, size_t size); +size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t pType, size_t bLen); +uint32_t countFC(uint8_t *BitStream, size_t size); +int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi, uint8_t fuzzLo); #endif From 5ee701292ff2e28abf098e2266a42954f381e3ad Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 20 Jan 2015 21:23:04 +0100 Subject: [PATCH 104/133] Step 2 - Ultralight / Ultralight-C With this the Pentura Labs / Midnitsnakes's original ultralight / ultralight-c implementation is enhanced and move to its own file. cmdhfmfu.c --- client/Makefile | 1 + client/cmdhf.c | 2 + client/cmdhf14a.c | 4 +- client/cmdhf14b.c | 4 +- client/cmdhfmf.c | 221 +++------------------------------------------- client/cmdlf.c | 2 +- common/usb_cdc.c | 2 +- 7 files changed, 20 insertions(+), 216 deletions(-) diff --git a/client/Makefile b/client/Makefile index 77fee4e66..12d92631b 100644 --- a/client/Makefile +++ b/client/Makefile @@ -78,6 +78,7 @@ CMDSRCS = nonce2key/crapto1.c\ cmdhflegic.c \ cmdhficlass.c \ cmdhfmf.c \ + cmdhfmfu.c \ cmdhw.c \ cmdlf.c \ cmdlfio.c \ diff --git a/client/cmdhf.c b/client/cmdhf.c index 9acc9825b..637b2b081 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -22,6 +22,7 @@ #include "cmdhflegic.h" #include "cmdhficlass.h" #include "cmdhfmf.h" +#include "cmdhfmfu.h" static int CmdHelp(const char *Cmd); @@ -601,6 +602,7 @@ static command_t CommandTable[] = {"legic", CmdHFLegic, 0, "{ LEGIC RFIDs... }"}, {"iclass", CmdHFiClass, 1, "{ ICLASS RFIDs... }"}, {"mf", CmdHFMF, 1, "{ MIFARE RFIDs... }"}, + {"mfu", CmdHFMFUltra, 1, "{ MIFARE Ultralight RFIDs... }"}, {"tune", CmdHFTune, 0, "Continuously measure HF antenna tuning"}, {"list", CmdHFList, 1, "List protocol data in trace buffer"}, {NULL, NULL, 0, NULL} diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 01602d76a..593661a5c 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -412,9 +412,9 @@ int CmdHF14ASim(const char *Cmd) PrintAndLog(" syntax: hf 14a sim "); PrintAndLog(" types: 1 = MIFARE Classic"); PrintAndLog(" 2 = MIFARE Ultralight"); - PrintAndLog(" 3 = MIFARE DESFIRE"); + PrintAndLog(" 3 = MIFARE Desfire"); PrintAndLog(" 4 = ISO/IEC 14443-4"); - PrintAndLog(" 5 = MIFARE TNP3XXX"); + PrintAndLog(" 5 = MIFARE Tnp3xxx"); PrintAndLog(""); return 1; } diff --git a/client/cmdhf14b.c b/client/cmdhf14b.c index e3d0fc230..0350fc318 100644 --- a/client/cmdhf14b.c +++ b/client/cmdhf14b.c @@ -280,7 +280,7 @@ int CmdHF14BCmdRaw (const char *cmd) { uint8_t power=0; char buf[5]=""; int i=0; - uint8_t data[100]; + uint8_t data[100] = {0x00}; unsigned int datalen=0, temp; char *hexout; @@ -334,7 +334,7 @@ int CmdHF14BCmdRaw (const char *cmd) { continue; } PrintAndLog("Invalid char on input"); - return 0; + return 1; } if (datalen == 0) { diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index aae6290d0..28f7b0782 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -140,117 +140,6 @@ int CmdHF14AMfWrBl(const char *Cmd) return 0; } -int CmdHF14AMfUWrBl(const char *Cmd) -{ - uint8_t blockNo = 0; - bool chinese_card=0; - uint8_t bldata[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - UsbCommand resp; - - if (strlen(Cmd)<3) { - PrintAndLog("Usage: hf mf uwrbl "); - PrintAndLog(" sample: hf mf uwrbl 0 01020304"); - return 0; - } - - blockNo = param_get8(Cmd, 0); - if (param_gethex(Cmd, 1, bldata, 8)) { - PrintAndLog("Block data must include 8 HEX symbols"); - return 1; - } - - if (strchr(Cmd,'w') != 0) { - chinese_card=1; - } - - switch(blockNo){ - case 0: - if (!chinese_card){ - PrintAndLog("Access Denied"); - }else{ - PrintAndLog("--specialblock no:%d", blockNo); - PrintAndLog("--data: %s", sprint_hex(bldata, 4)); - UsbCommand d = {CMD_MIFAREU_WRITEBL, {blockNo}}; - memcpy(d.d.asBytes,bldata, 4); - SendCommand(&d); - - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } - } - break; - case 1: - if (!chinese_card){ - PrintAndLog("Access Denied"); - }else{ - PrintAndLog("--specialblock no:%d", blockNo); - PrintAndLog("--data: %s", sprint_hex(bldata, 4)); - UsbCommand d = {CMD_MIFAREU_WRITEBL, {blockNo}}; - memcpy(d.d.asBytes,bldata, 4); - SendCommand(&d); - - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } - } - break; - case 2: - if (!chinese_card){ - PrintAndLog("Access Denied"); - }else{ - PrintAndLog("--specialblock no:%d", blockNo); - PrintAndLog("--data: %s", sprint_hex(bldata, 4)); - UsbCommand c = {CMD_MIFAREU_WRITEBL, {blockNo}}; - memcpy(c.d.asBytes, bldata, 4); - SendCommand(&c); - - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } - } - break; - case 3: - PrintAndLog("--specialblock no:%d", blockNo); - PrintAndLog("--data: %s", sprint_hex(bldata, 4)); - UsbCommand d = {CMD_MIFAREU_WRITEBL, {blockNo}}; - memcpy(d.d.asBytes,bldata, 4); - SendCommand(&d); - - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } - break; - default: - PrintAndLog("--block no:%d", blockNo); - PrintAndLog("--data: %s", sprint_hex(bldata, 4)); - UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; - memcpy(e.d.asBytes,bldata, 4); - SendCommand(&e); - - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } - break; - } - return 0; -} - - int CmdHF14AMfRdBl(const char *Cmd) { uint8_t blockNo = 0; @@ -299,87 +188,6 @@ int CmdHF14AMfRdBl(const char *Cmd) return 0; } -int CmdHF14AMfURdBl(const char *Cmd) -{ - uint8_t blockNo = 0; - - if (strlen(Cmd)<1) { - PrintAndLog("Usage: hf mf urdbl "); - PrintAndLog(" sample: hf mf urdbl 0"); - return 0; - } - - blockNo = param_get8(Cmd, 0); - PrintAndLog("--block no:%d", blockNo); - - UsbCommand c = {CMD_MIFAREU_READBL, {blockNo}}; - SendCommand(&c); - - UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - uint8_t *data = resp.d.asBytes; - - if (isOK) - PrintAndLog("isOk:%02x data:%s", isOK, sprint_hex(data, 4)); - else - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } - - return 0; -} - - -int CmdHF14AMfURdCard(const char *Cmd) -{ - int i; - uint8_t sectorNo = 0; - uint8_t *lockbytes_t=NULL; - uint8_t lockbytes[2]={0,0}; - bool bit[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; - - uint8_t isOK = 0; - uint8_t * data = NULL; - - PrintAndLog("Attempting to Read Ultralight... "); - - UsbCommand c = {CMD_MIFAREU_READCARD, {sectorNo}}; - SendCommand(&c); - - UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - isOK = resp.arg[0] & 0xff; - data = resp.d.asBytes; - - PrintAndLog("isOk:%02x", isOK); - if (isOK) - { // bit 0 and 1 - PrintAndLog("Block %3d:%s ", 0,sprint_hex(data + 0 * 4, 4)); - PrintAndLog("Block %3d:%s ", 1,sprint_hex(data + 1 * 4, 4)); - // bit 2 - //process lock bytes - lockbytes_t=data+(2*4); - lockbytes[0]=lockbytes_t[2]; - lockbytes[1]=lockbytes_t[3]; - for(int j=0; j<16; j++){ - bit[j]=lockbytes[j/8] & ( 1 <<(7-j%8)); - } - //remaining - for (i = 3; i < 16; i++) { - int bitnum = (23-i) % 16; - PrintAndLog("Block %3d:%s [%d]", i,sprint_hex(data + i * 4, 4),bit[bitnum]); - } - - } - } else { - PrintAndLog("Command execute timeout"); - } - return 0; -} - - int CmdHF14AMfRdSc(const char *Cmd) { int i; @@ -1288,7 +1096,7 @@ int CmdHF14AMfDbg(const char *Cmd) int CmdHF14AMfEGet(const char *Cmd) { uint8_t blockNo = 0; - uint8_t data[16]; + uint8_t data[16] = {0x00}; if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') { PrintAndLog("Usage: hf mf eget "); @@ -1355,14 +1163,11 @@ int CmdHF14AMfELoad(const char *Cmd) FILE * f; char filename[FILE_PATH_SIZE]; char *fnameptr = filename; - char buf[64]; - uint8_t buf8[64]; + char buf[64] = {0x00}; + uint8_t buf8[64] = {0x00}; int i, len, blockNum, numBlocks; int nameParamNo = 1; - memset(filename, 0, sizeof(filename)); - memset(buf, 0, sizeof(buf)); - char ctmp = param_getchar(Cmd, 0); if ( ctmp == 'h' || ctmp == 0x00) { @@ -1432,11 +1237,13 @@ int CmdHF14AMfELoad(const char *Cmd) fclose(f); return 3; } + printf("."); blockNum++; if (blockNum >= numBlocks) break; } fclose(f); + printf("\n"); if ((blockNum != numBlocks)) { PrintAndLog("File content error. Got %d must be %d blocks.",blockNum, numBlocks); @@ -1653,11 +1460,10 @@ int CmdHF14AMfCSetUID(const char *Cmd) int CmdHF14AMfCSetBlk(const char *Cmd) { - uint8_t uid[8]; - uint8_t memBlock[16]; + uint8_t uid[8] = {0x00}; + uint8_t memBlock[16] = {0x00}; uint8_t blockNo = 0; int res; - memset(memBlock, 0x00, sizeof(memBlock)); if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') { PrintAndLog("Usage: hf mf csetblk "); @@ -1814,10 +1620,9 @@ int CmdHF14AMfCGetBlk(const char *Cmd) { int CmdHF14AMfCGetSc(const char *Cmd) { - uint8_t memBlock[16]; + uint8_t memBlock[16] = {0x00}; uint8_t sectorNo = 0; int i, res, flags; - memset(memBlock, 0x00, sizeof(memBlock)); if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') { PrintAndLog("Usage: hf mf cgetsc "); @@ -1957,14 +1762,13 @@ int CmdHF14AMfSniff(const char *Cmd){ int blockLen = 0; int num = 0; int pckNum = 0; - uint8_t uid[7]; + uint8_t uid[7] = {0x00}; uint8_t uid_len; - uint8_t atqa[2]; + uint8_t atqa[2] = {0x00}; uint8_t sak; bool isTag; - uint8_t buf[3000]; + uint8_t buf[3000] = {0x00}; uint8_t * bufPtr = buf; - memset(buf, 0x00, 3000); if (param_getchar(Cmd, 0) == 'h') { PrintAndLog("It continuously gets data from the field and saves it to: log, emulator, emulator file."); @@ -2080,9 +1884,6 @@ static command_t CommandTable[] = {"help", CmdHelp, 1, "This help"}, {"dbg", CmdHF14AMfDbg, 0, "Set default debug mode"}, {"rdbl", CmdHF14AMfRdBl, 0, "Read MIFARE classic block"}, - {"urdbl", CmdHF14AMfURdBl, 0, "Read MIFARE Ultralight block"}, - {"urdcard", CmdHF14AMfURdCard, 0,"Read MIFARE Ultralight Card"}, - {"uwrbl", CmdHF14AMfUWrBl, 0,"Write MIFARE Ultralight block"}, {"rdsc", CmdHF14AMfRdSc, 0, "Read MIFARE classic sector"}, {"dump", CmdHF14AMfDump, 0, "Dump MIFARE classic tag to binary file"}, {"restore", CmdHF14AMfRestore, 0, "Restore MIFARE classic binary file to BLANK tag"}, diff --git a/client/cmdlf.c b/client/cmdlf.c index e3361cb50..491fd082f 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -465,7 +465,7 @@ int CmdLFSnoop(const char *Cmd) sscanf(Cmd, "h %"lli, &c.arg[1]); } else if (sscanf(Cmd, "%"lli" %"lli, &c.arg[0], &c.arg[1]) < 1) { PrintAndLog("usage 1: snoop"); - PrintAndLog(" 2: snoop {l,h} [trigger threshold]"); + PrintAndLog(" 2: snoop [trigger threshold]"); PrintAndLog(" 3: snoop [trigger threshold]"); return 0; } diff --git a/common/usb_cdc.c b/common/usb_cdc.c index 54f6a8e81..ccbb3c50e 100644 --- a/common/usb_cdc.c +++ b/common/usb_cdc.c @@ -370,7 +370,7 @@ uint32_t usb_write(const byte_t* data, const size_t len) { //* \fn AT91F_USB_SendData //* \brief Send Data through the control endpoint //*---------------------------------------------------------------------------- -unsigned int csrTab[100]; +unsigned int csrTab[100] = {0x00}; unsigned char csrIdx = 0; static void AT91F_USB_SendData(AT91PS_UDP pUdp, const char *pData, uint32_t length) { From 81740aa519046d407faa39411973347db593f0b7 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 20 Jan 2015 21:29:55 +0100 Subject: [PATCH 105/133] STEP 3 - the actual new files for Ultralight. ADD: script remagic.lua -- a script to make a "dead" Mifare s50 generation 1 alive again. ADD: tracetest.lua - This script will load several traces files in ../traces/ folder and do "data load" "lf search" ADD: test_t55x7_psk.lua - iterates thru a lot of calls to check the new psk demods. all new scripts implements the "-h" for help text. --- client/cmdhfmfu.c | 649 ++++++++++++++++++++++++++++++ client/cmdhfmfu.h | 19 + client/scripts/remagic.lua | 63 +++ client/scripts/test_t55x7_psk.lua | 173 ++++++++ client/scripts/tracetest.lua | 132 ++++++ 5 files changed, 1036 insertions(+) create mode 100644 client/cmdhfmfu.c create mode 100644 client/cmdhfmfu.h create mode 100644 client/scripts/remagic.lua create mode 100644 client/scripts/test_t55x7_psk.lua create mode 100644 client/scripts/tracetest.lua diff --git a/client/cmdhfmfu.c b/client/cmdhfmfu.c new file mode 100644 index 000000000..8bd6ec87d --- /dev/null +++ b/client/cmdhfmfu.c @@ -0,0 +1,649 @@ +//----------------------------------------------------------------------------- +// Ultralight Code (c) 2013,2014 Midnitesnake & Andy Davies of Pentura +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// High frequency MIFARE ULTRALIGHT (C) commands +//----------------------------------------------------------------------------- +#include +#include "cmdhfmfu.h" +#include "cmdhfmf.h" +#include "cmdhf14a.h" + + +#define MAX_ULTRA_BLOCKS 0x0f +#define MAX_ULTRAC_BLOCKS 0x2f +//#define MAX_ULTRAC_BLOCKS 0x2c +uint8_t key1_blnk_data[16] = { 0x00 }; +uint8_t key2_defa_data[16] = { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f }; +uint8_t key3_3des_data[16] = { 0x49,0x45,0x4D,0x4B,0x41,0x45,0x52,0x42,0x21,0x4E,0x41,0x43,0x55,0x4F,0x59,0x46 }; +uint8_t key4_nfc_data[16] = { 0x42,0x52,0x45,0x41,0x4b,0x4d,0x45,0x49,0x46,0x59,0x4f,0x55,0x43,0x41,0x4e,0x21 }; +uint8_t key5_ones_data[16] = { 0x01 }; + +static int CmdHelp(const char *Cmd); + +int CmdHF14AMfUInfo(const char *Cmd){ + + uint8_t datatemp[7] = {0x00}; + uint8_t isOK = 0; + uint8_t *data = NULL; + + UsbCommand c = {CMD_MIFAREU_READCARD, {0, 4}}; + SendCommand(&c); + UsbCommand resp; + + if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { + isOK = resp.arg[0] & 0xff; + data = resp.d.asBytes; + + if (!isOK) { + PrintAndLog("Error reading from tag"); + return -1; + } + } else { + PrintAndLog("Command execute timed out"); + return -1; + } + + PrintAndLog(""); + PrintAndLog("-- Mifare Ultralight / Ultralight-C Tag Information ---------"); + PrintAndLog("-------------------------------------------------------------"); + + // UID + memcpy( datatemp, data, 3); + memcpy( datatemp+3, data+4, 4); + + PrintAndLog("MANUFACTURER : %s", getTagInfo(datatemp[0])); + PrintAndLog(" UID : %s ", sprint_hex(datatemp, 7)); + // BBC + // CT (cascade tag byte) 0x88 xor SN0 xor SN1 xor SN2 + int crc0 = 0x88 ^ data[0] ^ data[1] ^data[2]; + if ( data[3] == crc0 ) + PrintAndLog(" BCC0 : %02x - Ok", data[3]); + else + PrintAndLog(" BCC0 : %02x - crc should be %02x", data[3], crc0); + + int crc1 = data[4] ^ data[5] ^ data[6] ^data[7]; + if ( data[8] == crc1 ) + PrintAndLog(" BCC1 : %02x - Ok", data[8]); + else + PrintAndLog(" BCC1 : %02x - crc should be %02x", data[8], crc1 ); + + PrintAndLog(" Internal : %s ", sprint_hex(data + 9, 1)); + + memcpy(datatemp, data+10, 2); + PrintAndLog(" Lock : %s - %s", sprint_hex(datatemp, 2),printBits( 2, &datatemp) ); + PrintAndLog(" OneTimePad : %s ", sprint_hex(data + 3*4, 4)); + PrintAndLog(""); + + int len = CmdHF14AMfucAuth("K 0"); +// PrintAndLog("CODE: %d",len); + + PrintAndLog("Seems to be a Ultralight %s", (len==0) ? "-C" :""); + return 0; +} + +// +// Mifare Ultralight Write Single Block +// +int CmdHF14AMfUWrBl(const char *Cmd){ + uint8_t blockNo = -1; + bool chinese_card = FALSE; + uint8_t bldata[16] = {0x00}; + UsbCommand resp; + + char cmdp = param_getchar(Cmd, 0); + if (strlen(Cmd) < 3 || cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: hf mfu wrbl [w]"); + PrintAndLog(" [block number]"); + PrintAndLog(" [block data] - (8 hex symbols)"); + PrintAndLog(" [w] - Chinese magic ultralight tag"); + PrintAndLog(""); + PrintAndLog(" sample: hf mfu wrbl 0 01020304"); + PrintAndLog(""); + return 0; + } + + blockNo = param_get8(Cmd, 0); + + if (blockNo > MAX_ULTRA_BLOCKS){ + PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); + return 1; + } + + if (param_gethex(Cmd, 1, bldata, 8)) { + PrintAndLog("Block data must include 8 HEX symbols"); + return 1; + } + + if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { + chinese_card = TRUE; + } + + if ( blockNo <= 3) { + if (!chinese_card){ + PrintAndLog("Access Denied"); + } else { + PrintAndLog("--specialblock no:%02x", blockNo); + PrintAndLog("--data: %s", sprint_hex(bldata, 4)); + UsbCommand d = {CMD_MIFAREU_WRITEBL, {blockNo}}; + memcpy(d.d.asBytes,bldata, 4); + SendCommand(&d); + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + PrintAndLog("isOk:%02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } + } + } else { + PrintAndLog("--block no:%02x", blockNo); + PrintAndLog("--data: %s", sprint_hex(bldata, 4)); + UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; + memcpy(e.d.asBytes,bldata, 4); + SendCommand(&e); + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + PrintAndLog("isOk:%02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } + } + return 0; +} + +// +// Mifare Ultralight Read Single Block +// +int CmdHF14AMfURdBl(const char *Cmd){ + + uint8_t blockNo = -1; + + char cmdp = param_getchar(Cmd, 0); + + if (strlen(Cmd) < 1 || cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: hf mfu rdbl "); + PrintAndLog(" sample: hfu mfu rdbl 0"); + return 0; + } + + blockNo = param_get8(Cmd, 0); + + if (blockNo > MAX_ULTRA_BLOCKS){ + PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); + return 1; + } + + PrintAndLog("--block no:0x%02X (%d)", (int)blockNo, blockNo); + UsbCommand c = {CMD_MIFAREU_READBL, {blockNo}}; + SendCommand(&c); + + UsbCommand resp; + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t * data = resp.d.asBytes; + + PrintAndLog("isOk: %02x", isOK); + + if (isOK) + PrintAndLog("Data: %s", sprint_hex(data, 4)); + } else { + PrintAndLog("Command execute timeout"); + } + return 0; +} + +// +// Mifare Ultralight / Ultralight-C; Read and Dump Card Contents +// +int CmdHF14AMfUDump(const char *Cmd){ + + FILE *fout; + char filename[FILE_PATH_SIZE] = {0x00}; + char * fnameptr = filename; + + uint8_t *lockbytes_t = NULL; + uint8_t lockbytes[2] = {0x00}; + + uint8_t *lockbytes_t2 = NULL; + uint8_t lockbytes2[2] = {0x00}; + + bool bit[16] = {0x00}; + bool bit2[16] = {0x00}; + + int i; + uint8_t BlockNo = 0; + int Pages = 16; + + bool tmplockbit = false; + uint8_t isOK = 0; + uint8_t *data = NULL; + + char cmdp = param_getchar(Cmd, 0); + + if (cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Reads all pages from Mifare Ultralight or Ultralight-C tag."); + PrintAndLog("It saves binary dump into the file `filename.bin` or `cardUID.bin`"); + PrintAndLog("Usage: hf mfu dump "); + PrintAndLog(" optional cardtype c == Ultralight-C, if not defaults to Ultralight"); + PrintAndLog(" sample: hf mfu dump"); + PrintAndLog(" : hf mfu dump myfile"); + PrintAndLog(" : hf mfu dump c myfile"); + return 0; + } + + // UL or UL-C? + Pages = (cmdp == 'c' || cmdp == 'C') ? 44 : 16; + + PrintAndLog("Dumping Ultralight%s Card Data...", (Pages ==16)?"":"-C"); + + UsbCommand c = {CMD_MIFAREU_READCARD, {BlockNo,Pages}}; + SendCommand(&c); + UsbCommand resp; + + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + isOK = resp.arg[0] & 0xff; + if (!isOK) { + PrintAndLog("Command error"); + return 0; + } + data = resp.d.asBytes; + } else { + PrintAndLog("Command execute timeout"); + return 0; + } + + // Load lock bytes. + int j = 0; + + lockbytes_t = data + 8; + lockbytes[0] = lockbytes_t[2]; + lockbytes[1] = lockbytes_t[3]; + for(j = 0; j < 16; j++){ + bit[j] = lockbytes[j/8] & ( 1 <<(7-j%8)); + } + + // Load bottom lockbytes if available + if ( Pages == 44 ) { + + lockbytes_t2 = data + (40*4); + lockbytes2[0] = lockbytes_t2[2]; + lockbytes2[1] = lockbytes_t2[3]; + for (j = 0; j < 16; j++) { + bit2[j] = lockbytes2[j/8] & ( 1 <<(7-j%8)); + } + } + + for (i = 0; i < Pages; ++i) { + + if ( i < 3 ) { + PrintAndLog("Block %02x:%s ", i,sprint_hex(data + i * 4, 4)); + continue; + } + + switch(i){ + case 3: tmplockbit = bit[4]; break; + case 4: tmplockbit = bit[3]; break; + case 5: tmplockbit = bit[2]; break; + case 6: tmplockbit = bit[1]; break; + case 7: tmplockbit = bit[0]; break; + case 8: tmplockbit = bit[15]; break; + case 9: tmplockbit = bit[14]; break; + case 10: tmplockbit = bit[13]; break; + case 11: tmplockbit = bit[12]; break; + case 12: tmplockbit = bit[11]; break; + case 13: tmplockbit = bit[10]; break; + case 14: tmplockbit = bit[9]; break; + case 15: tmplockbit = bit[8]; break; + case 16: + case 17: + case 18: + case 19: tmplockbit = bit2[6]; break; + case 20: + case 21: + case 22: + case 23: tmplockbit = bit2[5]; break; + case 24: + case 25: + case 26: + case 27: tmplockbit = bit2[4]; break; + case 28: + case 29: + case 30: + case 31: tmplockbit = bit2[2]; break; + case 32: + case 33: + case 34: + case 35: tmplockbit = bit2[1]; break; + case 36: + case 37: + case 38: + case 39: tmplockbit = bit2[0]; break; + case 40: tmplockbit = bit2[12]; break; + case 41: tmplockbit = bit2[11]; break; + case 42: tmplockbit = bit2[10]; break; //auth0 + case 43: tmplockbit = bit2[9]; break; //auth1 + default: break; + } + PrintAndLog("Block %02x:%s [%d]", i,sprint_hex(data + i * 4, 4),tmplockbit); + } + + int len = 0; + if ( Pages == 16 ) + len = param_getstr(Cmd,0,filename); + else + len = param_getstr(Cmd,1,filename); + + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + + // user supplied filename? + if (len < 1) { + + // UID = data 0-1-2 4-5-6-7 (skips a beat) + sprintf(fnameptr, "%02X", data[0]); + fnameptr += 2; + sprintf(fnameptr, "%02X", data[1]); + fnameptr += 2; + sprintf(fnameptr, "%02X", data[2]); + fnameptr += 2; + sprintf(fnameptr, "%02X", data[4]); + fnameptr += 2; + sprintf(fnameptr, "%02X", data[5]); + fnameptr += 2; + sprintf(fnameptr, "%02X", data[6]); + fnameptr += 2; + sprintf(fnameptr, "%02X", data[7]); + fnameptr += 2; + + } else { + fnameptr += len; + } + + // add file extension + sprintf(fnameptr, ".bin"); + + if ((fout = fopen(filename,"wb")) == NULL) { + PrintAndLog("Could not create file name %s", filename); + return 1; + } + fwrite( data, 1, Pages*4, fout ); + fclose(fout); + + PrintAndLog("Dumped %d pages, wrote %d bytes to %s", Pages, Pages*4, filename); + return 0; +} + +// Needed to Authenticate to Ultralight C tags +void rol (uint8_t *data, const size_t len){ + uint8_t first = data[0]; + for (size_t i = 0; i < len-1; i++) { + data[i] = data[i+1]; + } + data[len-1] = first; +} + +//------------------------------------------------------------------------------- +// Ultralight C Methods +//------------------------------------------------------------------------------- + +// +// Ultralight C Authentication Demo {currently uses hard-coded key} +// +int CmdHF14AMfucAuth(const char *Cmd){ + + uint8_t blockNo = 0, keyNo = 0; + uint8_t e_RndB[8] = {0x00}; + uint32_t cuid = 0; + unsigned char RndARndB[16] = {0x00}; + uint8_t key[16] = {0x00}; + DES_cblock RndA, RndB; + DES_cblock iv; + DES_key_schedule ks1,ks2; + DES_cblock key1,key2; + + char cmdp = param_getchar(Cmd, 0); + // + memset(iv, 0, 8); + + if (cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: hf mfu cauth k "); + PrintAndLog(" 1 = all zeros key"); + PrintAndLog(" 2 = 0x00-0x0F key"); + PrintAndLog(" 3 = nfc key"); + PrintAndLog(" 4 = all ones key"); + PrintAndLog(" defaults to 3DES standard key"); + PrintAndLog(" sample : hf mfu cauth k"); + PrintAndLog(" : hf mfu cauth k 3"); + return 0; + } + + //Change key to user defined one + if (cmdp == 'k' || cmdp == 'K'){ + + keyNo = param_get8(Cmd, 1); + + switch(keyNo){ + case 0: + memcpy(key,key1_blnk_data,16); + break; + case 1: + memcpy(key,key2_defa_data,16); + break; + case 2: + memcpy(key,key4_nfc_data,16); + break; + case 3: + memcpy(key,key5_ones_data,16); + break; + default: + memcpy(key,key3_3des_data,16); + break; + } + } else { + memcpy(key,key3_3des_data,16); + } + + memcpy(key1,key,8); + memcpy(key2,key+8,8); + DES_set_key((DES_cblock *)key1,&ks1); + DES_set_key((DES_cblock *)key2,&ks2); + + //Auth1 + UsbCommand c = {CMD_MIFAREUC_AUTH1, {blockNo}}; + SendCommand(&c); + UsbCommand resp; + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + cuid = resp.arg[1]; + uint8_t * data= resp.d.asBytes; + + if (isOK){ + PrintAndLog("enc(RndB):%s", sprint_hex(data+1, 8)); + memcpy(e_RndB,data+1,8); + } else { + return 2; // auth failed. + } + } else { + PrintAndLog("Command execute timeout"); + return 1; + } + + //Do crypto magic + DES_random_key(&RndA); + DES_ede2_cbc_encrypt(e_RndB,RndB,sizeof(e_RndB),&ks1,&ks2,&iv,0); + PrintAndLog(" RndB:%s",sprint_hex(RndB, 8)); + PrintAndLog(" RndA:%s",sprint_hex(RndA, 8)); + rol(RndB,8); + memcpy(RndARndB,RndA,8); + memcpy(RndARndB+8,RndB,8); + PrintAndLog(" RA+B:%s",sprint_hex(RndARndB, 16)); + DES_ede2_cbc_encrypt(RndARndB,RndARndB,sizeof(RndARndB),&ks1,&ks2,&e_RndB,1); + PrintAndLog("enc(RA+B):%s",sprint_hex(RndARndB, 16)); + + //Auth2 + UsbCommand d = {CMD_MIFAREUC_AUTH2, {cuid}}; + memcpy(d.d.asBytes,RndARndB, 16); + SendCommand(&d); + + UsbCommand respb; + if (WaitForResponseTimeout(CMD_ACK,&respb,1500)) { + uint8_t isOK = respb.arg[0] & 0xff; + uint8_t * data2= respb.d.asBytes; + + if (isOK){ + PrintAndLog("enc(RndA'):%s", sprint_hex(data2+1, 8)); + } else { + return 2; + } + + } else { + PrintAndLog("Command execute timeout"); + return 1; + } + return 0; +} + +// +// Ultralight C Read Single Block +// +int CmdHF14AMfUCRdBl(const char *Cmd) +{ + uint8_t blockNo = -1; + char cmdp = param_getchar(Cmd, 0); + + if (strlen(Cmd) < 1 || cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: hf mfu crdbl "); + PrintAndLog(" sample: hf mfu crdbl 0"); + return 0; + } + + blockNo = param_get8(Cmd, 0); + if (blockNo < 0) { + PrintAndLog("Wrong block number"); + return 1; + } + + if (blockNo > MAX_ULTRAC_BLOCKS ){ + PrintAndLog("Error: Maximum number of readable blocks is 47 for Ultralight-C Cards!"); + return 1; + } + + PrintAndLog("--block no: 0x%02X (%d)", (int)blockNo, blockNo); + + //Read Block + UsbCommand e = {CMD_MIFAREU_READBL, {blockNo}}; + SendCommand(&e); + UsbCommand resp_c; + if (WaitForResponseTimeout(CMD_ACK,&resp_c,1500)) { + uint8_t isOK = resp_c.arg[0] & 0xff; + uint8_t *data = resp_c.d.asBytes; + + PrintAndLog("isOk: %02x", isOK); + if (isOK) + PrintAndLog("Data: %s", sprint_hex(data, 4)); + + } else { + PrintAndLog("Command execute timeout"); + } + return 0; +} + +// +// Mifare Ultralight C Write Single Block +// +int CmdHF14AMfUCWrBl(const char *Cmd){ + + uint8_t blockNo = -1; + bool chinese_card = FALSE; + uint8_t bldata[16] = {0x00}; + UsbCommand resp; + + char cmdp = param_getchar(Cmd, 0); + + if (strlen(Cmd) < 3 || cmdp == 'h' || cmdp == 'H') { + PrintAndLog("Usage: hf mfu cwrbl [w]"); + PrintAndLog(" [block number]"); + PrintAndLog(" [block data] - (8 hex symbols)"); + PrintAndLog(" [w] - Chinese magic ultralight tag"); + PrintAndLog(""); + PrintAndLog(" sample: hf mfu cwrbl 0 01020304"); + PrintAndLog(""); + return 0; + } + + blockNo = param_get8(Cmd, 0); + if (blockNo > MAX_ULTRAC_BLOCKS ){ + PrintAndLog("Error: Maximum number of blocks is 47 for Ultralight-C Cards!"); + return 1; + } + + if (param_gethex(Cmd, 1, bldata, 8)) { + PrintAndLog("Block data must include 8 HEX symbols"); + return 1; + } + + if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { + chinese_card = TRUE; + } + + if ( blockNo <= 3 ) { + if (!chinese_card){ + PrintAndLog("Access Denied"); + } else { + PrintAndLog("--Special block no: 0x%02x", blockNo); + PrintAndLog("--Data: %s", sprint_hex(bldata, 4)); + UsbCommand d = {CMD_MIFAREU_WRITEBL, {blockNo}}; + memcpy(d.d.asBytes,bldata, 4); + SendCommand(&d); + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + PrintAndLog("isOk:%02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } + } + } else { + PrintAndLog("--Block no : 0x%02x", blockNo); + PrintAndLog("--Data: %s", sprint_hex(bldata, 4)); + UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; + memcpy(e.d.asBytes,bldata, 4); + SendCommand(&e); + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + PrintAndLog("isOk : %02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } + } + return 0; +} + +//------------------------------------ +// Menu Stuff +//------------------------------------ +static command_t CommandTable[] = +{ + {"help", CmdHelp, 1,"This help"}, + {"dbg", CmdHF14AMfDbg, 0,"Set default debug mode"}, + {"info", CmdHF14AMfUInfo, 0,"Taginfo"}, + {"dump", CmdHF14AMfUDump, 0,"Dump MIFARE Ultralight / Ultralight-C tag to binary file"}, + {"rdbl", CmdHF14AMfURdBl, 0,"Read block - MIFARE Ultralight"}, + {"wrbl", CmdHF14AMfUWrBl, 0,"Write block - MIFARE Ultralight"}, + {"crdbl", CmdHF14AMfUCRdBl, 0,"Read block - MIFARE Ultralight C"}, + {"cwrbl", CmdHF14AMfUCWrBl, 0,"Write MIFARE Ultralight C block"}, + {"cauth", CmdHF14AMfucAuth, 0,"try a Ultralight C Authentication"}, + {NULL, NULL, 0, NULL} +}; + +int CmdHFMFUltra(const char *Cmd){ + WaitForResponseTimeout(CMD_ACK,NULL,100); + CmdsParse(CommandTable, Cmd); + return 0; +} + +int CmdHelp(const char *Cmd){ + CmdsHelp(CommandTable); + return 0; +} \ No newline at end of file diff --git a/client/cmdhfmfu.h b/client/cmdhfmfu.h new file mode 100644 index 000000000..c4bc03415 --- /dev/null +++ b/client/cmdhfmfu.h @@ -0,0 +1,19 @@ +#include "cmdhfmf.h" +#include "cmdhf14a.h" + +//standard ultralight +int CmdHF14AMfUWrBl(const char *Cmd); +int CmdHF14AMfURdBl(const char *Cmd); + +//Crypto Cards +int CmdHF14AMfUCRdBl(const char *Cmd); +int CmdHF14AMfUCRdCard(const char *Cmd); +int CmdHF14AMfucAuth(const char *Cmd); + +//general stuff +int CmdHF14AMfUDump(const char *Cmd); +void rol (uint8_t *data, const size_t len); + + +int CmdHFMFUltra(const char *Cmd); +int CmdHF14AMfUInfo(const char *Cmd); diff --git a/client/scripts/remagic.lua b/client/scripts/remagic.lua new file mode 100644 index 000000000..d2b869c31 --- /dev/null +++ b/client/scripts/remagic.lua @@ -0,0 +1,63 @@ +local getopt = require('getopt') + +example = "script run remagic" +author = "Iceman" + +desc = +[[ +This is a script that tries to bring back a chinese magic card (1k generation1) +from the dead when it's block 0 has been written with bad values. + +Arguments: + -h this help +]] +--- +-- A debug printout-function +function dbg(args) + if DEBUG then + print("###", args) + end +end +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) +end + +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end + +--- +-- The main entry point +function main(args) + + + -- Read the parameters + for o, a in getopt.getopt(args, 'h') do + if o == "h" then help() return end + end + + local _cmds = { + --[[ + --]] + [0] = "hf 14a raw -p -a -b 7 40", + [1] = "hf 14a raw -p -a 43", + [2] = "hf 14a raw -c -p -a A000", + [3] = "hf 14a raw -c -p -a 01 02 03 04 04 98 02 00 00 00 00 00 00 00 10 01", + } + core.clearCommandBuffer() + + local i + --for _,c in pairs(_cmds) do + for i = 0, 3 do + print ( _cmds[i] ) + core.console( _cmds[i] ) + end +end + +main(args) diff --git a/client/scripts/test_t55x7_psk.lua b/client/scripts/test_t55x7_psk.lua new file mode 100644 index 000000000..1b9640944 --- /dev/null +++ b/client/scripts/test_t55x7_psk.lua @@ -0,0 +1,173 @@ +local cmds = require('commands') +local getopt = require('getopt') +local bin = require('bin') +local utils = require('utils') +local dumplib = require('html_dumplib') + +example =[[ + 1. script run tracetest + 2. script run tracetest -o + +]] +author = "Iceman" +usage = "script run test_t55x7_psk -o " +desc =[[ +This script will program a T55x7 TAG with the configuration: block 0x00 data 0x00088040 +The outlined procedure is as following: + +"lf t55xx write 0 00088040" +"lf read" +"data samples" +"data pskdet" +"data psknrz" +"data pskindala" +"data psknrzraw" + +Loop OUTER: + change the configuretion block 0 with: + -xxxx8xxx = PSK RF/2 with Manchester modulation + -xxxx1xxx = PSK RF/2 with PSK1 modulation (phase change when input changes) + -xxxx2xxx = PSK RF/2 with PSk2 modulation (phase change on bitclk if input high) + -xxxx3xxx = PSK RF/2 with PSk3 modulation (phase change on rising edge of input) + Loop INNER + for each outer configuration, also do + XXXXX0XX = PSK RF/2 + XXXXX4XX = PSK RF/4 + XXXXX8XX = PSK RF/8 + +In all 12 individual test for the PSK demod + +Arguments: + -h : this help + -o : logfile name +]] + +local TIMEOUT = 2000 -- Shouldn't take longer than 2 seconds +local DEBUG = true -- the debug flag + +--BLOCK 0 = 00088040 +local config1 = '0008' +local config2 = '40' + +local procedurecmds = { + [1] = '%s%s%s%s', + [2] = 'lf read', + --[3] = '', + [3] = 'data samples', + [4] = 'data pskdetectclock', + [5] = 'data psknrzrawdemod', + [6] = 'data pskindalademod', +} + +--- +-- A debug printout-function +function dbg(args) + if not DEBUG then + return + end + + if type(args) == "table" then + local i = 1 + while args[i] do + dbg(args[i]) + i = i+1 + end + else + print("###", args) + end +end +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) +end +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end +-- +-- Exit message +function ExitMsg(msg) + print( string.rep('--',20) ) + print( string.rep('--',20) ) + print(msg) + print() +end + +function pskTest(modulation) + local y + for y = 0, 8, 4 do + for _ = 1, #procedurecmds do + local cmd = procedurecmds[_] + + if #cmd == 0 then + + elseif _ == 1 then + + dbg("Writing to T55x7 TAG") + + local configdata = cmd:format( config1, modulation , y, config2) + + dbg( configdata) + + local writecommand = Command:new{cmd = cmds.CMD_T55XX_WRITE_BLOCK, arg1 = configdata ,arg2 = 0, arg3 = 0} + local err = core.SendCommand(writecommand:getBytes()) + if err then return oops(err) end + local response = core.WaitForResponseTimeout(cmds.CMD_ACK,TIMEOUT) + + if response then + local count,cmd,arg0 = bin.unpack('LL',response) + if(arg0==1) then + dbg("Writing success") + else + return nil, "Couldn't read block.." + end + end + + else + dbg(cmd) + core.console( cmd ) + end + end + core.clearCommandBuffer() + end + print( string.rep('--',20) ) + +end + +local function main(args) + + print( string.rep('--',20) ) + print( string.rep('--',20) ) + + local outputTemplate = os.date("testpsk_%Y-%m-%d_%H%M%S") + + -- Arguments for the script + for o, arg in getopt.getopt(args, 'ho:') do + if o == "h" then return help() end + if o == "o" then outputTemplate = arg end + end + + core.clearCommandBuffer() + + pskTest(1) + pskTest(2) + pskTest(3) + pskTest(8) + + print( string.rep('--',20) ) +end +main(args) + +-- Where it iterates over + -- xxxx8xxx = PSK RF/2 with Manchester modulation + -- xxxx1xxx = PSK RF/2 with PSK1 modulation (phase change when input changes) + -- xxxx2xxx = PSK RF/2 with PSk2 modulation (phase change on bitclk if input high) + -- xxxx3xxx = PSK RF/2 with PSk3 modulation (phase change on rising edge of input) + + -- XXXXX0XX = PSK RF/2 + -- XXXXX4XX = PSK RF/4 + -- XXXXX8XX = PSK RF/8 \ No newline at end of file diff --git a/client/scripts/tracetest.lua b/client/scripts/tracetest.lua new file mode 100644 index 000000000..e4a9215cb --- /dev/null +++ b/client/scripts/tracetest.lua @@ -0,0 +1,132 @@ +local cmds = require('commands') +local getopt = require('getopt') +local bin = require('bin') +local utils = require('utils') +local dumplib = require('html_dumplib') + +example =[[ + 1. script run tracetest + 2. script run tracetest -o + +]] +author = "Iceman" +usage = "script run tracetest -o " +desc =[[ +This script will load several traces files in ../traces/ folder and do +"data load" +"lf search" + +Arguments: + -h : this help + -o : logfile name +]] + +local TIMEOUT = 2000 -- Shouldn't take longer than 2 seconds +local DEBUG = true -- the debug flag +--- +-- A debug printout-function +function dbg(args) + if not DEBUG then + return + end + + if type(args) == "table" then + local i = 1 + while result[i] do + dbg(result[i]) + i = i+1 + end + else + print("###", args) + end +end +--- +-- This is only meant to be used when errors occur +function oops(err) + print("ERROR: ",err) +end +--- +-- Usage help +function help() + print(desc) + print("Example usage") + print(example) +end +-- +-- Exit message +function ExitMsg(msg) + print( string.rep('--',20) ) + print( string.rep('--',20) ) + print(msg) + print() +end + + +local function main(args) + + print( string.rep('--',20) ) + print( string.rep('--',20) ) + + local cmdDataLoad = 'data load %s'; + local tracesEM = "find '../traces/' -iname 'em*.pm3' -type f" + local tracesMOD = "find '../traces/' -iname 'm*.pm3' -type f" + + local outputTemplate = os.date("testtest_%Y-%m-%d_%H%M%S") + + -- Arguments for the script + for o, arg in getopt.getopt(args, 'ho:') do + if o == "h" then return help() end + if o == "o" then outputTemplate = arg end + end + + core.clearCommandBuffer() + + local files = {} + + -- Find a set of traces staring with EM + local p = assert( io.popen(tracesEM)) + for file in p:lines() do + table.insert(files, file) + end + p.close(); + + -- Find a set of traces staring with MOD + p = assert( io.popen(tracesMOD) ) + for file in p:lines() do + table.insert(files, file) + end + p.close(); + + local cmdLFSEARCH = "lf search 1" + + -- main loop + io.write('Starting to test traces > ') + for _,file in pairs(files) do + + local x = "data load "..file + dbg(x) + core.console(x) + + dbg(cmdLFSEARCH) + core.console(cmdLFSEARCH) + + core.clearCommandBuffer() + + if core.ukbhit() then + print("aborted by user") + break + end + end + io.write('\n') + + -- Write dump to files + if not DEBUG then + local bar = dumplib.SaveAsText(emldata, outputTemplate..'.txt') + print(("Wrote output to: %s"):format(bar)) + end + + -- Show info + print( string.rep('--',20) ) + +end +main(args) \ No newline at end of file From e3c235654f60acf16d13581d952b4125a774cdcd Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 20 Jan 2015 21:48:39 +0100 Subject: [PATCH 106/133] Minor fixes to some help-texts. --- client/cmdhfmf.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 28f7b0782..24d04dc2d 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -778,12 +778,14 @@ int CmdHF14AMfNested(const char *Cmd) int CmdHF14AMfChk(const char *Cmd) { if (strlen(Cmd)<3) { - PrintAndLog("Usage: hf mf chk |<*card memory> [t] [] []"); + PrintAndLog("Usage: hf mf chk |<*card memory> [t|d] [] []"); PrintAndLog(" * - all sectors"); PrintAndLog("card memory - 0 - MINI(320 bytes), 1 - 1K, 2 - 2K, 4 - 4K, - 1K"); PrintAndLog("d - write keys to binary file\n"); + PrintAndLog("t - write keys to emulator memory"); PrintAndLog(" sample: hf mf chk 0 A 1234567890ab keys.dic"); PrintAndLog(" hf mf chk *1 ? t"); + PrintAndLog(" hf mf chk *1 ? d"); return 0; } @@ -1010,12 +1012,16 @@ int CmdHF14AMf1kSim(const char *Cmd) uint8_t exitAfterNReads = 0; uint8_t flags = 0; - if (param_getchar(Cmd, 0) == 'h') { + uint8_t cmdp = param_getchar(Cmd, 0); + + if (cmdp == 'h' || cmdp == 'H') { PrintAndLog("Usage: hf mf sim u n i x"); + PrintAndLog(" h this help"); PrintAndLog(" u (Optional) UID. If not specified, the UID from emulator memory will be used"); PrintAndLog(" n (Optional) Automatically exit simulation after blocks have been read by reader. 0 = infinite"); PrintAndLog(" i (Optional) Interactive, means that console will not be returned until simulation finishes or is aborted"); PrintAndLog(" x (Optional) Crack, performs the 'reader attack', nr/ar attack against a legitimate reader, fishes out the key(s)"); + PrintAndLog(""); PrintAndLog(" sample: hf mf sim u 0a0a0a0a "); return 0; } @@ -1445,7 +1451,7 @@ int CmdHF14AMfCSetUID(const char *Cmd) char ctmp = param_getchar(Cmd, 1); if (ctmp == 'w' || ctmp == 'W') wipeCard = 1; - PrintAndLog("--wipe card:%02x uid:%s", wipeCard, sprint_hex(uid, 4)); + PrintAndLog("--wipe card:%s uid:%s", (wipeCard)?"YES":"NO", sprint_hex(uid, 4)); res = mfCSetUID(uid, oldUid, wipeCard); if (res) { @@ -1488,7 +1494,6 @@ int CmdHF14AMfCSetBlk(const char *Cmd) return 1; } - PrintAndLog("UID:%s", sprint_hex(uid, 4)); return 0; } @@ -1503,11 +1508,8 @@ int CmdHF14AMfCLoad(const char *Cmd) uint8_t fillFromEmulator = 0; int i, len, blockNum, flags; - // memset(filename, 0, sizeof(filename)); - // memset(buf, 0, sizeof(buf)); - if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) { - PrintAndLog("It loads magic Chinese card (only works with!!!) from the file `filename.eml`"); + PrintAndLog("It loads magic Chinese card from the file `filename.eml`"); PrintAndLog("or from emulator memory (option `e`)"); PrintAndLog("Usage: hf mf cload "); PrintAndLog(" or: hf mf cload e "); @@ -1554,7 +1556,9 @@ int CmdHF14AMfCLoad(const char *Cmd) blockNum = 0; flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC; while(!feof(f)){ + memset(buf, 0, sizeof(buf)); + if (fgets(buf, sizeof(buf), f) == NULL) { PrintAndLog("File reading error."); return 2; @@ -1589,6 +1593,7 @@ int CmdHF14AMfCLoad(const char *Cmd) PrintAndLog("Loaded from file: %s", filename); return 0; } + return 0; } int CmdHF14AMfCGetBlk(const char *Cmd) { @@ -1770,7 +1775,8 @@ int CmdHF14AMfSniff(const char *Cmd){ uint8_t buf[3000] = {0x00}; uint8_t * bufPtr = buf; - if (param_getchar(Cmd, 0) == 'h') { + char ctmp = param_getchar(Cmd, 0); + if ( ctmp == 'h' || ctmp == 'H' ) { PrintAndLog("It continuously gets data from the field and saves it to: log, emulator, emulator file."); PrintAndLog("You can specify:"); PrintAndLog(" l - save encrypted sequence to logfile `uid.log`"); @@ -1783,7 +1789,7 @@ int CmdHF14AMfSniff(const char *Cmd){ } for (int i = 0; i < 4; i++) { - char ctmp = param_getchar(Cmd, i); + ctmp = param_getchar(Cmd, i); if (ctmp == 'l' || ctmp == 'L') wantLogToFile = true; if (ctmp == 'd' || ctmp == 'D') wantDecrypt = true; //if (ctmp == 'e' || ctmp == 'E') wantSaveToEml = true; TODO From fe5b3a4424bdbb1455f879e05ec248abc8c70867 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 20 Jan 2015 21:50:49 +0100 Subject: [PATCH 107/133] FIX: The 14b write command (CmdHF14BWrite) now turns off antenna after call. --- client/cmdhf14b.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/cmdhf14b.c b/client/cmdhf14b.c index 0350fc318..ea07b894a 100644 --- a/client/cmdhf14b.c +++ b/client/cmdhf14b.c @@ -448,7 +448,7 @@ int CmdHF14BWrite( const char *Cmd){ else PrintAndLog("[%s] Write block %02X [ %s ]", (isSrix4k)?"SRIX4K":"SRI512", blockno, sprint_hex(data,4) ); - sprintf(str, "-c -p 09 %02x %02x%02x%02x%02x", blockno, data[0], data[1], data[2], data[3]); + sprintf(str, "-c 09 %02x %02x%02x%02x%02x", blockno, data[0], data[1], data[2], data[3]); CmdHF14BCmdRaw(str); return 0; From 80b1b53fa35b51a05bb8b32cbb9498132e94430b Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 20 Jan 2015 21:55:19 +0100 Subject: [PATCH 108/133] SUGGESTED FIX: Issue: https://github.com/Proxmark/proxmark3/issues/35 Forum: http://www.proxmark.org/forum/viewtopic.php?pid=7883#p7883 Where "hf mf csetuid" empties the rest of the block0 bytes. This fix loads the old block0 and replaces the uid+sak+ataq bytes only. --- client/mifarehost.c | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/client/mifarehost.c b/client/mifarehost.c index d025918d9..e62d6260d 100644 --- a/client/mifarehost.c +++ b/client/mifarehost.c @@ -232,14 +232,27 @@ int mfEmlSetMem(uint8_t *data, int blockNum, int blocksCount) { // "MAGIC" CARD int mfCSetUID(uint8_t *uid, uint8_t *oldUID, bool wantWipe) { + + uint8_t oldblock0[16] = {0x00}; uint8_t block0[16] = {0x00}; memcpy(block0, uid, 4); block0[4] = block0[0]^block0[1]^block0[2]^block0[3]; // Mifare UID BCC // mifare classic SAK(byte 5) and ATQA(byte 6 and 7) - block0[5] = 0x08; - block0[6] = 0x04; - block0[7] = 0x00; + //block0[5] = 0x08; + //block0[6] = 0x04; + //block0[7] = 0x00; + block0[5] = 0x01; //sak + block0[6] = 0x01; + block0[7] = 0x0f; + + int old = mfCGetBlock(0, oldblock0, CSETBLOCK_SINGLE_OPER); + if ( old == 0) { + memcpy(block0+8, oldblock0+8, 8); + PrintAndLog("block 0: %s", sprint_hex(block0,16)); + } else { + PrintAndLog("Couldn't get olddata. Will write over the last bytes of Block 0."); + } return mfCSetBlock(0, block0, oldUID, wantWipe, CSETBLOCK_SINGLE_OPER); } @@ -253,8 +266,10 @@ int mfCSetBlock(uint8_t blockNo, uint8_t *data, uint8_t *uid, bool wantWipe, uin UsbCommand resp; if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { isOK = resp.arg[0] & 0xff; - if (uid != NULL) memcpy(uid, resp.d.asBytes, 4); - if (!isOK) return 2; + if (uid != NULL) + memcpy(uid, resp.d.asBytes, 4); + if (!isOK) + return 2; } else { PrintAndLog("Command execute timeout"); return 1; @@ -323,13 +338,16 @@ int isBlockTrailer(int blockN) { int loadTraceCard(uint8_t *tuid) { FILE * f; - char buf[64]; - uint8_t buf8[64]; + char buf[64] = {0x00}; + uint8_t buf8[64] = {0x00}; int i, blockNum; - if (!isTraceCardEmpty()) saveTraceCard(); + if (!isTraceCardEmpty()) + saveTraceCard(); + memset(traceCard, 0x00, 4096); memcpy(traceCard, tuid + 3, 4); + FillFileNameByUID(traceFileName, tuid, ".eml", 7); f = fopen(traceFileName, "r"); @@ -380,10 +398,14 @@ int saveTraceCard(void) { int mfTraceInit(uint8_t *tuid, uint8_t *atqa, uint8_t sak, bool wantSaveToEmlFile) { - if (traceCrypto1) crypto1_destroy(traceCrypto1); + if (traceCrypto1) + crypto1_destroy(traceCrypto1); + traceCrypto1 = NULL; - if (wantSaveToEmlFile) loadTraceCard(tuid); + if (wantSaveToEmlFile) + loadTraceCard(tuid); + traceCard[4] = traceCard[0] ^ traceCard[1] ^ traceCard[2] ^ traceCard[3]; traceCard[5] = sak; memcpy(&traceCard[6], atqa, 2); From e4691591454edf2c11697096ea72d650a7dbda79 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 20 Jan 2015 21:58:53 +0100 Subject: [PATCH 109/133] FIX: another file_path found in loadTraceCard and saveTraceCard, is now corrected to follow FILE_PATH_SIZE variable. FIX: some filehandles that didn't get closed. --- client/mifarehost.c | 17 +++++++++++++---- client/mifarehost.h | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/client/mifarehost.c b/client/mifarehost.c index e62d6260d..7f7848508 100644 --- a/client/mifarehost.c +++ b/client/mifarehost.c @@ -301,9 +301,9 @@ int mfCGetBlock(uint8_t blockNo, uint8_t *data, uint8_t params) { static uint8_t trailerAccessBytes[4] = {0x08, 0x77, 0x8F, 0x00}; // variables -char logHexFileName[200] = {0x00}; +char logHexFileName[FILE_PATH_SIZE] = {0x00}; static uint8_t traceCard[4096] = {0x00}; -static char traceFileName[200] = {0x00}; +static char traceFileName[FILE_PATH_SIZE] = {0x00}; static int traceState = TRACE_IDLE; static uint8_t traceCurBlock = 0; static uint8_t traceCurKey = 0; @@ -351,10 +351,15 @@ int loadTraceCard(uint8_t *tuid) { FillFileNameByUID(traceFileName, tuid, ".eml", 7); f = fopen(traceFileName, "r"); - if (!f) return 1; + if (!f) { + fclose(f); + return 1; + } blockNum = 0; + while(!feof(f)){ + memset(buf, 0, sizeof(buf)); if (fgets(buf, sizeof(buf), f) == NULL) { PrintAndLog("File reading error."); @@ -386,13 +391,17 @@ int saveTraceCard(void) { if ((!strlen(traceFileName)) || (isTraceCardEmpty())) return 0; f = fopen(traceFileName, "w+"); + if ( !f ) { + fclose(f); + return 1; + } + for (int i = 0; i < 64; i++) { // blocks for (int j = 0; j < 16; j++) // bytes fprintf(f, "%02x", *(traceCard + i * 16 + j)); fprintf(f,"\n"); } fclose(f); - return 0; } diff --git a/client/mifarehost.h b/client/mifarehost.h index 3e946cd92..96eb75f70 100644 --- a/client/mifarehost.h +++ b/client/mifarehost.h @@ -47,7 +47,7 @@ typedef struct { int foundKey[2]; } sector; -extern char logHexFileName[200]; +extern char logHexFileName[FILE_PATH_SIZE]; int mfnested(uint8_t blockNo, uint8_t keyType, uint8_t * key, uint8_t trgBlockNo, uint8_t trgKeyType, uint8_t * ResultKeys, bool calibrate); int mfCheckKeys (uint8_t blockNo, uint8_t keyType, uint8_t keycnt, uint8_t * keyBlock, uint64_t * key); From a1557c4c2f3905fd760dbac16cba5be890948634 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Tue, 20 Jan 2015 22:14:56 +0100 Subject: [PATCH 110/133] Minor fixes: Array inits, some array bounds checks. ADD: some extra help text for lf snoop ADD: HasGraphData - function in graph.c ADD: DetectHighLowInGraph - function in graph.c --- client/cmddata.c | 9 ++------- client/cmdlf.c | 3 +++ client/graph.c | 49 ++++++++++++++++++++++++++++++++++++++++++++---- client/graph.h | 4 +++- 4 files changed, 53 insertions(+), 12 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index a88fa4e10..820e44e2c 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -511,10 +511,6 @@ int CmdBitstream(const char *Cmd) bit ^= 1; AppendGraph(0, clock, bit); - // for (j = 0; j < (int)(clock/2); j++) - // GraphBuffer[(i * clock) + j] = bit ^ 1; - // for (j = (int)(clock/2); j < clock; j++) - // GraphBuffer[(i * clock) + j] = bit; } RepaintGraphWindow(); @@ -800,8 +796,7 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating PrintAndLog("actual data bits start at sample %d", maxPos); PrintAndLog("length %d/%d", highLen, lowLen); - uint8_t bits[46]; - bits[sizeof(bits)-1] = '\0'; + uint8_t bits[46] = {0x00}; // find bit pairs and manchester decode them for (i = 0; i < arraylen(bits) - 1; ++i) { @@ -1054,7 +1049,7 @@ int CmdHpf(const char *Cmd) int CmdSamples(const char *Cmd) { - uint8_t got[40000]; + uint8_t got[40000] = {0x00}; int n = strtol(Cmd, NULL, 0); if (n == 0) diff --git a/client/cmdlf.c b/client/cmdlf.c index 491fd082f..729a38752 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -467,6 +467,9 @@ int CmdLFSnoop(const char *Cmd) PrintAndLog("usage 1: snoop"); PrintAndLog(" 2: snoop [trigger threshold]"); PrintAndLog(" 3: snoop [trigger threshold]"); + PrintAndLog(""); + PrintAndLog("Sample: lf snoop l 200"); + PrintAndLog(" : lf snoop 95 200"); return 0; } diff --git a/client/graph.c b/client/graph.c index 6362c8fe2..0f998fe1a 100644 --- a/client/graph.c +++ b/client/graph.c @@ -9,6 +9,7 @@ //----------------------------------------------------------------------------- #include +#include #include #include "ui.h" #include "graph.h" @@ -50,7 +51,11 @@ int ClearGraph(int redraw) void setGraphBuf(uint8_t *buff, size_t size) { - int i=0; + if ( buff == NULL ) return; + + uint16_t i = 0; + if ( size > MAX_GRAPH_TRACE_LEN ) + size = MAX_GRAPH_TRACE_LEN; ClearGraph(0); for (; i < size; ++i){ GraphBuffer[i]=buff[i]-128; @@ -61,6 +66,8 @@ void setGraphBuf(uint8_t *buff, size_t size) } size_t getFromGraphBuf(uint8_t *buff) { + if ( buff == NULL ) return -1; + uint32_t i; for (i=0;i127) GraphBuffer[i]=127; //trim @@ -82,16 +89,50 @@ int GetClock(const char *str, int peak, int verbose) { uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; size_t size = getFromGraphBuf(grph); + if ( size < 0 ) { + PrintAndLog("Failed to copy from graphbuffer"); + return -1; + } clock = DetectASKClock(grph,size,0); // Only print this message if we're not looping something if (!verbose){ PrintAndLog("Auto-detected clock rate: %d", clock); } - } - return clock; } +// A simple test to see if there is any data inside Graphbuffer. +bool HasGraphData(){ + + if ( GraphTraceLen <= 0) { + PrintAndLog("No data available, try reading something first"); + return false; + } + return true; +} + +// Detect high and lows in Grapbuffer. +// Only loops the first 256 values. +void DetectHighLowInGraph(int *high, int *low, bool addFuzz) { + + uint8_t loopMax = 255; + if ( loopMax > GraphTraceLen) + loopMax = GraphTraceLen; + + for (uint8_t i = 0; i < loopMax; ++i) { + if (GraphBuffer[i] > *high) + *high = GraphBuffer[i]; + else if (GraphBuffer[i] < *low) + *low = GraphBuffer[i]; + } + + //12% fuzz in case highs and lows aren't clipped + if (addFuzz) { + *high = (int)(*high * .88); + *low = (int)(*low * .88); + } +} + int GetNRZpskClock(const char *str, int peak, int verbose) { int clock; @@ -111,4 +152,4 @@ int GetNRZpskClock(const char *str, int peak, int verbose) } } return clock; -} +} \ No newline at end of file diff --git a/client/graph.h b/client/graph.h index 1abeeb25a..fe35d4f1c 100644 --- a/client/graph.h +++ b/client/graph.h @@ -20,8 +20,10 @@ int GetClock(const char *str, int peak, int verbose); int GetNRZpskClock(const char *str, int peak, int verbose); void setGraphBuf(uint8_t *buff, size_t size); +bool HasGraphData(); +void DetectHighLowInGraph(int *high, int *low, bool addFuzz); + #define MAX_GRAPH_TRACE_LEN (1024*128) extern int GraphBuffer[MAX_GRAPH_TRACE_LEN]; extern int GraphTraceLen; - #endif From ec75f5c10a91211e50b74af181b827fc93a6dcd5 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 20 Jan 2015 17:28:51 -0500 Subject: [PATCH 111/133] lf Bug Fixes and lf demod additions added data fskparadoxdemod added data setdebugmode (for demods) added data shiftgraphzero (to help clean weak reads) fixed a few bugs with the data detectaskclock added data fskfcdetect to detect FSK clocks adjusted most of my demods to put raw tag binary to demod buffer for future sim and clone commands (psk still needs work) --- armsrc/lfops.c | 10 +- client/cmddata.c | 355 ++++++++++++++++++++++++++++++----------------- client/cmddata.h | 1 + client/cmdlf.c | 25 ++-- client/graph.c | 2 + common/lfdemod.c | 261 ++++++++++++++++++++++------------ common/lfdemod.h | 6 +- 7 files changed, 429 insertions(+), 231 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index f5040850c..8ea9b317f 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -633,7 +633,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; //, found=0; + size_t size=sizeof(BigBuf), idx=0; //, found=0; uint32_t hi2=0, hi=0, lo=0; // Configure to go in 125Khz listen mode @@ -646,11 +646,11 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); // FSK demodulator - size = HIDdemodFSK(dest, sizeof(BigBuf), &hi2, &hi, &lo); + idx = HIDdemodFSK(dest, &size, &hi2, &hi, &lo); WDT_HIT(); - if (size>0 && lo>0){ + if (idx>0 && lo>0){ // final loop, go over previously decoded manchester data and decode into usable tag ID // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 if (hi2 != 0){ //extra large HID tags @@ -721,7 +721,7 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - size_t size=0; + size_t size=0, idx=0; int clk=0, invert=0, errCnt=0; uint64_t lo=0; // Configure to go in 125Khz listen mode @@ -741,7 +741,7 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) WDT_HIT(); if (errCnt>=0){ - lo = Em410xDecode(dest,size); + lo = Em410xDecode(dest, &size, &idx); //Dbprintf("DEBUG: EM GOT"); if (lo>0){ Dbprintf("EM TAG ID: %02x%08x - (%05d_%03d_%08d)", diff --git a/client/cmddata.c b/client/cmddata.c index 60d0d8752..578587bcf 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -22,21 +22,30 @@ #include "cmddata.h" #include "lfdemod.h" uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN]; +uint8_t g_debugMode; int DemodBufferLen; static int CmdHelp(const char *Cmd); //set the demod buffer with given array of binary (one bit per byte) //by marshmellow -void setDemodBuf(uint8_t *buff,int size) +void setDemodBuf(uint8_t *buff, size_t size, size_t startIdx) { - int i=0; - for (; i < size; ++i){ - DemodBuffer[i]=buff[i]; + size_t i = 0; + for (; i < size; i++){ + DemodBuffer[i]=buff[startIdx++]; } DemodBufferLen=size; return; } +int CmdSetDebugMode(const char *Cmd) +{ + int demod=0; + sscanf(Cmd, "%i", &demod); + g_debugMode=(uint8_t)demod; + return 1; +} + //by marshmellow void printDemodBuff() { @@ -206,7 +215,7 @@ void printEM410x(uint64_t id) { if (id !=0){ uint64_t iii=1; - uint64_t id2lo=0; //id2hi=0, + uint64_t id2lo=0; uint32_t ii=0; uint32_t i=0; for (ii=5; ii>0;ii--){ @@ -216,7 +225,7 @@ void printEM410x(uint64_t id) } //output em id PrintAndLog("EM TAG ID : %010llx", id); - PrintAndLog("Unique TAG ID: %010llx", id2lo); //id2hi, + PrintAndLog("Unique TAG ID: %010llx", id2lo); PrintAndLog("DEZ 8 : %08lld",id & 0xFFFFFF); PrintAndLog("DEZ 10 : %010lld",id & 0xFFFFFF); PrintAndLog("DEZ 5.5 : %05lld.%05lld",(id>>16LL) & 0xFFFF,(id & 0xFFFF)); @@ -233,12 +242,17 @@ void printEM410x(uint64_t id) int CmdEm410xDecode(const char *Cmd) { uint64_t id=0; - // uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - // uint32_t i=0; - // i=getFromGraphBuf(BitStream); - id = Em410xDecode(DemodBuffer,DemodBufferLen); - printEM410x(id); - if (id>0) return 1; + size_t size = DemodBufferLen, idx=0; + id = Em410xDecode(DemodBuffer, &size, &idx); + if (id>0){ + setDemodBuf(DemodBuffer, size, idx); + if (g_debugMode){ + PrintAndLog("DEBUG: Printing demod buffer:"); + printDemodBuff(); + } + printEM410x(id); + return 1; + } return 0; } @@ -249,7 +263,7 @@ int CmdEm410xDecode(const char *Cmd) //prints binary found and saves in graphbuffer for further commands int Cmdaskmandemod(const char *Cmd) { - int invert=0; + int invert=0; int clk=0; uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; sscanf(Cmd, "%i %i", &clk, &invert); @@ -259,11 +273,11 @@ int Cmdaskmandemod(const char *Cmd) } size_t BitLen = getFromGraphBuf(BitStream); - // PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); + if (g_debugMode==1) PrintAndLog("DEBUG: Bitlen from grphbuff: %d",BitLen); int errCnt=0; errCnt = askmandemod(BitStream, &BitLen,&clk,&invert); if (errCnt<0||BitLen<16){ //if fatal error (or -1) - // PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); + if (g_debugMode==1) PrintAndLog("no data found %d, errors:%d, bitlen:%d, clock:%d",errCnt,invert,BitLen,clk); return 0; } PrintAndLog("\nUsing Clock: %d - Invert: %d - Bits Found: %d",clk,invert,BitLen); @@ -274,17 +288,22 @@ int Cmdaskmandemod(const char *Cmd) } PrintAndLog("ASK/Manchester decoded bitstream:"); // Now output the bitstream to the scrollback by line of 16 bits - setDemodBuf(BitStream,BitLen); + setDemodBuf(BitStream,BitLen,0); printDemodBuff(); uint64_t lo =0; - lo = Em410xDecode(BitStream,BitLen); + size_t idx=0; + lo = Em410xDecode(BitStream, &BitLen, &idx); if (lo>0){ //set GraphBuffer for clone or sim command + setDemodBuf(BitStream, BitLen, idx); + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, BitLen); + printDemodBuff(); + } PrintAndLog("EM410x pattern found: "); printEM410x(lo); return 1; } - //if (BitLen>16) return 1; return 0; } @@ -317,9 +336,14 @@ int Cmdmandecoderaw(const char *Cmd) printBitStream(BitStream, size); if (errCnt==0){ uint64_t id = 0; - id = Em410xDecode(BitStream, size); - if (id>0) setDemodBuf(BitStream, size); - printEM410x(id); + size_t idx=0; + id = Em410xDecode(BitStream, &size, &idx); + if (id>0){ + //need to adjust to set bitstream back to manchester encoded data + //setDemodBuf(BitStream, size, idx); + + printEM410x(id); + } } return 1; } @@ -366,7 +390,6 @@ int CmdBiphaseDecodeRaw(const char *Cmd) return 1; } - //by marshmellow //takes 2 arguments - clock and invert both as integers //attempts to demodulate ask only @@ -386,14 +409,15 @@ int Cmdaskrawdemod(const char *Cmd) errCnt = askrawdemod(BitStream, &BitLen,&clk,&invert); if (errCnt==-1||BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) PrintAndLog("no data found"); + if (g_debugMode==1) PrintAndLog("errCnt: %d, BitLen: %d, clk: %d, invert: %d", errCnt, BitLen, clk, invert); return 0; } PrintAndLog("Using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); - //PrintAndLog("Data start pos:%d, lastBit:%d, stop pos:%d, numBits:%d",iii,lastBit,i,bitnum); - //move BitStream back to DemodBuffer - setDemodBuf(BitStream,BitLen); + + //move BitStream back to DemodBuffer + setDemodBuf(BitStream,BitLen,0); - //output + //output if (errCnt>0){ PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); } @@ -541,6 +565,27 @@ int CmdDec(const char *Cmd) return 0; } +//by marshmellow +//shift graph zero up or down based on input + or - +int CmdGraphShiftZero(const char *Cmd) +{ + + int shift=0; + //set options from parameters entered with the command + sscanf(Cmd, "%i", &shift); + int shiftedVal=0; + for(int i = 0; i127) + shiftedVal=127; + else if (shiftedVal<-127) + shiftedVal=-127; + GraphBuffer[i]= shiftedVal; + } + CmdNorm(""); + return 0; +} + /* Print our clock rate */ // uses data from graphbuffer int CmdDetectClockRate(const char *Cmd) @@ -567,7 +612,6 @@ int CmdFSKrawdemod(const char *Cmd) sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow); if (strlen(Cmd)>0 && strlen(Cmd)<=2) { - //rfLen=param_get8(Cmd, 0); //if rfLen option only is used if (rfLen==1){ invert=1; //if invert option only is used rfLen = 50; @@ -579,7 +623,7 @@ int CmdFSKrawdemod(const char *Cmd) int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); if (size>0){ PrintAndLog("FSK decoded bitstream:"); - setDemodBuf(BitStream,size); + setDemodBuf(BitStream,size,0); // Now output the bitstream to the scrollback by line of 16 bits if(size > (8*32)+2) size = (8*32)+2; //only output a max of 8 blocks of 32 bits most tags will have full bit stream inside that sample size @@ -601,20 +645,20 @@ int CmdFSKdemodHID(const char *Cmd) uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; size_t BitLen = getFromGraphBuf(BitStream); //get binary from fsk wave - size_t size = HIDdemodFSK(BitStream,BitLen,&hi2,&hi,&lo); - if (size<0){ - PrintAndLog("Error demoding fsk"); + size_t idx = HIDdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo); + if (idx<0){ + if (g_debugMode) PrintAndLog("DEBUG: Error demoding fsk"); + return 0; + } + if (hi2==0 && hi==0 && lo==0) { + if (g_debugMode) PrintAndLog("DEBUG: Error - no values found"); return 0; } - if (hi2==0 && hi==0 && lo==0) return 0; if (hi2 != 0){ //extra large HID tags PrintAndLog("HID Prox TAG ID: %x%08x%08x (%d)", (unsigned int) hi2, (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); - setDemodBuf(BitStream,BitLen); - return 1; } else { //standard HID tags <38 bits - //Dbprintf("TAG ID: %x%08x (%d)",(unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF); //old print cmd uint8_t fmtLen = 0; uint32_t fc = 0; uint32_t cardnum = 0; @@ -654,12 +698,49 @@ int CmdFSKdemodHID(const char *Cmd) PrintAndLog("HID Prox TAG ID: %x%08x (%d) - Format Len: %dbit - FC: %d - Card: %d", (unsigned int) hi, (unsigned int) lo, (unsigned int) (lo>>1) & 0xFFFF, (unsigned int) fmtLen, (unsigned int) fc, (unsigned int) cardnum); - setDemodBuf(BitStream,BitLen); - return 1; } - return 0; + setDemodBuf(BitStream,BitLen,idx); + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, BitLen); + printDemodBuff(); + } + return 1; } +//by marshmellow (based on existing demod + holiman's refactor) +//Paradox Prox demod - FSK RF/50 with preamble of 00011101 (then manchester encoded) +//print full Paradox Prox ID and some bit format details if found +int CmdFSKdemodParadox(const char *Cmd) +{ + //raw fsk demod no manchester decoding no start bit finding just get binary from wave + uint32_t hi2=0, hi=0, lo=0; + + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + //get binary from fsk wave + size_t idx = ParadoxdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo); + if (idx<0){ + if (g_debugMode) PrintAndLog("DEBUG: Error demoding fsk"); + return 0; + } + if (hi2==0 && hi==0 && lo==0){ + if (g_debugMode) PrintAndLog("DEBUG: Error - no value found"); + return 0; + } + uint32_t fc = ((hi & 0x3)<<6) | (lo>>26); + uint32_t cardnum = (lo>>10)&0xFFFF; + + PrintAndLog("Paradox TAG ID: %x%08x - FC: %d - Card: %d - Checksum: %02x", + hi>>10, (hi & 0x3)<<26 | (lo>>10), fc, cardnum, (lo>>2) & 0xFF ); + setDemodBuf(BitStream,BitLen,idx); + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, len: %d, Printing Demod Buffer:", idx, BitLen); + printDemodBuff(); + } + return 1; +} + + //by marshmellow //IO-Prox demod - FSK RF/64 with preamble of 000000001 //print ioprox ID and some format details @@ -668,21 +749,25 @@ int CmdFSKdemodIO(const char *Cmd) //raw fsk demod no manchester decoding no start bit finding just get binary from wave //set defaults int idx=0; - //something in graphbuffer - if (GraphTraceLen < 65) return 0; - uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; - size_t BitLen = getFromGraphBuf(BitStream); - //get binary from fsk wave - // PrintAndLog("DEBUG: got buff"); - idx = IOdemodFSK(BitStream,BitLen); - if (idx<0){ - //PrintAndLog("Error demoding fsk"); + //something in graphbuffer? + if (GraphTraceLen < 65) { + if (g_debugMode)PrintAndLog("DEBUG: not enough samples in GraphBuffer"); + return 0; + } + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; + size_t BitLen = getFromGraphBuf(BitStream); + + //get binary from fsk wave + idx = IOdemodFSK(BitStream,BitLen); + if (idx<0){ + if (g_debugMode==1) PrintAndLog("DEBUG: demoding fsk error: %d", idx); return 0; } - // PrintAndLog("DEBUG: Got IOdemodFSK"); if (idx==0){ - //PrintAndLog("IO Prox Data not found - FSK Data:"); - //if (BitLen > 92) printBitStream(BitStream,92); + if (g_debugMode==1){ + PrintAndLog("DEBUG: IO Prox Data not found - FSK Bits: %d",BitLen); + if (BitLen > 92) printBitStream(BitStream,92); + } return 0; } //Index map @@ -694,7 +779,10 @@ int CmdFSKdemodIO(const char *Cmd) // //XSF(version)facility:codeone+codetwo (raw) //Handle the data - if (idx+64>BitLen) return 0; + if (idx+64>BitLen) { + if (g_debugMode==1) PrintAndLog("not enough bits found - bitlen: %d",BitLen); + return 0; + } PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx], BitStream[idx+1], BitStream[idx+2], BitStream[idx+3], BitStream[idx+4], BitStream[idx+5], BitStream[idx+6], BitStream[idx+7], BitStream[idx+8]); PrintAndLog("%d%d%d%d%d%d%d%d %d",BitStream[idx+9], BitStream[idx+10], BitStream[idx+11],BitStream[idx+12],BitStream[idx+13],BitStream[idx+14],BitStream[idx+15],BitStream[idx+16],BitStream[idx+17]); PrintAndLog("%d%d%d%d%d%d%d%d %d facility",BitStream[idx+18], BitStream[idx+19], BitStream[idx+20],BitStream[idx+21],BitStream[idx+22],BitStream[idx+23],BitStream[idx+24],BitStream[idx+25],BitStream[idx+26]); @@ -709,12 +797,12 @@ int CmdFSKdemodIO(const char *Cmd) uint8_t facilitycode = bytebits_to_byte(BitStream+idx+18,8) ; uint16_t number = (bytebits_to_byte(BitStream+idx+36,8)<<8)|(bytebits_to_byte(BitStream+idx+45,8)); //36,9 PrintAndLog("IO Prox XSF(%02d)%02x:%05d (%08x%08x)",version,facilitycode,number,code,code2); - int i; - for (i=0;i<64;++i) - DemodBuffer[i]=BitStream[idx++]; - - DemodBufferLen=64; - return 1; + setDemodBuf(BitStream,64,idx); + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d, Printing demod buffer:",idx,64); + printDemodBuff(); + } + return 1; } @@ -724,8 +812,8 @@ int CmdFSKdemodIO(const char *Cmd) int CmdFSKdemodAWID(const char *Cmd) { - int verbose=1; - sscanf(Cmd, "%i", &verbose); + //int verbose=1; + //sscanf(Cmd, "%i", &verbose); //raw fsk demod no manchester decoding no start bit finding just get binary from wave uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; @@ -734,17 +822,21 @@ int CmdFSKdemodAWID(const char *Cmd) //get binary from fsk wave int idx = AWIDdemodFSK(BitStream, size); if (idx<=0){ - if (verbose){ + if (g_debugMode==1){ if (idx == -1) - PrintAndLog("Error: not enough samples"); + PrintAndLog("DEBUG: Error - not enough samples"); else if (idx == -2) - PrintAndLog("Error: only noise found - no waves"); + PrintAndLog("DEBUG: Error - only noise found - no waves"); else if (idx == -3) - PrintAndLog("Error: problem during FSK demod"); + PrintAndLog("DEBUG: Error - problem during FSK demod"); // else if (idx == -3) // PrintAndLog("Error: thought we had a tag but the parity failed"); else if (idx == -4) - PrintAndLog("Error: AWID preamble not found"); + PrintAndLog("DEBUG: Error - AWID preamble not found"); + else if (idx == -5) + PrintAndLog("DEBUG: Error - Second AWID preamble not found"); + else + PrintAndLog("DEBUG: Error %d",idx); } return 0; } @@ -766,9 +858,11 @@ int CmdFSKdemodAWID(const char *Cmd) uint32_t rawLo = bytebits_to_byte(BitStream+idx+64,32); uint32_t rawHi = bytebits_to_byte(BitStream+idx+32,32); uint32_t rawHi2 = bytebits_to_byte(BitStream+idx,32); + setDemodBuf(BitStream,96,idx); + size = removeParity(BitStream, idx+8, 4, 1, 88); if (size != 66){ - if (verbose) PrintAndLog("Error: at parity check-tag size does not match AWID format"); + if (g_debugMode==1) PrintAndLog("DEBUG: Error - at parity check-tag size does not match AWID format"); return 0; } // ok valid card found! @@ -807,9 +901,11 @@ int CmdFSKdemodAWID(const char *Cmd) PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d) - Wiegand: %x, Raw: %x%08x%08x", fmtLen, cardnum, code1, rawHi2, rawHi, rawLo); } } - + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d Printing Demod Buffer:", idx, 96); + printDemodBuff(); + } //todo - convert hi2, hi, lo to demodbuffer for future sim/clone commands - return 1; } @@ -818,10 +914,6 @@ int CmdFSKdemodAWID(const char *Cmd) //print full Farpointe Data/Pyramid Prox ID and some bit format details if found int CmdFSKdemodPyramid(const char *Cmd) { - - int verbose=1; - sscanf(Cmd, "%i", &verbose); - //raw fsk demod no manchester decoding no start bit finding just get binary from wave uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; size_t size = getFromGraphBuf(BitStream); @@ -829,23 +921,22 @@ int CmdFSKdemodPyramid(const char *Cmd) //get binary from fsk wave int idx = PyramiddemodFSK(BitStream, size); if (idx < 0){ - if (verbose){ + if (g_debugMode==1){ if (idx == -5) - PrintAndLog("Error: not enough samples"); + PrintAndLog("DEBUG: Error - not enough samples"); else if (idx == -1) - PrintAndLog("Error: only noise found - no waves"); + PrintAndLog("DEBUG: Error - only noise found - no waves"); else if (idx == -2) - PrintAndLog("Error: problem during FSK demod"); - //else if (idx == -3) - // PrintAndLog("Error: thought we had a tag but the parity failed"); + PrintAndLog("DEBUG: Error - problem during FSK demod"); + else if (idx == -3) + PrintAndLog("DEBUG: Error - Second Pyramid preamble not found"); else if (idx == -4) - PrintAndLog("Error: AWID preamble not found"); + PrintAndLog("DEBUG: Error - Pyramid preamble not found"); + else + PrintAndLog("DEBUG: Error - idx: %d",idx); } - PrintAndLog("idx: %d",idx); return 0; } - //PrintAndLog("DEBUG: idx: %d",idx); - // Index map // 0 10 20 30 40 50 60 // | | | | | | | @@ -872,9 +963,11 @@ int CmdFSKdemodPyramid(const char *Cmd) uint32_t rawHi = bytebits_to_byte(BitStream+idx+64,32); uint32_t rawHi2 = bytebits_to_byte(BitStream+idx+32,32); uint32_t rawHi3 = bytebits_to_byte(BitStream+idx,32); + setDemodBuf(BitStream,128,idx); + size = removeParity(BitStream, idx+8, 8, 1, 120); if (size != 105){ - if (verbose) PrintAndLog("Error: at parity check-tag size does not match Pyramid format, SIZE: %d, IDX: %d, hi3: %x",size, idx, rawHi3); + if (g_debugMode==1) PrintAndLog("DEBUG: Error at parity check-tag size does not match Pyramid format, SIZE: %d, IDX: %d, hi3: %x",size, idx, rawHi3); return 0; } @@ -902,10 +995,9 @@ int CmdFSKdemodPyramid(const char *Cmd) // (26 bit format shown) //find start bit to get fmtLen - idx = 0; int j; for (j=0; j32){ //code1 = bytebits_to_byte(BitStream+(size-fmtLen),fmtLen-32); //code2 = bytebits_to_byte(BitStream+(size-32),32); - PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d), Raw: %x%08x%08x%08x", fmtLen, cardnum, rawHi3, rawHi2, rawHi, rawLo); + PrintAndLog("Pyramid ID Found - BitLength: %d -unknown BitLength- (%d), Raw: %x%08x%08x%08x", fmtLen, cardnum, rawHi3, rawHi2, rawHi, rawLo); } else{ //code1 = bytebits_to_byte(BitStream+(size-fmtLen),fmtLen); - PrintAndLog("AWID Found - BitLength: %d -unknown BitLength- (%d), Raw: %x%08x%08x%08x", fmtLen, cardnum, rawHi3, rawHi2, rawHi, rawLo); + PrintAndLog("Pyramid ID Found - BitLength: %d -unknown BitLength- (%d), Raw: %x%08x%08x%08x", fmtLen, cardnum, rawHi3, rawHi2, rawHi, rawLo); } } //todo - convert hi2, hi, lo to demodbuffer for future sim/clone commands - + if (g_debugMode){ + PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, 128); + printDemodBuff(); + } return 1; } @@ -1057,6 +1152,8 @@ int CmdFSKdemod(const char *Cmd) //old CmdFSKdemod needs updating return 0; } +//by marshmellow +//attempt to detect the field clock and bit clock for FSK int CmdFSKfcDetect(const char *Cmd) { uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; @@ -1078,7 +1175,8 @@ int CmdDetectNRZpskClockRate(const char *Cmd) return 0; } -int PSKnrzDemod(const char *Cmd){ +int PSKnrzDemod(const char *Cmd) +{ int invert=0; int clk=0; sscanf(Cmd, "%i %i", &clk, &invert); @@ -1091,13 +1189,13 @@ int PSKnrzDemod(const char *Cmd){ int errCnt=0; errCnt = pskNRZrawDemod(BitStream, &BitLen,&clk,&invert); if (errCnt<0|| BitLen<16){ //throw away static - allow 1 and -1 (in case of threshold command first) - //PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); + if (g_debugMode==1) PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); return -1; } PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); //prime demod buffer for output - setDemodBuf(BitStream,BitLen); + setDemodBuf(BitStream,BitLen,0); return errCnt; } // Indala 26 bit decode @@ -1105,35 +1203,30 @@ int PSKnrzDemod(const char *Cmd){ // optional arguments - same as CmdpskNRZrawDemod (clock & invert) int CmdIndalaDecode(const char *Cmd) { - uint8_t verbose = 1; int ans; if (strlen(Cmd)>0){ - if (Cmd[0]=='0'){ - verbose=0; - ans = PSKnrzDemod("32"); - }else{ - ans = PSKnrzDemod(Cmd); - } + ans = PSKnrzDemod(Cmd); } else{ //default to RF/32 ans = PSKnrzDemod("32"); } if (ans < 0){ - if (verbose) + if (g_debugMode==1) PrintAndLog("Error1: %d",ans); return 0; } uint8_t invert=0; ans = indala26decode(DemodBuffer,(size_t *) &DemodBufferLen, &invert); if (ans < 1) { - if (verbose) + if (g_debugMode==1) PrintAndLog("Error2: %d",ans); return -1; } char showbits[251]; if (invert) - if (verbose) + if (g_debugMode==1) PrintAndLog("Had to invert bits"); + //convert UID to HEX uint32_t uid1, uid2, uid3, uid4, uid5, uid6, uid7; int idx; @@ -1197,25 +1290,28 @@ int CmdPskClean(const char *Cmd) //prints binary found and saves in graphbuffer for further commands int CmdpskNRZrawDemod(const char *Cmd) { - uint8_t verbose = 1; int errCnt; - if (strlen(Cmd)>0){ - if (Cmd[0]=='0') - verbose=0; - } - + errCnt = PSKnrzDemod(Cmd); //output - if (errCnt<0) return 0; + if (errCnt<0){ + if (g_debugMode) PrintAndLog("Error demoding: %d",errCnt); + return 0; + } if (errCnt>0){ - if (verbose) + if (g_debugMode){ PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); - } - PrintAndLog("PSK or NRZ demoded bitstream:"); - // Now output the bitstream to the scrollback by line of 16 bits - printDemodBuff(); - - return 1; + PrintAndLog("PSK or NRZ demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + } + }else{ + PrintAndLog("PSK or NRZ demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + return 1; + } + return 0; } int CmdGrid(const char *Cmd) @@ -1367,14 +1463,14 @@ int CmdTuneSamples(const char *Cmd) int CmdLoad(const char *Cmd) { - char filename[FILE_PATH_SIZE] = {0x00}; - int len = 0; + char filename[FILE_PATH_SIZE] = {0x00}; + int len = 0; - len = strlen(Cmd); - if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; - memcpy(filename, Cmd, len); + len = strlen(Cmd); + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); - FILE *f = fopen(filename, "r"); + FILE *f = fopen(filename, "r"); if (!f) { PrintAndLog("couldn't open '%s'", filename); return 0; @@ -1403,6 +1499,8 @@ int CmdLtrim(const char *Cmd) RepaintGraphWindow(); return 0; } + +// trim graph to input argument length int CmdRtrim(const char *Cmd) { int ds = atoi(Cmd); @@ -1683,12 +1781,12 @@ int CmdPlot(const char *Cmd) int CmdSave(const char *Cmd) { - char filename[FILE_PATH_SIZE] = {0x00}; - int len = 0; + char filename[FILE_PATH_SIZE] = {0x00}; + int len = 0; - len = strlen(Cmd); - if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; - memcpy(filename, Cmd, len); + len = strlen(Cmd); + if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); FILE *f = fopen(filename, "w"); @@ -1814,6 +1912,7 @@ static command_t CommandTable[] = {"fskhiddemod", CmdFSKdemodHID, 1, "Demodulate graph window as a HID FSK tag using raw"}, {"fskiodemod", CmdFSKdemodIO, 1, "Demodulate graph window as an IO Prox tag FSK using raw"}, {"fskpyramiddemod",CmdFSKdemodPyramid,1, "Demodulate graph window as a Pyramid FSK tag using raw"}, + {"fskparadoxdemod",CmdFSKdemodParadox,1, "Demodulate graph window as a Paradox FSK tag using raw"}, {"fskrawdemod", CmdFSKrawdemod, 1, "[clock rate] [invert] [rchigh] [rclow] Demodulate graph window from FSK to bin (clock = 50)(invert = 1|0)(rchigh = 10)(rclow=8)"}, {"grid", CmdGrid, 1, " -- overlay grid on graph window, use zero value to turn off either"}, {"hexsamples", CmdHexsamples, 0, " [] -- Dump big buffer as hex bytes"}, @@ -1834,6 +1933,8 @@ static command_t CommandTable[] = {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, {"save", CmdSave, 1, " -- Save trace (from graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, + {"setdebugmode", CmdSetDebugMode, 1, "<0|1> -- Turn on or off Debugging Mode for demods"}, + {"shiftgraphzero",CmdGraphShiftZero, 1, " -- Shift 0 for Graphed wave + or - shift value"}, {"threshold", CmdThreshold, 1, " -- Maximize/minimize every value in the graph window depending on threshold"}, {"dirthreshold", CmdDirectionalThreshold, 1, " -- Max rising higher up-thres/ Min falling lower down-thres, keep rest as prev."}, {"tune", CmdTuneSamples, 0, "Get hw tune samples for graph window"}, diff --git a/client/cmddata.h b/client/cmddata.h index ffd6b983a..d87c8b82e 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -30,6 +30,7 @@ int CmdFSKdemodAWID(const char *Cmd); int CmdFSKdemod(const char *Cmd); int CmdFSKdemodHID(const char *Cmd); int CmdFSKdemodIO(const char *Cmd); +int CmdFSKdemodParadox(const char *Cmd); int CmdFSKdemodPyramid(const char *Cmd); int CmdFSKrawdemod(const char *Cmd); int CmdDetectNRZpskClockRate(const char *Cmd); diff --git a/client/cmdlf.c b/client/cmdlf.c index 945b45578..9fc6b999f 100644 --- a/client/cmdlf.c +++ b/client/cmdlf.c @@ -575,36 +575,41 @@ int CmdLFfind(const char *Cmd) } PrintAndLog("NOTE: some demods output possible binary\n if it finds something that looks like a tag"); - PrintAndLog("Checking for known tags:"); + PrintAndLog("\nChecking for known tags:\n"); ans=CmdFSKdemodIO(""); if (ans>0) { - PrintAndLog("Valid IO Prox ID Found!"); + PrintAndLog("\nValid IO Prox ID Found!"); return 1; } - ans=CmdFSKdemodPyramid("0"); + ans=CmdFSKdemodPyramid(""); if (ans>0) { - PrintAndLog("Valid Pyramid ID Found!"); + PrintAndLog("\nValid Pyramid ID Found!"); return 1; } - ans=CmdFSKdemodAWID("0"); + ans=CmdFSKdemodParadox(""); if (ans>0) { - PrintAndLog("Valid AWID ID Found!"); + PrintAndLog("\nValid Paradox ID Found!"); + return 1; + } + ans=CmdFSKdemodAWID(""); + if (ans>0) { + PrintAndLog("\nValid AWID ID Found!"); return 1; } ans=CmdFSKdemodHID(""); if (ans>0) { - PrintAndLog("Valid HID Prox ID Found!"); + PrintAndLog("\nValid HID Prox ID Found!"); return 1; } //add psk and indala - ans=CmdIndalaDecode("0"); + ans=CmdIndalaDecode(""); if (ans>0) { - PrintAndLog("Valid Indala ID Found!"); + PrintAndLog("\nValid Indala ID Found!"); return 1; } ans=Cmdaskmandemod(""); if (ans>0) { - PrintAndLog("Valid EM410x ID Found!"); + PrintAndLog("\nValid EM410x ID Found!"); return 1; } PrintAndLog("No Known Tags Found!\n"); diff --git a/client/graph.c b/client/graph.c index 6362c8fe2..174e4a5fe 100644 --- a/client/graph.c +++ b/client/graph.c @@ -69,6 +69,8 @@ size_t getFromGraphBuf(uint8_t *buff) } return i; } + + // Get or auto-detect clock rate int GetClock(const char *str, int peak, int verbose) { diff --git a/common/lfdemod.c b/common/lfdemod.c index 4a80a10c7..8f1a37642 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -31,7 +31,7 @@ int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID -uint64_t Em410xDecode(uint8_t *BitStream, size_t size) +uint64_t Em410xDecode(uint8_t *BitStream, size_t *size, size_t *startIdx) { //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future // otherwise could be a void with no arguments @@ -48,17 +48,18 @@ uint64_t Em410xDecode(uint8_t *BitStream, size_t size) uint32_t idx = 0; uint32_t ii=0; uint8_t resetCnt = 0; - while( (idx + 64) < size) { + while( (idx + 64) < *size) { restart: // search for a start of frame marker if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) { // frame marker found + *startIdx=idx; idx+=9; for (i=0; i<10;i++){ for(ii=0; ii<5; ++ii){ parityTest ^= BitStream[(i*5)+ii+idx]; } - if (!parityTest){ + if (!parityTest){ //even parity parityTest=0; for (ii=0; ii<4;++ii){ lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); @@ -74,6 +75,7 @@ uint64_t Em410xDecode(uint8_t *BitStream, size_t size) } } //skip last 5 bit parity test for simplicity. + *size = 64; return lo; }else{ idx++; @@ -89,10 +91,12 @@ uint64_t Em410xDecode(uint8_t *BitStream, size_t size) int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) { int i; + int clk2=*clk; *clk=DetectASKClock(BinStream, *size, *clk); //clock default - if (*clk<8) *clk =64; - if (*clk<32) *clk=32; + // if autodetected too low then adjust //MAY NEED ADJUSTMENT + if (clk2==0 && *clk<8) *clk =64; + if (clk2==0 && *clk<32) *clk=32; if (*invert != 0 && *invert != 1) *invert=0; uint32_t initLoopMax = 200; if (initLoopMax > *size) initLoopMax=*size; @@ -106,7 +110,7 @@ int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) int lastBit = 0; //set first clock check uint32_t bitnum = 0; //output counter int tol = 0; //clock tolerance adjust - waves will be accepted as within the clock if they fall + or - this value + clock from last valid wave - if (*clk==32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely + if (*clk<=32)tol=1; //clock tolerance may not be needed anymore currently set to + or - 1 but could be increased for poor waves or removed entirely int iii = 0; uint32_t gLen = *size; if (gLen > 3000) gLen=3000; @@ -198,6 +202,22 @@ int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) return bestErrCnt; } +//by marshmellow +//encode binary data into binary manchester +int ManchesterEncode(uint8_t *BitStream, size_t size) +{ + size_t modIdx=20000, i=0; + if (size>modIdx) return -1; + for (size_t idx=0; idx < size; idx++){ + BitStream[idx+modIdx++] = BitStream[idx]; + BitStream[idx+modIdx++] = BitStream[idx]^1; + } + for (; i<(size*2); i++){ + BitStream[i] = BitStream[i+20000]; + } + return i; +} + //by marshmellow //take 10 and 01 and manchester decode //run through 2 times and take least errCnt @@ -245,7 +265,6 @@ int manrawdecode(uint8_t * BitStream, size_t *size) return errCnt; } - //by marshmellow //take 01 or 10 = 0 and 11 or 00 = 1 int BiphaseRawDecode(uint8_t *BitStream, size_t *size, int offset, int invert) @@ -282,8 +301,8 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) //uint8_t BitStream[502] = {0}; //HACK: if clock not detected correctly - default - if (*clk<8) *clk =64; - if (*clk<32 && clk2==0) *clk=32; + if (clk2==0 && *clk<8) *clk =64; + if (clk2==0 && *clk<32 && clk2==0) *clk=32; if (*invert != 0 && *invert != 1) *invert =0; uint32_t initLoopMax = 200; if (initLoopMax > *size) initLoopMax=*size; @@ -534,12 +553,13 @@ int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t return size; } // loop to get raw HID waveform then FSK demodulate the TAG ID from it -int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) +int HIDdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { - size_t idx=0; //, found=0; //size=0, + size_t idx=0, size2=*size, startIdx=0; // FSK demodulator - size = fskdemod(dest, size,50,0,10,8); + + *size = fskdemod(dest, size2,50,0,10,8); // final loop, go over previously decoded manchester data and decode into usable tag ID // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 @@ -547,12 +567,13 @@ int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_ int numshifts = 0; idx = 0; //one scan - while( idx + sizeof(frame_marker_mask) < size) { + while( idx + sizeof(frame_marker_mask) < *size) { // search for a start of frame marker if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) { // frame marker found + startIdx=idx; idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < size-2) + while(dest[idx] != dest[idx+1] && idx < *size-2) { // Keep going until next frame marker (or error) // Shift in a bit. Start by shifting high registers @@ -567,12 +588,13 @@ int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_ idx += 2; } // Hopefully, we read a tag and hit upon the next frame marker - if(idx + sizeof(frame_marker_mask) < size) + if(idx + sizeof(frame_marker_mask) < *size) { if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) { //good return - return idx; + *size=idx-startIdx; + return startIdx; } } // reset @@ -585,6 +607,61 @@ int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_ return -1; } +// loop to get raw paradox waveform then FSK demodulate the TAG ID from it +size_t ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) +{ + + size_t idx=0, size2=*size; + // FSK demodulator + + *size = fskdemod(dest, size2,50,1,10,8); + + // final loop, go over previously decoded manchester data and decode into usable tag ID + // 00001111 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 + uint8_t frame_marker_mask[] = {0,0,0,0,1,1,1,1}; + uint16_t numshifts = 0; + idx = 0; + //one scan + while( idx + sizeof(frame_marker_mask) < *size) { + // search for a start of frame marker + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { // frame marker found + size2=idx; + idx+=sizeof(frame_marker_mask); + while(dest[idx] != dest[idx+1] && idx < *size-2) + { + // Keep going until next frame marker (or error) + // Shift in a bit. Start by shifting high registers + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|1; + else // 0 1 + *lo=(*lo<<1)|0; + numshifts++; + idx += 2; + } + // Hopefully, we read a tag and hit upon the next frame marker and got enough bits + if(idx + sizeof(frame_marker_mask) < *size && numshifts > 40) + { + if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) + { + //good return - return start grid position and bits found + *size = ((numshifts*2)+8); + return size2; + } + } + // reset + *hi2 = *hi = *lo = 0; + numshifts = 0; + }else { + idx++; + } + } + return 0; +} + uint32_t bytebits_to_byte(uint8_t* src, size_t numbits) { uint32_t num = 0; @@ -638,10 +715,10 @@ int IOdemodFSK(uint8_t *dest, size_t size) // by marshmellow // pass bits to be tested in bits, length bits passed in bitLen, and parity type (even=0 | odd=1) in pType // returns 1 if passed -int parityTest(uint32_t bits, uint8_t bitLen, uint8_t pType) +uint8_t parityTest(uint32_t bits, uint8_t bitLen, uint8_t pType) { uint8_t ans = 0; - for (int i = 0; i < bitLen; i++){ + for (uint8_t i = 0; i < bitLen; i++){ ans ^= ((bits >> i) & 1); } //PrintAndLog("DEBUG: ans: %d, ptype: %d",ans,pType); @@ -676,7 +753,7 @@ size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t p int AWIDdemodFSK(uint8_t *dest, size_t size) { static const uint8_t THRESHOLD = 123; - uint32_t idx=0; + uint32_t idx=0, idx2=0; //make sure buffer has data if (size < 96*50) return -1; //test samples are not just noise @@ -694,9 +771,12 @@ int AWIDdemodFSK(uint8_t *dest, size_t size) for( idx=0; idx < (size - 96); idx++) { if ( memcmp(dest + idx, mask, sizeof(mask))==0) { // frame marker found - //return ID start index and size - return idx; - //size should always be 96 + //return ID start index + if (idx2 == 0) idx2=idx; + else if(idx-idx2==96) return idx2; + else return -5; + + // should always get 96 bits if it is awid } } //never found mask @@ -708,8 +788,8 @@ int AWIDdemodFSK(uint8_t *dest, size_t size) int PyramiddemodFSK(uint8_t *dest, size_t size) { static const uint8_t THRESHOLD = 123; - uint32_t idx=0; - // size_t size2 = size; + uint32_t idx=0, idx2=0; + // size_t size2 = size; //make sure buffer has data if (size < 128*50) return -5; //test samples are not just noise @@ -727,78 +807,85 @@ int PyramiddemodFSK(uint8_t *dest, size_t size) for( idx=0; idx < (size - 128); idx++) { if ( memcmp(dest + idx, mask, sizeof(mask))==0) { // frame marker found - return idx; + if (idx2==0) idx2=idx; + else if (idx-idx2==128) return idx2; + else return -3; } } //never found mask return -4; } + // by marshmellow // not perfect especially with lower clocks or VERY good antennas (heavy wave clipping) // maybe somehow adjust peak trimming value based on samples to fix? int DetectASKClock(uint8_t dest[], size_t size, int clock) { - int i=0; - int clk[]={8,16,32,40,50,64,100,128,256}; - int loopCnt = 256; //don't need to loop through entire array... - if (size= peak) || (dest[ii] <= low)){ - errCnt=0; - // now that we have the first one lined up test rest of wave array - for (i=0; i<((int)(size/clk[clkCnt])-1); ++i){ - if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ - }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ - }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ - }else{ //error no peak detected - errCnt++; - } - } - //if we found no errors this is correct one - return this clock - if(errCnt==0) return clk[clkCnt]; - //if we found errors see if it is lowest so far and save it as best run - if(errCnt= peak) || (dest[ii] <= low)){ + errCnt=0; + // now that we have the first one lined up test rest of wave array + for (i=0; i<((int)((size-ii-tol)/clk[clkCnt])-1); ++i){ + if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ + }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ + }else if(dest[ii+(i*clk[clkCnt])+tol]>=peak || dest[ii+(i*clk[clkCnt])+tol]<=low){ + }else{ //error no peak detected + errCnt++; + } + } + //if we found no errors then we can stop here + // this is correct one - return this clock + //PrintAndLog("DEBUG: clk %d, err %d, ii %d, i %d",clk[clkCnt],errCnt,ii,i); + if(errCnt==0 && clkCnt<6) return clk[clkCnt]; + //if we found errors see if it is lowest so far and save it as best run + if(errCnt= 32){ + for(clkCnt=0; clkCnt < 7; ++clkCnt){ + if (clk[clkCnt] <= 32){ tol=1; }else{ tol=0; @@ -837,7 +924,7 @@ int DetectpskNRZClock(uint8_t dest[], size_t size, int clock) errCnt=0; peakcnt=0; // now that we have the first one lined up test rest of wave array - for (i=0; i < ((int)(size/clk[clkCnt])-1); ++i){ + for (i=0; i < ((int)((size-ii-tol)/clk[clkCnt])-1); ++i){ if (dest[ii+(i*clk[clkCnt])]>=peak || dest[ii+(i*clk[clkCnt])]<=low){ peakcnt++; }else if(dest[ii+(i*clk[clkCnt])-tol]>=peak || dest[ii+(i*clk[clkCnt])-tol]<=low){ diff --git a/common/lfdemod.h b/common/lfdemod.h index ae04bc2fa..9698d8bd6 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -17,11 +17,12 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock); int askmandemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); -uint64_t Em410xDecode(uint8_t *BitStream,size_t size); +uint64_t Em410xDecode(uint8_t *BitStream, size_t *size, size_t *startIdx); +int ManchesterEncode(uint8_t *BitStream, size_t size); int manrawdecode(uint8_t *BitStream, size_t *size); int BiphaseRawDecode(uint8_t * BitStream, size_t *size, int offset, int invert); int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert); -int HIDdemodFSK(uint8_t *dest, size_t size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); +int HIDdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); int IOdemodFSK(uint8_t *dest, size_t size); int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t fchigh, uint8_t fclow); uint32_t bytebits_to_byte(uint8_t* src, size_t numbits); @@ -34,5 +35,6 @@ int AWIDdemodFSK(uint8_t *dest, size_t size); size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t pType, size_t bLen); uint32_t countFC(uint8_t *BitStream, size_t size); int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi, uint8_t fuzzLo); +size_t ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); #endif From df3e429d71bb4efdbc256e65ca1b09f7716ffc48 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Wed, 21 Jan 2015 21:24:37 +0100 Subject: [PATCH 112/133] minor fix for a help in "hf 14a snoop" --- client/cmdhf14a.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/client/cmdhf14a.c b/client/cmdhf14a.c index 593661a5c..147e790ec 100644 --- a/client/cmdhf14a.c +++ b/client/cmdhf14a.c @@ -480,7 +480,8 @@ int CmdHF14ASim(const char *Cmd) int CmdHF14ASnoop(const char *Cmd) { int param = 0; - if (param_getchar(Cmd, 0) == 'h') { + uint8_t ctmp = param_getchar(Cmd, 0) ; + if (ctmp == 'h' || ctmp == 'H') { PrintAndLog("It get data from the field and saves it into command buffer."); PrintAndLog("Buffer accessible from command hf list 14a."); PrintAndLog("Usage: hf 14a snoop [c][r]"); @@ -491,7 +492,7 @@ int CmdHF14ASnoop(const char *Cmd) { } for (int i = 0; i < 2; i++) { - char ctmp = param_getchar(Cmd, i); + ctmp = param_getchar(Cmd, i); if (ctmp == 'c' || ctmp == 'C') param |= 0x01; if (ctmp == 'r' || ctmp == 'R') param |= 0x02; } @@ -670,7 +671,7 @@ static command_t CommandTable[] = {"list", CmdHF14AList, 0, "[Deprecated] List ISO 14443a history"}, {"reader", CmdHF14AReader, 0, "Act like an ISO14443 Type A reader"}, {"cuids", CmdHF14ACUIDs, 0, " Collect n>0 ISO14443 Type A UIDs in one go"}, - {"sim", CmdHF14ASim, 0, " -- Fake ISO 14443a tag"}, + {"sim", CmdHF14ASim, 0, " -- Simulate ISO 14443a tag"}, {"snoop", CmdHF14ASnoop, 0, "Eavesdrop ISO 14443 Type A"}, {"raw", CmdHF14ACmdRaw, 0, "Send raw hex data to tag"}, {NULL, NULL, 0, NULL} From c54d1394c69fbe8199cf96f9e0ddb5172e71682c Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 22 Jan 2015 00:10:09 +0100 Subject: [PATCH 113/133] Fixed compiler error --- client/graph.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/client/graph.c b/client/graph.c index 0f998fe1a..269c2dd98 100644 --- a/client/graph.c +++ b/client/graph.c @@ -79,26 +79,27 @@ size_t getFromGraphBuf(uint8_t *buff) // Get or auto-detect clock rate int GetClock(const char *str, int peak, int verbose) { - int clock; - sscanf(str, "%i", &clock); - if (!strcmp(str, "")) - clock = 0; + int clock; + sscanf(str, "%i", &clock); + if (!strcmp(str, "")) + clock = 0; // Auto-detect clock - if (!clock) - { - uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; + if (!clock) + { + uint8_t grph[MAX_GRAPH_TRACE_LEN]={0}; size_t size = getFromGraphBuf(grph); if ( size < 0 ) { PrintAndLog("Failed to copy from graphbuffer"); return -1; } - clock = DetectASKClock(grph,size,0); + clock = DetectASKClock(grph,size,0); // Only print this message if we're not looping something - if (!verbose){ - PrintAndLog("Auto-detected clock rate: %d", clock); - } - return clock; + if (!verbose){ + PrintAndLog("Auto-detected clock rate: %d", clock); + } + } + return clock; } // A simple test to see if there is any data inside Graphbuffer. From 03e6bb4aed0ffd8e19897062071e18945c703d9d Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Thu, 22 Jan 2015 14:24:03 -0500 Subject: [PATCH 114/133] lf FSK demod tools/fixes added full ability to detect FSK clocks applied autodetect of fsk clock to data fskrawdemod this finished data fskfcdetect (now detects field clocks and bit clock) --- client/cmddata.c | 46 +++++++-- common/lfdemod.c | 261 ++++++++++++++++++++++++++--------------------- common/lfdemod.h | 3 +- 3 files changed, 180 insertions(+), 130 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 578587bcf..998f5ebb1 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -604,22 +604,40 @@ int CmdFSKrawdemod(const char *Cmd) { //raw fsk demod no manchester decoding no start bit finding just get binary from wave //set defaults - int rfLen = 50; + int rfLen = 0; int invert=0; - int fchigh=10; - int fclow=8; + int fchigh=0; + int fclow=0; //set options from parameters entered with the command sscanf(Cmd, "%i %i %i %i", &rfLen, &invert, &fchigh, &fclow); if (strlen(Cmd)>0 && strlen(Cmd)<=2) { if (rfLen==1){ invert=1; //if invert option only is used - rfLen = 50; - } else if(rfLen==0) rfLen=50; + rfLen = 0; + } } - PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); + uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; size_t BitLen = getFromGraphBuf(BitStream); + //get field clock lengths + uint16_t fcs=0; + if (fchigh==0 || fclow == 0){ + fcs=countFC(BitStream, BitLen); + if (fcs==0){ + fchigh=10; + fclow=8; + }else{ + fchigh = (fcs >> 8) & 0xFF; + fclow = fcs & 0xFF; + } + } + //get bit clock length + if (rfLen==0){ + rfLen = detectFSKClk(BitStream, BitLen, fchigh, fclow); + if (rfLen == 0) rfLen = 50; + } + PrintAndLog("Args invert: %d - Clock:%d - fchigh:%d - fclow: %d",invert,rfLen,fchigh, fclow); int size = fskdemod(BitStream,BitLen,(uint8_t)rfLen,(uint8_t)invert,(uint8_t)fchigh,(uint8_t)fclow); if (size>0){ PrintAndLog("FSK decoded bitstream:"); @@ -1159,12 +1177,20 @@ int CmdFSKfcDetect(const char *Cmd) uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; size_t size = getFromGraphBuf(BitStream); - - uint32_t ans = countFC(BitStream, size); - int fc1, fc2, rf1; + uint16_t ans = countFC(BitStream, size); + if (ans==0) { + if (g_debugMode) PrintAndLog("DEBUG: No data found"); + return 0; + } + uint8_t fc1, fc2; fc1 = (ans >> 8) & 0xFF; fc2 = ans & 0xFF; - rf1 = (ans >>16) & 0xFF; + + uint8_t rf1 = detectFSKClk(BitStream, size, fc1, fc2); + if (rf1==0) { + if (g_debugMode) PrintAndLog("DEBUG: Clock detect error"); + return 0; + } PrintAndLog("Detected Field Clocks: FC/%d, FC/%d - Bit Clock: RF/%d", fc1, fc2, rf1); return 1; } diff --git a/common/lfdemod.c b/common/lfdemod.c index 8f1a37642..34194394d 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -1200,96 +1200,64 @@ int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) //by marshmellow -//countFC is to detect the field clock and bit clock rates. -//for fsk or ask not psk or nrz -uint32_t countFC(uint8_t *BitStream, size_t size) +//detects the bit clock for FSK given the high and low Field Clocks +uint8_t detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fcLow) { - // get high/low thresholds - int high, low; - getHiLo(BitStream,10, &high, &low, 100, 100); - // get zero crossing - uint8_t zeroC = (high-low)/2+low; - uint8_t clk[]={8,16,32,40,50,64,100,128}; - uint8_t fcLens[] = {0,0,0,0,0,0,0,0,0,0}; - uint16_t fcCnts[] = {0,0,0,0,0,0,0,0,0,0}; - uint8_t rfLens[] = {0,0,0,0,0,0,0,0,0,0,0}; - // uint8_t rfCnts[] = {0,0,0,0,0,0,0,0,0,0}; - uint8_t fcLensFnd = 0; + uint8_t clk[] = {8,16,32,40,50,64,100,128,0}; + uint16_t rfLens[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + uint8_t rfCnts[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; uint8_t rfLensFnd = 0; - uint8_t lastBit=0; - uint8_t curBit=0; uint8_t lastFCcnt=0; - uint32_t errCnt=0; uint32_t fcCounter = 0; - uint32_t rfCounter = 0; + uint16_t rfCounter = 0; uint8_t firstBitFnd = 0; - int i; - + size_t i; + + uint8_t fcTol = (uint8_t)(0.5+(float)(fcHigh-fcLow)/2); + rfLensFnd=0; + fcCounter=0; + rfCounter=0; + firstBitFnd=0; + //PrintAndLog("DEBUG: fcTol: %d",fcTol); // prime i to first up transition - for (i = 1; i < size; i++) - if (BitStream[i]>=zeroC && BitStream[i-1] BitStream[i-1] && BitStream[i]>=BitStream[i+1]) break; - for (; i < size; i++){ - curBit = BitStream[i]; - lastBit = BitStream[i-1]; - if (lastBit= zeroC){ - // new up transition + for (; i < size-1; i++){ + if (BitStream[i] > BitStream[i-1] && BitStream[i]>=BitStream[i+1]){ + // new peak fcCounter++; rfCounter++; - if (fcCounter > 3 && fcCounter < 256){ - //we've counted enough that it could be a valid field clock - - //if we had 5 and now have 9 then go back to 8 (for when we get a fc 9 instead of an 8) - if (lastFCcnt==5 && fcCounter==9) fcCounter--; - //if odd and not rc/5 add one (for when we get a fc 9 instead of 10) - if ((fcCounter==9 && fcCounter & 1) || fcCounter==4) fcCounter++; + // if we got less than the small fc + tolerance then set it to the small fc + if (fcCounter < fcLow+fcTol) + fcCounter = fcLow; + else //set it to the large fc + fcCounter = fcHigh; - //look for bit clock (rf/xx) - if ((fcCounterlastFCcnt)){ - //not the same size as the last wave - start of new bit sequence + //look for bit clock (rf/xx) + if ((fcCounterlastFCcnt)){ + //not the same size as the last wave - start of new bit sequence - if (firstBitFnd>1){ //skip first wave change - probably not a complete bit - for (int ii=0; ii<10; ii++){ - if (rfLens[ii]==rfCounter){ - //rfCnts[ii]++; - rfCounter=0; - break; - } + if (firstBitFnd>1){ //skip first wave change - probably not a complete bit + for (int ii=0; ii<15; ii++){ + if (rfLens[ii]==rfCounter){ + rfCnts[ii]++; + rfCounter=0; + break; } - if (rfCounter>0 && rfLensFnd<10){ - //PrintAndLog("DEBUG: rfCntr %d, fcCntr %d",rfCounter,fcCounter); - //rfCnts[rfLensFnd]++; - rfLens[rfLensFnd++]=rfCounter; - } - } else { - //PrintAndLog("DEBUG i: %d",i); - firstBitFnd++; } - rfCounter=0; - lastFCcnt=fcCounter; - } - - // save last field clock count (fc/xx) - // find which fcLens to save it to: - for (int ii=0; ii<10; ii++){ - if (fcLens[ii]==fcCounter){ - fcCnts[ii]++; - fcCounter=0; - break; + if (rfCounter>0 && rfLensFnd<15){ + //PrintAndLog("DEBUG: rfCntr %d, fcCntr %d",rfCounter,fcCounter); + rfCnts[rfLensFnd]++; + rfLens[rfLensFnd++]=rfCounter; } + } else { + firstBitFnd++; } - if (fcCounter>0 && fcLensFnd<10){ - //add new fc length - //PrintAndLog("FCCntr %d",fcCounter); - fcCnts[fcLensFnd]++; - fcLens[fcLensFnd++]=fcCounter; - } - } else{ - // hmmm this should not happen often - count them - errCnt++; + rfCounter=0; + lastFCcnt=fcCounter; } - // reset counter fcCounter=0; } else { // count sample @@ -1297,15 +1265,99 @@ uint32_t countFC(uint8_t *BitStream, size_t size) rfCounter++; } } - // if too many errors return errors as negative number (IS THIS NEEDED?) - if (errCnt>100) return -1*errCnt; - - uint8_t maxCnt1=0, best1=9, best2=9, best3=9, rfHighest=10, rfHighest2=10, rfHighest3=10; + uint8_t rfHighest=15, rfHighest2=15, rfHighest3=15; + for (i=0; i<15; i++){ + //PrintAndLog("DEBUG: RF %d, cnts %d",rfLens[i], rfCnts[i]); + //get highest 2 RF values (might need to get more values to compare or compare all?) + if (rfCnts[i]>rfCnts[rfHighest]){ + rfHighest3=rfHighest2; + rfHighest2=rfHighest; + rfHighest=i; + } else if(rfCnts[i]>rfCnts[rfHighest2]){ + rfHighest3=rfHighest2; + rfHighest2=i; + } else if(rfCnts[i]>rfCnts[rfHighest3]){ + rfHighest3=i; + } + } + // set allowed clock remainder tolerance to be 1 large field clock length+1 + // we could have mistakenly made a 9 a 10 instead of an 8 or visa versa so rfLens could be 1 FC off + uint8_t tol1 = fcHigh+1; + + //PrintAndLog("DEBUG: hightest: 1 %d, 2 %d, 3 %d",rfLens[rfHighest],rfLens[rfHighest2],rfLens[rfHighest3]); + + // loop to find the highest clock that has a remainder less than the tolerance + // compare samples counted divided by + int ii=7; + for (; ii>=0; ii--){ + if (rfLens[rfHighest] % clk[ii] < tol1 || rfLens[rfHighest] % clk[ii] > clk[ii]-tol1){ + if (rfLens[rfHighest2] % clk[ii] < tol1 || rfLens[rfHighest2] % clk[ii] > clk[ii]-tol1){ + if (rfLens[rfHighest3] % clk[ii] < tol1 || rfLens[rfHighest3] % clk[ii] > clk[ii]-tol1){ + break; + } + } + } + } + + if (ii<0) return 0; // oops we went too far + + return clk[ii]; +} + +//by marshmellow +//countFC is to detect the field clock lengths. +//counts and returns the 2 most common wave lengths +uint16_t countFC(uint8_t *BitStream, size_t size) +{ + uint8_t fcLens[] = {0,0,0,0,0,0,0,0,0,0}; + uint16_t fcCnts[] = {0,0,0,0,0,0,0,0,0,0}; + uint8_t fcLensFnd = 0; + uint8_t lastFCcnt=0; + uint32_t fcCounter = 0; + size_t i; + + // prime i to first up transition + for (i = 1; i < size-1; i++) + if (BitStream[i] > BitStream[i-1] && BitStream[i] >= BitStream[i+1]) + break; + + for (; i < size-1; i++){ + if (BitStream[i] > BitStream[i-1] && BitStream[i] >= BitStream[i+1]){ + // new up transition + fcCounter++; + + //if we had 5 and now have 9 then go back to 8 (for when we get a fc 9 instead of an 8) + if (lastFCcnt==5 && fcCounter==9) fcCounter--; + //if odd and not rc/5 add one (for when we get a fc 9 instead of 10) + if ((fcCounter==9 && fcCounter & 1) || fcCounter==4) fcCounter++; + + // save last field clock count (fc/xx) + // find which fcLens to save it to: + for (int ii=0; ii<10; ii++){ + if (fcLens[ii]==fcCounter){ + fcCnts[ii]++; + fcCounter=0; + break; + } + } + if (fcCounter>0 && fcLensFnd<10){ + //add new fc length + fcCnts[fcLensFnd]++; + fcLens[fcLensFnd++]=fcCounter; + } + fcCounter=0; + } else { + // count sample + fcCounter++; + } + } + + uint8_t best1=9, best2=9, best3=9; + uint16_t maxCnt1=0; // go through fclens and find which ones are bigest 2 for (i=0; i<10; i++){ - // PrintAndLog("DEBUG: FC %d, Cnt %d, Errs %d, RF %d",fcLens[i],fcCnts[i],errCnt,rfLens[i]); - + // PrintAndLog("DEBUG: FC %d, Cnt %d, Errs %d",fcLens[i],fcCnts[i],errCnt); // get the 3 best FC values if (fcCnts[i]>maxCnt1) { best3=best2; @@ -1318,49 +1370,20 @@ uint32_t countFC(uint8_t *BitStream, size_t size) } else if(fcCnts[i]>fcCnts[best3]){ best3=i; } - //get highest 2 RF values (might need to get more values to compare or compare all?) - if (rfLens[i]>rfLens[rfHighest]){ - rfHighest3=rfHighest2; - rfHighest2=rfHighest; - rfHighest=i; - } else if(rfLens[i]>rfLens[rfHighest2]){ - rfHighest3=rfHighest2; - rfHighest2=i; - } else if(rfLens[i]>rfLens[rfHighest3]){ - rfHighest3=i; - } } - - // set allowed clock remainder tolerance to be 1 large field clock length - // we could have mistakenly made a 9 a 10 instead of an 8 or visa versa so rfLens could be 1 FC off - int tol1 = (fcLens[best1]>fcLens[best2]) ? fcLens[best1] : fcLens[best2]; - - // loop to find the highest clock that has a remainder less than the tolerance - // compare samples counted divided by - int ii=7; - for (; ii>=0; ii--){ - if (rfLens[rfHighest] % clk[ii] < tol1 || rfLens[rfHighest] % clk[ii] > clk[ii]-tol1){ - if (rfLens[rfHighest2] % clk[ii] < tol1 || rfLens[rfHighest2] % clk[ii] > clk[ii]-tol1){ - if (rfLens[rfHighest3] % clk[ii] < tol1 || rfLens[rfHighest3] % clk[ii] > clk[ii]-tol1){ - break; - } - } - } + uint8_t fcH=0, fcL=0; + if (fcLens[best1]>fcLens[best2]){ + fcH=fcLens[best1]; + fcL=fcLens[best2]; + } else{ + fcH=fcLens[best2]; + fcL=fcLens[best1]; } - - if (ii<0) ii=7; // oops we went too far - + // TODO: take top 3 answers and compare to known Field clocks to get top 2 - uint32_t fcs=0; - // PrintAndLog("DEBUG: Best %d best2 %d best3 %d, clk %d, clk2 %d",fcLens[best1],fcLens[best2],fcLens[best3],clk[i],clk[ii]); - // - - if (fcLens[best1]>fcLens[best2]){ - fcs = (((uint32_t)clk[ii])<<16) | (((uint32_t)fcLens[best1])<<8) | ((fcLens[best2])); - } else { - fcs = (((uint32_t)clk[ii])<<16) | (((uint32_t)fcLens[best2])<<8) | ((fcLens[best1])); - } - + uint16_t fcs = (((uint16_t)fcH)<<8) | fcL; + // PrintAndLog("DEBUG: Best %d best2 %d best3 %d",fcLens[best1],fcLens[best2],fcLens[best3]); + return fcs; } diff --git a/common/lfdemod.h b/common/lfdemod.h index 9698d8bd6..ca50d4f22 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -33,7 +33,8 @@ void pskCleanWave(uint8_t *bitStream, size_t size); int PyramiddemodFSK(uint8_t *dest, size_t size); int AWIDdemodFSK(uint8_t *dest, size_t size); size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t pType, size_t bLen); -uint32_t countFC(uint8_t *BitStream, size_t size); +uint16_t countFC(uint8_t *BitStream, size_t size); +uint8_t detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fcLow); int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi, uint8_t fuzzLo); size_t ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); From afceaf4018f3df0069631cbb1923444947751e9b Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 22 Jan 2015 21:02:21 +0100 Subject: [PATCH 115/133] Removed openssl from the mfu-stuff --- client/Makefile | 3 +- client/cmdhfmfu.c | 604 +++++++++++++++++++++++++------------------ client/loclass/des.h | 8 +- 3 files changed, 356 insertions(+), 259 deletions(-) diff --git a/client/Makefile b/client/Makefile index 12d92631b..b04a15245 100644 --- a/client/Makefile +++ b/client/Makefile @@ -9,13 +9,12 @@ include ../common/Makefile.common CC=gcc CXX=g++ #COMMON_FLAGS = -m32 - VPATH = ../common OBJDIR = obj LDLIBS = -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm -lcrypto LDFLAGS = $(COMMON_FLAGS) -CFLAGS = -std=c99 -lcrypto -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 +CFLAGS = -std=c99 -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 LUAPLATFORM = generic ifneq (,$(findstring MINGW,$(platform))) CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui diff --git a/client/cmdhfmfu.c b/client/cmdhfmfu.c index 8bd6ec87d..8dfb9a3b1 100644 --- a/client/cmdhfmfu.c +++ b/client/cmdhfmfu.c @@ -7,7 +7,8 @@ //----------------------------------------------------------------------------- // High frequency MIFARE ULTRALIGHT (C) commands //----------------------------------------------------------------------------- -#include +//#include +#include "loclass/des.h" #include "cmdhfmfu.h" #include "cmdhfmf.h" #include "cmdhf14a.h" @@ -16,29 +17,25 @@ #define MAX_ULTRA_BLOCKS 0x0f #define MAX_ULTRAC_BLOCKS 0x2f //#define MAX_ULTRAC_BLOCKS 0x2c -uint8_t key1_blnk_data[16] = { 0x00 }; -uint8_t key2_defa_data[16] = { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f }; -uint8_t key3_3des_data[16] = { 0x49,0x45,0x4D,0x4B,0x41,0x45,0x52,0x42,0x21,0x4E,0x41,0x43,0x55,0x4F,0x59,0x46 }; -uint8_t key4_nfc_data[16] = { 0x42,0x52,0x45,0x41,0x4b,0x4d,0x45,0x49,0x46,0x59,0x4f,0x55,0x43,0x41,0x4e,0x21 }; -uint8_t key5_ones_data[16] = { 0x01 }; + static int CmdHelp(const char *Cmd); int CmdHF14AMfUInfo(const char *Cmd){ - uint8_t datatemp[7] = {0x00}; - uint8_t isOK = 0; - uint8_t *data = NULL; + uint8_t datatemp[7] = {0x00}; + uint8_t isOK = 0; + uint8_t *data = NULL; - UsbCommand c = {CMD_MIFAREU_READCARD, {0, 4}}; - SendCommand(&c); - UsbCommand resp; + UsbCommand c = {CMD_MIFAREU_READCARD, {0, 4}}; + SendCommand(&c); + UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { - isOK = resp.arg[0] & 0xff; - data = resp.d.asBytes; + if (WaitForResponseTimeout(CMD_ACK, &resp, 1500)) { + isOK = resp.arg[0] & 0xff; + data = resp.d.asBytes; - if (!isOK) { + if (!isOK) { PrintAndLog("Error reading from tag"); return -1; } @@ -89,40 +86,40 @@ int CmdHF14AMfUInfo(const char *Cmd){ // Mifare Ultralight Write Single Block // int CmdHF14AMfUWrBl(const char *Cmd){ - uint8_t blockNo = -1; - bool chinese_card = FALSE; - uint8_t bldata[16] = {0x00}; - UsbCommand resp; + uint8_t blockNo = -1; + bool chinese_card = FALSE; + uint8_t bldata[16] = {0x00}; + UsbCommand resp; - char cmdp = param_getchar(Cmd, 0); + char cmdp = param_getchar(Cmd, 0); if (strlen(Cmd) < 3 || cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu wrbl [w]"); + PrintAndLog("Usage: hf mfu wrbl [w]"); PrintAndLog(" [block number]"); PrintAndLog(" [block data] - (8 hex symbols)"); PrintAndLog(" [w] - Chinese magic ultralight tag"); PrintAndLog(""); - PrintAndLog(" sample: hf mfu wrbl 0 01020304"); + PrintAndLog(" sample: hf mfu wrbl 0 01020304"); PrintAndLog(""); - return 0; - } - + return 0; + } + blockNo = param_get8(Cmd, 0); - if (blockNo > MAX_ULTRA_BLOCKS){ - PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); - return 1; - } + if (blockNo > MAX_ULTRA_BLOCKS){ + PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); + return 1; + } - if (param_gethex(Cmd, 1, bldata, 8)) { - PrintAndLog("Block data must include 8 HEX symbols"); - return 1; - } + if (param_gethex(Cmd, 1, bldata, 8)) { + PrintAndLog("Block data must include 8 HEX symbols"); + return 1; + } - if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { - chinese_card = TRUE; - } + if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { + chinese_card = TRUE; + } - if ( blockNo <= 3) { + if ( blockNo <= 3) { if (!chinese_card){ PrintAndLog("Access Denied"); } else { @@ -139,19 +136,19 @@ int CmdHF14AMfUWrBl(const char *Cmd){ } } } else { - PrintAndLog("--block no:%02x", blockNo); - PrintAndLog("--data: %s", sprint_hex(bldata, 4)); - UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; + PrintAndLog("--block no:%02x", blockNo); + PrintAndLog("--data: %s", sprint_hex(bldata, 4)); + UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; memcpy(e.d.asBytes,bldata, 4); SendCommand(&e); - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - PrintAndLog("isOk:%02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } - } - return 0; + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + PrintAndLog("isOk:%02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } + } + return 0; } // @@ -159,40 +156,40 @@ int CmdHF14AMfUWrBl(const char *Cmd){ // int CmdHF14AMfURdBl(const char *Cmd){ - uint8_t blockNo = -1; + uint8_t blockNo = -1; - char cmdp = param_getchar(Cmd, 0); + char cmdp = param_getchar(Cmd, 0); if (strlen(Cmd) < 1 || cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu rdbl "); - PrintAndLog(" sample: hfu mfu rdbl 0"); - return 0; - } - - blockNo = param_get8(Cmd, 0); + PrintAndLog("Usage: hf mfu rdbl "); + PrintAndLog(" sample: hfu mfu rdbl 0"); + return 0; + } + + blockNo = param_get8(Cmd, 0); - if (blockNo > MAX_ULTRA_BLOCKS){ - PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); - return 1; - } + if (blockNo > MAX_ULTRA_BLOCKS){ + PrintAndLog("Error: Maximum number of blocks is 15 for Ultralight Cards!"); + return 1; + } - PrintAndLog("--block no:0x%02X (%d)", (int)blockNo, blockNo); - UsbCommand c = {CMD_MIFAREU_READBL, {blockNo}}; - SendCommand(&c); + PrintAndLog("--block no:0x%02X (%d)", (int)blockNo, blockNo); + UsbCommand c = {CMD_MIFAREU_READBL, {blockNo}}; + SendCommand(&c); - UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - uint8_t * data = resp.d.asBytes; + UsbCommand resp; + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + uint8_t * data = resp.d.asBytes; PrintAndLog("isOk: %02x", isOK); - if (isOK) - PrintAndLog("Data: %s", sprint_hex(data, 4)); + if (isOK) + PrintAndLog("Data: %s", sprint_hex(data, 4)); } else { - PrintAndLog("Command execute timeout"); - } - return 0; + PrintAndLog("Command execute timeout"); + } + return 0; } // @@ -200,28 +197,28 @@ int CmdHF14AMfURdBl(const char *Cmd){ // int CmdHF14AMfUDump(const char *Cmd){ - FILE *fout; + FILE *fout; char filename[FILE_PATH_SIZE] = {0x00}; char * fnameptr = filename; - uint8_t *lockbytes_t = NULL; - uint8_t lockbytes[2] = {0x00}; + uint8_t *lockbytes_t = NULL; + uint8_t lockbytes[2] = {0x00}; - uint8_t *lockbytes_t2 = NULL; - uint8_t lockbytes2[2] = {0x00}; + uint8_t *lockbytes_t2 = NULL; + uint8_t lockbytes2[2] = {0x00}; - bool bit[16] = {0x00}; + bool bit[16] = {0x00}; bool bit2[16] = {0x00}; - int i; - uint8_t BlockNo = 0; - int Pages = 16; + int i; + uint8_t BlockNo = 0; + int Pages = 16; bool tmplockbit = false; - uint8_t isOK = 0; - uint8_t *data = NULL; + uint8_t isOK = 0; + uint8_t *data = NULL; - char cmdp = param_getchar(Cmd, 0); + char cmdp = param_getchar(Cmd, 0); if (cmdp == 'h' || cmdp == 'H') { PrintAndLog("Reads all pages from Mifare Ultralight or Ultralight-C tag."); @@ -238,14 +235,14 @@ int CmdHF14AMfUDump(const char *Cmd){ Pages = (cmdp == 'c' || cmdp == 'C') ? 44 : 16; PrintAndLog("Dumping Ultralight%s Card Data...", (Pages ==16)?"":"-C"); - - UsbCommand c = {CMD_MIFAREU_READCARD, {BlockNo,Pages}}; - SendCommand(&c); - UsbCommand resp; + + UsbCommand c = {CMD_MIFAREU_READCARD, {BlockNo,Pages}}; + SendCommand(&c); + UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { isOK = resp.arg[0] & 0xff; - if (!isOK) { + if (!isOK) { PrintAndLog("Command error"); return 0; } @@ -282,7 +279,7 @@ int CmdHF14AMfUDump(const char *Cmd){ PrintAndLog("Block %02x:%s ", i,sprint_hex(data + i * 4, 4)); continue; } - + switch(i){ case 3: tmplockbit = bit[4]; break; case 4: tmplockbit = bit[3]; break; @@ -336,33 +333,19 @@ int CmdHF14AMfUDump(const char *Cmd){ else len = param_getstr(Cmd,1,filename); - if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE; + if (len > FILE_PATH_SIZE-5) len = FILE_PATH_SIZE-5; // user supplied filename? if (len < 1) { // UID = data 0-1-2 4-5-6-7 (skips a beat) - sprintf(fnameptr, "%02X", data[0]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[1]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[2]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[4]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[5]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[6]); - fnameptr += 2; - sprintf(fnameptr, "%02X", data[7]); - fnameptr += 2; + sprintf(fnameptr,"%02X%02X%02X%02X%02X%02X%02X.bin", + data[0],data[1], data[2], data[4],data[5],data[6], data[7]); } else { - fnameptr += len; + sprintf(fnameptr + len," .bin"); } - // add file extension - sprintf(fnameptr, ".bin"); if ((fout = fopen(filename,"wb")) == NULL) { PrintAndLog("Could not create file name %s", filename); @@ -372,16 +355,16 @@ int CmdHF14AMfUDump(const char *Cmd){ fclose(fout); PrintAndLog("Dumped %d pages, wrote %d bytes to %s", Pages, Pages*4, filename); - return 0; + return 0; } // Needed to Authenticate to Ultralight C tags void rol (uint8_t *data, const size_t len){ - uint8_t first = data[0]; - for (size_t i = 0; i < len-1; i++) { - data[i] = data[i+1]; - } - data[len-1] = first; + uint8_t first = data[0]; + for (size_t i = 0; i < len-1; i++) { + data[i] = data[i+1]; + } + data[len-1] = first; } //------------------------------------------------------------------------------- @@ -392,64 +375,51 @@ void rol (uint8_t *data, const size_t len){ // Ultralight C Authentication Demo {currently uses hard-coded key} // int CmdHF14AMfucAuth(const char *Cmd){ - - uint8_t blockNo = 0, keyNo = 0; - uint8_t e_RndB[8] = {0x00}; - uint32_t cuid = 0; - unsigned char RndARndB[16] = {0x00}; - uint8_t key[16] = {0x00}; - DES_cblock RndA, RndB; - DES_cblock iv; - DES_key_schedule ks1,ks2; - DES_cblock key1,key2; + + uint8_t default_keys[5][16] = { + { 0x42,0x52,0x45,0x41,0x4b,0x4d,0x45,0x49,0x46,0x59,0x4f,0x55,0x43,0x41,0x4e,0x21 },// 3des std key + { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },// all zeroes + { 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f },// 0x00-0x0F + { 0x49,0x45,0x4D,0x4B,0x41,0x45,0x52,0x42,0x21,0x4E,0x41,0x43,0x55,0x4F,0x59,0x46 },// NFC-key + { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01 } // all ones + }; char cmdp = param_getchar(Cmd, 0); - // - memset(iv, 0, 8); - if (cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu cauth k "); - PrintAndLog(" 1 = all zeros key"); - PrintAndLog(" 2 = 0x00-0x0F key"); - PrintAndLog(" 3 = nfc key"); - PrintAndLog(" 4 = all ones key"); - PrintAndLog(" defaults to 3DES standard key"); - PrintAndLog(" sample : hf mfu cauth k"); - PrintAndLog(" : hf mfu cauth k 3"); - return 0; - } - - //Change key to user defined one - if (cmdp == 'k' || cmdp == 'K'){ - + uint8_t keyNo = 0; + bool errors = false; + //Change key to user defined one + if (cmdp == 'k' || cmdp == 'K'){ keyNo = param_get8(Cmd, 1); - - switch(keyNo){ - case 0: - memcpy(key,key1_blnk_data,16); - break; - case 1: - memcpy(key,key2_defa_data,16); - break; - case 2: - memcpy(key,key4_nfc_data,16); - break; - case 3: - memcpy(key,key5_ones_data,16); - break; - default: - memcpy(key,key3_3des_data,16); - break; - } - } else { - memcpy(key,key3_3des_data,16); - } - - memcpy(key1,key,8); - memcpy(key2,key+8,8); - DES_set_key((DES_cblock *)key1,&ks1); - DES_set_key((DES_cblock *)key2,&ks2); - + if(keyNo >= 4) errors = true; + } + + if (cmdp == 'h' || cmdp == 'H') { + errors = true; + } + + if (errors) { + PrintAndLog("Usage: hf mfu cauth k "); + PrintAndLog(" 0 (default): 3DES standard key"); + PrintAndLog(" 1 : all zeros key"); + PrintAndLog(" 2 : 0x00-0x0F key"); + PrintAndLog(" 3 : nfc key"); + PrintAndLog(" 4 : all ones key"); + PrintAndLog(" sample : hf mfu cauth k"); + PrintAndLog(" : hf mfu cauth k 3"); + return 0; + } + + uint8_t random_a[8] = { 1,1,1,1,1,1,1,1 }; + //uint8_t enc_random_a[8] = { 0 }; + uint8_t random_b[8] = { 0 }; + uint8_t enc_random_b[8] = { 0 }; + uint8_t random_a_and_b[16] = { 0 }; + des3_context ctx = { 0 }; + uint8_t *key = default_keys[keyNo]; + uint8_t blockNo = 0; + uint32_t cuid = 0; + //Auth1 UsbCommand c = {CMD_MIFAREUC_AUTH1, {blockNo}}; SendCommand(&c); @@ -461,31 +431,57 @@ int CmdHF14AMfucAuth(const char *Cmd){ if (isOK){ PrintAndLog("enc(RndB):%s", sprint_hex(data+1, 8)); - memcpy(e_RndB,data+1,8); + memcpy(enc_random_b,data+1,8); } else { + PrintAndLog("Auth failed"); return 2; // auth failed. } } else { PrintAndLog("Command execute timeout"); return 1; } - - //Do crypto magic - DES_random_key(&RndA); - DES_ede2_cbc_encrypt(e_RndB,RndB,sizeof(e_RndB),&ks1,&ks2,&iv,0); - PrintAndLog(" RndB:%s",sprint_hex(RndB, 8)); - PrintAndLog(" RndA:%s",sprint_hex(RndA, 8)); - rol(RndB,8); - memcpy(RndARndB,RndA,8); - memcpy(RndARndB+8,RndB,8); - PrintAndLog(" RA+B:%s",sprint_hex(RndARndB, 16)); - DES_ede2_cbc_encrypt(RndARndB,RndARndB,sizeof(RndARndB),&ks1,&ks2,&e_RndB,1); - PrintAndLog("enc(RA+B):%s",sprint_hex(RndARndB, 16)); - //Auth2 - UsbCommand d = {CMD_MIFAREUC_AUTH2, {cuid}}; - memcpy(d.d.asBytes,RndARndB, 16); - SendCommand(&d); + uint8_t iv[8] = { 0 }; + // Do we need random ? Right now we use all ones, is that random enough ? +// DES_random_key(&RndA); + + PrintAndLog(" RndA :%s",sprint_hex(random_a, 8)); + PrintAndLog(" e_RndB:%s",sprint_hex(enc_random_b, 8)); + + des3_set2key_dec(&ctx, key); + + des3_crypt_cbc(&ctx // des3_context *ctx + , DES_DECRYPT // int mode + , sizeof(random_b) // size_t length + , iv // unsigned char iv[8] + , enc_random_b // const unsigned char *input + , random_b // unsigned char *output + ); + + PrintAndLog(" RndB:%s",sprint_hex(random_b, 8)); + + rol(random_b,8); + memcpy(random_a_and_b ,random_a,8); + memcpy(random_a_and_b+8,random_b,8); + + PrintAndLog(" RA+B:%s",sprint_hex(random_a_and_b, 16)); + + des3_set2key_enc(&ctx, key); + + des3_crypt_cbc(&ctx // des3_context *ctx + , DES_ENCRYPT // int mode + , sizeof(random_a_and_b) // size_t length + , enc_random_b // unsigned char iv[8] + , random_a_and_b // const unsigned char *input + , random_a_and_b // unsigned char *output + ); + + PrintAndLog("enc(RA+B):%s",sprint_hex(random_a_and_b, 16)); + + //Auth2 + UsbCommand d = {CMD_MIFAREUC_AUTH2, {cuid}}; + memcpy(d.d.asBytes,random_a_and_b, 16); + SendCommand(&d); UsbCommand respb; if (WaitForResponseTimeout(CMD_ACK,&respb,1500)) { @@ -502,91 +498,186 @@ int CmdHF14AMfucAuth(const char *Cmd){ PrintAndLog("Command execute timeout"); return 1; } - return 0; + return 0; } +/** +A test function to validate that the polarssl-function works the same +was as the openssl-implementation. +Commented out, since it requires openssl +int CmdTestDES(const char * cmd) +{ + uint8_t key[16] = {0x00}; + + memcpy(key,key3_3des_data,16); + DES_cblock RndA, RndB; + + PrintAndLog("----------OpenSSL DES implementation----------"); + { + uint8_t e_RndB[8] = {0x00}; + unsigned char RndARndB[16] = {0x00}; + + DES_cblock iv = { 0 }; + DES_key_schedule ks1,ks2; + DES_cblock key1,key2; + + memcpy(key,key3_3des_data,16); + memcpy(key1,key,8); + memcpy(key2,key+8,8); + + + DES_set_key((DES_cblock *)key1,&ks1); + DES_set_key((DES_cblock *)key2,&ks2); + + DES_random_key(&RndA); + PrintAndLog(" RndA:%s",sprint_hex(RndA, 8)); + PrintAndLog(" e_RndB:%s",sprint_hex(e_RndB, 8)); + //void DES_ede2_cbc_encrypt(const unsigned char *input, + // unsigned char *output, long length, DES_key_schedule *ks1, + // DES_key_schedule *ks2, DES_cblock *ivec, int enc); + DES_ede2_cbc_encrypt(e_RndB,RndB,sizeof(e_RndB),&ks1,&ks2,&iv,0); + + PrintAndLog(" RndB:%s",sprint_hex(RndB, 8)); + rol(RndB,8); + memcpy(RndARndB,RndA,8); + memcpy(RndARndB+8,RndB,8); + PrintAndLog(" RA+B:%s",sprint_hex(RndARndB, 16)); + DES_ede2_cbc_encrypt(RndARndB,RndARndB,sizeof(RndARndB),&ks1,&ks2,&e_RndB,1); + PrintAndLog("enc(RA+B):%s",sprint_hex(RndARndB, 16)); + + } + PrintAndLog("----------PolarSSL implementation----------"); + { + uint8_t random_a[8] = { 0 }; + uint8_t enc_random_a[8] = { 0 }; + uint8_t random_b[8] = { 0 }; + uint8_t enc_random_b[8] = { 0 }; + uint8_t random_a_and_b[16] = { 0 }; + des3_context ctx = { 0 }; + + memcpy(random_a, RndA,8); + + uint8_t output[8] = { 0 }; + uint8_t iv[8] = { 0 }; + + PrintAndLog(" RndA :%s",sprint_hex(random_a, 8)); + PrintAndLog(" e_RndB:%s",sprint_hex(enc_random_b, 8)); + + des3_set2key_dec(&ctx, key); + + des3_crypt_cbc(&ctx // des3_context *ctx + , DES_DECRYPT // int mode + , sizeof(random_b) // size_t length + , iv // unsigned char iv[8] + , enc_random_b // const unsigned char *input + , random_b // unsigned char *output + ); + + PrintAndLog(" RndB:%s",sprint_hex(random_b, 8)); + + rol(random_b,8); + memcpy(random_a_and_b ,random_a,8); + memcpy(random_a_and_b+8,random_b,8); + + PrintAndLog(" RA+B:%s",sprint_hex(random_a_and_b, 16)); + + des3_set2key_enc(&ctx, key); + + des3_crypt_cbc(&ctx // des3_context *ctx + , DES_ENCRYPT // int mode + , sizeof(random_a_and_b) // size_t length + , enc_random_b // unsigned char iv[8] + , random_a_and_b // const unsigned char *input + , random_a_and_b // unsigned char *output + ); + + PrintAndLog("enc(RA+B):%s",sprint_hex(random_a_and_b, 16)); + } + return 0; +} +**/ // // Ultralight C Read Single Block // int CmdHF14AMfUCRdBl(const char *Cmd) { - uint8_t blockNo = -1; - char cmdp = param_getchar(Cmd, 0); + uint8_t blockNo = -1; + char cmdp = param_getchar(Cmd, 0); if (strlen(Cmd) < 1 || cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu crdbl "); - PrintAndLog(" sample: hf mfu crdbl 0"); - return 0; - } - - blockNo = param_get8(Cmd, 0); + PrintAndLog("Usage: hf mfu crdbl "); + PrintAndLog(" sample: hf mfu crdbl 0"); + return 0; + } + + blockNo = param_get8(Cmd, 0); if (blockNo < 0) { PrintAndLog("Wrong block number"); return 1; } - if (blockNo > MAX_ULTRAC_BLOCKS ){ - PrintAndLog("Error: Maximum number of readable blocks is 47 for Ultralight-C Cards!"); - return 1; - } + if (blockNo > MAX_ULTRAC_BLOCKS ){ + PrintAndLog("Error: Maximum number of readable blocks is 47 for Ultralight-C Cards!"); + return 1; + } - PrintAndLog("--block no: 0x%02X (%d)", (int)blockNo, blockNo); + PrintAndLog("--block no: 0x%02X (%d)", (int)blockNo, blockNo); - //Read Block - UsbCommand e = {CMD_MIFAREU_READBL, {blockNo}}; - SendCommand(&e); - UsbCommand resp_c; - if (WaitForResponseTimeout(CMD_ACK,&resp_c,1500)) { - uint8_t isOK = resp_c.arg[0] & 0xff; - uint8_t *data = resp_c.d.asBytes; + //Read Block + UsbCommand e = {CMD_MIFAREU_READBL, {blockNo}}; + SendCommand(&e); + UsbCommand resp_c; + if (WaitForResponseTimeout(CMD_ACK,&resp_c,1500)) { + uint8_t isOK = resp_c.arg[0] & 0xff; + uint8_t *data = resp_c.d.asBytes; PrintAndLog("isOk: %02x", isOK); - if (isOK) - PrintAndLog("Data: %s", sprint_hex(data, 4)); + if (isOK) + PrintAndLog("Data: %s", sprint_hex(data, 4)); } else { PrintAndLog("Command execute timeout"); } - return 0; + return 0; } // // Mifare Ultralight C Write Single Block // int CmdHF14AMfUCWrBl(const char *Cmd){ - - uint8_t blockNo = -1; - bool chinese_card = FALSE; - uint8_t bldata[16] = {0x00}; - UsbCommand resp; + + uint8_t blockNo = -1; + bool chinese_card = FALSE; + uint8_t bldata[16] = {0x00}; + UsbCommand resp; - char cmdp = param_getchar(Cmd, 0); + char cmdp = param_getchar(Cmd, 0); if (strlen(Cmd) < 3 || cmdp == 'h' || cmdp == 'H') { - PrintAndLog("Usage: hf mfu cwrbl [w]"); + PrintAndLog("Usage: hf mfu cwrbl [w]"); PrintAndLog(" [block number]"); PrintAndLog(" [block data] - (8 hex symbols)"); PrintAndLog(" [w] - Chinese magic ultralight tag"); PrintAndLog(""); - PrintAndLog(" sample: hf mfu cwrbl 0 01020304"); + PrintAndLog(" sample: hf mfu cwrbl 0 01020304"); PrintAndLog(""); - return 0; - } + return 0; + } - blockNo = param_get8(Cmd, 0); - if (blockNo > MAX_ULTRAC_BLOCKS ){ - PrintAndLog("Error: Maximum number of blocks is 47 for Ultralight-C Cards!"); - return 1; - } + blockNo = param_get8(Cmd, 0); + if (blockNo > MAX_ULTRAC_BLOCKS ){ + PrintAndLog("Error: Maximum number of blocks is 47 for Ultralight-C Cards!"); + return 1; + } - if (param_gethex(Cmd, 1, bldata, 8)) { - PrintAndLog("Block data must include 8 HEX symbols"); - return 1; - } + if (param_gethex(Cmd, 1, bldata, 8)) { + PrintAndLog("Block data must include 8 HEX symbols"); + return 1; + } - if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { - chinese_card = TRUE; - } + if (strchr(Cmd,'w') != 0 || strchr(Cmd,'W') != 0 ) { + chinese_card = TRUE; + } if ( blockNo <= 3 ) { if (!chinese_card){ @@ -605,17 +696,17 @@ int CmdHF14AMfUCWrBl(const char *Cmd){ } } } else { - PrintAndLog("--Block no : 0x%02x", blockNo); - PrintAndLog("--Data: %s", sprint_hex(bldata, 4)); - UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; - memcpy(e.d.asBytes,bldata, 4); - SendCommand(&e); - if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { - uint8_t isOK = resp.arg[0] & 0xff; - PrintAndLog("isOk : %02x", isOK); - } else { - PrintAndLog("Command execute timeout"); - } + PrintAndLog("--Block no : 0x%02x", blockNo); + PrintAndLog("--Data: %s", sprint_hex(bldata, 4)); + UsbCommand e = {CMD_MIFAREU_WRITEBL, {blockNo}}; + memcpy(e.d.asBytes,bldata, 4); + SendCommand(&e); + if (WaitForResponseTimeout(CMD_ACK,&resp,1500)) { + uint8_t isOK = resp.arg[0] & 0xff; + PrintAndLog("isOk : %02x", isOK); + } else { + PrintAndLog("Command execute timeout"); + } } return 0; } @@ -625,25 +716,26 @@ int CmdHF14AMfUCWrBl(const char *Cmd){ //------------------------------------ static command_t CommandTable[] = { - {"help", CmdHelp, 1,"This help"}, - {"dbg", CmdHF14AMfDbg, 0,"Set default debug mode"}, + {"help", CmdHelp, 1,"This help"}, + {"dbg", CmdHF14AMfDbg, 0,"Set default debug mode"}, {"info", CmdHF14AMfUInfo, 0,"Taginfo"}, {"dump", CmdHF14AMfUDump, 0,"Dump MIFARE Ultralight / Ultralight-C tag to binary file"}, - {"rdbl", CmdHF14AMfURdBl, 0,"Read block - MIFARE Ultralight"}, - {"wrbl", CmdHF14AMfUWrBl, 0,"Write block - MIFARE Ultralight"}, - {"crdbl", CmdHF14AMfUCRdBl, 0,"Read block - MIFARE Ultralight C"}, - {"cwrbl", CmdHF14AMfUCWrBl, 0,"Write MIFARE Ultralight C block"}, + {"rdbl", CmdHF14AMfURdBl, 0,"Read block - MIFARE Ultralight"}, + {"wrbl", CmdHF14AMfUWrBl, 0,"Write block - MIFARE Ultralight"}, + {"crdbl", CmdHF14AMfUCRdBl, 0,"Read block - MIFARE Ultralight C"}, + {"cwrbl", CmdHF14AMfUCWrBl, 0,"Write MIFARE Ultralight C block"}, {"cauth", CmdHF14AMfucAuth, 0,"try a Ultralight C Authentication"}, - {NULL, NULL, 0, NULL} + //{"testdes", CmdTestDES , 1, "Test DES"}, + {NULL, NULL, 0, NULL} }; int CmdHFMFUltra(const char *Cmd){ - WaitForResponseTimeout(CMD_ACK,NULL,100); - CmdsParse(CommandTable, Cmd); - return 0; + WaitForResponseTimeout(CMD_ACK,NULL,100); + CmdsParse(CommandTable, Cmd); + return 0; } int CmdHelp(const char *Cmd){ - CmdsHelp(CommandTable); - return 0; + CmdsHelp(CommandTable); + return 0; } \ No newline at end of file diff --git a/client/loclass/des.h b/client/loclass/des.h index 907d56b10..8b8e6a353 100644 --- a/client/loclass/des.h +++ b/client/loclass/des.h @@ -28,7 +28,13 @@ #define POLARSSL_DES_H //#include "config.h" - +/** + * \def POLARSSL_CIPHER_MODE_CBC + * + * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers. + */ +#define POLARSSL_CIPHER_MODE_CBC + #include #if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32) From e629181f5a91a933bb96feaa1189481c81fa55ac Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 22 Jan 2015 21:04:16 +0100 Subject: [PATCH 116/133] Fixed issue where -1 size_t was returned --- client/graph.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/client/graph.c b/client/graph.c index 269c2dd98..94d6054fe 100644 --- a/client/graph.c +++ b/client/graph.c @@ -66,7 +66,7 @@ void setGraphBuf(uint8_t *buff, size_t size) } size_t getFromGraphBuf(uint8_t *buff) { - if ( buff == NULL ) return -1; + if ( buff == NULL ) return 0; uint32_t i; for (i=0;i Date: Mon, 26 Jan 2015 20:56:33 +0100 Subject: [PATCH 117/133] Removed last trace of crypto from makefile --- client/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/Makefile b/client/Makefile index b04a15245..823ee4459 100644 --- a/client/Makefile +++ b/client/Makefile @@ -12,7 +12,7 @@ CXX=g++ VPATH = ../common OBJDIR = obj -LDLIBS = -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm -lcrypto +LDLIBS = -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm LDFLAGS = $(COMMON_FLAGS) CFLAGS = -std=c99 -I. -I../include -I../common -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 LUAPLATFORM = generic From 04d2721b3c7c4113e627d3f953835bde932065db Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Mon, 26 Jan 2015 17:23:19 -0500 Subject: [PATCH 118/133] lf psk demods clarify existing as psk1 added psk2 demod --- client/cmddata.c | 53 ++++++++++++++++++++++++++++++++++++------------ common/lfdemod.c | 32 ++++++++++++++++++++--------- common/lfdemod.h | 1 + 3 files changed, 63 insertions(+), 23 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 0a1841bf4..0c6cd72c2 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -721,8 +721,8 @@ int CmdFSKdemodHID(const char *Cmd) return 1; } -//by marshmellow (based on existing demod + holiman's refactor) -//Paradox Prox demod - FSK RF/50 with preamble of 00011101 (then manchester encoded) +//by marshmellow +//Paradox Prox demod - FSK RF/50 with preamble of 00001111 (then manchester encoded) //print full Paradox Prox ID and some bit format details if found int CmdFSKdemodParadox(const char *Cmd) { @@ -1196,7 +1196,7 @@ int CmdDetectNRZpskClockRate(const char *Cmd) return 0; } -int PSKnrzDemod(const char *Cmd) +int PSKnrzDemod(const char *Cmd, uint8_t verbose) { int invert=0; int clk=0; @@ -1213,7 +1213,7 @@ int PSKnrzDemod(const char *Cmd) if (g_debugMode==1) PrintAndLog("no data found, clk: %d, invert: %d, numbits: %d, errCnt: %d",clk,invert,BitLen,errCnt); return -1; } - PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); + if (verbose) PrintAndLog("Tried PSK/NRZ Demod using Clock: %d - invert: %d - Bits Found: %d",clk,invert,BitLen); //prime demod buffer for output setDemodBuf(BitStream,BitLen,0); @@ -1226,9 +1226,9 @@ int CmdIndalaDecode(const char *Cmd) { int ans; if (strlen(Cmd)>0){ - ans = PSKnrzDemod(Cmd); + ans = PSKnrzDemod(Cmd, 0); } else{ //default to RF/32 - ans = PSKnrzDemod("32"); + ans = PSKnrzDemod("32", 0); } if (ans < 0){ @@ -1305,15 +1305,15 @@ int CmdPskClean(const char *Cmd) return 0; } -//by marshmellow -//takes 2 arguments - clock and invert both as integers -//attempts to demodulate ask only -//prints binary found and saves in graphbuffer for further commands +// by marshmellow +// takes 2 arguments - clock and invert both as integers +// attempts to demodulate psk only +// prints binary found and saves in demodbuffer for further commands int CmdpskNRZrawDemod(const char *Cmd) { int errCnt; - errCnt = PSKnrzDemod(Cmd); + errCnt = PSKnrzDemod(Cmd, 1); //output if (errCnt<0){ if (g_debugMode) PrintAndLog("Error demoding: %d",errCnt); @@ -1335,6 +1335,32 @@ int CmdpskNRZrawDemod(const char *Cmd) return 0; } +// by marshmellow +// takes same args as cmdpsknrzrawdemod +int CmdPSK2rawDemod(const char *Cmd) +{ + int errCnt=0; + errCnt=PSKnrzDemod(Cmd, 1); + if (errCnt<0){ + if (g_debugMode) PrintAndLog("Error demoding: %d",errCnt); + return 0; + } + psk1TOpsk2(DemodBuffer, DemodBufferLen); + if (errCnt>0){ + if (g_debugMode){ + PrintAndLog("# Errors during Demoding (shown as 77 in bit stream): %d",errCnt); + PrintAndLog("PSK2 demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + } + }else{ + PrintAndLog("PSK2 demoded bitstream:"); + // Now output the bitstream to the scrollback by line of 16 bits + printDemodBuff(); + } + return 1; +} + int CmdGrid(const char *Cmd) { sscanf(Cmd, "%i %i", &PlotGridX, &PlotGridY); @@ -1949,8 +1975,9 @@ static command_t CommandTable[] = {"plot", CmdPlot, 1, "Show graph window (hit 'h' in window for keystroke help)"}, {"pskclean", CmdPskClean, 1, "Attempt to clean psk wave"}, {"pskdetectclock",CmdDetectNRZpskClockRate, 1, "Detect ASK, PSK, or NRZ clock rate"}, - {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk indala tags and output ID binary & hex (args optional)"}, - {"psknrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk or nrz tags and output binary (args optional)"}, + {"pskindalademod",CmdIndalaDecode, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk1 indala tags and output ID binary & hex (args optional)"}, + {"psk1nrzrawdemod",CmdpskNRZrawDemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk1 or nrz tags and output binary (args optional)"}, + {"psk2rawdemod", CmdPSK2rawDemod, 1, "[clock] [invert<0|1>] -- Attempt to demodulate psk2 tags and output binary (args optional)"}, {"samples", CmdSamples, 0, "[512 - 40000] -- Get raw samples for graph window"}, {"save", CmdSave, 1, " -- Save trace (from graph window)"}, {"scale", CmdScale, 1, " -- Set cursor display scale"}, diff --git a/common/lfdemod.c b/common/lfdemod.c index 34194394d..810e0357b 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -816,7 +816,6 @@ int PyramiddemodFSK(uint8_t *dest, size_t size) return -4; } - // by marshmellow // not perfect especially with lower clocks or VERY good antennas (heavy wave clipping) // maybe somehow adjust peak trimming value based on samples to fix? @@ -885,7 +884,6 @@ int DetectASKClock(uint8_t dest[], size_t size, int clock) return clk[best]; } - //by marshmellow //detect psk clock by reading #peaks vs no peaks(or errors) int DetectpskNRZClock(uint8_t dest[], size_t size, int clock) @@ -963,7 +961,7 @@ int DetectpskNRZClock(uint8_t dest[], size_t size, int clock) return clk[best]; } -//by marshmellow (attempt to get rid of high immediately after a low) +// by marshmellow (attempt to get rid of high immediately after a low) void pskCleanWave(uint8_t *BitStream, size_t size) { int i; @@ -999,9 +997,26 @@ void pskCleanWave(uint8_t *BitStream, size_t size) return; } +// by marshmellow +// convert psk1 demod to psk2 demod +// only transition waves are 1s +void psk1TOpsk2(uint8_t *BitStream, size_t size) +{ + size_t i=1; + uint8_t lastBit=BitStream[0]; + for (; i Date: Mon, 26 Jan 2015 17:49:30 -0500 Subject: [PATCH 119/133] clean up some comments --- client/cmddata.c | 8 ++++++++ common/lfdemod.c | 15 --------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/client/cmddata.c b/client/cmddata.c index 0c6cd72c2..9ed228a44 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -1190,12 +1190,17 @@ int CmdFSKfcDetect(const char *Cmd) return 1; } +//by marshmellow +//attempt to detect the bit clock for PSK or NRZ modulations int CmdDetectNRZpskClockRate(const char *Cmd) { GetNRZpskClock("",0,0); return 0; } +//by marshmellow +//attempt to psk1 or nrz demod graph buffer +//NOTE CURRENTLY RELIES ON PEAKS :( int PSKnrzDemod(const char *Cmd, uint8_t verbose) { int invert=0; @@ -1296,6 +1301,9 @@ int CmdIndalaDecode(const char *Cmd) return 1; } +//by marshmellow +//attempt to clean psk wave noise after a peak +//NOTE RELIES ON PEAKS :( int CmdPskClean(const char *Cmd) { uint8_t bitStream[MAX_GRAPH_TRACE_LEN]={0}; diff --git a/common/lfdemod.c b/common/lfdemod.c index 810e0357b..1b499158b 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -336,30 +336,20 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) for (i = iii; i < *size; ++i) { if ((BinStream[i] >= high) && ((i-lastBit)>(*clk-tol))){ lastBit+=*clk; - //BitStream[bitnum] = *invert; - //bitnum++; midBit=0; } else if ((BinStream[i] <= low) && ((i-lastBit)>(*clk-tol))){ //low found and we are expecting a bar lastBit+=*clk; - //BitStream[bitnum] = 1- *invert; - //bitnum++; midBit=0; } else if ((BinStream[i]<=low) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ //mid bar? midBit=1; - //BitStream[bitnum]= 1- *invert; - //bitnum++; } else if ((BinStream[i]>=high) && (midBit==0) && ((i-lastBit)>((*clk/2)-tol))){ //mid bar? midBit=1; - //BitStream[bitnum]= *invert; - //bitnum++; } else if ((i-lastBit)>((*clk/2)+tol) && (midBit==0)){ //no mid bar found midBit=1; - //BitStream[bitnum]= BitStream[bitnum-1]; - //bitnum++; } else { //mid value found or no bar supposed to be here @@ -367,16 +357,11 @@ int askrawdemod(uint8_t *BinStream, size_t *size, int *clk, int *invert) //should have hit a high or low based on clock!! //debug //PrintAndLog("DEBUG - no wave in expected area - location: %d, expected: %d-%d, lastBit: %d - resetting search",i,(lastBit+(clk-((int)(tol)))),(lastBit+(clk+((int)(tol)))),lastBit); - //if (bitnum > 0){ - // BitStream[bitnum]=77; - // bitnum++; - //} errCnt++; lastBit+=*clk;//skip over until hit too many errors if (errCnt > ((*size/1000))){ //allow 1 error for every 1000 samples else start over errCnt=0; - // bitnum=0;//start over break; } } From a1d17964a218f65acb20b3ff4c651a228d54c7b4 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 27 Jan 2015 14:51:12 -0500 Subject: [PATCH 120/133] lf demod bug fix & refactor fixed bug in lfops.c in hid fskdemod refactored data fskXXXDemods for specific tags to use more common code. --- armsrc/lfops.c | 9 +- client/cmddata.c | 67 ++++++-- common/lfdemod.c | 402 ++++++++++++++++++++--------------------------- common/lfdemod.h | 9 +- 4 files changed, 238 insertions(+), 249 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 8ea9b317f..3cc98446e 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -633,9 +633,9 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = (uint8_t *)BigBuf; - size_t size=sizeof(BigBuf), idx=0; //, found=0; + size_t size=sizeof(BigBuf); uint32_t hi2=0, hi=0, lo=0; - + int idx=0; // Configure to go in 125Khz listen mode LFSetupFPGAForADC(95, true); @@ -646,10 +646,11 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); // FSK demodulator - idx = HIDdemodFSK(dest, &size, &hi2, &hi, &lo); - WDT_HIT(); + size = sizeof(BigBuf); + idx = HIDdemodFSK(dest, &size, &hi2, &hi, &lo); + if (idx>0 && lo>0){ // final loop, go over previously decoded manchester data and decode into usable tag ID // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 diff --git a/client/cmddata.c b/client/cmddata.c index 9ed228a44..79ff93bed 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -659,9 +659,21 @@ int CmdFSKdemodHID(const char *Cmd) uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; size_t BitLen = getFromGraphBuf(BitStream); //get binary from fsk wave - size_t idx = HIDdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo); + int idx = HIDdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo); if (idx<0){ - if (g_debugMode) PrintAndLog("DEBUG: Error demoding fsk"); + if (g_debugMode){ + if (idx==-1){ + PrintAndLog("DEBUG: Just Noise Detected"); + } else if (idx == -2) { + PrintAndLog("DEBUG: Error demoding fsk"); + } else if (idx == -3) { + PrintAndLog("DEBUG: Preamble not found"); + } else if (idx == -4) { + PrintAndLog("DEBUG: Error in Manchester data, SIZE: %d", BitLen); + } else { + PrintAndLog("DEBUG: Error demoding fsk %d", idx); + } + } return 0; } if (hi2==0 && hi==0 && lo==0) { @@ -732,9 +744,21 @@ int CmdFSKdemodParadox(const char *Cmd) uint8_t BitStream[MAX_GRAPH_TRACE_LEN]={0}; size_t BitLen = getFromGraphBuf(BitStream); //get binary from fsk wave - size_t idx = ParadoxdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo); + int idx = ParadoxdemodFSK(BitStream,&BitLen,&hi2,&hi,&lo); if (idx<0){ - if (g_debugMode) PrintAndLog("DEBUG: Error demoding fsk"); + if (g_debugMode){ + if (idx==-1){ + PrintAndLog("DEBUG: Just Noise Detected"); + } else if (idx == -2) { + PrintAndLog("DEBUG: Error demoding fsk"); + } else if (idx == -3) { + PrintAndLog("DEBUG: Preamble not found"); + } else if (idx == -4) { + PrintAndLog("DEBUG: Error in Manchester data"); + } else { + PrintAndLog("DEBUG: Error demoding fsk %d", idx); + } + } return 0; } if (hi2==0 && hi==0 && lo==0){ @@ -774,7 +798,21 @@ int CmdFSKdemodIO(const char *Cmd) //get binary from fsk wave idx = IOdemodFSK(BitStream,BitLen); if (idx<0){ - if (g_debugMode==1) PrintAndLog("DEBUG: demoding fsk error: %d", idx); + if (g_debugMode){ + if (idx==-1){ + PrintAndLog("DEBUG: Just Noise Detected"); + } else if (idx == -2) { + PrintAndLog("DEBUG: not enough samples"); + } else if (idx == -3) { + PrintAndLog("DEBUG: error during fskdemod"); + } else if (idx == -4) { + PrintAndLog("DEBUG: Preamble not found"); + } else if (idx == -5) { + PrintAndLog("DEBUG: Separator bits not found"); + } else { + PrintAndLog("DEBUG: Error demoding fsk %d", idx); + } + } return 0; } if (idx==0){ @@ -834,13 +872,13 @@ int CmdFSKdemodAWID(const char *Cmd) size_t size = getFromGraphBuf(BitStream); //get binary from fsk wave - int idx = AWIDdemodFSK(BitStream, size); + int idx = AWIDdemodFSK(BitStream, &size); if (idx<=0){ if (g_debugMode==1){ if (idx == -1) PrintAndLog("DEBUG: Error - not enough samples"); else if (idx == -2) - PrintAndLog("DEBUG: Error - only noise found - no waves"); + PrintAndLog("DEBUG: Error - only noise found"); else if (idx == -3) PrintAndLog("DEBUG: Error - problem during FSK demod"); // else if (idx == -3) @@ -848,7 +886,7 @@ int CmdFSKdemodAWID(const char *Cmd) else if (idx == -4) PrintAndLog("DEBUG: Error - AWID preamble not found"); else if (idx == -5) - PrintAndLog("DEBUG: Error - Second AWID preamble not found"); + PrintAndLog("DEBUG: Error - Size not correct: %d", size); else PrintAndLog("DEBUG: Error %d",idx); } @@ -933,17 +971,17 @@ int CmdFSKdemodPyramid(const char *Cmd) size_t size = getFromGraphBuf(BitStream); //get binary from fsk wave - int idx = PyramiddemodFSK(BitStream, size); + int idx = PyramiddemodFSK(BitStream, &size); if (idx < 0){ if (g_debugMode==1){ if (idx == -5) PrintAndLog("DEBUG: Error - not enough samples"); else if (idx == -1) - PrintAndLog("DEBUG: Error - only noise found - no waves"); + PrintAndLog("DEBUG: Error - only noise found"); else if (idx == -2) PrintAndLog("DEBUG: Error - problem during FSK demod"); else if (idx == -3) - PrintAndLog("DEBUG: Error - Second Pyramid preamble not found"); + PrintAndLog("DEBUG: Error - Size not correct: %d", size); else if (idx == -4) PrintAndLog("DEBUG: Error - Pyramid preamble not found"); else @@ -1039,7 +1077,6 @@ int CmdFSKdemodPyramid(const char *Cmd) PrintAndLog("Pyramid ID Found - BitLength: %d -unknown BitLength- (%d), Raw: %x%08x%08x%08x", fmtLen, cardnum, rawHi3, rawHi2, rawHi, rawLo); } } - //todo - convert hi2, hi, lo to demodbuffer for future sim/clone commands if (g_debugMode){ PrintAndLog("DEBUG: idx: %d, Len: %d, Printing Demod Buffer:", idx, 128); printDemodBuff(); @@ -1248,7 +1285,7 @@ int CmdIndalaDecode(const char *Cmd) PrintAndLog("Error2: %d",ans); return -1; } - char showbits[251]; + char showbits[251]={0x00}; if (invert) if (g_debugMode==1) PrintAndLog("Had to invert bits"); @@ -1298,6 +1335,10 @@ int CmdIndalaDecode(const char *Cmd) showbits[idx]='\0'; PrintAndLog("Indala UID=%s (%x%08x%08x%08x%08x%08x%08x)", showbits, uid1, uid2, uid3, uid4, uid5, uid6, uid7); } + if (g_debugMode){ + PrintAndLog("DEBUG: printing demodbuffer:"); + printDemodBuff(); + } return 1; } diff --git a/common/lfdemod.c b/common/lfdemod.c index 1b499158b..88a250d87 100644 --- a/common/lfdemod.c +++ b/common/lfdemod.c @@ -12,6 +12,18 @@ #include #include "lfdemod.h" + +uint8_t justNoise(uint8_t *BitStream, size_t size) +{ + static const uint8_t THRESHOLD = 123; + //test samples are not just noise + uint8_t justNoise1 = 1; + for(size_t idx=0; idx < size && justNoise1 ;idx++){ + justNoise1 = BitStream[idx] < THRESHOLD; + } + return justNoise1; +} + //by marshmellow //get high and low with passed in fuzz factor. also return noise test = 1 for passed or 0 for only noise int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi, uint8_t fuzzLo) @@ -29,59 +41,82 @@ int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi return 1; } +// by marshmellow +// pass bits to be tested in bits, length bits passed in bitLen, and parity type (even=0 | odd=1) in pType +// returns 1 if passed +uint8_t parityTest(uint32_t bits, uint8_t bitLen, uint8_t pType) +{ + uint8_t ans = 0; + for (uint8_t i = 0; i < bitLen; i++){ + ans ^= ((bits >> i) & 1); + } + //PrintAndLog("DEBUG: ans: %d, ptype: %d",ans,pType); + return (ans == pType); +} + +//by marshmellow +//search for given preamble in given BitStream and return startIndex and length +uint8_t preambleSearch(uint8_t *BitStream, uint8_t *preamble, size_t pLen, size_t *size, size_t *startIdx) +{ + uint8_t foundCnt=0; + for (int idx=0; idx < *size - pLen; idx++){ + if (memcmp(BitStream+idx, preamble, pLen) == 0){ + //first index found + foundCnt++; + if (foundCnt == 1){ + *startIdx = idx; + } + if (foundCnt == 2){ + *size = idx - *startIdx; + return 1; + } + } + } + return 0; +} + + //by marshmellow //takes 1s and 0s and searches for EM410x format - output EM ID uint64_t Em410xDecode(uint8_t *BitStream, size_t *size, size_t *startIdx) { - //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future - // otherwise could be a void with no arguments - //set defaults - uint64_t lo=0; - uint32_t i = 0; - if (BitStream[10]>1){ //allow only 1s and 0s - // PrintAndLog("no data found"); - return 0; - } - uint8_t parityTest=0; - // 111111111 bit pattern represent start of frame - uint8_t frame_marker_mask[] = {1,1,1,1,1,1,1,1,1}; - uint32_t idx = 0; - uint32_t ii=0; - uint8_t resetCnt = 0; - while( (idx + 64) < *size) { - restart: - // search for a start of frame marker - if ( memcmp(BitStream+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - *startIdx=idx; - idx+=9; - for (i=0; i<10;i++){ - for(ii=0; ii<5; ++ii){ - parityTest ^= BitStream[(i*5)+ii+idx]; - } - if (!parityTest){ //even parity - parityTest=0; - for (ii=0; ii<4;++ii){ - lo=(lo<<1LL)|(BitStream[(i*5)+ii+idx]); - } - //PrintAndLog("DEBUG: EM parity passed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d,lo: %d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1],lo); - }else {//parity failed - //PrintAndLog("DEBUG: EM parity failed parity val: %d, i:%d, ii:%d,idx:%d, Buffer: %d%d%d%d%d",parityTest,i,ii,idx,BitStream[idx+ii+(i*5)-5],BitStream[idx+ii+(i*5)-4],BitStream[idx+ii+(i*5)-3],BitStream[idx+ii+(i*5)-2],BitStream[idx+ii+(i*5)-1]); - parityTest=0; - idx-=8; - if (resetCnt>5)return 0; //try 5 times - resetCnt++; - goto restart;//continue; - } - } - //skip last 5 bit parity test for simplicity. - *size = 64; - return lo; - }else{ - idx++; - } - } - return 0; + //no arguments needed - built this way in case we want this to be a direct call from "data " cmds in the future + // otherwise could be a void with no arguments + //set defaults + uint64_t lo=0; + uint32_t i = 0; + if (BitStream[1]>1){ //allow only 1s and 0s + // PrintAndLog("no data found"); + return 0; + } + // 111111111 bit pattern represent start of frame + uint8_t preamble[] = {1,1,1,1,1,1,1,1,1}; + uint32_t idx = 0; + uint32_t parityBits = 0; + uint8_t errChk = 0; + *startIdx = 0; + for (uint8_t extraBitChk=0; extraBitChk<5; extraBitChk++){ + errChk = preambleSearch(BitStream+extraBitChk+*startIdx, preamble, sizeof(preamble), size, startIdx); + if (errChk == 0) return 0; + idx = *startIdx + 9; + for (i=0; i<10;i++){ //loop through 10 sets of 5 bits (50-10p = 40 bits) + parityBits = bytebits_to_byte(BitStream+(i*5)+idx,5); + //check even parity + if (parityTest(parityBits, 5, 0) == 0){ + //parity failed try next bit (in the case of 1111111111) but last 9 = preamble + startIdx++; + errChk = 0; + break; + } + for (uint8_t ii=0; ii<4; ii++){ + lo = (lo << 1LL) | (BitStream[(i*5)+ii+idx]); + } + } + if (errChk != 0) return lo; + //skip last 5 bit parity test for simplicity. + // *size = 64; + } + return 0; } //by marshmellow @@ -537,114 +572,69 @@ int fskdemod(uint8_t *dest, size_t size, uint8_t rfLen, uint8_t invert, uint8_t size = aggregate_bits(dest, size, rfLen, 192, invert, fchigh, fclow); return size; } + // loop to get raw HID waveform then FSK demodulate the TAG ID from it int HIDdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { + if (justNoise(dest, *size)) return -1; - size_t idx=0, size2=*size, startIdx=0; - // FSK demodulator + size_t numStart=0, size2=*size, startIdx=0; + // FSK demodulator + *size = fskdemod(dest, size2,50,1,10,8); //fsk2a + if (*size < 96) return -2; + // 00011101 bit pattern represent start of frame, 01 pattern represents a 0 and 10 represents a 1 + uint8_t preamble[] = {0,0,0,1,1,1,0,1}; + // find bitstring in array + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx); + if (errChk == 0) return -3; //preamble not found - *size = fskdemod(dest, size2,50,0,10,8); - - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 111000 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - uint8_t frame_marker_mask[] = {1,1,1,0,0,0}; - int numshifts = 0; - idx = 0; - //one scan - while( idx + sizeof(frame_marker_mask) < *size) { - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - startIdx=idx; - idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < *size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - *hi2 = (*hi2<<1)|(*hi>>31); - *hi = (*hi<<1)|(*lo>>31); - //Then, shift in a 0 or one into low - if (dest[idx] && !dest[idx+1]) // 1 0 - *lo=(*lo<<1)|0; - else // 0 1 - *lo=(*lo<<1)|1; - numshifts++; - idx += 2; - } - // Hopefully, we read a tag and hit upon the next frame marker - if(idx + sizeof(frame_marker_mask) < *size) - { - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - //good return - *size=idx-startIdx; - return startIdx; - } - } - // reset - *hi2 = *hi = *lo = 0; - numshifts = 0; - }else { - idx++; - } - } - return -1; + numStart = startIdx + sizeof(preamble); + // final loop, go over previously decoded FSK data and manchester decode into usable tag ID + for (size_t idx = numStart; (idx-numStart) < *size - sizeof(preamble); idx+=2){ + if (dest[idx] == dest[idx+1]){ + return -4; //not manchester data + } + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|1; + else // 0 1 + *lo=(*lo<<1)|0; + } + return (int)startIdx; } // loop to get raw paradox waveform then FSK demodulate the TAG ID from it -size_t ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) +int ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo) { - - size_t idx=0, size2=*size; + if (justNoise(dest, *size)) return -1; + + size_t numStart=0, size2=*size, startIdx=0; // FSK demodulator + *size = fskdemod(dest, size2,50,1,10,8); //fsk2a + if (*size < 96) return -2; - *size = fskdemod(dest, size2,50,1,10,8); + // 00001111 bit pattern represent start of frame, 01 pattern represents a 0 and 10 represents a 1 + uint8_t preamble[] = {0,0,0,0,1,1,1,1}; - // final loop, go over previously decoded manchester data and decode into usable tag ID - // 00001111 bit pattern represent start of frame, 01 pattern represents a 1 and 10 represents a 0 - uint8_t frame_marker_mask[] = {0,0,0,0,1,1,1,1}; - uint16_t numshifts = 0; - idx = 0; - //one scan - while( idx + sizeof(frame_marker_mask) < *size) { - // search for a start of frame marker - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { // frame marker found - size2=idx; - idx+=sizeof(frame_marker_mask); - while(dest[idx] != dest[idx+1] && idx < *size-2) - { - // Keep going until next frame marker (or error) - // Shift in a bit. Start by shifting high registers - *hi2 = (*hi2<<1)|(*hi>>31); - *hi = (*hi<<1)|(*lo>>31); - //Then, shift in a 0 or one into low - if (dest[idx] && !dest[idx+1]) // 1 0 - *lo=(*lo<<1)|1; - else // 0 1 - *lo=(*lo<<1)|0; - numshifts++; - idx += 2; - } - // Hopefully, we read a tag and hit upon the next frame marker and got enough bits - if(idx + sizeof(frame_marker_mask) < *size && numshifts > 40) - { - if ( memcmp(dest+idx, frame_marker_mask, sizeof(frame_marker_mask)) == 0) - { - //good return - return start grid position and bits found - *size = ((numshifts*2)+8); - return size2; - } - } - // reset - *hi2 = *hi = *lo = 0; - numshifts = 0; - }else { - idx++; - } + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx); + if (errChk == 0) return -3; //preamble not found + + numStart = startIdx + sizeof(preamble); + // final loop, go over previously decoded FSK data and manchester decode into usable tag ID + for (size_t idx = numStart; (idx-numStart) < *size - sizeof(preamble); idx+=2){ + if (dest[idx] == dest[idx+1]) + return -4; //not manchester data + *hi2 = (*hi2<<1)|(*hi>>31); + *hi = (*hi<<1)|(*lo>>31); + //Then, shift in a 0 or one into low + if (dest[idx] && !dest[idx+1]) // 1 0 + *lo=(*lo<<1)|1; + else // 0 1 + *lo=(*lo<<1)|0; } - return 0; + return (int)startIdx; } uint32_t bytebits_to_byte(uint8_t* src, size_t numbits) @@ -660,20 +650,12 @@ uint32_t bytebits_to_byte(uint8_t* src, size_t numbits) int IOdemodFSK(uint8_t *dest, size_t size) { - static const uint8_t THRESHOLD = 129; - uint32_t idx=0; + if (justNoise(dest, size)) return -1; //make sure buffer has data - if (size < 66) return -1; - //test samples are not just noise - uint8_t justNoise = 1; - for(idx=0;idx< size && justNoise ;idx++){ - justNoise = dest[idx] < THRESHOLD; - } - if(justNoise) return 0; - + if (size < 66*64) return -2; // FSK demodulator - size = fskdemod(dest, size, 64, 1, 10, 8); // RF/64 and invert - if (size < 65) return -1; //did we get a good demod? + size = fskdemod(dest, size, 64, 1, 10, 8); // FSK2a RF/64 + if (size < 65) return -3; //did we get a good demod? //Index map //0 10 20 30 40 50 60 //| | | | | | | @@ -683,31 +665,17 @@ int IOdemodFSK(uint8_t *dest, size_t size) // //XSF(version)facility:codeone+codetwo //Handle the data - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 65); idx++) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - //frame marker found - if (!dest[idx+8] && dest[idx+17]==1 && dest[idx+26]==1 && dest[idx+35]==1 && dest[idx+44]==1 && dest[idx+53]==1){ - //confirmed proper separator bits found - //return start position - return (int) idx; - } - } - } - return 0; -} + size_t startIdx = 0; + uint8_t preamble[] = {0,0,0,0,0,0,0,0,0,1}; + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), &size, &startIdx); + if (errChk == 0) return -4; //preamble not found -// by marshmellow -// pass bits to be tested in bits, length bits passed in bitLen, and parity type (even=0 | odd=1) in pType -// returns 1 if passed -uint8_t parityTest(uint32_t bits, uint8_t bitLen, uint8_t pType) -{ - uint8_t ans = 0; - for (uint8_t i = 0; i < bitLen; i++){ - ans ^= ((bits >> i) & 1); + if (!dest[startIdx+8] && dest[startIdx+17]==1 && dest[startIdx+26]==1 && dest[startIdx+35]==1 && dest[startIdx+44]==1 && dest[startIdx+53]==1){ + //confirmed proper separator bits found + //return start position + return (int) startIdx; } - //PrintAndLog("DEBUG: ans: %d, ptype: %d",ans,pType); - return (ans == pType); + return -5; } // by marshmellow @@ -735,70 +703,45 @@ size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t p // by marshmellow // FSK Demod then try to locate an AWID ID -int AWIDdemodFSK(uint8_t *dest, size_t size) +int AWIDdemodFSK(uint8_t *dest, size_t *size) { - static const uint8_t THRESHOLD = 123; - uint32_t idx=0, idx2=0; - //make sure buffer has data - if (size < 96*50) return -1; - //test samples are not just noise - uint8_t justNoise = 1; - for(idx=0; idx < size && justNoise ;idx++){ - justNoise = dest[idx] < THRESHOLD; - } - if(justNoise) return -2; + //make sure buffer has enough data + if (*size < 96*50) return -1; + + if (justNoise(dest, *size)) return -2; // FSK demodulator - size = fskdemod(dest, size, 50, 1, 10, 8); // RF/64 and invert - if (size < 96) return -3; //did we get a good demod? + *size = fskdemod(dest, *size, 50, 1, 10, 8); // fsk2a RF/50 + if (*size < 96) return -3; //did we get a good demod? - uint8_t mask[] = {0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 96); idx++) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - // frame marker found - //return ID start index - if (idx2 == 0) idx2=idx; - else if(idx-idx2==96) return idx2; - else return -5; - - // should always get 96 bits if it is awid - } - } - //never found mask - return -4; + uint8_t preamble[] = {0,0,0,0,0,0,0,1}; + size_t startIdx = 0; + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx); + if (errChk == 0) return -4; //preamble not found + if (*size != 96) return -5; + return (int)startIdx; } // by marshmellow // FSK Demod then try to locate an Farpointe Data (pyramid) ID -int PyramiddemodFSK(uint8_t *dest, size_t size) +int PyramiddemodFSK(uint8_t *dest, size_t *size) { - static const uint8_t THRESHOLD = 123; - uint32_t idx=0, idx2=0; - // size_t size2 = size; //make sure buffer has data - if (size < 128*50) return -5; + if (*size < 128*50) return -5; + //test samples are not just noise - uint8_t justNoise = 1; - for(idx=0; idx < size && justNoise ;idx++){ - justNoise = dest[idx] < THRESHOLD; - } - if(justNoise) return -1; + if (justNoise(dest, *size)) return -1; // FSK demodulator - size = fskdemod(dest, size, 50, 1, 10, 8); // RF/64 and invert - if (size < 128) return -2; //did we get a good demod? + *size = fskdemod(dest, *size, 50, 1, 10, 8); // fsk2a RF/50 + if (*size < 128) return -2; //did we get a good demod? - uint8_t mask[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}; - for( idx=0; idx < (size - 128); idx++) { - if ( memcmp(dest + idx, mask, sizeof(mask))==0) { - // frame marker found - if (idx2==0) idx2=idx; - else if (idx-idx2==128) return idx2; - else return -3; - } - } - //never found mask - return -4; + uint8_t preamble[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}; + size_t startIdx = 0; + uint8_t errChk = preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx); + if (errChk == 0) return -4; //preamble not found + if (*size != 128) return -3; + return (int)startIdx; } // by marshmellow @@ -1068,6 +1011,7 @@ int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert) // peaks invert bit (high=1 low=0) each clock cycle = 1 bit determined by last peak int pskNRZrawDemod(uint8_t *dest, size_t *size, int *clk, int *invert) { + if (justNoise(dest, *size)) return -1; pskCleanWave(dest,*size); int clk2 = DetectpskNRZClock(dest, *size, *clk); *clk=clk2; diff --git a/common/lfdemod.h b/common/lfdemod.h index a2eb2c782..dbeab0f7b 100644 --- a/common/lfdemod.h +++ b/common/lfdemod.h @@ -31,12 +31,15 @@ void psk1TOpsk2(uint8_t *BitStream, size_t size); int DetectpskNRZClock(uint8_t dest[], size_t size, int clock); int indala26decode(uint8_t *bitStream, size_t *size, uint8_t *invert); void pskCleanWave(uint8_t *bitStream, size_t size); -int PyramiddemodFSK(uint8_t *dest, size_t size); -int AWIDdemodFSK(uint8_t *dest, size_t size); +int PyramiddemodFSK(uint8_t *dest, size_t *size); +int AWIDdemodFSK(uint8_t *dest, size_t *size); size_t removeParity(uint8_t *BitStream, size_t startIdx, uint8_t pLen, uint8_t pType, size_t bLen); uint16_t countFC(uint8_t *BitStream, size_t size); uint8_t detectFSKClk(uint8_t *BitStream, size_t size, uint8_t fcHigh, uint8_t fcLow); int getHiLo(uint8_t *BitStream, size_t size, int *high, int *low, uint8_t fuzzHi, uint8_t fuzzLo); -size_t ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); +int ParadoxdemodFSK(uint8_t *dest, size_t *size, uint32_t *hi2, uint32_t *hi, uint32_t *lo); +uint8_t preambleSearch(uint8_t *BitStream, uint8_t *preamble, size_t pLen, size_t *size, size_t *startIdx); +uint8_t parityTest(uint32_t bits, uint8_t bitLen, uint8_t pType); +uint8_t justNoise(uint8_t *BitStream, size_t size); #endif From f4e739ed5897b26a5b310c610fe6bc53a6015c94 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 27 Jan 2015 15:09:45 -0500 Subject: [PATCH 121/133] More Testing Traces --- traces/AWID-15-259.pm3 | 20000 +++++++++++++++++++++++++++ traces/EM4102-1.pm3 | 16000 --------------------- traces/HID-weak-fob-11647.pm3 | 20000 +++++++++++++++++++++++++++ traces/Paradox-96_40426-APJN08.pm3 | 16000 +++++++++++++++++++++ traces/README.txt | 4 +- traces/modulation-ask-biph-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-100.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-128.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-16.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-32.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-40.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-8.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-direct-32.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-direct-40.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-direct-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk1-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk1a-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk2-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk2a-40.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk2a-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-psk1-32-4.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-psk1-64-8.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-psk2-32-2.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-psk3-32-8.pm3 | 20000 +++++++++++++++++++++++++++ 24 files changed, 436003 insertions(+), 16001 deletions(-) create mode 100644 traces/AWID-15-259.pm3 delete mode 100644 traces/EM4102-1.pm3 create mode 100644 traces/HID-weak-fob-11647.pm3 create mode 100644 traces/Paradox-96_40426-APJN08.pm3 create mode 100644 traces/modulation-ask-biph-50.pm3 create mode 100644 traces/modulation-ask-man-100.pm3 create mode 100644 traces/modulation-ask-man-128.pm3 create mode 100644 traces/modulation-ask-man-16.pm3 create mode 100644 traces/modulation-ask-man-32.pm3 create mode 100644 traces/modulation-ask-man-40.pm3 create mode 100644 traces/modulation-ask-man-8.pm3 create mode 100644 traces/modulation-direct-32.pm3 create mode 100644 traces/modulation-direct-40.pm3 create mode 100644 traces/modulation-direct-50.pm3 create mode 100644 traces/modulation-fsk1-50.pm3 create mode 100644 traces/modulation-fsk1a-50.pm3 create mode 100644 traces/modulation-fsk2-50.pm3 create mode 100644 traces/modulation-fsk2a-40.pm3 create mode 100644 traces/modulation-fsk2a-50.pm3 create mode 100644 traces/modulation-psk1-32-4.pm3 create mode 100644 traces/modulation-psk1-64-8.pm3 create mode 100644 traces/modulation-psk2-32-2.pm3 create mode 100644 traces/modulation-psk3-32-8.pm3 diff --git a/traces/AWID-15-259.pm3 b/traces/AWID-15-259.pm3 new file mode 100644 index 000000000..46e26ede1 --- /dev/null +++ b/traces/AWID-15-259.pm3 @@ -0,0 +1,20000 @@ +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +92 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-48 +-76 +-101 +-33 +90 +117 +77 +29 +-14 +-48 +-78 +-37 +86 +109 +66 +19 +-22 +-55 +-84 +-44 +77 +101 +59 +13 +-27 +-60 +-88 +-52 +72 +97 +53 +8 +-31 +-63 +-91 +-54 +70 +93 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +88 +47 +3 +-36 +-67 +-94 +-57 +66 +90 +47 +3 +-35 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +45 +2 +-36 +-68 +-95 +-59 +64 +87 +45 +2 +-36 +-68 +-95 +-100 +-127 +-50 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-23 +-56 +-84 +-107 +-111 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +73 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-41 +81 +105 +62 +15 +-25 +-58 +-86 +-49 +75 +98 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +51 +7 +-32 +-64 +-92 +-55 +68 +92 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +101 +62 +18 +-23 +-55 +-84 +-107 +-111 +-33 +83 +107 +68 +23 +-18 +-52 +-81 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +113 +74 +26 +-16 +-50 +-79 +-33 +89 +114 +72 +24 +-18 +-51 +-81 +-42 +81 +105 +61 +15 +-25 +-58 +-87 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-55 +69 +92 +50 +5 +-34 +-65 +-93 +-57 +66 +90 +48 +4 +-35 +-66 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +45 +0 +-36 +-68 +-95 +-101 +-127 +-45 +71 +93 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +80 +102 +67 +20 +-20 +-54 +-82 +-106 +-110 +-32 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-50 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-38 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +100 +58 +12 +-28 +-60 +-89 +-53 +70 +95 +53 +8 +-31 +-63 +-91 +-54 +70 +93 +50 +6 +-33 +-65 +-93 +-56 +68 +91 +49 +4 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +66 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +87 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-49 +65 +82 +43 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +81 +103 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-16 +-49 +-79 +-38 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +72 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +50 +5 +-33 +-65 +-93 +-57 +68 +91 +48 +4 +-35 +-66 +-94 +-60 +64 +90 +48 +3 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +47 +3 +-36 +-67 +-95 +-62 +62 +88 +47 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-96 +-60 +64 +89 +47 +2 +-36 +-67 +-94 +-60 +65 +89 +46 +2 +-36 +-68 +-95 +-60 +63 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +1 +-36 +-68 +-95 +-60 +64 +88 +46 +3 +-36 +-67 +-95 +-100 +-127 +-51 +64 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +75 +99 +61 +17 +-23 +-56 +-85 +-108 +-112 +-33 +83 +107 +69 +24 +-17 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-28 +87 +111 +73 +26 +-16 +-50 +-80 +-33 +90 +113 +71 +24 +-18 +-52 +-81 +-42 +81 +105 +62 +16 +-25 +-57 +-86 +-49 +75 +98 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +49 +5 +-34 +-66 +-93 +-57 +66 +91 +49 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +87 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +99 +62 +18 +-23 +-56 +-85 +-108 +-112 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-102 +-107 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +81 +104 +62 +15 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +91 +49 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +47 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +45 +1 +-36 +-68 +-94 +-101 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +110 +74 +26 +-14 +-49 +-78 +-103 +-37 +86 +115 +75 +27 +-16 +-49 +-79 +-39 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +76 +101 +59 +13 +-27 +-60 +-88 +-55 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-64 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +64 +89 +48 +4 +-35 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +58 +13 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +68 +20 +-19 +-54 +-81 +-106 +-110 +-31 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-14 +-49 +-78 +-103 +-37 +88 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-48 +77 +101 +58 +12 +-28 +-61 +-89 +-53 +71 +95 +54 +8 +-31 +-63 +-91 +-56 +68 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +49 +4 +-34 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +46 +3 +-36 +-67 +-95 +-100 +-127 +-51 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-40 +76 +100 +62 +18 +-23 +-55 +-84 +-107 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-27 +88 +112 +74 +26 +-16 +-50 +-80 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +81 +105 +62 +15 +-25 +-58 +-86 +-50 +74 +97 +55 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-33 +-65 +-93 +-59 +66 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +90 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-64 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +1 +-37 +-68 +-95 +-63 +62 +87 +46 +3 +-36 +-67 +-94 +-100 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +74 +99 +62 +18 +-23 +-56 +-85 +-108 +-112 +-33 +82 +107 +69 +24 +-18 +-52 +-81 +-105 +-109 +-29 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +75 +27 +-15 +-49 +-79 +-35 +89 +114 +71 +23 +-18 +-52 +-82 +-43 +80 +105 +63 +16 +-25 +-58 +-86 +-51 +73 +98 +56 +10 +-29 +-62 +-90 +-53 +71 +94 +52 +7 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-33 +-65 +-93 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +64 +89 +48 +4 +-35 +-67 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-101 +-51 +65 +83 +45 +1 +-36 +-68 +-95 +-101 +-127 +-46 +72 +94 +59 +13 +-26 +-60 +-87 +-110 +-127 +-37 +80 +102 +66 +20 +-19 +-54 +-82 +-107 +-110 +-32 +86 +107 +72 +24 +-16 +-51 +-80 +-104 +-108 +-29 +89 +109 +75 +27 +-14 +-49 +-78 +-103 +-38 +86 +115 +76 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-48 +77 +101 +58 +13 +-28 +-60 +-89 +-55 +69 +94 +53 +8 +-31 +-63 +-91 +-56 +69 +93 +52 +7 +-33 +-65 +-92 +-58 +67 +91 +49 +5 +-34 +-65 +-93 +-61 +63 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-62 +63 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +1 +-37 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-64 +62 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +47 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +87 +46 +2 +-37 +-68 +-95 +-61 +63 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +82 +45 +0 +-36 +-69 +-95 +-101 +-127 +-46 +71 +93 +58 +13 +-26 +-60 +-87 +-111 +-127 +-38 +80 +102 +67 +20 +-19 +-54 +-82 +-107 +-110 +-31 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-14 +-49 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-40 +84 +109 +67 +19 +-22 +-55 +-84 +-48 +76 +101 +58 +12 +-28 +-60 +-89 +-54 +70 +95 +54 +8 +-31 +-63 +-91 +-57 +68 +93 +52 +7 +-33 +-65 +-92 +-58 +66 +90 +49 +4 +-34 +-66 +-94 +-61 +64 +89 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +48 +3 +-35 +-67 +-95 +-60 +64 +89 +48 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +47 +3 +-36 +-67 +-94 +-100 +-127 +-51 +65 +88 +50 +8 +-31 +-64 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-23 +-56 +-85 +-107 +-112 +-34 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-26 +89 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +89 +113 +76 +30 +-13 +-47 +-77 +-101 +-107 +-26 +90 +115 +77 +31 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-46 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +77 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-46 +-76 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +88 +114 +76 +28 +-14 +-49 +-78 +-34 +90 +116 +73 +25 +-17 +-51 +-80 +-43 +81 +105 +63 +16 +-24 +-57 +-86 +-50 +74 +99 +56 +11 +-29 +-61 +-90 +-55 +70 +94 +53 +7 +-32 +-64 +-92 +-57 +67 +92 +51 +5 +-33 +-65 +-93 +-59 +66 +90 +49 +4 +-34 +-66 +-94 +-99 +-49 +66 +84 +46 +1 +-36 +-68 +-94 +-101 +-127 +-45 +72 +94 +59 +13 +-25 +-59 +-86 +-111 +-127 +-37 +81 +103 +68 +21 +-19 +-53 +-81 +-106 +-110 +-32 +86 +107 +72 +25 +-15 +-50 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-50 +-78 +-103 +-107 +-28 +90 +112 +77 +28 +-13 +-48 +-77 +-102 +-106 +-27 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-27 +91 +113 +78 +29 +-11 +-47 +-76 +-101 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +92 +113 +78 +30 +-11 +-47 +-76 +-102 +-36 +89 +117 +77 +29 +-14 +-48 +-78 +-39 +85 +110 +68 +20 +-21 +-55 +-83 +-47 +77 +102 +59 +13 +-27 +-60 +-88 +-54 +70 +95 +54 +9 +-31 +-63 +-91 +-56 +68 +93 +51 +6 +-33 +-65 +-93 +-58 +67 +91 +50 +5 +-34 +-66 +-93 +-61 +63 +89 +48 +4 +-35 +-67 +-94 +-60 +65 +90 +48 +3 +-35 +-67 +-94 +-61 +64 +89 +48 +3 +-36 +-67 +-94 +-64 +62 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +89 +47 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +63 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +88 +47 +3 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +2 +-37 +-68 +-95 +-64 +60 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-64 +61 +87 +46 +3 +-36 +-67 +-95 +-101 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +76 +101 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +83 +108 +70 +24 +-17 +-51 +-81 +-104 +-109 +-30 +85 +111 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +113 +74 +26 +-16 +-49 +-79 +-35 +88 +114 +72 +24 +-18 +-51 +-81 +-44 +80 +104 +62 +15 +-25 +-58 +-87 +-52 +72 +97 +56 +11 +-29 +-61 +-90 +-55 +70 +94 +52 +7 +-32 +-64 +-92 +-57 +67 +92 +50 +5 +-34 +-65 +-93 +-60 +65 +91 +49 +5 +-34 +-66 +-93 +-99 +-127 +-49 +66 +90 +52 +9 +-31 +-63 +-91 +-97 +-127 +-39 +76 +101 +63 +19 +-22 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-17 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-27 +89 +114 +75 +29 +-14 +-48 +-78 +-102 +-107 +-26 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-26 +90 +115 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +89 +114 +75 +29 +-13 +-47 +-77 +-101 +-107 +-25 +90 +114 +76 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +116 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-46 +-77 +-101 +-106 +-26 +89 +114 +76 +28 +-14 +-48 +-78 +-34 +90 +115 +73 +25 +-17 +-51 +-81 +-43 +81 +106 +63 +16 +-24 +-57 +-86 +-50 +74 +98 +56 +10 +-29 +-62 +-90 +-55 +70 +95 +53 +8 +-32 +-64 +-91 +-57 +67 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +91 +49 +4 +-35 +-66 +-94 +-100 +-49 +66 +85 +46 +2 +-35 +-68 +-94 +-101 +-127 +-45 +71 +94 +59 +13 +-26 +-60 +-87 +-110 +-127 +-37 +81 +103 +68 +21 +-19 +-53 +-82 +-106 +-110 +-31 +86 +107 +73 +25 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-13 +-49 +-78 +-103 +-38 +87 +115 +75 +27 +-15 +-49 +-79 +-40 +84 +109 +67 +19 +-22 +-55 +-84 +-49 +76 +101 +58 +12 +-28 +-61 +-89 +-54 +70 +95 +54 +9 +-31 +-63 +-91 +-57 +68 +93 +51 +7 +-33 +-65 +-92 +-58 +66 +91 +49 +4 +-34 +-66 +-94 +-61 +63 +89 +48 +4 +-35 +-67 +-94 +-60 +65 +89 +48 +3 +-36 +-67 +-95 +-60 +65 +89 +48 +3 +-36 +-67 +-94 +-64 +62 +87 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-64 +62 +87 +46 +2 +-37 +-68 +-95 +-61 +63 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-62 +62 +87 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +3 +-35 +-67 +-94 +-100 +-127 +-51 +64 +89 +50 +7 +-32 +-63 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-22 +-56 +-85 +-108 +-112 +-34 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-30 +85 +111 +73 +27 +-15 +-49 +-79 +-103 +-108 +-29 +87 +112 +74 +26 +-16 +-50 +-80 +-35 +88 +113 +72 +24 +-18 +-52 +-81 +-44 +80 +105 +63 +16 +-25 +-57 +-86 +-50 +74 +97 +56 +11 +-29 +-62 +-90 +-55 +70 +94 +53 +8 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +65 +91 +49 +4 +-35 +-66 +-94 +-61 +65 +90 +48 +3 +-35 +-67 +-94 +-60 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +89 +47 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +47 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-64 +61 +87 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-94 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-64 +61 +87 +46 +3 +-35 +-67 +-95 +-100 +-127 +-50 +65 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-23 +-56 +-84 +-108 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +75 +29 +-14 +-48 +-78 +-102 +-107 +-27 +88 +113 +75 +29 +-13 +-47 +-78 +-102 +-107 +-25 +89 +113 +75 +29 +-13 +-47 +-77 +-101 +-107 +-26 +89 +114 +77 +30 +-12 +-47 +-77 +-101 +-106 +-26 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-26 +89 +114 +76 +28 +-14 +-48 +-78 +-34 +90 +116 +73 +25 +-17 +-51 +-81 +-43 +80 +105 +63 +16 +-24 +-57 +-86 +-51 +73 +98 +56 +10 +-30 +-61 +-90 +-54 +70 +95 +53 +8 +-32 +-64 +-91 +-57 +67 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +91 +49 +4 +-35 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +88 +47 +3 +-36 +-68 +-95 +-63 +62 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-64 +61 +87 +46 +2 +-37 +-68 +-95 +-60 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +2 +-37 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-101 +-50 +65 +83 +45 +0 +-37 +-69 +-95 +-102 +-127 +-46 +71 +92 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +79 +102 +67 +20 +-19 +-54 +-82 +-107 +-110 +-32 +84 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +26 +-14 +-49 +-78 +-103 +-37 +86 +115 +75 +27 +-15 +-49 +-79 +-40 +83 +109 +66 +19 +-22 +-55 +-84 +-48 +77 +101 +58 +13 +-28 +-60 +-88 +-54 +70 +95 +54 +8 +-31 +-63 +-91 +-57 +68 +93 +51 +6 +-33 +-65 +-92 +-58 +66 +91 +49 +5 +-34 +-66 +-93 +-99 +-49 +66 +85 +47 +2 +-35 +-68 +-94 +-100 +-127 +-45 +72 +94 +59 +13 +-25 +-59 +-86 +-110 +-127 +-36 +81 +103 +68 +20 +-19 +-54 +-81 +-106 +-110 +-32 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-14 +-49 +-78 +-103 +-107 +-27 +90 +112 +77 +28 +-12 +-48 +-77 +-102 +-106 +-27 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-27 +89 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +112 +78 +30 +-11 +-47 +-76 +-101 +-105 +-26 +91 +113 +78 +30 +-11 +-47 +-76 +-101 +-105 +-26 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +90 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-26 +91 +114 +78 +30 +-11 +-47 +-76 +-101 +-105 +-26 +91 +112 +78 +29 +-12 +-48 +-76 +-102 +-36 +88 +115 +77 +29 +-14 +-48 +-78 +-39 +85 +110 +68 +20 +-21 +-54 +-83 +-47 +77 +101 +59 +13 +-27 +-60 +-88 +-55 +70 +95 +54 +8 +-31 +-63 +-91 +-56 +69 +93 +52 +6 +-33 +-65 +-92 +-58 +66 +91 +50 +5 +-34 +-66 +-93 +-61 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-60 +65 +89 +48 +3 +-36 +-67 +-94 +-62 +63 +87 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +83 +45 +0 +-37 +-69 +-95 +-102 +-127 +-46 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +81 +103 +67 +20 +-19 +-54 +-82 +-106 +-110 +-32 +86 +107 +71 +24 +-16 +-51 +-80 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-40 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +76 +101 +59 +13 +-28 +-60 +-88 +-53 +71 +96 +54 +9 +-31 +-63 +-91 +-56 +68 +92 +51 +6 +-33 +-65 +-93 +-58 +66 +91 +48 +4 +-35 +-66 +-94 +-61 +64 +89 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +65 +89 +48 +3 +-36 +-67 +-94 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-37 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-94 +-100 +-127 +-51 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +75 +99 +62 +18 +-23 +-56 +-85 +-108 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-30 +86 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-28 +87 +111 +73 +25 +-16 +-50 +-80 +-35 +89 +113 +72 +24 +-18 +-52 +-81 +-44 +80 +105 +63 +16 +-25 +-57 +-86 +-50 +74 +97 +56 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +90 +48 +4 +-35 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-64 +61 +87 +46 +2 +-37 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-64 +60 +86 +46 +3 +-36 +-67 +-95 +-100 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +76 +101 +63 +18 +-23 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +88 +111 +74 +26 +-16 +-50 +-79 +-34 +88 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +105 +62 +16 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-54 +70 +95 +52 +7 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +65 +88 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +1 +-37 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +45 +1 +-36 +-68 +-95 +-101 +-127 +-46 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-32 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +110 +74 +27 +-14 +-49 +-78 +-103 +-38 +86 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +109 +65 +19 +-22 +-55 +-84 +-47 +77 +100 +59 +13 +-27 +-60 +-88 +-55 +69 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-92 +-57 +66 +91 +48 +4 +-35 +-66 +-94 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-59 +65 +90 +48 +3 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +65 +82 +43 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +94 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +101 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +27 +-14 +-49 +-78 +-103 +-37 +87 +115 +74 +26 +-16 +-50 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-55 +68 +93 +50 +5 +-33 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-93 +-61 +64 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +46 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +45 +2 +-36 +-67 +-95 +-101 +-127 +-50 +65 +88 +50 +8 +-31 +-63 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +112 +73 +25 +-16 +-50 +-80 +-34 +89 +113 +71 +24 +-18 +-52 +-81 +-43 +81 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +98 +56 +10 +-29 +-61 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +91 +50 +5 +-34 +-66 +-93 +-58 +65 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-63 +62 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +75 +99 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +82 +106 +69 +24 +-18 +-51 +-81 +-104 +-109 +-28 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +71 +23 +-18 +-52 +-81 +-42 +81 +105 +62 +15 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +90 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +2 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +46 +2 +-37 +-68 +-95 +-101 +-50 +65 +82 +45 +0 +-37 +-68 +-95 +-101 +-127 +-45 +72 +94 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-29 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +88 +115 +75 +27 +-15 +-49 +-79 +-39 +85 +108 +65 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +94 +53 +8 +-31 +-63 +-91 +-54 +69 +93 +50 +6 +-33 +-65 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +63 +88 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +45 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-110 +-127 +-37 +79 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +85 +107 +71 +24 +-17 +-51 +-80 +-104 +-108 +-28 +88 +110 +75 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +49 +4 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-58 +66 +89 +47 +3 +-35 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +46 +2 +-36 +-68 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +49 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +83 +107 +68 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +109 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +111 +73 +25 +-16 +-50 +-80 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-42 +81 +105 +62 +15 +-25 +-58 +-87 +-49 +75 +98 +55 +10 +-30 +-62 +-90 +-54 +70 +94 +51 +6 +-33 +-64 +-92 +-55 +68 +92 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-67 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-63 +60 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +76 +101 +63 +18 +-22 +-55 +-84 +-107 +-111 +-33 +82 +106 +68 +23 +-18 +-52 +-81 +-104 +-109 +-29 +85 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +71 +23 +-18 +-52 +-81 +-42 +80 +104 +61 +15 +-25 +-58 +-86 +-50 +74 +98 +55 +10 +-30 +-62 +-90 +-52 +70 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +92 +49 +5 +-34 +-65 +-93 +-57 +66 +89 +48 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-62 +63 +87 +45 +1 +-38 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +1 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +2 +-36 +-67 +-95 +-61 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-67 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-37 +81 +102 +66 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +74 +26 +-16 +-49 +-79 +-38 +85 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +94 +52 +7 +-32 +-63 +-91 +-54 +69 +93 +51 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-59 +64 +88 +46 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +81 +43 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-110 +-127 +-37 +80 +102 +67 +20 +-19 +-54 +-81 +-106 +-109 +-31 +85 +107 +71 +23 +-17 +-51 +-80 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +90 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +90 +112 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +91 +112 +77 +28 +-13 +-48 +-77 +-102 +-106 +-25 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +91 +112 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-34 +90 +117 +76 +28 +-14 +-48 +-78 +-36 +86 +110 +66 +19 +-21 +-54 +-83 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +96 +53 +8 +-31 +-63 +-91 +-53 +70 +92 +50 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-94 +-99 +-48 +66 +84 +46 +1 +-35 +-67 +-93 +-100 +-127 +-44 +72 +94 +58 +13 +-26 +-59 +-86 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-30 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-106 +-27 +90 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +75 +27 +-13 +-48 +-77 +-102 +-106 +-26 +91 +113 +76 +28 +-13 +-48 +-76 +-102 +-106 +-25 +92 +113 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-35 +89 +117 +76 +28 +-14 +-48 +-78 +-36 +86 +110 +66 +19 +-21 +-55 +-84 +-45 +78 +101 +58 +13 +-28 +-60 +-88 +-53 +71 +95 +52 +8 +-32 +-63 +-91 +-53 +70 +92 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-34 +-66 +-93 +-59 +65 +88 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +46 +2 +-36 +-67 +-94 +-58 +66 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +89 +45 +2 +-36 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-58 +66 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +49 +7 +-32 +-64 +-91 +-97 +-127 +-40 +75 +99 +62 +17 +-23 +-56 +-85 +-107 +-111 +-33 +82 +107 +68 +23 +-18 +-52 +-81 +-104 +-109 +-28 +86 +111 +71 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +73 +25 +-16 +-50 +-79 +-33 +90 +114 +71 +23 +-18 +-52 +-81 +-41 +82 +105 +61 +15 +-26 +-58 +-86 +-48 +75 +97 +55 +9 +-30 +-62 +-90 +-52 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +92 +48 +4 +-34 +-66 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-100 +-48 +67 +83 +45 +1 +-36 +-68 +-94 +-100 +-127 +-44 +73 +93 +58 +12 +-26 +-59 +-86 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-81 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-27 +89 +110 +74 +26 +-14 +-49 +-77 +-103 +-106 +-26 +91 +111 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +90 +111 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-13 +-48 +-76 +-102 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +28 +-12 +-48 +-76 +-101 +-105 +-24 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-24 +92 +112 +76 +28 +-12 +-48 +-77 +-102 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-24 +92 +113 +76 +28 +-12 +-48 +-76 +-101 +-105 +-26 +92 +113 +76 +28 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +76 +28 +-12 +-48 +-76 +-101 +-105 +-24 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +93 +114 +78 +29 +-11 +-47 +-76 +-101 +-105 +-24 +92 +112 +76 +28 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-34 +90 +117 +76 +28 +-14 +-48 +-78 +-36 +86 +109 +66 +19 +-22 +-55 +-84 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +95 +53 +8 +-31 +-63 +-91 +-53 +70 +93 +51 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-99 +-48 +67 +84 +46 +1 +-36 +-68 +-94 +-101 +-127 +-44 +73 +94 +57 +12 +-26 +-59 +-87 +-110 +-127 +-36 +81 +102 +66 +20 +-19 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-27 +90 +110 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +74 +27 +-15 +-49 +-79 +-37 +85 +109 +65 +18 +-23 +-55 +-84 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-53 +70 +95 +52 +7 +-32 +-64 +-92 +-53 +70 +93 +50 +5 +-33 +-65 +-92 +-56 +68 +92 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +81 +43 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +92 +57 +12 +-26 +-60 +-87 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-35 +88 +115 +74 +27 +-15 +-49 +-79 +-37 +85 +108 +65 +18 +-22 +-55 +-84 +-45 +78 +101 +57 +11 +-28 +-60 +-89 +-51 +72 +95 +52 +7 +-32 +-63 +-91 +-54 +70 +93 +50 +5 +-34 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +46 +2 +-36 +-67 +-94 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +64 +87 +45 +1 +-36 +-68 +-95 +-100 +-127 +-50 +65 +88 +49 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +17 +-23 +-56 +-84 +-107 +-111 +-33 +83 +107 +68 +23 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +71 +25 +-16 +-50 +-80 +-103 +-108 +-26 +88 +112 +73 +28 +-14 +-49 +-78 +-102 +-107 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +27 +-15 +-48 +-78 +-31 +92 +115 +72 +24 +-17 +-51 +-80 +-40 +83 +105 +62 +15 +-25 +-57 +-86 +-47 +75 +99 +56 +10 +-30 +-61 +-90 +-52 +72 +95 +51 +6 +-33 +-64 +-92 +-54 +68 +92 +49 +4 +-34 +-65 +-93 +-56 +67 +90 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +46 +2 +-36 +-67 +-95 +-58 +66 +89 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-37 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +86 +45 +1 +-37 +-68 +-95 +-58 +65 +89 +47 +2 +-36 +-67 +-94 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +66 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-100 +-50 +65 +82 +43 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +88 +109 +74 +26 +-14 +-50 +-78 +-103 +-36 +88 +115 +74 +26 +-16 +-49 +-79 +-37 +85 +109 +65 +19 +-22 +-55 +-84 +-45 +77 +101 +57 +11 +-28 +-61 +-89 +-53 +71 +94 +53 +8 +-31 +-63 +-91 +-53 +69 +93 +50 +5 +-33 +-65 +-93 +-55 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +88 +47 +3 +-35 +-66 +-94 +-99 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-90 +-97 +-127 +-38 +77 +101 +62 +18 +-23 +-56 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-18 +-51 +-80 +-104 +-108 +-28 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-25 +89 +113 +74 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-12 +-46 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-23 +91 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +114 +76 +28 +-14 +-48 +-78 +-31 +92 +115 +72 +24 +-17 +-51 +-80 +-40 +82 +106 +62 +15 +-25 +-58 +-86 +-48 +75 +97 +55 +10 +-30 +-62 +-90 +-52 +72 +95 +52 +7 +-32 +-64 +-91 +-54 +70 +91 +49 +5 +-34 +-65 +-93 +-57 +66 +90 +48 +3 +-35 +-67 +-94 +-57 +66 +89 +46 +2 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-37 +85 +109 +65 +18 +-22 +-55 +-84 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +70 +94 +51 +7 +-32 +-64 +-92 +-53 +70 +93 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +88 +47 +2 +-36 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-94 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-100 +-49 +65 +82 +43 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +92 +57 +12 +-26 +-60 +-87 +-110 +-127 +-37 +81 +102 +67 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +110 +74 +27 +-14 +-49 +-78 +-102 +-36 +88 +115 +74 +26 +-16 +-50 +-79 +-37 +85 +108 +65 +19 +-22 +-55 +-84 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +95 +52 +7 +-32 +-64 +-91 +-53 +70 +93 +50 +5 +-33 +-65 +-92 +-56 +68 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +66 +89 +45 +1 +-36 +-67 +-95 +-61 +64 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +2 +-36 +-68 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +100 +61 +17 +-23 +-56 +-85 +-107 +-112 +-33 +83 +107 +68 +23 +-18 +-51 +-81 +-104 +-109 +-28 +86 +110 +71 +25 +-16 +-50 +-80 +-103 +-108 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-32 +90 +114 +71 +24 +-18 +-51 +-81 +-41 +82 +105 +61 +15 +-26 +-58 +-86 +-48 +75 +97 +55 +10 +-29 +-62 +-90 +-52 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +93 +49 +5 +-34 +-65 +-93 +-56 +67 +90 +48 +3 +-35 +-67 +-94 +-58 +66 +90 +46 +2 +-36 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-38 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +89 +50 +7 +-31 +-63 +-91 +-97 +-127 +-39 +76 +101 +62 +18 +-23 +-55 +-84 +-107 +-111 +-32 +83 +106 +68 +23 +-18 +-51 +-81 +-104 +-109 +-28 +87 +110 +71 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-52 +-81 +-41 +82 +104 +61 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-52 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +68 +92 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-68 +-95 +-58 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +82 +43 +0 +-37 +-69 +-95 +-101 +-127 +-45 +72 +94 +57 +12 +-27 +-60 +-87 +-110 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-38 +85 +108 +65 +18 +-23 +-56 +-84 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +71 +95 +53 +8 +-31 +-63 +-91 +-53 +70 +93 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +88 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +64 +81 +43 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +58 +12 +-26 +-60 +-87 +-110 +-127 +-37 +81 +102 +67 +20 +-19 +-54 +-81 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-35 +88 +115 +75 +27 +-15 +-49 +-79 +-37 +85 +109 +65 +18 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-52 +71 +96 +53 +8 +-31 +-63 +-91 +-54 +70 +93 +50 +5 +-34 +-65 +-93 +-56 +67 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-94 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +17 +-23 +-56 +-84 +-107 +-112 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +112 +73 +25 +-16 +-50 +-80 +-33 +89 +114 +71 +24 +-18 +-51 +-81 +-42 +81 +105 +61 +15 +-25 +-58 +-86 +-48 +75 +98 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-93 +-59 +66 +89 +47 +2 +-36 +-67 +-95 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +89 +45 +1 +-36 +-68 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-94 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +18 +-22 +-55 +-84 +-107 +-111 +-32 +82 +107 +69 +24 +-17 +-51 +-80 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +113 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-52 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +91 +49 +5 +-34 +-65 +-93 +-58 +66 +91 +48 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-100 +-50 +65 +82 +44 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +88 +115 +75 +27 +-16 +-49 +-79 +-38 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +101 +57 +11 +-28 +-61 +-89 +-53 +70 +95 +53 +8 +-31 +-63 +-91 +-54 +69 +93 +50 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-94 +-59 +64 +89 +48 +3 +-35 +-66 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-95 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-60 +63 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-100 +-50 +64 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +103 +68 +21 +-19 +-53 +-81 +-106 +-109 +-31 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +110 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-38 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +100 +57 +12 +-28 +-60 +-89 +-52 +71 +95 +54 +8 +-31 +-63 +-91 +-55 +69 +93 +50 +5 +-33 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +46 +2 +-37 +-68 +-95 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-61 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +1 +-36 +-68 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-31 +-63 +-91 +-97 +-127 +-39 +76 +99 +62 +17 +-23 +-56 +-85 +-108 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +73 +26 +-16 +-50 +-79 +-34 +90 +114 +71 +24 +-18 +-52 +-81 +-42 +81 +105 +62 +16 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +93 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-66 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +2 +-36 +-68 +-95 +-62 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +62 +87 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-36 +-68 +-95 +-60 +64 +89 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +87 +45 +2 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +82 +107 +69 +24 +-17 +-51 +-80 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-50 +-79 +-103 +-108 +-28 +87 +112 +74 +26 +-16 +-50 +-79 +-34 +90 +114 +72 +24 +-18 +-52 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +1 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-101 +-50 +65 +83 +45 +0 +-36 +-68 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +75 +27 +-14 +-49 +-78 +-103 +-107 +-27 +90 +111 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-12 +-48 +-77 +-102 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-102 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-25 +91 +112 +77 +29 +-12 +-47 +-76 +-102 +-106 +-25 +92 +114 +79 +30 +-11 +-47 +-76 +-101 +-105 +-25 +91 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-102 +-106 +-25 +91 +113 +78 +29 +-12 +-48 +-76 +-102 +-35 +89 +116 +77 +29 +-14 +-48 +-78 +-38 +85 +110 +67 +20 +-21 +-54 +-84 +-46 +78 +101 +59 +13 +-27 +-59 +-88 +-54 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +49 +5 +-34 +-66 +-93 +-61 +63 +89 +47 +4 +-35 +-66 +-94 +-100 +-127 +-49 +66 +90 +52 +9 +-30 +-62 +-90 +-112 +-127 +-39 +76 +101 +63 +19 +-22 +-55 +-84 +-107 +-111 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-28 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-27 +88 +112 +74 +29 +-14 +-48 +-78 +-102 +-107 +-26 +89 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +28 +-14 +-48 +-78 +-33 +90 +115 +72 +24 +-18 +-51 +-81 +-42 +82 +105 +63 +17 +-24 +-57 +-86 +-50 +73 +98 +56 +10 +-29 +-62 +-90 +-53 +71 +95 +53 +8 +-32 +-64 +-91 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +46 +2 +-36 +-68 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-101 +-50 +65 +82 +44 +0 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +59 +13 +-26 +-60 +-87 +-110 +-127 +-37 +80 +102 +67 +21 +-19 +-54 +-82 +-106 +-109 +-32 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +88 +116 +76 +27 +-15 +-49 +-79 +-39 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-89 +-54 +70 +95 +54 +8 +-31 +-63 +-91 +-56 +69 +93 +51 +6 +-33 +-65 +-93 +-57 +67 +91 +49 +5 +-34 +-66 +-93 +-99 +-49 +66 +84 +46 +1 +-36 +-68 +-94 +-101 +-127 +-44 +73 +94 +59 +13 +-25 +-59 +-87 +-110 +-127 +-36 +81 +103 +68 +21 +-19 +-54 +-81 +-106 +-109 +-32 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +90 +112 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +92 +113 +78 +29 +-12 +-47 +-76 +-101 +-106 +-26 +92 +113 +78 +30 +-11 +-47 +-76 +-101 +-105 +-25 +91 +113 +77 +29 +-12 +-48 +-76 +-101 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-25 +91 +113 +78 +30 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +78 +29 +-11 +-47 +-76 +-101 +-105 +-25 +91 +113 +77 +29 +-12 +-48 +-76 +-101 +-106 +-26 +91 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +78 +30 +-12 +-47 +-76 +-101 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-105 +-26 +91 +114 +78 +30 +-11 +-47 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +77 +29 +-12 +-48 +-77 +-102 +-105 +-26 +92 +113 +78 +29 +-12 +-47 +-76 +-102 +-35 +89 +117 +77 +29 +-13 +-48 +-78 +-38 +86 +110 +67 +19 +-22 +-55 +-84 +-46 +77 +101 +59 +13 +-27 +-60 +-88 +-55 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +52 +7 +-33 +-65 +-92 +-57 +68 +92 +49 +5 +-34 +-66 +-93 +-62 +62 +88 +47 +3 +-35 +-66 +-94 +-100 +-127 +-49 +66 +90 +52 +9 +-30 +-62 +-90 +-112 +-127 +-38 +77 +101 +63 +19 +-22 +-55 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-17 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +26 +-16 +-49 +-79 +-35 +89 +114 +71 +23 +-18 +-52 +-82 +-43 +80 +104 +62 +16 +-25 +-58 +-86 +-50 +73 +97 +56 +11 +-29 +-61 +-90 +-54 +70 +93 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-61 +64 +88 +46 +1 +-37 +-68 +-95 +-62 +63 +87 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-100 +-51 +65 +83 +45 +0 +-36 +-69 +-95 +-101 +-127 +-46 +71 +93 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-50 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-55 +69 +95 +53 +8 +-31 +-64 +-91 +-55 +68 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +49 +4 +-34 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-100 +-49 +65 +82 +44 +0 +-37 +-69 +-95 +-102 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +103 +68 +21 +-19 +-54 +-81 +-106 +-110 +-32 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +89 +112 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-27 +90 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-27 +91 +113 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +113 +77 +29 +-12 +-48 +-77 +-102 +-35 +89 +117 +77 +29 +-14 +-48 +-78 +-39 +85 +110 +67 +20 +-21 +-54 +-84 +-46 +77 +101 +59 +13 +-27 +-60 +-88 +-53 +71 +96 +54 +9 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-93 +-57 +67 +91 +49 +4 +-34 +-66 +-93 +-61 +64 +89 +47 +3 +-35 +-67 +-95 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-62 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +87 +45 +1 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +62 +87 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-63 +61 +87 +46 +3 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-23 +-55 +-84 +-108 +-112 +-32 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +85 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +105 +62 +15 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +67 +91 +50 +5 +-34 +-66 +-93 +-58 +66 +90 +48 +5 +-34 +-66 +-93 +-99 +-127 +-49 +66 +89 +51 +8 +-31 +-63 +-90 +-97 +-127 +-39 +76 +100 +62 +18 +-22 +-55 +-84 +-107 +-112 +-33 +83 +108 +69 +24 +-17 +-51 +-80 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-27 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-26 +88 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +90 +115 +77 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +89 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +115 +77 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +115 +77 +30 +-12 +-46 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-26 +89 +114 +75 +27 +-15 +-49 +-78 +-33 +90 +115 +73 +25 +-17 +-50 +-80 +-42 +81 +106 +63 +16 +-24 +-57 +-86 +-49 +74 +98 +56 +11 +-29 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +91 +48 +4 +-35 +-66 +-94 +-60 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-63 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-64 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +2 +-36 +-68 +-95 +-101 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-22 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +85 +109 +72 +26 +-16 +-50 +-79 +-103 +-108 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +105 +62 +15 +-25 +-58 +-87 +-50 +72 +97 +56 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-33 +-65 +-93 +-59 +66 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-36 +-67 +-94 +-60 +65 +90 +48 +3 +-35 +-67 +-94 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-101 +-50 +64 +82 +45 +0 +-37 +-69 +-95 +-102 +-127 +-46 +72 +94 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +81 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-32 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +76 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-47 +76 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +68 +93 +51 +6 +-33 +-65 +-93 +-57 +68 +92 +49 +5 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +65 +82 +44 +0 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +58 +13 +-26 +-60 +-87 +-111 +-127 +-37 +81 +102 +67 +21 +-19 +-53 +-81 +-106 +-110 +-31 +86 +106 +71 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +27 +-14 +-49 +-78 +-103 +-37 +87 +115 +75 +27 +-16 +-49 +-79 +-39 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-56 +68 +93 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +49 +5 +-34 +-66 +-93 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +2 +-36 +-67 +-95 +-101 +-127 +-50 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-40 +76 +100 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +83 +108 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +111 +73 +26 +-16 +-50 +-80 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +104 +62 +15 +-25 +-58 +-87 +-49 +74 +98 +56 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +48 +4 +-35 +-66 +-94 +-60 +65 +90 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +62 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-63 +62 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +77 +100 +62 +18 +-23 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +86 +112 +74 +26 +-16 +-49 +-79 +-34 +90 +114 +72 +24 +-18 +-51 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +93 +52 +7 +-32 +-64 +-92 +-56 +68 +91 +50 +5 +-34 +-66 +-93 +-58 +66 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-59 +64 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +45 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-100 +-50 +65 +83 +44 +0 +-36 +-69 +-95 +-101 +-127 +-46 +71 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +114 +75 +27 +-16 +-49 +-79 +-39 +85 +109 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +63 +89 +48 +3 +-35 +-67 +-94 +-59 +66 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +47 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +82 +44 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-37 +80 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-16 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +100 +58 +12 +-28 +-60 +-89 +-53 +71 +95 +54 +8 +-31 +-63 +-91 +-54 +69 +92 +50 +5 +-33 +-65 +-93 +-56 +67 +91 +49 +4 +-34 +-66 +-93 +-60 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +88 +47 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-62 +62 +87 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-37 +-67 +-95 +-60 +64 +87 +46 +3 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +99 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +26 +-16 +-49 +-79 +-103 +-108 +-27 +87 +111 +73 +25 +-16 +-50 +-80 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-42 +80 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +6 +-32 +-64 +-92 +-55 +67 +92 +50 +5 +-34 +-66 +-93 +-57 +67 +91 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +61 +87 +45 +3 +-36 +-67 +-95 +-100 +-127 +-50 +65 +89 +50 +7 +-31 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +113 +71 +24 +-18 +-52 +-81 +-42 +81 +105 +62 +15 +-25 +-57 +-86 +-50 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +89 +47 +3 +-35 +-67 +-94 +-58 +66 +90 +48 +3 +-35 +-66 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +57 +12 +-26 +-60 +-87 +-110 +-127 +-36 +80 +101 +66 +19 +-20 +-54 +-82 +-107 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +27 +-14 +-49 +-78 +-103 +-37 +87 +114 +74 +27 +-16 +-49 +-79 +-38 +84 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-89 +-54 +70 +94 +53 +8 +-31 +-64 +-91 +-55 +69 +93 +50 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +87 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +87 +46 +2 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-36 +-68 +-95 +-101 +-127 +-45 +71 +93 +58 +12 +-27 +-60 +-87 +-111 +-127 +-38 +80 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +23 +-17 +-51 +-80 +-104 +-108 +-28 +89 +110 +74 +27 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-16 +-49 +-79 +-38 +85 +109 +65 +19 +-22 +-55 +-84 +-46 +77 +100 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-54 +69 +92 +50 +6 +-33 +-65 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +87 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +62 +86 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +75 +99 +61 +17 +-23 +-56 +-85 +-108 +-112 +-32 +83 +107 +68 +23 +-18 +-51 +-81 +-105 +-109 +-28 +86 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +73 +25 +-16 +-50 +-79 +-34 +89 +114 +71 +24 +-18 +-52 +-81 +-42 +82 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +92 +49 +5 +-34 +-65 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-35 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +62 +86 +45 +1 +-37 +-68 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +17 +-23 +-56 +-85 +-108 +-112 +-32 +83 +107 +69 +23 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-28 +88 +112 +74 +28 +-14 +-48 +-78 +-102 +-106 +-26 +89 +113 +74 +28 +-14 +-48 +-78 +-102 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +90 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +91 +115 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +91 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +91 +115 +77 +28 +-14 +-48 +-78 +-32 +91 +115 +72 +25 +-17 +-51 +-80 +-41 +82 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +98 +56 +10 +-29 +-61 +-89 +-53 +71 +95 +52 +6 +-32 +-64 +-92 +-55 +69 +92 +49 +5 +-34 +-65 +-93 +-58 +66 +90 +47 +4 +-35 +-66 +-94 +-99 +-127 +-49 +66 +89 +52 +9 +-31 +-63 +-90 +-112 +-127 +-38 +77 +101 +62 +18 +-23 +-55 +-84 +-107 +-111 +-33 +83 +107 +69 +24 +-18 +-51 +-80 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +112 +73 +27 +-14 +-48 +-78 +-102 +-107 +-26 +90 +114 +74 +29 +-13 +-47 +-78 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +28 +-15 +-49 +-78 +-32 +91 +115 +73 +25 +-17 +-50 +-80 +-41 +83 +106 +62 +16 +-24 +-57 +-86 +-48 +75 +98 +56 +10 +-29 +-61 +-90 +-53 +71 +94 +51 +7 +-32 +-64 +-92 +-55 +69 +92 +49 +5 +-34 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-61 +63 +88 +45 +1 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +64 +82 +44 +0 +-36 +-69 +-95 +-101 +-127 +-45 +71 +93 +57 +11 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +74 +27 +-15 +-49 +-79 +-38 +85 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +94 +52 +7 +-32 +-64 +-91 +-54 +69 +93 +51 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-94 +-59 +64 +88 +47 +4 +-35 +-66 +-94 +-99 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-90 +-112 +-127 +-38 +77 +100 +62 +18 +-22 +-55 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-106 +-26 +88 +113 +75 +29 +-13 +-48 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-76 +-101 +-106 +-24 +90 +114 +76 +30 +-13 +-46 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +91 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-100 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +91 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +91 +115 +76 +30 +-12 +-46 +-76 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +27 +-14 +-48 +-78 +-31 +92 +115 +72 +25 +-17 +-51 +-80 +-41 +82 +106 +62 +16 +-25 +-57 +-86 +-49 +74 +98 +55 +10 +-30 +-62 +-90 +-52 +71 +94 +51 +7 +-33 +-64 +-92 +-55 +68 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +48 +4 +-34 +-66 +-93 +-99 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-90 +-97 +-127 +-38 +77 +101 +62 +18 +-22 +-55 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +111 +73 +26 +-16 +-50 +-79 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-41 +82 +104 +62 +15 +-25 +-58 +-86 +-48 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +51 +7 +-32 +-64 +-92 +-55 +69 +91 +48 +4 +-35 +-66 +-94 +-56 +67 +91 +48 +3 +-35 +-66 +-94 +-59 +66 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +63 +88 +45 +1 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +87 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +99 +62 +18 +-23 +-56 +-84 +-107 +-112 +-32 +83 +107 +69 +24 +-18 +-51 +-80 +-104 +-109 +-28 +85 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +70 +23 +-19 +-52 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +74 +97 +54 +9 +-30 +-62 +-90 +-52 +71 +94 +52 +7 +-32 +-64 +-91 +-56 +68 +92 +49 +5 +-34 +-66 +-93 +-56 +67 +89 +48 +3 +-35 +-67 +-94 +-57 +66 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-68 +-95 +-58 +65 +89 +46 +2 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-59 +64 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-37 +-68 +-95 +-101 +-127 +-45 +72 +92 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +81 +101 +66 +20 +-20 +-54 +-82 +-106 +-109 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-106 +-27 +90 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +111 +76 +28 +-13 +-48 +-77 +-102 +-106 +-25 +91 +112 +76 +28 +-12 +-48 +-76 +-102 +-105 +-25 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-48 +-76 +-102 +-34 +90 +115 +76 +28 +-14 +-49 +-78 +-36 +86 +110 +67 +20 +-21 +-54 +-83 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-53 +70 +95 +53 +8 +-31 +-63 +-91 +-53 +70 +93 +50 +5 +-33 +-65 +-93 +-55 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +2 +-36 +-67 +-94 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +86 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +87 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +100 +62 +17 +-23 +-56 +-84 +-107 +-111 +-33 +82 +106 +68 +23 +-18 +-52 +-81 +-104 +-109 +-28 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +23 +-18 +-52 +-81 +-41 +82 +104 +61 +15 +-25 +-58 +-87 +-48 +75 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +92 +49 +5 +-34 +-65 +-93 +-57 +67 +90 +47 +3 +-36 +-67 +-94 +-100 +-48 +66 +83 +45 +1 +-36 +-68 +-94 +-101 +-127 +-45 +73 +94 +58 +13 +-26 +-59 +-86 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-31 +87 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +91 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +91 +112 +76 +28 +-12 +-48 +-77 +-102 +-106 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-24 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-34 +90 +117 +76 +28 +-14 +-48 +-78 +-37 +86 +110 +66 +19 +-22 +-55 +-84 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +96 +54 +9 +-31 +-63 +-91 +-53 +69 +93 +50 +5 +-33 +-65 +-92 +-56 +68 +91 +48 +3 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-58 +66 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-94 +-100 +-127 +-50 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +75 +100 +62 +17 +-23 +-56 +-85 +-107 +-111 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-108 +-29 +86 +111 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +72 +25 +-16 +-50 +-80 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-42 +81 +105 +61 +15 +-25 +-58 +-86 +-48 +75 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +51 +7 +-32 +-64 +-92 +-55 +69 +91 +48 +4 +-35 +-66 +-93 +-56 +67 +90 +48 +3 +-35 +-66 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +99 +62 +17 +-23 +-56 +-84 +-107 +-112 +-32 +83 +107 +68 +23 +-18 +-51 +-81 +-104 +-109 +-29 +85 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +112 +73 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-42 +82 +104 +61 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-52 +72 +95 +52 +7 +-32 +-64 +-92 +-55 +68 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +45 +2 +-36 +-67 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +2 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +11 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +74 +26 +-16 +-49 +-79 +-37 +86 +109 +66 +19 +-22 +-55 +-84 +-45 +77 +101 +57 +12 +-28 +-60 +-88 +-53 +71 +94 +52 +7 +-32 +-64 +-91 +-54 +70 +93 +51 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +47 +2 +-36 +-67 +-94 +-58 +66 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +87 +45 +1 +-37 +-68 diff --git a/traces/EM4102-1.pm3 b/traces/EM4102-1.pm3 deleted file mode 100644 index cad34276a..000000000 --- a/traces/EM4102-1.pm3 +++ /dev/null @@ -1,16000 +0,0 @@ -85 -85 -78 -68 -59 -54 -56 -51 -44 -35 -35 -37 -33 -25 --39 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --112 --112 --101 --92 --94 --86 --76 --79 --73 --63 --67 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -92 -91 -83 -73 -64 -63 -62 -55 -45 -40 -43 -41 -34 -26 -23 --31 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --102 --102 --105 --97 --98 --90 --80 --82 --78 --66 --69 --68 --55 --58 --59 --48 --50 --52 --41 --41 --46 --37 --33 --39 --38 --28 --31 --35 --26 --24 --30 --30 --20 --23 --28 --23 --18 --23 --25 --16 --17 --24 --20 --15 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -121 -111 -102 -90 -82 -81 -77 -70 -61 -52 -52 -51 -45 -36 -31 -35 --27 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --108 --114 --103 --104 --97 --85 --87 --81 --70 --73 --70 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -115 -103 -90 -82 -81 -77 -70 -59 -53 -56 -52 -45 -36 -34 -37 -33 -24 -20 -25 -24 -17 -11 -14 -16 -11 -5 -4 -11 -7 -0 --3 -4 -3 --2 --7 --2 -1 --2 --8 --6 --1 --4 --10 --8 --3 --6 --13 --8 --4 --68 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --107 --104 --104 --102 --101 --87 --85 --86 --73 --70 --74 --64 --58 --62 --58 --49 --51 --52 --41 --40 --46 --39 --33 --37 --39 --29 --28 --34 --31 --24 --27 --31 --23 --20 --26 --27 --18 --18 --25 --22 --15 --18 --24 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -111 -103 -94 -84 -74 -71 -71 -64 -54 -47 -49 -47 -39 -31 -30 -34 -29 -21 -18 -24 -21 -13 -10 -16 -14 -6 -4 -11 -7 -1 --2 -5 -3 --3 --5 -2 -0 --6 --9 --2 --3 --10 --12 --4 --5 --11 --12 --63 --121 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --106 --106 --101 --102 --88 --83 --86 --75 --68 --72 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -101 -89 -81 -79 -77 -70 -62 -53 -48 -50 -47 -41 -33 -28 -31 -30 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --104 --106 --95 --86 --89 --82 --71 --74 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -104 -93 -83 -77 -79 -72 -64 -54 -49 -51 -48 -41 -33 -29 -34 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --111 --112 --104 --106 --94 --87 --89 --80 --72 --75 --69 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -93 -83 -79 -79 -72 -63 -53 -50 -52 -47 -39 -31 -30 -33 -28 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --114 --104 --106 --95 --87 --89 --81 --72 --75 --70 --60 --63 --60 --50 --54 --53 --42 --45 --47 --35 --38 --42 --31 --31 --36 --31 --25 --30 --31 --21 --23 --29 --24 --18 --23 --25 --16 --18 --24 --18 --14 --20 --21 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -103 -95 -91 -89 -82 -74 -64 -57 -56 -56 -49 -40 -35 -38 -36 -30 -21 -22 -26 -21 -13 -11 -17 -14 -6 -4 -10 -7 --1 --1 -6 -2 --5 --3 -3 --1 --8 --4 -0 --4 --10 --6 --3 --7 --12 --7 --3 --67 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --107 --104 --104 --103 --101 --86 --86 --86 --72 --72 --73 --60 --59 --63 --54 --50 --54 --50 --41 --43 --46 --35 --35 --40 --34 --29 --33 --34 --24 --26 --32 --25 --21 --26 --27 --18 --20 --26 --19 --16 --21 --23 --15 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -121 -111 -101 -90 -82 -80 -77 -70 -61 -52 -51 -51 -45 -36 -31 -35 -33 -26 -20 -20 -24 -19 -11 -10 -16 -13 -6 -3 -9 -8 -2 --3 -3 -3 --1 --6 --2 -1 --3 --10 --4 --2 --8 --11 --3 --4 --11 --11 --62 --121 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --97 --114 --103 --93 --94 --88 --77 --80 --75 --64 -8 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -120 -112 -102 -91 -81 -75 -77 -71 -63 -54 -48 -49 -48 -41 -33 -28 -33 -30 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --104 --106 --95 --86 --89 --82 --72 --75 --70 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -90 -83 -83 -77 -69 -60 -53 -56 -52 -45 -36 -33 -37 -33 -26 --40 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --100 --103 --104 --98 --85 --87 --83 --71 --73 --72 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -91 -83 -81 -79 -71 -63 -54 -49 -51 -47 -41 -33 -28 -32 -30 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --109 --99 --103 --105 --97 --86 --88 --82 --71 --75 --69 --59 --63 --59 --49 --55 --50 --42 --47 --45 --35 --41 --40 --31 --35 --36 --26 --30 --33 --25 --26 --32 --24 --21 --26 --26 --17 --20 --25 --17 --15 --22 --21 --13 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -112 -104 -104 -96 -87 -77 -69 -67 -66 -59 -49 -43 -46 -43 -37 -28 -27 -30 -27 -19 -14 -19 -19 -13 -6 -6 -11 -8 -1 -0 -7 -5 --2 --5 -3 -1 --5 --7 -0 --1 --7 --10 --2 --3 --8 --11 --4 --4 --68 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --103 --104 --106 --98 --101 --90 --81 --84 --78 --68 --72 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -110 -99 -88 -85 -83 -77 -67 -57 -53 -56 -50 -43 -34 -33 -36 -31 -23 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --110 --112 --102 --92 --94 --87 --76 --79 --73 --63 --67 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -104 -93 -83 -77 -77 -71 -63 -54 -48 -51 -47 -41 -32 -30 -34 -30 --37 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --104 --105 --96 --86 --87 --83 --71 --73 --71 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -103 -91 -83 -84 -78 -70 -61 -53 -53 -52 -47 -38 -33 -35 -34 -28 --39 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --99 --104 --106 --95 --86 --89 --79 --72 --76 --67 --61 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -102 -91 -83 -81 -79 -71 -62 -53 -52 -52 -47 -38 -31 -33 -33 -27 --40 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --99 --103 --105 --98 --86 --88 --84 --71 --73 --70 --59 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -105 -95 -84 -75 -75 -71 -64 -54 -47 -48 -48 -41 -33 -28 -32 -30 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --112 --105 --107 --93 --87 --90 --79 --72 --76 --68 --60 --64 --60 --50 --54 --52 --42 --45 --46 --35 --39 --42 --32 --32 --37 --30 --26 --31 --31 --22 --26 --29 --19 --21 --27 --20 --17 --22 --24 --15 --16 --22 --20 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -105 -97 -90 -85 -81 -77 -71 -65 -59 -53 -47 -42 -38 -34 -32 --29 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --100 --101 --107 --96 --98 --90 --79 --82 --78 --67 --69 --67 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -98 -94 -92 -84 -76 -67 -59 -58 -57 -51 -43 -35 -35 -37 -32 -24 --39 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --99 --92 --94 --85 --76 --78 --75 --63 --65 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -96 -91 -91 -83 -73 -64 -61 -62 -55 -45 -39 -41 -40 -34 -26 -24 -29 -24 -17 -12 -18 -17 -11 -5 -9 -10 -5 --1 -3 -6 -1 --5 -0 -3 --1 --7 --1 -1 --4 --9 --2 --1 --7 --10 --2 --3 --10 --12 --62 --120 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --107 --100 --102 --89 --83 --86 --77 --69 --72 -5 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -100 -88 -82 -82 -77 -69 -60 -52 -53 -52 -45 -35 -31 -35 -32 -25 --41 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --100 --104 --106 --98 --87 --88 --83 --71 --74 --71 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -90 -82 -81 -78 -70 -62 -53 -50 -52 -48 -41 -33 -30 -34 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --102 --103 --104 --98 --100 --87 --81 --84 --77 --67 --69 --68 --56 --58 --59 --48 --46 --52 --45 --39 --43 --43 --33 --34 --39 --30 --27 --33 --32 --23 --25 --30 --23 --20 --24 --27 --18 --18 --24 --22 --15 --19 --24 --16 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -103 -97 -91 -87 -82 -77 -71 -65 -59 -53 -45 -39 -35 -33 -32 --28 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --100 --99 --111 --96 --96 --94 --80 --79 --80 --66 --65 --67 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -95 -85 -75 -74 -72 -66 -57 -48 -45 -48 -43 -35 -28 -30 -31 -26 -18 -16 -21 -19 -12 -7 -12 -13 -7 -1 -4 -7 -2 --4 -0 -2 --3 --8 --3 -0 --5 --9 --5 --2 --7 --11 --7 --3 --9 --13 --6 --64 --126 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --102 --105 --107 --97 --87 --91 --80 --73 --77 --68 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -106 -104 -96 -88 -77 -69 -65 -66 -60 -53 -43 -40 -43 -40 -33 -26 -22 --33 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --103 --104 --106 --98 --100 --90 --81 --84 --79 --68 --70 --68 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -113 -106 -96 -85 -76 -73 -72 -66 -57 -48 -45 -48 -43 -35 -28 -30 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --112 --97 --99 --92 --95 --83 --77 --80 --73 --64 --67 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -90 -91 -83 -75 -65 -59 -60 -57 -50 -41 -36 -40 -37 -30 -22 --37 --90 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --101 --103 --105 --97 --99 --91 --80 --82 --78 --67 --70 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -105 -97 -87 -77 -70 -67 -67 -60 -52 -44 -42 -44 -40 -32 -26 -25 --32 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --104 --106 --95 --86 --89 --83 --72 --75 --71 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -103 -91 -83 -81 -78 -70 -59 -52 -55 -51 -44 -35 -33 -37 -33 -24 --39 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --111 --111 --103 --91 --92 --88 --75 --77 --76 --63 --65 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -107 -97 -95 -91 -83 -73 -64 -61 -62 -56 -47 -40 -41 -41 -35 -27 -24 --31 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --104 --105 --96 --86 --89 --82 --71 --75 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -101 -89 -84 -84 -78 -69 -60 -53 -56 -52 -45 -36 -35 -37 -32 -23 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --111 --112 --101 --91 --94 --86 --76 --79 --71 --63 --67 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -102 -90 -83 -82 -77 -70 -61 -52 -51 -51 -47 -38 -31 -31 -34 -29 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --111 --106 --106 --92 --88 --90 --78 --72 --76 --69 --60 --63 --61 --50 --52 --53 --42 --44 --47 --37 --35 --41 --37 --30 --34 --36 --26 --26 --32 --26 --21 --27 --28 --18 --21 --26 --19 --16 --23 --23 --14 --17 --23 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -113 -111 -104 -95 -86 -75 -69 -69 -65 -59 -51 -43 -41 -43 -39 -32 --34 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --100 --100 --108 --96 --97 --90 --80 --83 --76 --67 --71 --65 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -115 -106 -95 -85 -76 -76 -73 -66 -57 -49 -47 -48 -43 -35 -28 -30 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --105 --107 --95 --87 --89 --82 --71 --74 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -114 -105 -95 -85 -75 -71 -71 -66 -58 -49 -44 -47 -44 -38 -30 -26 -30 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --110 --105 --106 --91 --86 --89 --78 --71 --74 --69 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -118 -114 -105 -93 -83 -77 -77 -71 -64 -54 -49 -51 -47 -40 -32 -31 -35 -29 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --112 --104 --106 --94 --86 --89 --80 --71 --75 --69 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -93 -83 -77 -78 -72 -65 -55 -49 -51 -48 -41 -33 -29 -33 -30 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --111 --114 --104 --106 --96 --86 --89 --82 --71 --74 --71 --59 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -114 -105 -94 -83 -76 -78 -72 -63 -54 -50 -52 -47 -39 -32 -34 -34 -27 --39 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --99 --104 --105 --97 --86 --88 --82 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -91 -83 -80 -79 -71 -64 -54 -49 -50 -48 -42 -33 -28 -32 -30 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --112 --104 --106 --93 --86 --89 --78 --71 --75 --66 --60 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -101 -89 -85 -84 -77 -67 -59 -56 -57 -51 -42 -34 -34 -36 -32 -24 -19 -22 -23 -18 -11 -9 -16 -13 -6 -2 -8 -8 -3 --3 -2 -4 --1 --6 --2 -1 --3 --9 --4 --2 --7 --12 --6 --4 --8 --13 --8 --4 --67 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --102 --106 --107 --98 --88 --91 --81 --73 --77 --69 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -111 -104 -94 -85 -75 -70 -71 -65 -57 -48 -45 -48 -43 -35 -28 -29 -30 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --104 --106 --96 --86 --88 --82 --71 --74 --70 --59 --63 --61 --50 --54 --52 --43 --47 --47 --36 --41 --40 --31 --36 --36 --27 --33 --32 --23 --29 --29 --20 --25 --27 --17 --22 --25 --16 --19 --24 --15 --15 --22 -58 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -101 -89 -82 -81 -77 -69 -59 -52 -54 -51 -44 -35 -32 -36 --28 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --110 --113 --103 --105 --96 --86 --88 --83 --71 --73 --70 --59 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -102 -91 -87 -85 -77 -67 -59 -58 -57 -51 -42 -35 -39 -37 -31 -23 --39 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --112 --112 --101 --92 --94 --87 --76 --78 --75 --63 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -93 -92 -84 -75 -65 -61 -62 -57 -48 -40 -38 -41 -36 -28 -22 --35 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --104 --104 --105 --98 --100 --91 --80 --83 --79 --67 --69 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -106 -96 -88 -77 -71 -71 -67 -59 -50 -45 -47 -44 -37 -29 -27 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --98 --104 --106 --97 --86 --89 --80 --72 --76 --69 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -89 -82 -82 -77 -69 -59 -52 -55 -51 -45 -36 -33 -37 -34 -26 -20 -22 -24 -17 -11 -13 -16 -10 -3 -6 -9 -4 --2 -2 -4 --2 --7 -0 -1 --5 --8 --1 --2 --9 --9 --2 --5 --11 --10 --4 --7 --13 --69 --102 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --105 --106 --97 --86 --87 --83 --71 --72 --72 --60 --59 --62 --53 --48 --53 --51 --41 --42 --46 --37 --34 --38 --38 --29 --30 --35 --29 --24 --29 --30 --21 --22 --29 --23 --18 --23 --26 --17 --17 --23 --22 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -103 -94 -84 -76 -69 -63 -61 -59 -55 -50 -46 -42 -38 -34 --30 --90 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --107 --101 --102 --103 --98 --85 --87 --83 --71 --73 --69 --59 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -88 -85 -77 -66 -59 -59 -57 -50 -41 -36 -41 -36 -29 -22 --36 --90 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --103 --104 --107 --98 --99 --93 --81 --82 --80 --67 --67 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -107 -105 -97 -89 -79 -70 -65 -67 -61 -54 -44 -41 -45 -40 -32 -26 -27 -29 -23 -15 -13 -19 -15 -9 -5 -11 -10 -4 --1 -5 -6 -0 --5 -2 -2 --4 --7 -0 --1 --7 --10 --2 --3 --9 --12 --5 --4 --10 --14 --65 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --107 --101 --103 --90 --84 --86 --78 --69 --72 --67 --57 --60 --60 --47 --49 --51 --41 --40 --45 --37 --33 --37 --36 --27 --30 --34 --24 --24 --30 --26 --21 --25 --28 --18 --19 --25 --21 --16 --21 --24 --16 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -97 -88 -81 -75 -73 -69 -65 -59 -55 -50 -44 -38 -33 -29 -27 -26 -26 -24 -22 -19 -17 -15 -12 -10 -8 -6 -5 -4 -4 -4 -3 -2 -1 -0 --1 --2 --3 --3 --3 --4 --3 --3 --4 --4 --5 --5 --65 --102 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --111 --98 --100 --92 --82 --85 --77 --68 --73 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -88 -83 -83 -77 -69 -60 -52 -53 -51 -45 -37 -31 -34 -33 -27 --40 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --104 --106 --97 --87 --89 --84 --72 --76 --70 --61 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -100 -89 -87 -85 -77 -67 -58 -55 -57 -50 -41 -35 -39 -37 -30 -22 --38 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --106 --99 --101 --89 --81 --85 --77 --68 --71 --66 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -118 -114 -105 -95 -85 -76 -76 -73 -66 -57 -49 -49 -49 -43 -35 -30 -34 -31 --35 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --105 --107 --95 --87 --89 --81 --72 --75 --69 --60 --63 --60 --50 --54 --54 --43 --45 --48 --37 --36 --41 --37 --29 --33 --35 --26 --26 --32 --27 --21 --25 --29 --20 --19 --25 --25 --16 --18 --24 --19 --15 --20 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -118 -112 -103 -91 -82 -80 -77 -70 -61 -52 -53 -51 -45 -36 -31 -35 --27 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --111 --104 --106 --95 --86 --88 --82 --70 --73 --70 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -115 -104 -92 -82 -80 -78 -70 -61 -53 -55 -52 -46 -37 -33 -37 -34 -27 -20 -20 -24 -19 -13 -9 -14 -14 -9 -2 -4 -9 -5 --2 --2 -4 -0 --7 --5 -1 --3 --9 --5 --1 --5 --11 --5 --3 --8 --13 --6 --5 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --128 --98 --107 --108 --94 --89 --92 --80 --73 --76 --71 --61 --64 --62 --51 --52 --56 --44 --43 --48 --42 --35 --39 --40 --31 --31 --36 --29 --25 --30 --31 --21 --23 --29 --22 --18 --25 --25 --16 --19 --25 --18 --15 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -106 -97 -93 -91 -83 -73 -63 -61 -61 -55 -45 -38 -40 -39 -33 -24 -21 -27 -24 -17 -11 -18 -16 -10 -4 -10 -10 -4 --1 -5 -5 --1 --5 -3 -2 --5 --7 -0 --1 --8 --11 --3 --4 --9 --12 --5 --4 --68 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --97 --98 --105 --93 --93 --90 --76 --76 --77 --65 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -98 -87 -83 -83 -77 -69 -59 -52 -54 -51 -45 -35 -33 -37 -33 -24 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --111 --112 --102 --92 --93 --87 --76 --79 --75 --63 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -98 -91 -91 -84 -75 -65 -59 -61 -57 -49 -40 -37 -41 -35 -27 -23 --32 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --105 --107 --94 --87 --90 --80 --72 --76 --71 --61 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -105 -95 -84 -77 -77 -73 -65 -55 -48 -49 -47 -40 -32 -29 -34 -29 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --109 --102 --104 --105 --98 --85 --88 --81 --71 --73 --69 --59 --62 --60 --49 --51 --53 --42 --41 --47 --40 --34 --38 --40 --29 --30 --35 --30 --26 --30 --32 --22 --23 --29 --23 --18 --24 --26 --16 --19 --24 --18 --15 --20 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -111 -103 -93 -81 -76 -77 -70 -61 -52 -53 -51 -45 -36 -31 -36 -33 -25 -20 -22 -24 -18 -11 -10 -15 -11 -4 -3 -10 -5 --1 -1 -5 -0 --5 -0 -2 --3 --8 --2 --1 --6 --10 --4 --3 --8 --12 --6 --63 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --104 --105 --106 --99 --87 --90 --82 --73 --77 --70 --61 --65 --61 --51 --54 --54 --43 --47 --46 --36 --40 --41 --31 --34 --37 --27 --28 --34 --26 --23 --29 --29 --19 --23 --28 --21 --18 --23 --25 --16 --17 --23 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -109 -105 -95 -87 -77 -68 -65 -66 -59 -51 -43 -41 -44 -39 -31 -25 -27 -28 -22 -15 -16 -19 -13 -7 -9 -13 -7 -1 -4 -7 -1 --5 --1 -3 --2 --7 --3 -0 --5 --10 --5 --2 --7 --12 --5 --4 --10 --72 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --107 --108 --95 --88 --91 --82 --73 --75 --72 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -97 -92 -91 -83 -74 -64 -60 -62 -56 -48 -40 -38 -41 -35 -28 -21 --36 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --109 --98 --99 --93 --81 --83 --81 --68 --70 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -96 -85 -76 -74 -73 -66 -56 -48 -45 -48 -42 -34 -29 -32 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --104 --106 --97 --87 --89 --81 --72 --75 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -103 -91 -83 -80 -79 -71 -63 -54 -51 -53 -48 -39 -32 -33 -35 -29 --39 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --113 --104 --106 --96 --86 --88 --82 --71 --73 --71 --60 --62 --62 --49 --51 --54 --44 --41 --47 --42 --34 --38 --40 --29 --31 --35 --28 --25 --31 --29 --21 --25 --29 --20 --19 --26 --23 --16 --21 --24 --15 --17 --24 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -105 -96 -93 -90 -82 -74 -64 -58 -59 -56 -48 -40 -34 -37 -36 -30 -22 -21 -25 -22 -14 -11 -16 -15 -7 -3 -9 -9 -3 --2 -3 -5 --1 --5 -1 -2 --3 --8 --2 --1 --6 --10 --3 --2 --7 --11 --5 --63 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --110 --100 --101 --94 --83 --84 --81 --68 --71 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -105 -95 -93 -90 -81 -72 -63 -62 -61 -55 -45 -39 -42 -40 -33 -25 -25 --32 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --98 --104 --106 --98 --86 --88 --83 --71 --74 --71 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -93 -83 -79 -79 -72 -63 -54 -52 -53 -47 -37 -33 -37 -34 -25 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --100 --93 --95 --86 --76 --79 --76 --64 --67 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -98 -93 -91 -83 -74 -64 -61 -62 -56 -47 -40 -38 -41 -35 -28 -22 --36 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --105 --105 --106 --99 --101 --90 --82 --85 --77 --68 --71 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -106 -102 -97 -90 -80 -70 -65 -67 -61 -53 -44 -42 -45 -40 -31 -26 -29 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --104 --106 --97 --86 --88 --83 --71 --74 --71 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -112 -106 -96 -87 -77 -70 -70 -67 -60 -53 -44 -42 -44 -40 -33 -26 -26 --31 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --110 --105 --91 --93 --88 --76 --79 --76 --64 --67 --65 --54 --57 --56 --44 --48 --49 --38 --39 --43 --33 --33 --38 --33 --27 --31 --33 --23 --24 --30 --23 --20 --25 --27 --18 --19 --26 --20 --16 --21 --23 --15 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -105 -99 -93 -88 -82 -76 -70 -63 -56 -51 -45 -43 -39 -37 -35 --28 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --101 --102 --107 --97 --99 --88 --80 --84 --74 --67 --71 --65 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -106 -100 -98 -91 -83 -73 -65 -62 -63 -57 -48 -41 -40 -41 -35 -27 -24 --31 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --112 --107 --108 --93 --89 --91 --78 --73 --77 --68 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -94 -85 -77 -79 -74 -67 -58 -50 -48 -50 -44 -35 -29 -31 -31 -25 -17 -17 -21 -18 -11 -7 -12 -12 -6 -1 -3 -7 -3 --3 --2 -3 --1 --7 --4 -0 --5 --10 --4 --3 --9 --12 --5 --4 --10 --13 --7 --65 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --106 --107 --101 --103 --90 --83 --86 --78 --69 --71 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -96 -89 -90 -83 -74 -64 -59 -61 -56 -48 -40 -36 -40 -36 -29 -22 --38 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --112 --97 --102 --92 --95 --85 --77 --80 --73 --64 --68 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -110 -98 -92 -92 -84 -75 -64 -61 -62 -57 -48 -40 -38 -41 -36 -29 -23 --34 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --104 --108 --98 --100 --92 --81 --84 --78 --68 --71 --68 --57 --60 --59 --47 --50 --51 --40 --40 --45 --38 --33 --38 --37 --28 --31 --35 --26 --24 --30 --29 --20 --22 --28 --23 --18 --23 --26 --18 --17 --22 --23 --14 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -111 -105 -96 -87 -77 -69 -65 -65 -59 -53 -45 -39 -39 -40 -35 --33 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --101 --101 --110 --97 --97 --94 --80 --81 --80 --66 --67 --68 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -112 -106 -97 -89 -79 -71 -67 -68 -62 -54 -45 -41 -43 -41 -35 -27 -23 -27 -25 -21 -13 -12 -17 -14 -7 -3 -8 -9 -4 --1 -0 -6 -2 --5 --6 -2 -0 --6 --9 --1 --2 --7 --11 --4 --3 --8 --12 --6 --4 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --109 --99 --101 --94 --82 --85 --81 --69 --72 -7 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -96 -90 -90 -83 -75 -65 -58 -58 -56 -49 -41 -34 -37 -36 -29 -22 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --105 --105 --105 --100 --101 --88 --82 --85 --75 --68 --72 --65 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -106 -96 -87 -77 -70 -70 -67 -61 -52 -44 -43 -45 -40 -32 -26 -26 --32 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --96 --87 --89 --83 --72 --74 --71 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -115 -105 -94 -84 -79 -79 -73 -63 -54 -53 -54 -47 -38 -34 -38 -35 -27 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --113 --98 --100 --94 --96 --84 --78 --81 --73 --64 --68 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -91 -83 -83 -79 -71 -63 -54 -51 -53 -48 -40 -32 -30 -34 -29 --39 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --105 --107 --97 --88 --90 --82 --72 --76 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -102 -91 -85 -85 -77 -69 -60 -53 -56 -52 -45 -36 -35 -37 -33 -24 --40 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --99 --93 --95 --86 --76 --79 --74 --63 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -108 -98 -96 -92 -83 -74 -65 -62 -62 -57 -48 -40 -38 -41 -36 -28 -23 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --109 --98 --99 --94 --81 --82 --80 --67 --67 --70 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -106 -103 -98 -90 -80 -71 -67 -67 -61 -52 -45 -45 -45 -39 -31 -26 -29 --31 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --105 --105 --107 --100 --101 --93 --82 --84 --80 --68 --70 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -98 -89 -78 -70 -66 -67 -61 -53 -44 -42 -44 -40 -31 -26 -29 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --95 --87 --90 --81 --72 --76 --69 --60 --64 --61 --50 --55 --51 --42 --45 --46 --36 --40 --42 --32 --33 --37 --28 --27 --33 --29 --22 --27 --29 --20 --21 --27 --21 --17 --22 --24 --15 --16 --22 --20 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -105 -97 -94 -91 -83 -75 -65 -58 -59 -56 -49 -41 -35 -36 -35 --30 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --107 --102 --103 --103 --98 --86 --88 --83 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -92 -84 -81 -79 -71 -63 -53 -51 -52 -48 -40 -33 -31 -35 -30 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --97 --87 --89 --83 --72 --73 --72 --60 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -113 -107 -98 -89 -79 -71 -71 -68 -61 -52 -45 -47 -45 -39 -31 -26 -29 --31 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --98 --105 --107 --97 --87 --89 --84 --72 --73 --73 --61 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -103 -99 -91 -81 -72 -65 -67 -62 -54 -45 -42 -44 -39 -30 -25 -30 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --99 --87 --87 --85 --72 --70 --73 --62 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -102 -98 -91 -83 -75 -65 -59 -58 -57 -51 -44 -36 -35 -38 -33 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --105 --106 --97 --87 --90 --81 --73 --76 --69 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -104 -92 -83 -80 -79 -73 -64 -55 -50 -52 -48 -41 -33 -30 -34 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --103 --110 --98 --99 --93 --81 --84 --78 --68 --72 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -94 -84 -77 -78 -73 -66 -57 -49 -46 -48 -43 -36 -29 -27 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --99 --105 --108 --96 --88 --91 --81 --73 --77 --70 --61 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -89 -84 -84 -77 -69 -59 -54 -57 -51 -44 -35 -35 -37 -33 -24 -20 -24 -23 -17 -11 -13 -16 -11 -4 -6 -11 -6 --1 -0 -5 -0 --6 --3 -2 --3 --8 --3 --1 --7 --10 --2 --3 --10 --11 --3 --5 --12 --72 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --107 --109 --96 --89 --92 --82 --73 --76 --73 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -102 -93 -84 -76 -74 -72 -66 -58 -49 -43 -47 -43 -37 -29 -26 -31 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --97 --87 --88 --85 --72 --73 --73 --61 --60 --63 --54 --48 --51 --51 --41 --40 --44 --41 --33 --34 --39 --31 --27 --31 --33 --24 --23 --29 --28 --19 --22 --28 --21 --18 --22 --25 --17 --16 --21 --23 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -106 -100 -95 -89 -82 -76 -70 -63 -56 -50 -45 -41 -38 -37 -34 --28 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --110 --112 --103 --104 --95 --85 --87 --82 --70 --74 --70 --59 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -88 -85 -77 -67 -59 -57 -57 -51 -42 -37 -41 -37 -30 -23 --37 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --105 --105 --105 --100 --101 --90 --82 --85 --77 --68 --71 --67 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -100 -90 -88 -85 -78 -71 -62 -54 -52 -53 -48 -40 -32 -29 -33 -30 --37 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --101 --105 --107 --97 --87 --90 --83 --72 --75 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -92 -83 -80 -79 -71 -64 -55 -49 -51 -49 -43 -35 -29 -31 -32 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --99 --105 --106 --97 --87 --88 --84 --72 --74 --72 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -97 -87 -77 -71 -72 -67 -58 -49 -45 -48 -44 -37 -29 -27 -31 -28 -21 -15 -15 -19 -14 -7 -6 -13 -9 -2 -1 -8 -4 --3 --3 -3 -0 --6 --7 -1 --2 --8 --9 --1 --3 --10 --10 --3 --5 --10 --13 --65 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --102 --99 --99 --100 --97 --84 --85 --83 --69 --71 --70 --58 --60 --61 --49 --51 --53 --41 --43 --47 --36 --35 --41 --35 --29 --34 --34 --25 --27 --32 --23 --23 --29 --26 --19 --23 --26 --16 --18 --24 --18 --15 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -89 -88 -83 -76 -65 -58 -57 -56 -50 -42 -35 -36 -37 --29 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --112 --104 --105 --96 --86 --88 --83 --71 --73 --71 --59 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -102 -99 -92 -83 -73 -65 -66 -63 -56 -46 -40 -42 -41 -35 -28 -23 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --107 --99 --101 --92 --81 --83 --79 --68 --70 --70 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -102 -91 -84 -84 -79 -71 -61 -54 -56 -52 -45 -36 -32 -36 -33 -27 -20 -19 -24 -20 -13 -9 -14 -14 -9 -2 -4 -8 -5 --2 --2 -4 -1 --5 --6 -1 --1 --9 --8 --2 --5 --11 --8 --3 --6 --12 --8 --5 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --105 --107 --98 --87 --91 --82 --74 --77 --71 --62 --66 --61 --52 --56 --54 --43 --48 --46 --37 --43 --40 --32 --38 --37 --28 --33 --34 --24 --28 --31 --21 --23 --29 --20 --19 --26 --23 --16 --20 --24 --15 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -106 -102 -97 -90 -83 -77 -71 -64 -56 -50 -45 -42 -41 -39 -36 -33 -29 -26 -21 -17 -15 -14 -13 -13 -12 -11 -9 -8 -6 -5 -3 -1 -0 -0 -0 -0 --1 --1 --2 --3 --4 --4 --6 --6 --7 --7 --8 --66 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --107 --107 --99 --88 --91 --83 --74 --78 --70 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -119 -114 -105 -95 -85 -76 -72 -71 -65 -57 -48 -43 -47 -43 -37 -28 -27 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --95 --87 --89 --83 --72 --74 --72 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -98 -93 -91 -83 -74 -64 -63 -62 -56 -45 -41 -44 -40 -32 -25 -29 --33 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --105 --107 --98 --87 --90 --82 --72 --76 --69 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -104 -91 -84 -84 -79 -71 -61 -54 -56 -52 -45 -35 -35 -37 -31 -23 --41 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --101 --97 --98 --98 --96 --82 --83 --81 --68 --69 --69 --56 --57 --59 --48 --46 --51 --44 --38 --42 --42 --32 --34 --39 --29 --27 --34 --30 --23 --27 --30 --21 --22 --28 --23 --17 --23 --24 --15 --17 --23 --17 --14 -58 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -90 -90 -84 -77 -68 -59 -55 -57 -51 -44 -35 -34 -37 --29 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --98 --104 --106 --95 --86 --89 --80 --71 --75 --68 --59 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -93 -84 -81 -79 -73 -64 -55 -51 -53 -48 -41 -33 -31 -35 -31 -23 -17 -20 -21 -16 -9 -8 -14 -11 -3 -1 -9 -6 --1 --3 -4 -2 --5 --6 -0 -0 --6 --9 --3 --2 --7 --11 --6 --4 --10 --14 --7 --66 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --107 --109 --97 --89 --92 --83 --74 --76 --72 --61 --64 --62 --51 --54 --54 --43 --46 --48 --37 --39 --42 --32 --31 --37 --32 --25 --29 --31 --22 --23 --30 --24 --19 --23 --26 --16 --18 --24 --20 --15 --19 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -112 -109 -104 -94 -83 -75 -77 -71 -63 -52 -49 -52 -46 -37 -32 -36 -33 -26 -19 -21 -23 -18 -11 -9 -15 -12 -5 -2 -9 -6 -1 --3 -3 -3 --1 --6 --3 -1 --2 --9 --6 --1 --5 --11 --8 --3 --6 --12 --70 --102 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --97 --109 --109 --93 --91 --92 --78 --75 --78 --69 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -102 -91 -83 -80 -79 -71 -63 -54 -49 -51 -47 -39 -32 -31 -33 -28 --40 --101 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --95 --87 --90 --84 --73 --75 --72 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -101 -99 -91 -82 -72 -65 -65 -61 -55 -45 -39 -42 -41 -34 -26 -23 --32 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --105 --111 --99 --99 --94 --81 --83 --80 --67 --70 --68 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -113 -106 -97 -87 -77 -71 -71 -67 -61 -53 -44 -43 -45 -41 -33 -27 -28 --31 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --108 --97 --88 --90 --82 --73 --76 --71 --61 --64 --62 --50 --54 --54 --43 --46 --48 --36 --39 --41 --31 --33 --37 --27 --27 --33 --26 --23 --28 --29 --20 --21 --27 --20 --17 --22 --24 --15 --17 --23 --19 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -105 -98 -92 -88 -83 -77 -71 -65 -59 -52 -46 -41 -37 -35 -33 -31 -29 -27 -24 -21 -18 -15 -13 -12 -10 -10 -9 -8 -7 -6 -4 -2 -0 --1 --2 --2 --2 --2 --3 --3 --4 --4 --5 --5 --6 --6 --7 --66 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --102 --107 --108 --96 --89 --91 --80 --73 --77 --70 --61 --64 --62 --51 --53 --55 --43 --43 --48 --41 --35 --39 --40 --30 --32 --37 --29 --26 --31 --31 --22 --24 --29 --22 --19 --25 --25 --16 --19 --25 --16 --15 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -106 -96 -92 -91 -83 -75 -65 -58 -58 -57 -50 -42 -35 -37 -37 -31 -23 -21 -26 -22 -14 -10 -16 -14 -7 -3 -8 -9 -3 --2 -4 -4 --2 --5 -1 -2 --4 --8 --2 --1 --6 --10 --6 --2 --7 --12 --6 --64 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --105 --106 --101 --102 --89 --83 --86 --80 --70 --72 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -88 -83 -83 -77 -69 -60 -52 -53 -51 -45 -36 -31 -33 -33 -27 --41 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --106 --108 --96 --88 --90 --83 --73 --75 --72 --61 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -107 -97 -87 -76 -73 -73 -67 -59 -49 -45 -49 -44 -37 -29 -28 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --97 --87 --89 --84 --72 --74 --72 --60 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -99 -91 -80 -71 -66 -67 -62 -55 -45 -41 -44 -41 -33 -26 -24 --32 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --103 --105 --105 --100 --87 --88 --85 --72 --74 --73 --61 --63 --63 --50 --53 --54 --43 --43 --47 --38 --35 --41 --38 --29 --32 --35 --26 --25 --32 --28 --21 --25 --29 --19 --19 --25 --25 --17 --20 --25 --20 --15 --19 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -104 -102 -98 -89 -80 -70 -63 -65 -61 -53 -44 -40 -43 -41 -35 -27 -23 -29 -26 -21 -14 -13 -18 -15 -9 -4 -7 -10 -5 --1 -0 -5 -1 --5 --6 -1 -0 --6 --9 --1 --3 --9 --11 --3 --5 --11 --12 --64 --120 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --99 --99 --101 --95 --96 --89 --78 --80 --77 --65 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -107 -105 -97 -89 -79 -70 -67 -67 -60 -51 -43 -45 -44 -38 -29 -26 -30 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --128 --99 --105 --107 --98 --87 --88 --85 --72 --74 --73 --61 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -114 -107 -97 -87 -77 -73 -73 -67 -58 -50 -45 -48 -43 -37 -29 -26 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --106 --108 --98 --88 --91 --82 --72 --76 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -103 -91 -84 -84 -78 -69 -60 -54 -57 -52 -45 -36 -34 -37 -33 -25 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --112 --97 --104 --92 --95 --88 --77 --80 --75 --64 --67 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -111 -100 -95 -94 -85 -75 -66 -64 -63 -57 -47 -41 -42 -42 -34 -26 -25 --32 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --108 --94 --88 --90 --83 --72 --74 --73 --61 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -101 -99 -91 -82 -72 -65 -66 -62 -55 -46 -40 -42 -40 -34 -27 -23 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --109 --99 --101 --93 --82 --84 --79 --68 --70 --67 --56 --60 --58 --47 --51 --50 --40 --45 --43 --34 --38 --39 --29 --33 --35 --25 --27 --33 --25 --22 --27 --29 --19 --20 --26 --23 --16 --20 --24 --16 --15 --21 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -90 -89 -84 -77 -67 -59 -55 -57 -51 -44 -35 -34 -37 --29 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --112 --104 --106 --94 --86 --89 --81 --71 --74 --70 --59 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -107 -96 -86 -77 -77 -74 -66 -56 -49 -51 -49 -42 -33 -29 -33 -30 --37 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --101 --105 --107 --95 --87 --90 --81 --72 --75 --68 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -101 -90 -87 -85 -78 -67 -58 -57 -56 -50 -42 -35 -37 -37 -31 -23 -21 -26 -22 -15 -11 -16 -15 -10 -4 -4 -10 -6 -0 --2 -5 -3 --3 --7 -0 -0 --4 --9 --5 --1 --5 --11 --6 --3 --8 --12 --5 --5 --70 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --107 --106 --102 --103 --88 --84 --87 --76 --69 --73 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -121 -114 -105 -94 -84 -76 -75 -72 -65 -56 -49 -46 -48 -43 -35 -29 -30 -31 --35 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --105 --107 --98 --87 --89 --85 --72 --74 --73 --61 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -98 -89 -78 -71 -71 -67 -60 -51 -44 -45 -44 -38 -30 -25 -29 --33 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --106 --108 --97 --88 --90 --84 --72 --74 --72 --60 --62 --63 --50 --52 --54 --43 --43 --47 --38 --35 --40 --38 --29 --32 --35 --26 --25 --31 --29 --22 --25 --30 --21 --19 --25 --26 --17 --19 --25 --19 --14 --19 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -109 -106 -97 -87 -76 -73 -73 -66 -55 -48 -49 -48 -41 -32 -30 --27 --89 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --105 --106 --97 --86 --88 --84 --71 --73 --72 --59 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -107 -98 -88 -77 -73 -74 -67 -59 -50 -47 -49 -44 -37 -29 -29 -32 -27 -19 -14 -18 -19 -14 -8 -8 -13 -9 -2 -2 -8 -4 --3 -0 -4 --2 --7 --2 -1 --4 --9 --4 --1 --7 --11 --5 --3 --9 --13 --7 --65 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --107 --109 --96 --90 --92 --83 --74 --76 --73 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -92 -91 -84 -75 -65 -58 -58 -56 -50 -41 -35 -38 -37 -31 -23 --40 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --98 --98 --100 --94 --96 --86 --77 --80 --75 --64 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -110 -99 -91 -91 -85 -77 -68 -59 -57 -58 -52 -44 -36 -36 -37 -33 -24 --41 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --113 --98 --101 --93 --95 --86 --76 --79 --73 --63 --67 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -90 -85 -78 -67 -59 -57 -57 -51 -42 -36 -39 -37 -30 -22 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --112 --97 --103 --92 --95 --88 --78 --81 --75 --65 --68 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -101 -90 -89 -86 -77 -67 -59 -58 -57 -51 -42 -36 -40 -37 -31 -23 --38 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --105 --105 --103 --101 --87 --85 --86 --73 --70 --73 --63 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -102 -91 -83 -80 -79 -72 -64 -55 -50 -51 -49 -43 -34 -29 -33 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --107 --98 --87 --89 --84 --72 --74 --72 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -113 -107 -98 -89 -78 -71 -71 -68 -60 -51 -44 -47 -44 -38 -29 -27 -31 --35 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --105 --107 --97 --87 --89 --85 --73 --74 --73 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -116 -107 -96 -86 -77 -78 -73 -65 -55 -49 -51 -48 -40 -32 -31 -35 -30 --38 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --106 --105 --101 --102 --88 --83 --86 --76 --69 --72 --67 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -105 -95 -86 -77 -73 -73 -67 -58 -49 -45 -48 -44 -37 -29 -27 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --109 --104 --104 --103 --101 --86 --86 --85 --71 --72 --72 --60 --60 --63 --51 --50 --55 --46 --41 --46 --43 --34 --38 --40 --29 --32 --36 --26 --26 --32 --26 --21 --27 --28 --19 --21 --26 --18 --17 --24 --21 --14 --19 --24 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -104 -94 -85 -75 -73 -72 -66 -58 -49 -43 -45 -43 -38 -30 --36 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --101 --104 --105 --99 --86 --87 --83 --71 --74 --70 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -103 -90 -83 -84 -79 -70 -60 -54 -57 -52 -45 -37 -34 -38 -34 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --101 --104 --104 --99 --85 --86 --84 --70 --71 --72 --59 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -92 -83 -79 -79 -72 -65 -55 -49 -49 -48 -42 -34 -29 -31 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --108 --105 --104 --102 --101 --87 --83 --86 --73 --69 --73 --65 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -99 -97 -92 -84 -75 -65 -61 -62 -57 -49 -40 -37 -40 -35 -28 -22 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --103 --97 --99 --99 --95 --81 --81 --81 --67 --67 --69 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -99 -93 -91 -84 -77 -67 -59 -54 -57 -52 -47 -39 -33 -33 -35 -30 --37 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --104 --109 --98 --100 --92 --81 --84 --77 --68 --72 --65 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -112 -99 -89 -89 -85 -77 -68 -59 -57 -58 -51 -43 -36 -37 -37 -32 -23 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --112 --97 --105 --92 --94 --89 --77 --79 --75 --64 --67 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -100 -99 -93 -84 -74 -65 -64 -63 -57 -47 -41 -41 -40 -33 -25 -23 --33 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --111 --99 --100 --95 --82 --83 --81 --68 --69 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -108 -105 -99 -91 -80 -71 -66 -67 -62 -54 -45 -42 -45 -40 -32 -26 -27 -29 -23 -16 -14 -20 -15 -8 -7 -13 -9 -2 -2 -8 -3 --3 --3 -3 --1 --7 --5 -1 --4 --9 --4 --1 --7 --11 --4 --4 --10 --12 --4 --67 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --105 --106 --106 --101 --88 --90 --84 --73 --77 --70 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -101 -89 -83 -83 -78 -70 -62 -53 -51 -52 -47 -38 -32 -33 -34 -27 --41 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --99 --105 --107 --96 --87 --89 --84 --72 --74 --73 --61 --60 --63 --51 --49 --53 --48 --40 --44 --45 --34 --35 --40 --33 --29 --33 --34 --25 --25 --31 --27 --21 --24 --28 --21 --19 --24 --26 --17 --17 --23 --23 --14 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -103 -91 -83 -78 -77 -71 -63 -54 -49 -52 -49 -42 -35 -30 --28 --86 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --104 --104 --105 --99 --101 --89 --81 --84 --77 --67 --69 --68 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -102 -91 -84 -81 -79 -73 -65 -56 -49 -49 -49 -44 -36 -29 -30 -32 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --96 --87 --89 --82 --72 --75 --71 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -116 -106 -95 -85 -77 -79 -73 -67 -57 -50 -49 -49 -43 -35 -29 -32 -31 --36 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --98 --87 --88 --85 --73 --73 --73 --61 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -92 -84 -80 -80 -73 -64 -54 -49 -51 -47 -40 -32 -30 -34 -30 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --102 --105 --107 --97 --87 --90 --82 --72 --75 --71 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -105 -95 -85 -76 -75 -73 -66 -56 -49 -49 -48 -42 -33 -29 -34 -31 -25 -17 -19 -22 -18 -10 -10 -16 -12 -3 -4 -9 -5 --2 -2 -5 -0 --5 -2 -1 --5 --8 -0 --2 --9 --10 --2 --5 --12 --9 --4 --9 --73 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --106 --111 --100 --102 --94 --83 --85 --81 --69 --71 --70 --59 --61 --61 --49 --51 --53 --41 --41 --46 --37 --34 --39 --37 --28 --32 --34 --25 --24 --31 --28 --21 --24 --28 --19 --18 --23 --25 --16 --18 --24 --20 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -112 -104 -95 -85 -77 -71 -64 -61 -58 -55 -51 -47 -43 -39 -34 --31 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --107 --104 --104 --100 --101 --88 --81 --84 --77 --67 --70 --68 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -94 -85 -78 -79 -74 -67 -57 -49 -49 -49 -43 -35 -29 -33 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --97 --87 --88 --84 --72 --73 --73 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -90 -90 -85 -77 -67 -59 -55 -57 -53 -46 -38 -33 -35 -34 -27 -20 -17 -23 -20 -13 -8 -14 -13 -7 -2 -8 -9 -3 --2 -2 -5 -0 --6 --3 -2 --1 --8 --5 -0 --3 --10 --6 --3 --7 --13 --7 --5 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --107 --110 --101 --103 --94 --83 --85 --81 --69 --71 --69 --57 --59 --60 --48 --48 --52 --44 --39 --45 --42 --33 --36 --39 --29 --29 --35 --29 --25 --30 --30 --21 --23 --28 --21 --18 --23 --25 --16 --17 --23 --20 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -98 -90 -83 -77 -75 -71 -66 -60 -55 -49 -44 -38 -34 -31 -29 -27 -27 -24 -23 -20 -18 -15 -12 -9 -7 -7 -6 -5 -5 -4 -3 -1 -0 --1 --2 --3 --3 --3 --3 --4 --4 --4 --5 --5 --6 --7 --66 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --107 --108 --101 --102 --93 --83 --84 --81 --68 --69 -5 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -108 -97 -91 -91 -83 -74 -64 -59 -61 -56 -48 -40 -37 -40 -35 -27 -22 --35 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --105 --108 --100 --102 --94 --83 --84 --81 --68 --70 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -105 -99 -90 -79 -70 -65 -67 -61 -52 -44 -43 -44 -40 -31 -26 -29 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --98 --87 --89 --84 --72 --75 --72 --61 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -95 -84 -77 -79 -73 -64 -54 -50 -53 -48 -39 -33 -33 -35 -29 --39 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --114 --105 --107 --95 --87 --89 --82 --72 --75 --70 --60 --64 --62 --51 --54 --53 --43 --45 --47 --36 --37 --42 --33 --30 --36 --34 --25 --28 --32 --23 --22 --28 --27 --18 --21 --26 --20 --16 --22 --24 --16 --16 --22 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -99 -89 -87 -84 -77 -66 -57 -55 -57 -50 -41 -35 -39 -36 --32 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --105 --106 --94 --86 --88 --82 --71 --73 --71 --59 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -107 -104 -98 -90 -81 -71 -65 -67 -62 -54 -45 -41 -45 -41 -33 -26 -25 -29 -24 -18 -13 -17 -17 -13 -6 -5 -10 -8 -1 --1 -5 -4 --2 --6 -0 -2 --4 --8 --3 -0 --5 --10 --7 --2 --6 --11 --10 --4 --7 --72 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --102 --105 --108 --96 --88 --91 --80 --73 --77 --69 --61 --66 --60 --52 --55 --53 --43 --47 --47 --37 --39 --42 --31 --33 --38 --29 --27 --33 --31 --23 --26 --30 --20 --21 --27 --25 --18 --22 --26 --18 --16 --22 -54 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -104 -99 -97 -90 -80 -70 -63 -64 -60 -53 -44 -39 -43 -40 -33 -25 -24 -29 -25 -17 -13 -17 -17 -12 -5 -8 -11 -7 -0 -0 -7 -3 --4 --6 -1 -1 --5 --8 --1 --1 --8 --10 --4 --3 --8 --12 --7 --64 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --106 --106 --102 --102 --89 --84 --86 --78 --69 --72 -8 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -90 -91 -84 -76 -65 -59 -59 -57 -50 -41 -36 -40 -37 -30 -22 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --104 --110 --98 --100 --92 --82 --85 --76 --68 --72 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -108 -105 -99 -90 -80 -70 -66 -67 -61 -53 -44 -41 -43 -39 -31 -25 -25 --33 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --110 --108 --92 --93 --90 --77 --77 --77 --63 --64 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -112 -99 -91 -91 -85 -77 -67 -59 -55 -57 -51 -45 -36 -34 -37 -33 -26 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --99 --105 --107 --96 --87 --89 --82 --72 --76 --69 --60 --63 --60 --50 --53 --53 --42 --44 --47 --37 --37 --42 --37 --30 --33 --36 --27 --25 --31 --30 --21 --23 --29 --21 --18 --23 --25 --16 --17 --24 --19 --14 --18 -54 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -111 -105 -95 -85 -75 -72 -72 -65 -57 -48 -45 -48 -42 -35 -27 -30 -30 -24 -17 -17 -21 -17 -10 -7 -13 -12 -5 -1 -7 -7 -2 --3 -1 -4 --1 --7 --3 -1 --3 --9 --6 --1 --6 --12 --8 --3 --8 --72 --108 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --112 --100 --101 --95 --83 --84 --81 --69 --70 --70 --57 --58 --60 --49 --48 --52 --45 --39 --43 --43 --33 --34 --39 --31 --28 --33 --33 --24 --25 --31 --26 --20 --25 --27 --18 --19 --25 --20 --15 --20 --23 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -103 -98 -93 -89 -83 -77 -70 -63 -56 -51 -45 -42 -39 -37 -35 -33 -29 -26 -23 -20 -17 -15 -13 -12 -10 -9 -8 -7 -6 -5 -3 -2 -1 -1 -0 -0 -0 --1 --1 --2 --2 --3 --4 --5 --6 --6 --6 --65 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --106 --106 --107 --101 --88 --90 --84 --73 --76 --71 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -121 -114 -104 -93 -83 -77 -78 -71 -63 -54 -48 -51 -48 -41 -32 -28 -33 -29 --38 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --114 --105 --107 --97 --87 --90 --82 --72 --76 --70 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -90 -84 -84 -77 -69 -60 -54 -57 -52 -44 -36 -37 -38 -32 -23 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --112 --97 --102 --92 --94 --87 --77 --79 --75 --63 --67 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -111 -99 -90 -90 -85 -77 -66 -59 -60 -57 -50 -41 -37 -41 -37 -31 -23 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --112 --97 --102 --92 --95 --86 --77 --80 --74 --64 --68 --66 --54 --56 --57 --46 --46 --49 --42 --36 --41 --41 --31 --32 --37 --30 --26 --31 --32 --22 --23 --29 --24 --18 --23 --26 --17 --17 --24 --23 --15 --18 --23 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -105 -97 -95 -91 -82 -73 -63 -57 -59 -55 -48 -40 -35 -38 -36 -31 -22 -20 -25 -22 -15 -10 -15 -15 -9 -3 -6 -9 -4 --2 -0 -5 -1 --6 --4 -1 --2 --8 --5 --1 --5 --11 --5 --3 --8 --12 --4 --65 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --107 --109 --94 --89 --91 --79 --74 --77 --69 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -97 -89 -89 -83 -77 -67 -59 -54 -57 -51 -45 -37 -32 -35 -34 -28 --39 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --103 --105 --106 --99 --87 --89 --82 --72 --76 --69 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -91 -85 -77 -66 -59 -61 -57 -49 -41 -37 -41 -36 -28 -21 --37 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --108 --98 --100 --93 --82 --84 --80 --68 --70 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -107 -99 -98 -91 -84 -74 -64 -59 -60 -56 -50 -42 -36 -38 -37 -33 -24 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --99 --92 --94 --85 --76 --78 --74 --63 --65 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -99 -89 -89 -84 -77 -67 -59 -55 -57 -51 -44 -35 -35 -37 -32 -23 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --112 --97 --103 --92 --94 --88 --76 --79 --75 --63 --66 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -99 -94 -93 -84 -74 -65 -65 -62 -55 -45 -42 -45 -41 -32 -25 -28 --33 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --107 --107 --94 --88 --90 --83 --73 --75 --72 --60 --62 --62 --50 --51 --54 --43 --41 --47 --40 --35 --39 --39 --29 --31 --36 --28 --25 --30 --30 --21 --23 --29 --22 --19 --24 --25 --16 --18 --24 --19 --14 --19 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -112 -103 -93 -83 -75 -77 -71 -64 -54 -48 -51 -48 -40 -32 -30 --27 --89 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --112 --104 --106 --93 --86 --89 --80 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -102 -90 -87 -86 -78 -68 -59 -59 -58 -51 -42 -37 -41 -37 -31 -23 --39 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --112 --112 --104 --92 --93 --89 --76 --76 --77 --63 --63 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -98 -96 -92 -83 -73 -64 -64 -62 -56 -47 -40 -39 -41 -35 -27 -22 -26 -25 -19 -12 -14 -17 -14 -6 -6 -11 -8 -0 -1 -6 -2 --5 --3 -2 --1 --7 --4 -0 --4 --11 --6 --3 --8 --12 --5 --4 --10 --13 --63 --122 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --106 --106 --103 --102 --87 --86 --87 --73 --71 --74 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -107 -105 -96 -88 -77 -69 -69 -67 -59 -50 -43 -46 -44 -38 -29 -26 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --106 --99 --86 --87 --85 --72 --72 --73 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -103 -99 -91 -80 -71 -66 -67 -61 -53 -44 -44 -45 -40 -31 -26 -30 --32 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --104 --106 --98 --86 --88 --83 --72 --76 --72 --61 --63 --62 --50 --53 --54 --43 --45 --47 --36 --37 --41 --32 --30 --36 --32 --24 --28 --31 --21 --21 --27 --25 --18 --22 --27 --19 --17 --23 --23 --15 --17 --23 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -105 -96 -92 -90 -83 -75 -67 -58 -54 -56 -51 -45 -36 -32 -36 --27 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --111 --98 --104 --105 --95 --86 --88 --81 --71 --74 --69 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -106 -95 -85 -77 -77 -73 -67 -57 -49 -48 -49 -43 -35 -29 -33 -31 -26 -18 -18 -22 -18 -10 -7 -13 -11 -4 -1 -7 -7 -1 --3 -2 -3 --2 --7 --2 -1 --4 --9 --4 --2 --7 --11 --7 --3 --8 --13 --8 --65 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --104 --105 --107 --99 --88 --91 --84 --74 --77 --71 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -117 -113 -105 -95 -85 -75 -71 -71 -66 -58 -49 -43 -44 -43 -38 -30 -25 -26 --32 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --107 --95 --88 --90 --79 --73 --77 --69 --61 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -100 -89 -86 -85 -77 -67 -59 -59 -57 -49 -41 -38 -42 -37 -29 -24 --32 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --108 --99 --101 --91 --81 --84 --78 --68 --71 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -106 -96 -87 -77 -71 -72 -67 -59 -50 -44 -48 -44 -38 -29 -28 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --113 --105 --106 --96 --86 --89 --83 --72 --75 --72 --61 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -93 -83 -81 -79 -71 -62 -53 -53 -51 -45 -35 -33 -37 -33 -25 --41 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --98 --98 --100 --93 --95 --86 --76 --78 --75 --63 --65 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -106 -97 -87 -76 -72 -73 -67 -58 -49 -45 -48 -43 -36 -29 -29 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --104 --105 --99 --86 --87 --85 --71 --73 --73 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -98 -93 -92 -84 -75 -65 -60 -61 -56 -48 -40 -38 -41 -35 -27 -22 --33 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --101 --102 --109 --97 --97 --93 --80 --82 --79 --67 --70 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -106 -97 -87 -77 -71 -71 -67 -59 -51 -44 -45 -43 -37 -29 -26 -30 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --107 --108 --95 --88 --90 --81 --72 --74 --72 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -105 -98 -89 -78 -70 -68 -67 -60 -51 -44 -46 -45 -38 -29 -27 -31 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --98 --104 --106 --98 --86 --88 --84 --71 --74 --71 --60 --64 --60 --50 --54 --52 --42 --46 --46 --36 --40 --42 --31 --34 --37 --27 --28 --33 --27 --22 --27 --29 --19 --20 --27 --21 --16 --20 --24 --17 --15 --20 --23 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -106 -98 -90 -83 -79 -76 -71 -66 -60 -55 -50 -45 -38 -33 -29 --34 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --104 --105 --96 --86 --87 --85 --71 --71 --72 --61 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -98 -90 -81 -71 -64 -65 -61 -55 -46 -40 -43 -41 -35 -27 -27 --30 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --98 --105 --107 --96 --87 --89 --82 --72 --75 --71 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -122 -115 -104 -92 -83 -80 -79 -71 -62 -54 -53 -53 -47 -38 -33 -36 -34 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --99 --104 --107 --95 --87 --90 --80 --72 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -93 -83 -80 -79 -71 -63 -53 -52 -53 -47 -37 -32 -36 -33 -25 --41 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --107 --106 --93 --87 --90 --81 --72 --75 --71 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -116 -105 -93 -84 -82 -79 -71 -61 -53 -54 -52 -45 -36 -33 -37 -33 -25 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --107 --97 --87 --89 --83 --72 --75 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -101 -89 -86 -85 -78 -67 -59 -58 -58 -51 -42 -35 -38 -37 -31 -22 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --103 --103 --104 --98 --100 --90 --81 --83 --78 --67 --69 --68 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -90 -89 -85 -77 -67 -59 -56 -57 -51 -43 -35 -36 -37 -32 -23 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --112 --97 --99 --92 --95 --86 --77 --79 --76 --64 --65 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -90 -89 -85 -77 -68 -59 -54 -56 -52 -45 -36 -33 -37 -34 -28 -21 -19 -24 -21 -14 -9 -13 -14 -9 -2 -4 -9 -5 --3 -0 -5 --1 --7 --4 -0 --4 --10 --5 --1 --6 --11 --5 --3 --9 --13 --5 --5 --70 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --108 --106 --105 --103 --102 --87 --86 --86 --73 --72 --74 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -105 -99 -97 -90 -81 -71 -63 -63 -61 -55 -45 -39 -41 -40 -34 -26 -23 --32 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --113 --106 --107 --94 --88 --90 --80 --72 --77 --70 --61 --65 --62 --50 --53 --54 --43 --42 --47 --40 --35 --39 --40 --30 --31 --36 --28 --25 --31 --30 --21 --22 --28 --24 --18 --21 --26 --18 --16 --21 --23 --14 --14 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -104 -97 -96 -90 -81 -70 -62 -63 -60 -53 -44 -38 -42 -39 -32 --36 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --109 --99 --103 --105 --95 --85 --89 --79 --71 --76 --66 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -93 -83 -79 -79 -72 -63 -54 -51 -53 -48 -41 -33 -31 -35 -30 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --107 --106 --91 --89 --90 --76 --73 --77 --66 --61 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -96 -86 -77 -73 -73 -67 -59 -50 -45 -47 -43 -37 -28 -27 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --105 --106 --98 --87 --89 --83 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -104 -91 -83 -80 -79 -71 -62 -53 -53 -53 -47 -37 -33 -37 -34 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --100 --104 --106 --98 --86 --89 --82 --71 --74 --71 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -102 -91 -86 -85 -78 -69 -60 -57 -58 -51 -43 -36 -40 -37 -31 -23 -23 -26 -21 -12 -12 -16 -13 -6 -4 -11 -8 -0 --1 -6 -4 --3 --5 -2 -0 --6 --7 -0 --2 --9 --10 --2 --4 --11 --11 --3 --6 --13 --73 --104 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --106 --107 --98 --88 --90 --86 --73 --75 --73 --61 --62 --63 --51 --51 --55 --45 --41 --46 --43 --34 --38 --40 --30 --31 --36 --28 --25 --31 --30 --21 --24 --29 --24 --19 --24 --26 --17 --18 --24 --19 --15 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -107 -96 -88 -88 -83 -75 -65 -57 -56 -56 -50 -41 -35 -38 -37 --31 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 diff --git a/traces/HID-weak-fob-11647.pm3 b/traces/HID-weak-fob-11647.pm3 new file mode 100644 index 000000000..214ed2186 --- /dev/null +++ b/traces/HID-weak-fob-11647.pm3 @@ -0,0 +1,20000 @@ +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +3 +4 +1 +-4 +-13 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-14 +-22 +-27 +-26 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-9 +0 +3 +4 +0 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +2 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-7 +-7 +-9 +-16 +-22 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-28 +-28 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +1 +-1 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-4 +-12 +-19 +-26 +-16 +-10 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-15 +-9 +-4 +-5 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +3 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-5 +-14 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-7 +-15 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-3 +-13 +-21 +-26 +-17 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-24 +-29 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-3 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-24 +-13 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-26 +-26 +-12 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +1 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +1 +1 +1 +-5 +-15 +-23 +-27 +-28 +-13 +-5 +0 +-1 +-4 +-13 +-21 +-26 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-16 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-10 +-8 +-8 +-10 +-18 +-23 +-27 +-15 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-5 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-17 +-11 +-8 +-8 +-9 +-17 +-23 +-27 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-13 +-9 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-3 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-15 +-20 +-25 +-14 +-7 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-3 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +1 +-1 +-6 +-15 +-25 +-28 +-28 +-13 +-5 +0 +1 +-1 +-7 +-14 +-24 +-28 +-28 +-14 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-22 +-25 +-25 +-9 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-20 +-27 +-16 +-10 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-4 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-5 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-13 +-8 +-8 +-10 +-17 +-23 +-28 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-14 +-22 +-25 +-25 +-10 +-1 +3 +2 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-3 +1 +0 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-29 +-29 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-10 +-1 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-2 +-6 +-15 +-24 +-29 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-22 +-26 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-13 +-20 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-28 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-29 +-27 +-13 +-4 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +1 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-6 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-20 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-14 +-22 +-25 +-24 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +1 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-8 +-7 +-9 +-17 +-23 +-28 +-16 +-10 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +1 +3 +1 +-4 +-13 +-21 +-27 +-27 +-12 +-3 +0 +1 +0 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-27 +-14 +-5 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-7 +-5 +-4 +-6 +-15 +-21 +-25 +-24 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-18 +-12 +-8 +-8 +-10 +-16 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-7 +-4 +-4 +-6 +-15 +-21 +-26 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-24 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-26 +-10 +-1 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-3 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-26 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-14 +-22 +-25 +-25 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +1 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-25 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-29 +-14 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-7 +-11 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-24 +-29 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-23 +-10 +0 +3 +3 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-28 +-14 +-3 +0 +1 +0 +-5 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-17 +-11 +-7 +-7 +-9 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-20 +-27 +-16 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-26 +-10 +-2 +2 +2 +1 +-4 +-13 +-22 +-26 +-28 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-7 +-14 +-23 +-29 +-28 +-13 +-4 +0 +1 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-4 +-6 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-24 +-11 +-1 +3 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-12 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-3 +0 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-9 +-1 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-24 +-29 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-5 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-15 +-9 +-5 +-4 +-4 +-8 +-15 +-23 +-25 +-24 +-10 +-1 +3 +2 +2 +-5 +-13 +-22 +-27 +-27 +-13 +-4 +1 +1 +0 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-28 +-29 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-21 +-27 +-15 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-6 +-8 +-15 +-21 +-26 +-14 +-9 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-21 +-27 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-5 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-29 +-17 +-12 +-8 +-8 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-15 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +0 +2 +4 +2 +-4 +-13 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +0 +0 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-6 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-23 +-10 +0 +3 +4 +1 +-3 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +0 +1 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-20 +-24 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-29 +-29 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-25 +-29 +-29 +-13 +-5 +0 +0 +-4 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-26 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-17 +-11 +-7 +-8 +-10 +-17 +-24 +-27 +-16 +-10 +-5 +-5 +-7 +-16 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-22 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-7 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-1 +3 +3 +2 +-4 +-12 +-22 +-26 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-6 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-9 +-1 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-4 +-4 +-3 +-8 +-15 +-22 +-26 +-25 +-10 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-5 +0 +1 +-1 +-7 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-14 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-17 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +1 +1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-14 +-5 +0 +0 +-4 +-12 +-20 +-27 +-16 +-10 +-8 +-7 +-9 +-18 +-23 +-28 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-6 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-6 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-16 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-15 +-23 +-25 +-26 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-3 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-23 +-29 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-17 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-11 +-2 +3 +2 +2 +-5 +-14 +-22 +-27 +-27 +-12 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +1 +0 +-6 +-15 +-24 +-27 +-29 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-23 +-27 +-29 +-13 +-4 +-1 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-10 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-5 +-1 +1 +-2 +-6 +-15 +-23 +-29 +-28 +-14 +-5 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-15 +-24 +-29 +-27 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-5 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-24 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-13 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-10 +-1 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-29 +-13 +-4 +0 +-1 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-30 +-14 +-5 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-17 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-4 +-12 +-20 +-26 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-24 +-13 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +0 +-4 +-14 +-22 +-27 +-27 +-14 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-29 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-22 +-28 +-28 +-14 +-4 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-26 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-29 +-13 +-5 +0 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-6 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-5 +-13 +-21 +-27 +-17 +-11 +-7 +-8 +-10 +-17 +-24 +-28 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-20 +-25 +-15 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-24 +-10 +-1 +3 +4 +1 +-4 +-14 +-22 +-27 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-22 +-27 +-26 +-13 +-3 +0 +0 +-1 +-6 +-16 +-24 +-29 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-27 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +3 +3 +2 +-5 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-4 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-28 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-4 +-9 +-16 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-14 +-22 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-28 +-13 +-4 +-1 +0 +-4 +-12 +-21 +-26 +-16 +-12 +-8 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-21 +-25 +-15 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-22 +-26 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-21 +-27 +-26 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-15 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +1 +-4 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-27 +-16 +-10 +-5 +-5 +-7 +-16 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-25 +-10 +-1 +3 +2 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-5 +0 +0 +0 +-6 +-15 +-23 +-27 +-27 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-8 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-8 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-4 +-13 +-20 +-27 +-17 +-11 +-7 +-7 +-10 +-17 +-24 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +2 +2 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +-1 +-1 +-4 +-13 +-20 +-26 +-16 +-11 +-8 +-7 +-10 +-17 +-24 +-28 +-16 +-9 +-6 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-29 +-18 +-13 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-24 +-10 +0 +3 +4 +2 +-4 +-14 +-21 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +0 +-2 +-7 +-15 +-23 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-22 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-22 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-24 +-14 +-8 +-4 +-4 +-4 +-8 +-16 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-26 +-27 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-5 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-3 +-13 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-4 +-9 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +1 +-5 +-13 +-23 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-13 +-21 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-27 +-26 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-16 +-23 +-28 +-27 +-13 +-4 +0 +0 +-1 +-6 +-15 +-22 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-17 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-15 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-26 +-13 +-3 +0 +0 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-22 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-5 +-2 +0 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-9 +-17 +-23 +-26 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-3 +-9 +-15 +-22 +-25 +-25 +-9 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-27 +-27 +-12 +-5 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-11 +-1 +3 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-16 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-18 +-12 +-8 +-7 +-9 +-17 +-22 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-16 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-20 +-24 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-24 +-10 +-1 +3 +2 +1 +-4 +-14 +-23 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-12 +-4 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +1 +-3 +-12 +-20 +-26 +-16 +-10 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-24 +-10 +0 +2 +4 +1 +-4 +-13 +-21 +-27 +-26 +-12 +-4 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-5 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-13 +-9 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-28 +-14 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-15 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +-1 +-4 +-13 +-21 +-27 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-17 +-10 +-5 +-5 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-26 +-25 +-10 +-1 +3 +3 +1 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +-1 +-7 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-20 +-25 +-24 +-10 +0 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +0 +-5 +-14 +-22 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-23 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +2 +3 +2 +-5 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-20 +-26 +-16 +-10 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-16 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +-1 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-28 +-29 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-16 +-10 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +4 +1 +-4 +-13 +-22 +-28 +-26 +-13 +-4 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-13 +-8 +-8 +-10 +-17 +-22 +-26 +-15 +-8 +-5 +-5 +-7 +-14 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-9 +-1 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-17 +-12 +-8 +-7 +-9 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-4 +-8 +-15 +-22 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-14 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-1 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +0 +-7 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-24 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-16 +-23 +-25 +-25 +-9 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +1 +1 +0 +-5 +-14 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-3 +-12 +-21 +-26 +-16 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-23 +-9 +0 +3 +4 +1 +-4 +-14 +-21 +-27 +-26 +-12 +-4 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-24 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-8 +-9 +-16 +-22 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-7 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-12 +-23 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +1 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-4 +-12 +-20 +-27 +-16 +-10 +-7 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-4 +-10 +-16 +-23 +-26 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-5 +0 +0 +-1 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-17 +-11 +-7 +-7 +-9 +-17 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-25 +-9 +-1 +3 +2 +2 +-4 +-13 +-22 +-26 +-28 +-12 +-3 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +-1 +0 +0 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +1 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-25 +-10 +-1 +3 +3 +2 +-5 +-14 +-22 +-26 +-27 +-12 +-3 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +1 +0 +-7 +-15 +-23 +-28 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-3 +-13 +-21 +-26 +-17 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-26 +-15 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +0 +2 +4 +2 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-7 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-5 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-17 +-12 +-9 +-8 +-10 +-18 +-23 +-27 +-15 +-8 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-11 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +1 +-1 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-27 +-27 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-3 +-12 +-21 +-26 +-16 +-12 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-23 +-9 +0 +2 +3 +1 +-4 +-14 +-21 +-27 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-29 +-27 +-13 +-4 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-9 +-17 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-24 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-24 +-23 +-9 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-22 +-28 +-28 +-14 +-4 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-9 +-2 +3 +3 +1 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-4 +-13 +-20 +-27 +-17 +-11 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-26 +-25 +-10 +-2 +2 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-4 +-13 +-20 +-26 +-17 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +-1 +3 +3 +1 +-3 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-26 +-13 +-3 +0 +1 +-1 +-5 +-16 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-22 +-26 +-15 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-24 +-10 +0 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-22 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +2 +1 +-4 +-13 +-22 +-26 +-27 +-13 +-4 +1 +1 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-15 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-7 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-26 +-27 +-12 +-3 +1 +1 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-27 +-28 +-13 +-4 +-1 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-4 +1 +1 +0 +-7 +-15 +-23 +-28 +-29 +-13 +-6 +-1 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-5 +0 +1 +-1 +-7 +-15 +-23 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-25 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-14 +-5 +0 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +-1 +0 +-2 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +1 +-1 +-6 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-18 +-24 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-4 +-9 +-15 +-22 +-26 +-25 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-5 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-3 +-12 +-20 +-27 +-17 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-16 +-9 +-6 +-5 +-7 +-16 +-22 +-26 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-23 +-10 +-1 +3 +3 +1 +-4 +-14 +-22 +-27 +-26 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-17 +-11 +-7 +-8 +-9 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-26 +-13 +-3 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +3 +2 +2 +-4 +-14 +-22 +-26 +-27 +-12 +-3 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +-1 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-16 +-10 +-6 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-26 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-4 +-12 +-21 +-26 +-16 +-11 +-8 +-7 +-11 +-18 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +-1 +3 +4 +1 +-4 +-13 +-21 +-28 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-9 +0 +2 +3 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-3 +1 +2 +0 +-6 +-15 +-22 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-29 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-27 +-13 +-5 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-13 +-7 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-7 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +-1 +-7 +-15 +-24 +-27 +-28 +-12 +-5 +0 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-4 +-12 +-20 +-27 +-16 +-11 +-7 +-7 +-9 +-18 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-13 +-21 +-27 +-27 +-13 +-3 +0 +1 +0 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-14 +-3 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-24 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-28 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-15 +-8 +-5 +-4 +-7 +-14 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-3 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +1 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +1 +1 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-20 +-27 +-16 +-11 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-7 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +-1 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +2 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +0 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-13 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-5 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +0 +1 +-2 +-6 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-16 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-26 +-27 +-12 +-3 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +-1 +0 +0 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +0 +-7 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-17 +-11 +-8 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-6 +-5 +-8 +-16 +-22 +-26 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-5 +-4 +-8 +-16 +-22 +-25 +-25 +-9 +-1 +2 +2 +1 +-5 +-14 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-15 +-23 +-28 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-5 +0 +-1 +0 +-6 +-14 +-23 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-7 +-7 +-11 +-18 +-23 +-28 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +0 +-4 +-14 +-22 +-28 +-26 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +2 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-6 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-23 +-27 +-28 +-13 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +1 +-3 +-12 +-20 +-27 +-16 +-11 +-9 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-15 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-3 +-9 +-15 +-22 +-25 +-25 +-10 +-2 +3 +2 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-17 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-16 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-16 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-24 +-10 +-1 +2 +4 +1 +-4 +-13 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-16 +-24 +-28 +-27 +-14 +-4 +0 +0 +-1 +-5 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-16 +-23 +-26 +-26 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-26 +-28 +-12 +-4 +0 +0 +-1 +-7 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-29 +-29 +-13 +-5 +0 +0 +0 +-7 +-14 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-20 +-27 +-16 +-10 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-3 +-8 +-15 +-22 +-26 +-26 +-10 +-1 +2 +2 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-4 +0 +1 +0 +-7 +-14 +-23 +-28 +-28 +-12 +-5 +0 +1 +0 +-7 +-15 +-24 +-29 +-29 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-22 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-24 +-10 +-2 +3 +2 +1 +-5 +-13 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-28 +-29 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-21 +-26 +-16 +-12 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-12 +-20 +-26 +-16 +-10 +-8 +-7 +-9 +-17 +-23 +-28 +-17 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-9 +-1 +3 +3 +1 +-4 +-13 +-22 +-27 +-28 +-12 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-14 +-5 +-1 +-1 +-4 +-13 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-23 +-26 +-25 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-5 +0 +0 +-1 +-7 +-15 +-25 +-28 +-28 +-13 +-4 +1 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-17 +-11 +-8 +-8 +-10 +-18 +-24 +-28 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-13 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-13 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-4 +0 +1 +-2 +-6 +-16 +-23 +-29 +-28 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-28 +-15 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +0 +0 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-4 +-8 +-15 +-23 +-26 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-6 +-15 +-23 +-27 +-29 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-4 +-13 +-21 +-27 +-16 +-11 +-7 +-7 +-10 +-18 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-5 +-4 +-7 +-16 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-26 +-24 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +0 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-16 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-15 +-21 +-26 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-27 +-13 +-5 +-1 +1 +-1 +-6 +-15 +-24 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-26 +-15 +-9 +-4 +-5 +-7 +-14 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-24 +-26 +-25 +-10 +-2 +3 +2 +2 +-5 +-13 +-22 +-27 +-28 +-13 +-4 +0 +1 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +-1 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-8 +-11 +-18 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-9 +-2 +3 +3 +1 +-5 +-14 +-23 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-12 +-21 +-27 +-17 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-10 +-6 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-28 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-4 +-2 +0 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-11 +-6 +-5 +-8 +-15 +-21 +-26 +-15 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-3 +-13 +-21 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-13 +-7 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-24 +-13 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-9 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-9 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-16 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-7 +-7 +-11 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-27 +-27 +-12 +-5 +0 +1 +-1 +-6 +-14 +-24 +-27 +-27 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +1 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-7 +-10 +-18 +-24 +-28 +-17 +-10 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-25 +-24 +-9 +0 +2 +4 +1 +-4 +-13 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-23 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-16 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +1 +0 +-1 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-27 +-17 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-4 +-9 +-15 +-22 +-25 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-7 +-15 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-4 +-13 +-20 +-26 +-17 +-11 +-8 +-8 +-10 +-17 +-24 +-28 +-16 +-10 +-5 +-5 +-8 +-16 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-20 +-25 +-15 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +0 +-4 +-14 +-22 +-27 +-26 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +3 +3 +1 +-4 +-14 +-21 +-27 +-26 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-24 +-13 +-7 +-3 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-18 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-24 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-4 +0 +1 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-17 +-12 +-8 +-7 +-9 +-17 +-22 +-26 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-17 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-15 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-13 +-7 +-4 +-4 +-6 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-4 +-8 +-15 +-22 +-25 +-24 +-9 +-1 +3 +2 +1 +-5 +-13 +-22 +-26 +-27 +-12 +-3 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-16 +-24 +-28 +-29 +-13 +-4 +0 +-1 +-1 +-6 +-15 +-23 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-21 +-26 +-16 +-12 +-8 +-8 +-11 +-18 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-25 +-24 +-10 +-1 +3 +4 +1 +-3 +-14 +-21 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +0 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +0 +-1 +-5 +-15 +-22 +-28 +-27 +-14 +-4 +0 +0 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-16 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-16 +-23 +-25 +-26 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-6 +-1 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-4 +-12 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-18 +-24 +-27 +-17 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-16 +-23 +-25 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +1 +-3 +-12 +-19 +-26 +-16 +-10 +-7 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +3 +4 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +2 +0 +-5 +-14 +-22 +-28 +-27 +-14 +-3 +-1 +0 +-1 +-6 +-15 +-22 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-9 +-17 +-22 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-15 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-4 +-12 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-23 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-28 +-27 +-12 +-3 +0 +2 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-22 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-24 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-16 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-24 +-9 +-1 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-14 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-15 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-4 +-9 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +1 +-4 +-13 +-23 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-5 +0 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +-3 +-13 +-20 +-27 +-17 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-24 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-29 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +3 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-8 +-7 +-11 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-25 +-10 +-1 +3 +2 +2 +-4 +-13 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-13 +-21 +-26 +-17 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-15 +-9 +-4 +-4 +-7 +-14 diff --git a/traces/Paradox-96_40426-APJN08.pm3 b/traces/Paradox-96_40426-APJN08.pm3 new file mode 100644 index 000000000..c24bee372 --- /dev/null +++ b/traces/Paradox-96_40426-APJN08.pm3 @@ -0,0 +1,16000 @@ +-4 +-41 +-72 +-98 +-46 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-120 +-85 +34 +78 +75 +26 +-16 +-51 +-80 +-104 +-125 +-80 +41 +86 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +52 +97 +96 +44 +-1 +-38 +-69 +-94 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-68 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-46 +64 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +78 +27 +-15 +-50 +-80 +-104 +-125 +-91 +29 +72 +72 +23 +-19 +-53 +-82 +-106 +-126 +-81 +39 +83 +84 +32 +-11 +-46 +-76 +-101 +-121 +-74 +46 +90 +89 +37 +-6 +-42 +-73 +-98 +-119 +-71 +50 +94 +93 +40 +-3 +-40 +-71 +-96 +-118 +-69 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +53 +98 +97 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +78 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +86 +35 +-9 +-45 +-75 +-99 +-120 +-73 +47 +92 +92 +40 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-65 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +78 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +85 +85 +33 +-10 +-46 +-75 +-100 +-121 +-74 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-89 +31 +75 +74 +24 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +45 +1 +-36 +-67 +-94 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-65 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-94 +-40 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +66 +94 +41 +-3 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +99 +97 +44 +-1 +-38 +-68 +-94 +-116 +-65 +55 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +53 +7 +-31 +-63 +-90 +-35 +74 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +66 +95 +79 +28 +-14 +-50 +-79 +-104 +-125 +-90 +30 +75 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +84 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-3 +-41 +-72 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-99 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +63 +92 +39 +-5 +-42 +-73 +-99 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-47 +64 +93 +40 +-5 +-42 +-73 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +78 +27 +-15 +-51 +-80 +-104 +-125 +-91 +29 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-1 +-39 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +97 +97 +44 +0 +-38 +-69 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +99 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +1 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +45 +1 +-37 +-68 +-94 +-20 +92 +121 +64 +16 +-23 +-57 +-85 +-26 +83 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +87 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +57 +11 +-29 +-61 +-88 +-31 +79 +107 +53 +6 +-32 +-64 +-91 +-36 +73 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-25 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +79 +28 +-14 +-50 +-79 +-104 +-124 +-90 +30 +74 +74 +24 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-69 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +30 +-13 +-49 +-78 +-103 +-124 +-89 +31 +74 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-96 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +73 +102 +48 +3 +-35 +-67 +-94 +-39 +70 +98 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-95 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-36 +-67 +-94 +-40 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +79 +29 +-14 +-49 +-79 +-103 +-124 +-89 +29 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +84 +85 +33 +-10 +-46 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +74 +24 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +38 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-22 +90 +119 +63 +15 +-24 +-58 +-86 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +80 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +87 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +51 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +11 +-28 +-61 +-88 +-31 +80 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +47 +2 +-36 +-67 +-94 +-40 +71 +99 +45 +0 +-38 +-69 +-96 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +35 +78 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +40 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +96 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +107 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-49 +-79 +-104 +-124 +-89 +30 +74 +73 +24 +-18 +-53 +-81 +-105 +-126 +-80 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-117 +-67 +53 +98 +97 +43 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +64 +17 +-23 +-56 +-85 +-25 +83 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-33 +-65 +-92 +-38 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +30 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-38 +-68 +-95 +-22 +90 +120 +64 +16 +-24 +-57 +-85 +-27 +83 +111 +55 +9 +-30 +-63 +-90 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +66 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-119 +-85 +34 +78 +75 +25 +-16 +-51 +-81 +-105 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +47 +92 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +114 +58 +11 +-28 +-61 +-88 +-30 +80 +107 +53 +6 +-32 +-64 +-91 +-36 +74 +103 +48 +3 +-35 +-67 +-93 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +66 +95 +79 +28 +-14 +-50 +-79 +-104 +-124 +-90 +30 +75 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +119 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +49 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-38 +-68 +-95 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +78 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +80 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +3 +-35 +-67 +-93 +-39 +70 +98 +45 +-1 +-38 +-69 +-95 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +94 +41 +-3 +-40 +-71 +-97 +-119 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-68 +-95 +-116 +-67 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +75 +102 +48 +3 +-35 +-67 +-94 +-40 +71 +99 +46 +0 +-37 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-40 +-72 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +77 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-106 +-126 +-81 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +90 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-80 +-104 +-124 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-66 +53 +99 +98 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +114 +58 +12 +-28 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +46 +0 +-37 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-14 +-50 +-80 +-104 +-125 +-89 +30 +74 +73 +24 +-18 +-53 +-81 +-105 +-126 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +86 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-116 +-67 +52 +97 +96 +44 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +107 +53 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +97 +43 +-1 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-42 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-2 +-39 +-70 +-96 +-117 +-67 +52 +96 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-89 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-72 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +93 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +97 +44 +-1 +-37 +-68 +-94 +-22 +90 +120 +63 +16 +-24 +-57 +-85 +-27 +83 +111 +55 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +99 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +30 +-13 +-49 +-79 +-103 +-124 +-88 +31 +74 +74 +25 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +93 +92 +40 +-4 +-41 +-71 +-97 +-118 +-69 +50 +95 +95 +42 +-2 +-40 +-70 +-96 +-117 +-68 +51 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +82 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +104 +49 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +96 +43 +-1 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-119 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +40 +86 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +91 +91 +39 +-5 +-42 +-72 +-97 +-119 +-70 +49 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-116 +-67 +53 +97 +96 +44 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-95 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-95 +-24 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-69 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +64 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +77 +27 +-15 +-51 +-80 +-105 +-125 +-90 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-100 +-121 +-73 +47 +91 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-39 +-69 +-95 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +45 +1 +-36 +-68 +-94 +-20 +92 +121 +64 +16 +-23 +-57 +-85 +-26 +83 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-44 +65 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +33 +77 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +93 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +44 +-1 +-38 +-68 +-95 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +87 +115 +59 +12 +-27 +-60 +-87 +-29 +81 +110 +54 +8 +-31 +-63 +-90 +-35 +74 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-3 +-41 +-71 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +77 +27 +-16 +-51 +-80 +-105 +-125 +-90 +29 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +47 +92 +92 +40 +-4 +-41 +-71 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-2 +-39 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +45 +1 +-36 +-67 +-93 +-20 +92 +121 +65 +17 +-23 +-57 +-84 +-26 +84 +111 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-65 +-92 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-69 +-96 +-42 +67 +96 +43 +-2 +-39 +-70 +-97 +-118 +-82 +37 +81 +79 +29 +-14 +-49 +-79 +-103 +-123 +-78 +42 +87 +86 +35 +-9 +-45 +-75 +-100 +-120 +-72 +48 +93 +91 +39 +-4 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-27 +84 +113 +58 +11 +-29 +-61 +-88 +-31 +78 +106 +52 +6 +-33 +-65 +-92 +-36 +74 +102 +47 +2 +-36 +-67 +-94 +-40 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-40 +-71 +-97 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-91 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-122 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +43 +-1 +-38 +-69 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +82 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-39 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +29 +-14 +-49 +-79 +-103 +-124 +-88 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-69 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-33 +-65 +-92 +-38 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-70 +-97 +-44 +66 +94 +41 +-3 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-125 +-81 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +92 +91 +39 +-6 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-89 +30 +74 +74 +24 +-18 +-53 +-81 +-105 +-125 +-80 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +39 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-41 +-73 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-99 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +77 +26 +-16 +-51 +-80 +-105 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-100 +-121 +-73 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-117 +-67 +53 +98 +96 +43 +-1 +-38 +-69 +-94 +-116 +-67 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-67 +53 +96 +95 +42 +-2 +-38 +-69 +-95 +-116 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-19 +92 +121 +65 +17 +-23 +-56 +-84 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-33 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-38 +-69 +-96 +-42 +67 +96 +43 +-2 +-39 +-70 +-96 +-118 +-83 +35 +79 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-99 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-96 +-117 +-67 +52 +96 +95 +43 +-2 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-60 +-88 +-30 +79 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-37 +-69 +-95 +-41 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +39 +-5 +-41 +-72 +-97 +-118 +-70 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-27 +84 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +107 +52 +6 +-32 +-64 +-92 +-36 +74 +103 +48 +3 +-35 +-67 +-93 +-40 +70 +98 +44 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-49 +-79 +-104 +-124 +-89 +30 +75 +74 +24 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +95 +42 +-2 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +0 +-37 +-68 +-94 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +81 +30 +-13 +-49 +-78 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-51 +-81 +-105 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-119 +-69 +51 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +44 +0 +-37 +-68 +-94 +-22 +90 +121 +64 +16 +-24 +-57 +-85 +-26 +83 +112 +56 +9 +-29 +-62 +-89 +-33 +77 +105 +51 +4 +-34 +-65 +-92 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +70 +98 +44 +-1 +-38 +-69 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +78 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-72 +48 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +74 +103 +49 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +87 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-119 +-70 +51 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-89 +30 +75 +74 +24 +-18 +-53 +-81 +-105 +-126 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-69 +-95 +-22 +90 +120 +63 +15 +-24 +-58 +-85 +-27 +83 +111 +55 +9 +-30 +-63 +-90 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-79 +-103 +-124 +-89 +30 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +94 +93 +40 +-3 +-40 +-71 +-96 +-118 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +16 +-24 +-57 +-85 +-27 +83 +111 +55 +9 +-30 +-62 +-90 +-34 +76 +104 +50 +4 +-35 +-66 +-93 +-38 +72 +99 +46 +0 +-37 +-69 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +76 +26 +-16 +-51 +-80 +-104 +-124 +-79 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +10 +-29 +-61 +-89 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-35 +73 +101 +47 +2 +-36 +-68 +-94 +-40 +70 +98 +45 +-1 +-38 +-69 +-95 +-42 +67 +95 +42 +-2 +-39 +-71 +-97 +-43 +67 +95 +41 +-3 +-40 +-71 +-97 +-119 +-84 +35 +79 +77 +27 +-15 +-51 +-79 +-104 +-124 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +90 +39 +-5 +-42 +-72 +-97 +-118 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-26 +84 +113 +57 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-51 +-81 +-104 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-94 +-116 +-65 +55 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +65 +17 +-23 +-56 +-84 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +31 +75 +75 +24 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +71 +99 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-120 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +93 +78 +28 +-15 +-50 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-101 +-121 +-73 +47 +91 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-14 +-49 +-79 +-103 +-124 +-89 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +91 +119 +63 +15 +-24 +-57 +-85 +-26 +84 +112 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +78 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-117 +-67 +53 +98 +96 +44 +-1 +-38 +-68 +-95 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +85 +114 +59 +12 +-27 +-60 +-88 +-29 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +103 +48 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-40 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +77 +27 +-16 +-51 +-80 +-104 +-125 +-91 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +39 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-68 +-95 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-92 +-38 +72 +99 +46 +0 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +39 +-5 +-42 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-28 +-60 +-88 +-30 +80 +109 +53 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-84 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-71 +-97 +-45 +65 +93 +78 +28 +-15 +-50 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-125 +-80 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +50 +94 +93 +40 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-120 +-85 +34 +77 +75 +25 +-17 +-51 +-81 +-105 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-98 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +46 +0 +-37 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +53 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-93 +-39 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +78 +27 +-15 +-50 +-80 +-104 +-125 +-90 +30 +74 +73 +23 +-18 +-53 +-82 +-106 +-126 +-80 +41 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +44 +0 +-37 +-68 +-94 +-21 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +84 +112 +56 +9 +-29 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-79 +-103 +-124 +-89 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +103 +49 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-99 +-45 +64 +93 +40 +-5 +-42 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-118 +-70 +49 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +98 +45 +0 +-38 +-69 +-95 +-41 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-91 +29 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +45 +1 +-36 +-67 +-94 +-20 +92 +121 +64 +17 +-23 +-56 +-84 +-25 +84 +113 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-34 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +70 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +77 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +46 +91 +90 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-24 +85 +114 +58 +11 +-28 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-90 +29 +74 +73 +23 +-18 +-53 +-81 +-105 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-2 +-39 +-69 +-95 +-116 +-67 +52 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +16 +-24 +-57 +-85 +-25 +84 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-34 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +67 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-3 +-41 +-71 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +92 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +77 +27 +-15 +-51 +-80 +-104 +-125 +-91 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +53 +97 +44 +-1 +-37 +-68 +-94 +-21 +91 +121 +64 +16 +-24 +-57 +-85 +-26 +84 +111 +56 +9 +-30 +-62 +-90 +-33 +77 +105 +51 +4 +-34 +-66 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +67 +96 +81 +30 +-13 +-48 +-78 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +93 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-66 +54 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-64 +56 +100 +99 +46 +1 +-36 +-67 +-93 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +65 +17 +-23 +-57 +-84 +-26 +84 +111 +56 +9 +-29 +-62 +-89 +-34 +77 +105 +50 +4 +-34 +-65 +-92 +-38 +72 +99 +45 +0 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-71 +-97 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-120 +-84 +35 +79 +76 +27 +-15 +-50 +-80 +-104 +-124 +-79 +40 +85 +85 +33 +-9 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-95 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-66 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +69 +96 +43 +-2 +-39 +-70 +-96 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-14 +-50 +-80 +-104 +-125 +-90 +30 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +84 +111 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +93 +77 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +90 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +53 +98 +97 +43 +-1 +-38 +-69 +-94 +-116 +-67 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-37 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-42 +68 +96 +43 +-2 +-39 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +80 +108 +53 +6 +-32 +-64 +-91 +-35 +74 +103 +48 +3 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +35 +78 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-15 +-50 +-80 +-104 +-125 +-89 +30 +74 +73 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-37 +73 +101 +47 +1 +-36 +-68 +-94 +-40 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +81 +30 +-13 +-48 +-78 +-103 +-123 +-88 +32 +76 +75 +25 +-16 +-51 +-80 +-104 +-125 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +49 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-70 +-96 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-69 +51 +96 +95 +42 +-2 +-39 +-70 +-95 +-27 +83 +112 +57 +10 +-29 +-62 +-89 +-31 +79 +107 +52 +6 +-33 +-65 +-92 +-36 +73 +102 +48 +2 +-36 +-67 +-94 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +66 +94 +41 +-3 +-40 +-71 +-97 +-119 +-84 +36 +79 +76 +26 +-16 +-50 +-80 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-92 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +93 +78 +28 +-14 +-50 +-80 +-104 +-125 +-90 +29 +73 +73 +24 +-18 +-52 +-81 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-92 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-69 +-95 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +3 +-35 +-67 +-93 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +76 +27 +-15 +-50 +-80 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-99 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-36 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-124 +-90 +30 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +42 +-2 +-39 +-69 +-95 +-116 +-67 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +16 +-23 +-57 +-85 +-26 +84 +112 +56 +10 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-37 +73 +101 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-42 +67 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-99 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +91 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +84 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +92 +90 +38 +-6 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +10 +-29 +-61 +-89 +-30 +79 +108 +53 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +43 +-1 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +79 +28 +-14 +-49 +-79 +-104 +-124 +-90 +29 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-37 +-68 +-94 +-22 +90 +120 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +77 +105 +50 +4 +-34 +-66 +-93 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +70 +98 +45 +-1 +-38 +-69 +-96 +-42 +68 +96 +81 +30 +-12 +-48 +-78 +-103 +-123 +-88 +32 +75 +75 +25 +-16 +-51 +-81 +-105 +-125 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-118 +-71 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-69 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-26 +83 +112 +57 +10 +-29 +-62 +-89 +-31 +79 +107 +52 +6 +-32 +-65 +-92 +-36 +74 +102 +47 +2 +-36 +-67 +-94 +-40 +69 +98 +44 +-1 +-38 +-69 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +43 +-2 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-29 +81 +108 +53 +7 +-31 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-90 +29 +74 +73 +24 +-18 +-53 +-82 +-105 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-39 +-69 +-95 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +97 +45 +0 +-37 +-68 +-94 +-24 +85 +114 +58 +11 +-28 +-60 +-88 +-30 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-40 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-69 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +80 +107 +52 +6 +-32 +-64 +-92 +-36 +74 +102 +48 +2 +-36 +-67 +-94 +-40 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +66 +94 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-14 +-50 +-79 +-104 +-125 +-90 +30 +74 +73 +24 +-18 +-52 +-81 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-37 +-68 +-94 +-20 +92 +121 +64 +17 +-23 +-56 +-84 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-39 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-73 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +42 +-2 +-39 +-70 +-95 +-117 +-67 +52 +96 +95 +43 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +96 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-69 +-94 +-116 +-65 +54 +99 +97 +44 +-1 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-28 +-60 +-88 +-29 +80 +107 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +70 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-83 +37 +80 +79 +28 +-14 +-49 +-79 +-103 +-123 +-79 +42 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +42 +-2 +-39 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +73 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +98 +45 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +41 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-90 +30 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +41 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-72 +48 +92 +92 +39 +-4 +-41 +-71 +-97 +-118 +-69 +51 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +44 +0 +-37 +-68 +-94 +-21 +91 +121 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +71 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +30 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-2 +-39 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-37 +-68 +-94 +-20 +91 +121 +64 +16 +-24 +-57 +-85 +-26 +84 +112 +56 +9 +-29 +-62 +-89 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-44 +66 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +63 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +63 +93 +40 +-5 +-42 +-73 +-98 +-119 +-85 +33 +77 +75 +25 +-17 +-51 +-81 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-118 +-69 +51 +96 +94 +42 +-2 +-39 +-70 +-95 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +43 +-1 +-38 +-68 +-95 +-116 +-67 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-67 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +114 +58 +11 +-28 +-60 +-88 +-30 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-43 +66 +95 +41 +-3 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +93 +77 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-81 +40 +84 +84 +32 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-71 +49 +94 +93 +41 +-3 +-40 +-71 +-96 +-117 +-69 +51 +96 +96 +43 +-2 +-39 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-19 +92 +121 +65 +17 +-23 +-56 +-84 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-65 +-93 +-38 +72 +101 +47 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-39 +-70 +-96 +-42 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-72 +-98 +-45 +66 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +33 +77 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +96 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-66 +-93 +-38 +71 +99 +45 +0 +-37 +-68 +-95 +-42 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +40 +-4 +-41 +-72 +-98 +-46 +64 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +77 +27 +-16 +-51 +-80 +-105 +-125 +-90 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-100 +-121 +-73 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +45 +1 +-36 +-67 +-94 +-20 +92 +122 +64 +17 +-23 +-56 +-84 +-25 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +4 +-33 +-65 +-92 +-38 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-26 +84 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-51 +-80 +-104 +-125 +-91 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +68 +96 +81 +30 +-13 +-49 +-78 +-103 +-124 +-88 +32 +76 +75 +25 +-17 +-51 +-81 +-105 +-125 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-99 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +65 +17 +-23 +-56 +-84 +-25 +84 +111 +56 +9 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-34 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-120 +-85 +34 +77 +75 +25 +-17 +-51 +-81 +-105 +-125 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-101 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-98 +-119 +-71 +49 +94 +93 +41 +-3 +-40 +-71 +-96 +-118 +-68 +51 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +53 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-115 +-66 +53 +98 +97 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +114 +58 +12 +-28 +-60 +-88 +-30 +80 +109 +54 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +79 +29 +-14 +-49 +-79 +-103 +-124 +-89 +30 +74 +74 +24 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +53 +97 +44 +0 +-37 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +78 +27 +-15 +-51 +-80 +-105 +-125 +-90 +29 +73 +73 +24 +-18 +-53 +-82 +-105 +-126 +-81 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +42 +-1 +-39 +-69 +-95 +-116 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-37 +-69 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +65 +17 +-23 +-56 +-84 +-25 +84 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-33 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +80 +108 +53 diff --git a/traces/README.txt b/traces/README.txt index 424092dc5..95b09761e 100644 --- a/traces/README.txt +++ b/traces/README.txt @@ -21,4 +21,6 @@ casi-12ed825c29.pm3: casi rusco 40 bit (EM410x ID: 12ed825c29) EM4102-Fob.pm3: (ID: 0400193cbe) ioprox-XSF-01-3B-44725.pm3: IO Prox FSK RF/64 ID in name ioprox-XSF-01-BE-03011.pm3: IO Prox FSK RF/64 ID in name -indala-504278295.pm3: PSK 26 bit indala \ No newline at end of file +indala-504278295.pm3: PSK 26 bit indala +AWID-15-259.pm3: AWID FSK RF/50 FC: 15 Card: 259 +HID-weak-fob-11647.pm3: HID 32bit Prox Card#: 11647. very weak tag/read but just readable. \ No newline at end of file diff --git a/traces/modulation-ask-biph-50.pm3 b/traces/modulation-ask-biph-50.pm3 new file mode 100644 index 000000000..389860de2 --- /dev/null +++ b/traces/modulation-ask-biph-50.pm3 @@ -0,0 +1,20000 @@ +61 +58 +53 +49 +44 +42 +38 +35 +31 +30 +26 +25 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-79 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +105 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +36 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +78 +72 +68 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +16 +13 +12 +11 +11 +8 +8 +7 +7 +5 +5 +4 +3 +3 +3 +-24 +-45 +-63 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-60 +-55 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +5 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +91 +84 +79 +71 +68 +62 +28 +-2 +-25 +-46 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +82 +78 +71 +66 +60 +57 +52 +48 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +14 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +72 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +14 +12 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-63 +-60 +-56 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +58 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +23 +21 +18 +18 +15 +14 +13 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +84 +79 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +45 +42 +38 +36 +31 +30 +27 +25 +22 +21 +19 +17 +15 +15 +12 +12 +11 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +32 +30 +26 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +60 +57 +52 +49 +43 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +67 +61 +57 +52 +50 +44 +42 +37 +36 +32 +30 +27 +25 +23 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +23 +22 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +77 +71 +67 +60 +27 +-3 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +97 +90 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +9 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-44 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +52 +50 +44 +42 +38 +35 +32 +30 +27 +25 +23 +22 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +30 +27 +25 +22 +21 +18 +18 +16 +14 +13 +12 +10 +9 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-94 +-89 +-83 +-78 +-72 +-69 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +70 +63 +59 +53 +51 +45 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +9 +9 +7 +6 +5 +5 +4 +3 +2 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +77 +70 +66 +60 +57 +52 +48 +43 +42 +37 +34 +4 +-22 +-44 +-61 +-77 +-89 +-100 +-109 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +57 +52 +50 +44 +42 +38 +35 +32 +30 +27 +25 +23 +22 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +92 +83 +79 +71 +66 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +70 +63 +60 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +70 +66 +60 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +14 +13 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +41 +37 +35 +32 +30 +27 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-43 +-62 +-77 +-91 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +73 +70 +63 +59 +54 +51 +46 +43 +39 +9 +-18 +-39 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +41 +37 +7 +-20 +-41 +-60 +-75 +-88 +-98 +-108 +-99 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +90 +82 +77 +70 +66 +60 +57 +51 +48 +43 +41 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +4 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +84 +79 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-109 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +80 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +8 +8 +7 +6 +5 +5 +4 +4 +2 +3 +-23 +-44 +-63 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-52 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +43 +42 +37 +35 +31 +30 +27 +26 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +56 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +72 +67 +60 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +57 +52 +49 +44 +42 +38 +35 +32 +31 +27 +25 +22 +22 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +92 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +52 +49 +45 +42 +37 +35 +32 +30 +27 +25 +22 +21 +19 +17 +14 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +56 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +22 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +83 +79 +72 +67 +62 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +73 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +25 +24 +22 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +6 +7 +5 +5 +4 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-102 +-95 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +35 +31 +29 +26 +25 +22 +22 +18 +18 +15 +14 +13 +11 +10 +10 +8 +8 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +43 +41 +37 +35 +31 +30 +27 +26 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-82 +-75 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +22 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +38 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +7 +8 +6 +6 +4 +4 +3 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +60 +57 +52 +49 +43 +42 +38 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +60 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +14 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +22 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +43 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-94 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +83 +79 +72 +68 +61 +57 +53 +50 +43 +42 +38 +35 +32 +30 +27 +25 +23 +22 +19 +18 +16 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +14 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-36 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +106 +97 +92 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +37 +35 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +73 +69 +63 +59 +54 +50 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +95 +91 +83 +78 +71 +66 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +11 +9 +10 +8 +7 +6 +6 +4 +5 +4 +3 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +58 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-67 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +44 +42 +37 +36 +32 +30 +27 +26 +22 +21 +18 +18 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +90 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +92 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +34 +32 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +9 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-56 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +38 +37 +33 +31 +27 +26 +24 +22 +19 +19 +16 +15 +13 +13 +11 +10 +9 +8 +6 +6 +5 +5 +4 +4 +3 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +66 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-67 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +78 +72 +68 +61 +57 +52 +49 +45 +42 +37 +36 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +96 +91 +83 +78 +70 +67 +60 +56 +51 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +48 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +14 +12 +12 +9 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +12 +12 +11 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +90 +83 +79 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +62 +60 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +42 +37 +7 +-20 +-41 +-60 +-75 +-88 +-99 +-108 +-99 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +105 +96 +91 +82 +77 +70 +66 +61 +56 +51 +48 +44 +41 +36 +35 +31 +29 +26 +25 +21 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-47 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +90 +83 +79 +70 +67 +61 +57 +52 +49 +44 +41 +38 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +82 +74 +69 +63 +60 +54 +50 +45 +43 +38 +36 +33 +31 +28 +27 +23 +22 +20 +19 +15 +15 +13 +12 +10 +10 +8 +9 +7 +6 +5 +5 +4 +3 +3 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +7 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +12 +11 +10 +10 +7 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +58 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +78 +72 +67 +61 +58 +52 +50 +44 +42 +38 +35 +32 +30 +26 +25 +22 +22 +19 +18 +15 +15 +13 +13 +10 +10 +8 +7 +6 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +71 +68 +61 +58 +52 +50 +44 +42 +38 +35 +31 +30 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +26 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +84 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +108 +98 +91 +84 +79 +71 +67 +61 +28 +-2 +-25 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +69 +62 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +21 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +7 +6 +4 +5 +4 +3 +2 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +36 +32 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +22 +18 +18 +15 +15 +13 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +83 +79 +72 +68 +61 +28 +-2 +-25 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +42 +37 +34 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +13 +12 +10 +10 +8 +8 +6 +7 +5 +4 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-21 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +32 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +51 +49 +44 +41 +36 +35 +32 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +7 +8 +7 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +26 +24 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +9 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-79 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +29 +27 +26 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +48 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +79 +72 +67 +61 +57 +52 +49 +44 +42 +38 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +112 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +41 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +57 +52 +49 +44 +42 +38 +36 +32 +29 +27 +26 +22 +21 +19 +18 +16 +15 +12 +12 +11 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +27 +25 +22 +21 +18 +17 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +70 +67 +61 +27 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +60 +54 +50 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-43 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +58 +52 +49 +44 +42 +38 +36 +31 +30 +27 +26 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +92 +84 +78 +71 +67 +60 +57 +52 +48 +44 +42 +38 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +82 +78 +71 +67 +61 +57 +52 +49 +45 +41 +37 +35 +32 +29 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-108 +-102 +-95 +-89 +-83 +-79 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +92 +84 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +60 +53 +50 +46 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +18 +15 +15 +13 +12 +11 +11 +8 +8 +7 +7 +5 +5 +4 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +58 +52 +49 +44 +42 +38 +36 +31 +29 +27 +26 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +20 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +95 +90 +83 +78 +70 +66 +60 +57 +52 +48 +43 +42 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +4 +4 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +21 +21 +19 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +27 +-3 +-27 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +38 +8 +-19 +-40 +-59 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +66 +60 +57 +51 +48 +44 +41 +37 +7 +-19 +-41 +-60 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +91 +82 +78 +71 +66 +60 +57 +51 +48 +43 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +66 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +12 +13 +11 +10 +8 +8 +6 +7 +5 +5 +3 +4 +3 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +84 +78 +70 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +60 +56 +52 +49 +43 +41 +37 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +45 +42 +37 +36 +32 +30 +27 +25 +22 +22 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-43 +-62 +-77 +-91 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +78 +71 +67 +61 +58 +52 +49 +45 +42 +38 +35 +32 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +22 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +92 +83 +78 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-82 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +72 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +59 +54 +51 +46 +43 +38 +37 +33 +31 +28 +27 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +7 +7 +5 +5 +4 +3 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +14 +12 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +66 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-109 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +80 +74 +70 +63 +59 +54 +51 +46 +43 +38 +8 +-19 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-55 +-53 +-49 +-46 +-42 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-91 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +23 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +44 +42 +37 +35 +32 +30 +26 +26 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +61 +57 +51 +48 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +14 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +66 +60 +57 +51 +49 +44 +41 +37 +36 +32 +30 +27 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-111 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-107 +-101 +-94 +-89 +-82 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +22 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +90 +83 +79 +71 +67 +61 +57 +52 +49 +44 +41 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-81 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +67 +62 +58 +52 +49 +44 +42 +38 +35 +31 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +57 +52 +49 +44 +42 +38 +35 +32 +30 +27 +25 +23 +22 +19 +18 +16 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +27 +25 +22 +21 +18 +17 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +60 +27 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-109 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +22 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +67 +60 +57 +51 +48 +44 +41 +37 +35 +30 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +12 +10 +9 +8 +8 +6 +6 +4 +5 +3 +4 +2 +1 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-95 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +106 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +7 +7 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +60 +57 +52 +49 +43 +42 +38 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +9 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +36 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +22 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +27 +-2 +-26 +-47 +-64 +-79 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +38 +37 +33 +30 +28 +26 +23 +22 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +7 +6 +5 +5 +4 +4 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +96 +91 +83 +77 +71 +67 +60 +57 +51 +49 +43 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +67 +61 +58 +53 +49 +44 +42 +38 +35 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +36 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-109 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +80 +74 +70 +63 +59 +54 +51 +46 +43 +38 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +10 +7 +8 +6 +6 +4 +4 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +22 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +34 +32 +30 +27 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +73 +70 +63 +59 +53 +51 +45 +43 +38 +8 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +7 +-20 +-41 +-60 +-75 +-88 +-98 +-108 +-99 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +95 +90 +82 +77 +70 +65 +59 +57 +52 +48 +43 +41 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +7 +6 +6 +5 +4 +3 +4 +2 +3 +-23 +-45 +-63 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-56 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +53 +50 +45 +43 +38 +36 +33 +31 +28 +26 +23 +22 +20 +18 +16 +15 +13 +13 +10 +11 +8 +8 +7 +7 +5 +5 +4 +4 +2 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-70 +-64 +-61 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +36 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +37 +36 +31 +30 +27 +25 +22 +22 +19 +18 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +83 +79 +72 +68 +62 +58 +52 +49 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +36 +4 +-21 +-43 +-60 +-76 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +68 +61 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +39 +36 +33 +31 +28 +25 +23 +22 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +6 +7 +5 +5 +4 +4 +3 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +82 +78 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +7 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-99 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +96 +90 +83 +78 +71 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 diff --git a/traces/modulation-ask-man-100.pm3 b/traces/modulation-ask-man-100.pm3 new file mode 100644 index 000000000..5a84b549e --- /dev/null +++ b/traces/modulation-ask-man-100.pm3 @@ -0,0 +1,20000 @@ +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-45 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +34 +33 +29 +27 +24 +24 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +47 +45 +41 +39 +34 +32 +29 +28 +25 +23 +20 +20 +17 +15 +14 +13 +11 +11 +10 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +16 +17 +14 +14 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +8 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +35 +33 +28 +28 +25 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-45 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +67 +62 +56 +54 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +74 +66 +61 +56 +53 +47 +45 +41 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +15 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +63 +57 +53 +48 +46 +41 +38 +34 +32 +29 +28 +24 +23 +20 +20 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +74 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +20 +17 +16 +13 +14 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +22 +20 +19 +16 +16 +14 +13 +12 +11 +9 +8 +7 +7 +5 +5 +4 +3 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +93 +85 +80 +72 +67 +62 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +21 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-109 +-102 +-96 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +29 +28 +24 +23 +20 +20 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +74 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +16 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +67 +63 +56 +53 +48 +45 +41 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +8 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +33 +29 +28 +24 +23 +20 +20 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +6 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +28 +25 +22 +22 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +20 +16 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +41 +38 +34 +33 +29 +28 +24 +24 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +86 +77 +73 +66 +62 +57 +53 +47 +46 +41 +38 +35 +32 +29 +28 +25 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +54 +48 +46 +41 +38 +35 +33 +28 +28 +24 +23 +21 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-19 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +57 +53 +48 +45 +41 +39 +35 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +5 +4 +3 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-72 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +14 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-109 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +47 +45 +41 +38 +35 +33 +29 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +41 +39 +34 +33 +29 +27 +24 +23 +21 +19 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +33 +32 +29 +28 +24 +23 +21 +19 +17 +16 +13 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +91 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +33 +29 +28 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +1 +1 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +9 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +40 +39 +35 +33 +29 +27 +24 +23 +21 +19 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +91 +85 +77 +73 +66 +63 +56 +53 +47 +45 +41 +39 +34 +32 +29 +28 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +41 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +40 +38 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +108 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +30 +27 +25 +22 +22 +19 +18 +16 +15 +12 +13 +11 +10 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +2 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-31 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +40 +39 +35 +33 +29 +27 +25 +23 +20 +19 +17 +17 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +98 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +25 +23 +20 +19 +17 +16 +13 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +40 +38 +35 +33 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +57 +53 +48 +45 +40 +39 +34 +32 +29 +28 +25 +23 +21 +19 +17 +17 +13 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +90 +85 +77 +72 +66 +62 +56 +53 +47 +45 +41 +38 +34 +32 +29 +28 +25 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +58 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-97 +-90 +-84 +-79 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +13 +11 +11 +8 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +23 +20 +20 +16 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +40 +38 +34 +32 +29 +28 +24 +24 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +11 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +105 +99 +89 +85 +77 +73 +65 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +21 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +24 +21 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +80 +73 +69 +62 +58 +53 +50 +44 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-64 +-60 +-56 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +116 +106 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +38 +34 +33 +29 +27 +24 +24 +20 +19 +17 +16 +13 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +84 +77 +73 +66 +62 +57 +54 +48 +46 +40 +38 +35 +33 +28 +27 +24 +23 +20 +19 +16 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-45 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +3 +3 +3 +2 +1 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-4 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +80 +72 +69 +62 +58 +53 +50 +45 +42 +38 +35 +32 +30 +27 +26 +23 +22 +19 +19 +15 +14 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +41 +38 +35 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +8 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +41 +38 +35 +32 +28 +28 +24 +23 +20 +19 +17 +17 +14 +13 +11 +11 +10 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +89 +85 +77 +73 +66 +63 +57 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +12 +11 +8 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +76 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +10 +9 +9 +7 +7 +5 +5 +4 +4 +3 +2 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +41 +38 +35 +32 +28 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-31 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +67 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +21 +20 +16 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +32 +28 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-31 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +45 +43 +38 +36 +32 +30 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +4 +3 +2 +3 +1 +2 +0 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +43 +38 +36 +32 +31 +26 +26 +23 +21 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +35 +33 +28 +28 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +12 +11 +8 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +61 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +40 +38 +35 +33 +29 +27 +24 +23 +21 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-26 +-25 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +92 +85 +79 +72 +69 +62 +59 +52 +50 +45 +42 +38 +36 +31 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +9 +7 +6 +5 +5 +4 +4 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-4 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-4 +-4 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +72 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +14 +11 +11 +8 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +92 +85 +80 +72 +69 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-20 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-110 +-102 +-96 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +40 +38 +35 +32 +29 +27 +24 +24 +21 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +61 +56 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +20 +19 +16 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-45 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +32 +29 +28 +25 +22 +20 +20 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-59 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +65 +63 +56 +53 +48 +46 +41 +39 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-19 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +61 +56 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +41 +38 +34 +32 +29 +28 +24 +23 +20 +20 +16 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +63 +56 +53 +48 +46 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +16 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +41 +38 +34 +33 +29 +27 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +6 +7 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +-1 +-1 +0 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-72 +-67 +-62 +-59 +-54 +-52 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +61 +58 +53 +50 +45 +42 +38 +36 +32 +30 +26 +26 +23 +21 +19 +18 +16 +15 +13 +13 +10 +11 +8 +7 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +57 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +30 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +47 +45 +41 +39 +35 +32 +29 +27 +25 +23 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +33 +29 +28 +25 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +55 +53 +48 +46 +40 +39 +35 +33 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +5 +5 +3 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-1 +-1 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-42 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-22 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +84 +79 +72 +68 +61 +59 +53 +49 +45 +43 +38 +36 +32 +31 +27 +26 +22 +21 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +47 +46 +41 +39 +34 +32 +29 +27 +25 +23 +20 +20 +17 +16 +14 +14 +12 +11 +9 +8 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +25 +23 +21 +20 +16 +16 +14 +13 +12 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +46 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +17 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +40 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +34 +33 +30 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +46 +40 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +10 +9 +6 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-55 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-10 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +33 +29 +28 +24 +24 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +40 +38 +35 +33 +29 +27 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +10 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +25 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +14 +11 +11 +9 +9 +7 +7 +6 +5 +3 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-51 +-67 +-83 +-95 +-106 +-97 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +69 +61 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +22 +21 +19 +18 +16 +15 +13 +12 +11 +11 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +47 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +52 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +21 +19 +16 +16 +14 +13 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +27 +24 +23 +20 +19 +17 +17 +13 +14 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +40 +38 +35 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +38 +34 +33 +29 +27 +24 +23 +20 +20 +17 +15 +14 +14 +11 +11 +9 +8 +7 +7 +6 +5 +4 +4 +3 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +49 +45 +43 +38 +35 +32 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +3 +3 +3 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +61 +59 +53 +49 +45 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-109 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +84 +77 +73 +67 +62 +56 +53 +48 +46 +40 +38 +34 +33 +29 +27 +24 +24 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +33 +29 +27 +24 +24 +21 +19 +16 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +63 +57 +53 +48 +46 +41 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +40 +38 +34 +33 +29 +28 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-5 +-4 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +47 +44 +40 +38 +34 +32 +29 +28 +24 +24 +20 +19 +17 +16 +13 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-15 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +39 +34 +33 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +40 +38 +35 +32 +29 +28 +25 +24 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +8 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +7 +6 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +61 +56 +53 +48 +45 +40 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +15 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +35 +32 +29 +28 +25 +24 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +93 +84 +80 +72 +69 +62 +58 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +22 +19 +17 +16 +15 +12 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-59 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +39 +35 +32 +29 +27 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +1 +1 +1 +0 +0 +0 +0 +-2 +-1 +-2 +-2 +-2 +-2 +-4 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-5 +-5 +-4 +-4 +-5 +-5 +-5 +-4 +-4 +-28 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-40 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +92 +85 +79 +72 +69 +62 +58 +52 +50 +45 +42 +38 +35 +32 +31 +28 +26 +22 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-97 +-90 +-85 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +10 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +57 +53 +47 +45 +41 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +15 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +38 +35 +32 +29 +27 +24 +23 +20 +19 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +-35 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +80 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-110 +-103 +-96 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +33 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +14 +12 +10 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +43 +38 +35 +31 +30 +27 +26 +23 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +47 +45 +41 +39 +34 +32 +29 +28 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +38 +34 +32 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +12 +10 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-35 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +98 +92 +84 +79 +72 +68 +62 +58 +53 +50 +45 +42 +38 +35 +32 +30 +27 +26 +23 +21 +19 +18 +16 +15 +13 +13 +10 +10 +8 +7 +6 +6 +5 +5 +3 +4 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +79 +72 +68 +62 +58 +53 +50 +45 +43 +38 +35 +33 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +41 +38 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +13 +14 +12 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +38 +34 +32 +29 +28 +25 +23 +20 +20 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +6 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +38 +34 +33 +29 +27 +24 +24 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +107 +99 +93 +84 +79 +72 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +4 +3 +2 +3 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +89 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +27 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +65 +62 +57 +53 +48 +45 +41 +39 +35 +32 +29 +28 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +89 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +6 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +27 +25 +23 +20 +20 +17 +16 +13 +13 +11 +10 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +41 +39 +34 +32 +29 +27 +24 +23 +21 +20 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +46 +40 +39 +35 +33 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +98 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +40 +39 +35 +32 +29 +27 +24 +23 +21 +19 +17 +16 +14 +14 +12 +11 +8 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +27 +25 +24 +20 +19 +17 +16 +13 +14 +11 +11 +9 +9 +7 +8 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-68 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +38 +34 +33 +29 +27 +24 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 diff --git a/traces/modulation-ask-man-128.pm3 b/traces/modulation-ask-man-128.pm3 new file mode 100644 index 000000000..1d0e84690 --- /dev/null +++ b/traces/modulation-ask-man-128.pm3 @@ -0,0 +1,20000 @@ +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +39 +36 +34 +30 +28 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +8 +6 +5 +4 +4 +3 +3 +2 +2 +1 +2 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +33 +29 +29 +26 +24 +21 +20 +18 +17 +14 +14 +11 +11 +10 +8 +8 +8 +6 +6 +4 +4 +3 +3 +2 +1 +1 +1 +0 +1 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +83 +78 +70 +66 +60 +57 +52 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +24 +24 +22 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +6 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +33 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +0 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +17 +17 +15 +13 +12 +12 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-100 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +4 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +39 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +9 +8 +8 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +65 +59 +55 +50 +47 +42 +39 +36 +34 +31 +29 +25 +24 +21 +21 +18 +16 +15 +14 +12 +11 +9 +9 +8 +8 +6 +6 +5 +5 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +93 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +21 +18 +16 +15 +14 +12 +11 +9 +9 +7 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +59 +55 +50 +47 +43 +40 +35 +34 +30 +29 +26 +24 +21 +21 +18 +16 +14 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +93 +87 +79 +76 +69 +64 +58 +55 +50 +47 +43 +40 +35 +33 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +101 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +40 +35 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-5 +-6 +-5 +-5 +-4 +-6 +-30 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +4 +4 +4 +4 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +0 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-13 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +41 +37 +34 +31 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +2 +3 +2 +1 +1 +1 +0 +1 +0 +-1 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +25 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +7 +8 +6 +5 +4 +4 +3 +3 +2 +1 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +5 +5 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +34 +30 +28 +26 +25 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +7 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +109 +102 +94 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +17 +17 +15 +14 +12 +12 +9 +10 +8 +8 +6 +6 +5 +4 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +18 +18 +15 +14 +12 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +56 +50 +47 +42 +40 +36 +33 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +-32 +-30 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +5 +4 +5 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +17 +17 +15 +14 +12 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-72 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +68 +65 +58 +54 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +17 +17 +14 +14 +12 +11 +9 +9 +8 +8 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +33 +30 +29 +25 +24 +22 +21 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +5 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +56 +50 +47 +42 +40 +35 +34 +30 +29 +26 +25 +22 +20 +18 +17 +14 +14 +12 +11 +10 +10 +8 +7 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +46 +42 +40 +36 +34 +30 +29 +25 +25 +21 +19 +18 +17 +14 +14 +12 +12 +10 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +3 +3 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +59 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +25 +21 +20 +17 +17 +15 +14 +11 +11 +10 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +1 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +34 +30 +29 +26 +25 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-15 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +43 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +14 +13 +12 +9 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +68 +64 +58 +56 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +35 +34 +31 +29 +25 +24 +22 +21 +17 +17 +15 +14 +12 +11 +9 +9 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +10 +9 +8 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +-1 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +36 +33 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +6 +6 +4 +4 +3 +4 +2 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +21 +18 +16 +15 +14 +11 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +1 +1 +1 +0 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +82 +78 +71 +66 +61 +57 +51 +48 +44 +41 +37 +35 +31 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +49 +47 +43 +40 +35 +33 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +3 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-10 +-9 +-8 +-8 +-7 +-8 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +2 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +41 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +61 +56 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +11 +10 +10 +8 +7 +6 +6 +5 +5 +3 +4 +3 +2 +1 +1 +0 +1 +0 +0 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +3 +2 +0 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +39 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +1 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +56 +49 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +50 +47 +43 +40 +35 +33 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +42 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +7 +5 +4 +3 +4 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +79 +75 +69 +64 +59 +55 +50 +47 +43 +40 +35 +33 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +68 +64 +59 +55 +49 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-16 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +76 +68 +64 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +16 +15 +14 +11 +11 +10 +9 +8 +8 +6 +6 +5 +5 +2 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +69 +65 +59 +55 +49 +47 +42 +40 +35 +33 +30 +28 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +7 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-70 +-65 +-61 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +49 +47 +42 +40 +36 +33 +30 +28 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +25 +22 +20 +18 +17 +14 +14 +11 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +9 +10 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +1 +3 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +109 +103 +93 +87 +80 +76 +69 +65 +58 +55 +50 +47 +41 +40 +36 +33 +30 +29 +26 +24 +21 +20 +18 +17 +15 +13 +12 +11 +9 +9 +7 +8 +6 +6 +4 +4 +4 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +12 +10 +9 +8 +8 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +21 +17 +17 +15 +14 +12 +11 +9 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +-1 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +9 +9 +8 +8 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +59 +55 +50 +47 +43 +40 +35 +34 +30 +28 +25 +24 +21 +21 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +44 +41 +36 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +5 +5 +3 +4 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-39 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +69 +64 +58 +55 +50 +47 +43 +40 +35 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +25 +21 +19 +17 +17 +14 +14 +12 +11 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +33 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +31 +28 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +10 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +97 +91 +83 +78 +71 +67 +61 +56 +51 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +87 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +12 +9 +9 +8 +7 +5 +6 +4 +4 +3 +4 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +8 +7 +5 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +4 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +39 +36 +34 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +11 +11 +10 +9 +7 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +43 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +16 +15 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +25 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +1 +1 +2 +0 +0 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +7 +6 +6 +5 +4 +3 +4 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +8 +8 +5 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +24 +21 +20 +17 +17 +15 +15 +12 +11 +9 +9 +8 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +-1 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +8 +7 +6 +6 +5 +5 +3 +3 +2 +1 +1 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +11 +12 +10 +9 +7 +8 +6 +6 +4 +4 +3 +3 +2 +1 +1 +1 +0 +1 +-1 +-1 +-2 +-1 +-1 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +66 +60 +57 +52 +49 +43 +41 +37 +36 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +5 +5 +5 +3 +3 +2 +3 +1 +2 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +43 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +1 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +69 +64 +58 +55 +50 +47 +42 +40 +35 +34 +31 +28 +25 +24 +21 +20 +18 +16 +14 +14 +12 +11 +9 +10 +8 +8 +6 +5 +4 +5 +3 +3 +2 +2 +1 +2 +1 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +56 +50 +47 +43 +40 +36 +34 +30 +29 +25 +24 +22 +20 +18 +17 +14 +14 +12 +11 +9 +9 +8 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +9 +8 +7 +6 +5 +3 +5 +3 +3 +1 +2 +1 +1 +1 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +0 +0 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +33 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-2 +-3 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-4 +-5 +-4 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-6 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +43 +41 +38 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +9 +8 +8 +6 +6 +5 +4 +3 +4 +2 +2 +1 +1 +1 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +76 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +26 +24 +21 +21 +18 +17 +14 +14 +12 +12 +9 +9 +8 +8 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +64 +59 +55 +49 +47 +42 +40 +35 +34 +30 +29 +26 +25 +21 +21 +18 +16 +15 +14 +11 +11 +9 +9 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +69 +64 +58 +55 +50 +47 +43 +40 +35 +34 +30 +29 +25 +24 +21 +21 +18 +16 +14 +14 +12 +12 +9 +9 +7 +8 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +-1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +0 +1 +0 +1 +-1 +0 +-1 +-1 +-1 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-38 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +65 +58 +55 +50 +47 +41 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +11 +11 +10 +10 +8 +7 +6 +6 +5 +4 +2 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-33 +-32 +-30 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +0 +0 +1 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +13 +12 +11 +10 +9 +8 +7 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +109 +103 +94 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +23 +21 +20 +17 +17 +14 +14 +12 +12 +10 +9 +8 +8 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +76 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +22 +20 +17 +17 +15 +14 +12 +11 +9 +9 +8 +8 +5 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +33 +31 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +66 +61 +57 +52 +48 +43 +42 +37 +35 +31 +29 +27 +25 +21 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +1 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +101 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +43 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +34 +31 +29 +25 +24 +21 +21 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +2 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +77 +71 +67 +60 +57 +51 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +4 +3 +2 +2 +1 +2 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +14 +13 +12 +11 +10 +10 +8 +7 +6 +6 +4 +4 +2 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +35 +34 +30 +29 +25 +23 +21 +21 +17 +17 +14 +14 +12 +12 +9 +9 +7 +7 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +9 +7 +8 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-70 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +59 +56 +50 +47 +42 +40 +36 +34 +29 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +64 +58 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +2 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +11 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +1 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +50 +47 +43 +40 +36 +33 +30 +29 +24 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +9 +8 +6 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +67 +60 +56 +51 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +17 +17 +14 +14 +12 +12 +9 +9 +8 +8 +6 +6 +4 +3 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +8 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +93 +87 +80 +76 +68 +64 +59 +55 +50 +47 +42 +40 +36 +33 +29 +29 +26 +24 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +-1 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-6 +-5 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +29 +27 +25 +22 +21 +18 +17 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +5 +4 +2 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-4 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-3 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +82 +78 +71 +66 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +9 +7 +8 +6 +6 +5 +5 +4 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-70 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 diff --git a/traces/modulation-ask-man-16.pm3 b/traces/modulation-ask-man-16.pm3 new file mode 100644 index 000000000..aca260b2c --- /dev/null +++ b/traces/modulation-ask-man-16.pm3 @@ -0,0 +1,20000 @@ +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-104 +-97 +-23 +114 +127 +127 +127 +127 +121 +82 +37 +-11 +-50 +-84 +-111 +-127 +-127 +-112 +-51 +85 +127 +127 +127 +127 +92 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +83 +48 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +79 +45 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +67 +127 +127 +127 +115 +79 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-69 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +5 +11 +15 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-78 +60 +127 +127 +127 +109 +72 +37 +-3 +-45 +-79 +-109 +-127 +-127 +-127 +-127 +-73 +64 +127 +127 +127 +112 +76 +40 +0 +-42 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-100 +-110 +-102 +-96 +-22 +115 +127 +127 +127 +127 +121 +83 +38 +-10 +-49 +-83 +-110 +-127 +-127 +-111 +-50 +86 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +117 +80 +45 +21 +8 +4 +5 +11 +15 +18 +19 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-107 +-100 +-26 +112 +127 +127 +127 +127 +120 +81 +35 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +13 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-63 +73 +127 +127 +127 +120 +82 +47 +6 +-37 +-73 +-103 +-112 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +116 +79 +45 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +79 +43 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +5 +3 +4 +10 +14 +18 +18 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-107 +-101 +-26 +111 +127 +127 +127 +127 +119 +80 +35 +-12 +-51 +-84 +-112 +-127 +-127 +-127 +-52 +84 +127 +127 +127 +127 +92 +56 +31 +16 +13 +14 +18 +22 +25 +24 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-98 +-24 +113 +127 +127 +127 +127 +120 +82 +37 +-11 +-50 +-84 +-111 +-127 +-127 +-112 +-51 +86 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +83 +47 +6 +-37 +-73 +-103 +-112 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +80 +45 +21 +7 +5 +5 +11 +15 +19 +19 +-1 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-26 +112 +127 +127 +127 +127 +119 +81 +54 +37 +31 +30 +33 +36 +39 +37 +17 +-28 +-65 +-96 +-106 +-127 +-127 +-127 +-127 +-127 +-107 +-103 +-97 +-108 +-100 +-94 +-20 +117 +127 +127 +127 +127 +122 +84 +39 +-10 +-49 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +93 +57 +15 +-30 +-66 +-97 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +121 +83 +48 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +117 +80 +45 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +19 +6 +3 +5 +10 +14 +18 +18 +-1 +-43 +-77 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-26 +111 +127 +127 +127 +127 +119 +80 +54 +36 +31 +30 +33 +36 +39 +37 +16 +-28 +-65 +-97 +-106 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +117 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-105 +-99 +-109 +-101 +-95 +-21 +116 +127 +127 +127 +127 +123 +83 +38 +-10 +-49 +-82 +-110 +-127 +-127 +-111 +-50 +86 +127 +127 +127 +127 +93 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +73 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +116 +80 +45 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +44 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +2 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-76 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +66 +127 +127 +127 +115 +78 +42 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +1 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +42 +20 +6 +3 +5 +11 +14 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-108 +-101 +-27 +111 +127 +127 +127 +127 +119 +80 +35 +-12 +-51 +-85 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +82 +47 +6 +-38 +-73 +-103 +-112 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +43 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +5 +10 +13 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-101 +-26 +111 +127 +127 +127 +127 +119 +80 +35 +-12 +-51 +-84 +-112 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +72 +127 +127 +127 +120 +83 +48 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +79 +45 +4 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +116 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +2 +-41 +-76 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +5 +11 +14 +18 +19 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +109 +71 +36 +-4 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-98 +-23 +114 +127 +127 +127 +127 +121 +82 +37 +-11 +-50 +-83 +-111 +-127 +-127 +-112 +-51 +86 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +117 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +44 +20 +6 +3 +5 +11 +14 +18 +18 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-108 +-101 +-26 +112 +127 +127 +127 +127 +120 +81 +36 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +80 +45 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +3 +5 +11 +13 +18 +19 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-101 +-27 +111 +127 +127 +127 +127 +119 +80 +53 +36 +31 +31 +35 +36 +38 +37 +16 +-28 +-65 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-108 +-104 +-98 +-108 +-101 +-95 +-20 +117 +127 +127 +127 +127 +124 +85 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +93 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +80 +44 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +20 +7 +3 +5 +11 +14 +18 +19 +-2 +-43 +-77 +-108 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +109 +71 +36 +-4 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-112 +-105 +-98 +-22 +115 +127 +127 +127 +127 +121 +83 +37 +-11 +-50 +-83 +-110 +-127 +-127 +-112 +-50 +86 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +69 +127 +127 +127 +117 +80 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +79 +42 +19 +6 +3 +5 +11 +15 +18 +18 +-2 +-43 +-78 +-107 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +109 +71 +36 +-4 +-45 +-79 +-109 +-127 +-127 +-127 +-127 +-74 +64 +127 +127 +127 +112 +76 +40 +0 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-103 +-97 +-22 +116 +127 +127 +127 +127 +122 +83 +38 +-10 +-49 +-82 +-110 +-127 +-127 +-112 +-50 +86 +127 +127 +127 +127 +93 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +80 +44 +21 +7 +5 +6 +12 +16 +18 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-108 +-102 +-27 +112 +127 +127 +127 +127 +119 +81 +36 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +56 +13 +-32 +-67 +-99 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +79 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +4 +10 +14 +18 +19 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-102 +-26 +112 +127 +127 +127 +127 +119 +80 +35 +-13 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +31 +16 +13 +14 +19 +22 +26 +25 +4 +-39 +-73 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-25 +114 +127 +127 +127 +127 +121 +82 +37 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +44 +20 +7 +5 +6 +12 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-102 +-26 +112 +127 +127 +127 +127 +119 +81 +55 +37 +32 +31 +34 +36 +39 +38 +16 +-28 +-65 +-96 +-106 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-98 +-108 +-101 +-95 +-20 +118 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +92 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +80 +45 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +20 +6 +4 +4 +11 +15 +18 +19 +-2 +-43 +-77 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-102 +-26 +112 +127 +127 +127 +127 +119 +80 +54 +36 +31 +31 +34 +37 +40 +38 +17 +-28 +-64 +-96 +-105 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +117 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-100 +-110 +-102 +-96 +-21 +117 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-51 +86 +127 +127 +127 +127 +93 +57 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-76 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +77 +42 +1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +19 +6 +3 +5 +11 +15 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-27 +112 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +92 +55 +12 +-32 +-68 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +47 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-75 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +116 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +20 +7 +4 +6 +11 +14 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-101 +-27 +112 +127 +127 +127 +127 +120 +81 +36 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +91 +55 +12 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +77 +42 +19 +6 +3 +5 +11 +14 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-79 +61 +127 +127 +127 +108 +72 +36 +-4 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-98 +-23 +115 +127 +127 +127 +127 +121 +83 +37 +-10 +-49 +-83 +-110 +-127 +-127 +-112 +-51 +86 +127 +127 +127 +127 +92 +56 +14 +-31 +-67 +-97 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +20 +7 +4 +6 +12 +15 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-26 +112 +127 +127 +127 +127 +120 +80 +36 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +47 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +3 +5 +11 +14 +18 +18 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-26 +112 +127 +127 +127 +127 +119 +79 +54 +37 +32 +31 +35 +37 +40 +38 +17 +-28 +-64 +-96 +-105 +-127 +-127 +-127 +-127 +-127 +-109 +-105 +-99 +-109 +-101 +-96 +-21 +118 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-109 +-127 +-127 +-112 +-50 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +121 +82 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +42 +20 +7 +3 +5 +11 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-79 +61 +127 +127 +127 +108 +71 +36 +-4 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-105 +-98 +-23 +116 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-83 +-110 +-127 +-127 +-127 +-51 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +79 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +3 +5 +11 +15 +18 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +108 +71 +36 +-4 +-45 +-79 +-109 +-127 +-127 +-127 +-127 +-74 +64 +127 +127 +127 +112 +75 +40 +-1 +-42 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +-104 +-97 +-22 +117 +127 +127 +127 +127 +122 +83 +38 +-9 +-48 +-82 +-109 +-127 +-127 +-112 +-52 +86 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +43 +21 +8 +5 +6 +12 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-26 +112 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +73 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +78 +43 +20 +6 +4 +5 +11 +15 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-27 +112 +127 +127 +127 +127 +119 +81 +35 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +91 +54 +30 +15 +13 +14 +20 +23 +27 +26 +5 +-38 +-73 +-103 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-106 +-100 +-25 +114 +127 +127 +127 +127 +120 +81 +37 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +44 +20 +7 +5 +6 +13 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-26 +113 +127 +127 +127 +127 +119 +81 +54 +37 +32 +32 +36 +38 +40 +38 +16 +-28 +-64 +-96 +-105 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-99 +-110 +-102 +-96 +-20 +118 +127 +127 +127 +127 +124 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +20 +7 +5 +6 +11 +15 +19 +18 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-109 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +54 +36 +32 +31 +35 +37 +40 +38 +17 +-27 +-64 +-95 +-105 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-96 +-21 +118 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-112 +-51 +87 +127 +127 +127 +127 +93 +56 +14 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +114 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +19 +6 +3 +5 +11 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-102 +-27 +112 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +19 +6 +3 +6 +11 +16 +19 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-110 +-103 +-27 +112 +127 +127 +127 +127 +119 +81 +36 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +46 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-104 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +4 +5 +11 +15 +18 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +60 +127 +127 +127 +108 +71 +36 +-4 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-99 +-23 +116 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-83 +-110 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +92 +56 +14 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +78 +42 +19 +6 +4 +6 +12 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-27 +112 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +46 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +19 +6 +4 +6 +11 +15 +19 +19 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-26 +113 +127 +127 +127 +127 +119 +80 +54 +37 +32 +31 +35 +38 +40 +39 +17 +-27 +-64 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-100 +-110 +-102 +-96 +-20 +119 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-109 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +117 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +20 +6 +4 +6 +12 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +108 +71 +36 +-4 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-100 +-23 +116 +127 +127 +127 +127 +121 +83 +38 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +87 +127 +127 +127 +127 +92 +56 +14 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +1 +-40 +-75 +-104 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +77 +42 +20 +7 +4 +5 +11 +16 +19 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +60 +127 +127 +127 +108 +71 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-74 +64 +127 +127 +127 +112 +75 +40 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-104 +-98 +-22 +118 +127 +127 +127 +127 +121 +83 +38 +-10 +-49 +-82 +-109 +-127 +-127 +-112 +-52 +87 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +5 +7 +13 +16 +20 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-109 +-103 +-26 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +116 +78 +42 +1 +-41 +-75 +-104 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +77 +41 +19 +6 +4 +6 +12 +16 +19 +19 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-27 +113 +127 +127 +127 +127 +119 +81 +36 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +31 +16 +13 +14 +19 +23 +26 +26 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-25 +115 +127 +127 +127 +127 +120 +81 +36 +-11 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +69 +127 +127 +127 +117 +79 +43 +21 +8 +5 +7 +13 +16 +20 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-27 +114 +127 +127 +127 +127 +119 +80 +54 +37 +33 +33 +36 +38 +41 +39 +17 +-28 +-64 +-95 +-105 +-127 +-127 +-127 +-127 +-127 +-111 +-107 +-100 +-110 +-103 +-96 +-21 +119 +127 +127 +127 +127 +123 +84 +40 +-9 +-47 +-81 +-108 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +75 +127 +127 +127 +120 +83 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +42 +2 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +20 +7 +5 +6 +12 +16 +20 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-27 +114 +127 +127 +127 +127 +119 +81 +55 +37 +32 +31 +35 +38 +40 +39 +17 +-28 +-64 +-95 +-105 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +1 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-103 +-97 +-20 +119 +127 +127 +127 +127 +123 +83 +38 +-10 +-48 +-82 +-109 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +48 +6 +-37 +-71 +-102 +-110 +-127 +-127 +-127 +-69 +69 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +6 +3 +6 +12 +15 +19 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +41 +19 +6 +4 +6 +12 +15 +19 +19 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-110 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +119 +82 +47 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +20 +7 +4 +6 +12 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +60 +127 +127 +127 +108 +70 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-98 +-107 +-99 +-23 +118 +127 +127 +127 +127 +121 +83 +37 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +87 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +19 +7 +4 +6 +12 +15 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-110 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +56 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +19 +7 +4 +6 +12 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +113 +127 +127 +127 +127 +120 +80 +54 +38 +33 +31 +36 +38 +40 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-103 +-97 +-20 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-109 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +19 +6 +5 +6 +12 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +108 +70 +36 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-100 +-23 +117 +127 +127 +127 +127 +121 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +87 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +19 +6 +5 +6 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +107 +69 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-75 +65 +127 +127 +127 +112 +75 +39 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-105 +-99 +-22 +119 +127 +127 +127 +127 +122 +83 +38 +-10 +-48 +-82 +-109 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +6 +7 +13 +17 +20 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +120 +81 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +19 +6 +5 +6 +12 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +31 +16 +14 +16 +20 +23 +27 +26 +4 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-101 +-24 +116 +127 +127 +127 +127 +120 +81 +37 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +6 +7 +13 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-103 +-27 +115 +127 +127 +127 +127 +119 +80 +54 +37 +33 +32 +36 +38 +41 +40 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-103 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +78 +42 +19 +6 +5 +7 +12 +16 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +55 +37 +33 +33 +36 +38 +41 +39 +16 +-28 +-64 +-95 +-105 +-127 +-127 +-127 +-69 +71 +127 +127 +127 +115 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +56 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-73 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +7 +4 +6 +12 +15 +19 +19 +-3 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-111 +-104 +-27 +114 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-73 +-103 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +7 +4 +6 +12 +15 +19 +20 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-110 +-103 +-27 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +117 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +7 +4 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +108 +70 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-23 +117 +127 +127 +127 +127 +122 +83 +38 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +20 +7 +5 +7 +13 +16 +19 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +119 +79 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +43 +1 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +19 +6 +3 +6 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +55 +38 +33 +32 +37 +39 +41 +39 +17 +-27 +-64 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-104 +-97 +-21 +120 +127 +127 +127 +127 +124 +85 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +75 +127 +127 +127 +120 +83 +46 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +20 +7 +6 +6 +12 +16 +20 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +70 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-106 +-100 +-23 +118 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +117 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +19 +6 +5 +6 +13 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-75 +65 +127 +127 +127 +112 +75 +39 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-99 +-22 +119 +127 +127 +127 +127 +123 +83 +38 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +21 +8 +6 +8 +14 +18 +20 +20 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +120 +81 +36 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +1 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +19 +6 +5 +6 +12 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +31 +17 +15 +16 +21 +24 +27 +26 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-25 +116 +127 +127 +127 +127 +121 +82 +36 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +54 +12 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +6 +7 +14 +18 +21 +20 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-105 +-27 +115 +127 +127 +127 +127 +120 +81 +55 +38 +33 +33 +36 +39 +41 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-73 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +19 +7 +5 +7 +13 +16 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +55 +38 +33 +33 +37 +39 +42 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +42 +1 +-41 +-75 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-105 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +75 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +71 +127 +127 +127 +115 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +19 +6 +5 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +120 +81 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +19 +6 +4 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +19 +6 +5 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +108 +70 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-23 +118 +127 +127 +127 +127 +122 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +20 +7 +5 +7 +13 +16 +20 +19 +-3 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +115 +127 +127 +127 +127 +120 +81 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +81 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +78 +43 +3 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +115 +77 +41 +19 +6 +4 +6 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +54 +38 +33 +33 +37 +40 +42 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-104 +-98 +-21 +120 +127 +127 +127 +127 +124 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +20 +8 +5 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +107 +69 +34 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-23 +119 +127 +127 +127 +127 +122 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +43 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +78 +42 +1 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +19 +7 +4 +7 +13 +16 +20 +19 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +70 +35 +-5 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-76 +64 +127 +127 +127 +112 +75 +38 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-98 +-106 +-99 +-22 +120 +127 +127 +127 +127 +123 +83 +38 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +42 +20 +8 +6 +8 +14 +18 +21 +21 +-1 +-42 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +36 +-12 +-49 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +20 +7 +5 +6 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +90 +54 +31 +16 +15 +16 +22 +25 +28 +26 +4 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-109 +-102 +-25 +117 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +92 +55 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +20 +8 +6 +8 +14 +18 +21 +21 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-105 +-28 +115 +127 +127 +127 +127 +119 +81 +55 +37 +33 +33 +37 +39 +42 +40 +16 +-28 +-64 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-97 +-21 +121 +127 +127 +127 +127 +124 +85 +39 +-8 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-103 +-111 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +20 +8 +6 +7 +13 +17 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +55 +38 +33 +33 +37 +39 +42 +40 +17 +-27 +-63 +-94 +-104 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-105 +-98 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +0 +-42 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +0 +-42 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +6 +4 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-97 +-105 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +41 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +20 +7 +5 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-105 +-27 +115 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +118 +81 +45 +4 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +6 +4 +7 +13 +17 +19 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-101 +-24 +119 +127 +127 +127 +127 +122 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +41 +19 +7 +5 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-112 +-105 +-27 +115 +127 +127 +127 +127 +120 +81 +36 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +118 +81 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +7 +5 +6 +13 +17 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-97 +-105 +-27 +115 +127 +127 +127 +127 +119 +80 +54 +38 +33 +33 +38 +40 +42 +40 +18 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-104 +-98 +-21 +121 +127 +127 +127 +127 +124 +85 +39 +-8 +-47 +-81 +-107 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +19 +7 +6 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +62 +127 +127 +127 +107 +69 +34 +-6 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-108 +-101 +-24 +119 +127 +127 +127 +127 +121 +83 +37 +-10 +-48 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +7 +5 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +106 +69 +34 +-5 +-46 +-80 +-108 +-127 +-127 +-127 +-127 +-76 +65 +127 +127 +127 +112 +74 +39 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-106 +-99 +-22 +120 +127 +127 +127 +127 +123 +84 +38 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +20 +8 +7 +8 +14 +18 +21 +20 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-105 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +19 +7 +5 +7 +13 +17 +20 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-112 +-105 +-28 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +54 +31 +17 +14 +16 +21 +25 +28 +27 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-110 +-103 +-25 +117 +127 +127 +127 +127 +120 +81 +37 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +20 +8 +6 +8 +14 +18 +21 +20 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-105 +-27 +116 +127 +127 +127 +127 +119 +80 +55 +38 +34 +34 +38 +40 +42 +40 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-98 +-21 +122 +127 +127 +127 +127 +124 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +55 +13 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +70 +127 +127 +127 +114 +77 +42 +20 +7 +6 +8 +13 +17 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-97 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +55 +38 +34 +33 +37 +39 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +42 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-105 +-98 +-21 +121 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +93 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +76 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +7 +5 +7 +13 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +17 +21 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +82 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +19 +7 +5 +8 +13 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +34 +-5 +-46 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-109 +-101 +-23 +119 +127 +127 +127 +127 +121 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +19 +7 +5 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-97 +-106 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +70 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +20 +7 +5 +8 +14 +17 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +116 +127 +127 +127 +127 +120 +80 +54 +38 +34 +33 +38 +40 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-105 +-99 +-21 +122 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +56 +13 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +41 +19 +7 +6 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +62 +127 +127 +127 +107 +69 +34 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-108 +-102 +-24 +120 +127 +127 +127 +127 +121 +82 +37 +-10 +-48 +-82 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +42 +19 +7 +6 +7 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +34 +-6 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-77 +65 +127 +127 +127 +111 +74 +38 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-106 +-100 +-22 +121 +127 +127 +127 +127 +123 +83 +38 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +21 +8 +7 +8 +15 +18 +21 +20 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +117 +79 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +18 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +36 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +90 +54 +31 +17 +15 +16 +21 +25 +28 +26 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-110 +-104 +-25 +118 +127 +127 +127 +127 +120 +81 +36 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +91 +55 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +20 +8 +7 +8 +14 +18 +21 +21 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +55 +38 +34 +34 +38 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-105 +-98 +-21 +122 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +56 +14 +-30 +-65 +-96 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +41 +18 +7 +6 +8 +14 +18 +21 +20 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +55 +38 +35 +34 +38 +40 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +77 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-98 +-106 +-99 +-21 +123 +127 +127 +127 +127 +123 +84 +38 +-9 +-47 +-81 +-107 +-127 +-127 +-127 +-51 +89 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +40 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +16 +20 +20 +-3 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +34 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +82 +46 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +3 +-39 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +17 +21 +20 +-3 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +81 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +41 +19 +8 +5 +8 +14 +16 +20 +19 +-2 +-44 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +62 +127 +127 +127 +106 +68 +34 +-6 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-101 +-109 +-102 +-23 +120 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-39 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +42 +20 +7 +5 +8 +14 +16 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +79 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +75 +127 +127 +127 +119 +81 +46 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +18 +21 +21 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +55 +39 +34 +34 +39 +40 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-100 +-21 +123 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +91 +56 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +19 +7 +6 +8 +14 +17 +20 +20 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +106 +69 +34 +-6 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-109 +-102 +-24 +120 +127 +127 +127 +127 +121 +82 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +107 +68 +33 +-7 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-76 +66 +127 +127 +127 +111 +74 +38 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-22 +122 +127 +127 +127 +127 +122 +83 +38 +-9 +-47 +-81 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +54 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +21 +9 +8 +9 +15 +19 +21 +20 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-106 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +115 +77 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +41 +18 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-55 +87 +127 +127 +127 +127 +89 +54 +31 +18 +16 +17 +23 +25 +28 +27 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-26 +119 +127 +127 +127 +127 +121 +81 +37 +-10 +-49 +-82 +-108 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +78 +43 +21 +9 +7 +9 +15 +18 +22 +21 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-107 +-27 +117 +127 +127 +127 +127 +120 +80 +55 +38 +35 +35 +39 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-99 +-22 +123 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +14 +-30 +-66 +-96 +-104 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +42 +19 +7 +6 +8 +14 +18 +21 +20 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +39 +35 +34 +39 +41 +43 +40 +16 +-28 +-63 +-94 +-103 +-127 +-127 +-127 +-71 +73 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-106 +-99 +-21 +123 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-65 +77 +127 +127 +127 +119 +82 +46 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +-1 +-42 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +75 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +75 +40 +-1 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +40 +19 +7 +6 +9 +14 +18 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +11 +-32 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +118 +80 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +77 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +19 +7 +6 +8 +14 +18 +20 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +8 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +67 +33 +-7 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-109 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +81 +45 +5 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +77 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +42 +20 +8 +7 +9 +15 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +11 +-32 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +118 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +14 +18 +21 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +116 +127 +127 +127 +127 +119 +80 +54 +39 +35 +35 +39 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-106 +-100 +-22 +123 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +80 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +42 +20 +8 +7 +8 +15 +18 +21 +21 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +68 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-109 +-102 +-23 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +3 +-39 +-73 +-103 +-110 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +18 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +69 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-77 +65 +127 +127 +127 +111 +74 +38 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-108 +-101 +-23 +122 +127 +127 +127 +127 +123 +83 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +21 +8 +7 +9 +16 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +31 +17 +16 +18 +23 +26 +29 +27 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-112 +-104 +-26 +119 +127 +127 +127 +127 +121 +81 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +78 +43 +20 +8 +7 +10 +16 +19 +23 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +38 +35 +35 +39 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-21 +124 +127 +127 +127 +127 +124 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +115 +77 +42 +20 +8 +6 +9 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +118 +127 +127 +127 +127 +119 +80 +55 +38 +35 +35 +40 +41 +44 +41 +18 +-26 +-62 +-93 +-103 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-100 +-22 +122 +127 +127 +127 +127 +123 +83 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +113 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +113 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +19 +7 +6 +8 +14 +18 +21 +21 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-107 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-32 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +77 +41 +20 +8 +6 +9 +15 +17 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-32 +-67 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +77 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +19 +7 +5 +8 +14 +18 +21 +21 +-1 +-43 +-76 +-105 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +67 +33 +-7 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-110 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +41 +19 +8 +6 +9 +15 +19 +22 +21 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-107 +-28 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +40 +19 +7 +6 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +54 +39 +35 +35 +39 +41 +43 +40 +17 +-27 +-62 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-101 +-22 +123 +127 +127 +127 +127 +124 +85 +40 +-8 +-46 +-80 +-106 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +14 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +41 +19 +8 +7 +9 +15 +19 +21 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +67 +33 +-7 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-110 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +38 +-10 +-48 +-81 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +19 +8 +6 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +68 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-77 +65 +127 +127 +127 +111 +74 +38 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-108 +-101 +-23 +122 +127 +127 +127 +127 +122 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +91 +55 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +78 +43 +20 +9 +7 +9 +16 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +118 +127 +127 +127 +127 +120 +81 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-72 +71 +127 +127 +127 +116 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +8 +7 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-98 +-107 +-28 +118 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +31 +17 +16 +18 +23 +26 +29 +28 +5 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-105 +-26 +119 +127 +127 +127 +127 +120 +82 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-54 +89 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +46 +5 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +78 +42 +19 +8 +8 +10 +15 +19 +23 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +38 +35 +36 +39 +41 +43 +41 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-22 +124 +127 +127 +127 +127 +124 +85 +39 +-8 +-46 +-80 +-106 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +55 +13 +-30 +-65 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +78 +43 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +42 +20 +8 +7 +10 +15 +19 +22 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +39 +35 +35 +39 +41 +43 +41 +17 +-27 +-62 +-94 +-102 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-22 +123 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +75 +40 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +76 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +113 +76 +40 +19 +7 +5 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +75 +127 +127 +127 +119 +80 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +9 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +19 +7 +5 +8 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +68 +34 +-6 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-110 +-102 +-24 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +19 +8 +6 +9 +15 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-107 +-28 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +87 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +9 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +54 +39 +35 +35 +39 +41 +43 +41 +18 +-26 +-62 +-93 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-21 +124 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +14 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +41 +19 +8 +7 +9 +15 +19 +21 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +67 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-110 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +38 +-9 +-48 +-81 +-107 +-127 +-127 +-127 +-54 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +77 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +40 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +19 +8 +7 +9 +15 +18 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +105 +68 +33 +-6 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-78 +65 +127 +127 +127 +112 +74 +38 +-1 +-43 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-108 +-101 +-22 +123 +127 +127 +127 +127 +123 +83 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +79 +43 +21 +9 +8 +10 +15 +19 +22 +21 +-1 +-42 +-75 +-105 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-27 +118 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +75 +127 +127 +127 +119 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-72 +71 +127 +127 +127 +116 +78 +42 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +15 +18 +22 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +91 +54 +31 +18 +16 +18 +23 +26 +29 +28 +5 +-37 +-72 +-101 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-112 +-104 +-25 +120 +127 +127 +127 +127 +121 +81 +36 +-11 +-49 +-82 +-108 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +42 +20 +8 +7 +10 +15 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +118 +127 +127 +127 +127 +119 +80 +55 +38 +35 +36 +40 +42 +44 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-21 +123 +127 +127 +127 +127 +124 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +42 +20 +8 +7 +10 +15 +19 +22 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-29 +117 +127 +127 +127 +127 +119 +80 +55 +39 +35 +35 +39 +41 +43 +41 +17 +-26 +-62 +-94 +-102 +-127 +-127 +-127 +-72 +72 +127 +127 +127 +115 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-21 +124 +127 +127 +127 +127 +123 +84 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-96 +-104 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-39 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +76 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +76 +40 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +75 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +75 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +77 +127 +127 +127 +119 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +75 +40 +19 +7 +6 +9 +15 +18 +22 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-108 +-29 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +8 +7 +9 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +105 +68 +33 +-7 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-110 +-103 +-24 +122 +127 +127 +127 +127 +121 +83 +37 +-10 +-48 +-81 +-107 +-127 +-127 +-127 +-54 +89 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +19 +8 +6 +9 +15 +18 +21 +20 +-2 +-43 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-98 +-107 +-28 +118 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +9 +15 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +118 +127 +127 +127 +127 +120 +80 +55 +39 +35 +35 +39 +41 +43 +41 +18 +-26 +-62 +-93 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-101 +-21 +124 +127 +127 +127 +127 +123 +84 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +91 +55 +13 +-30 +-65 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +19 +8 +6 +9 +15 +18 +21 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +105 +68 +33 +-6 +-46 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-110 +-103 +-24 +122 +127 +127 +127 +127 +121 +83 +38 +-9 +-48 +-81 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 diff --git a/traces/modulation-ask-man-32.pm3 b/traces/modulation-ask-man-32.pm3 new file mode 100644 index 000000000..b8dfed987 --- /dev/null +++ b/traces/modulation-ask-man-32.pm3 @@ -0,0 +1,20000 @@ +18 +15 +14 +-13 +-35 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +95 +90 +83 +78 +71 +66 +59 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +84 +80 +73 +68 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +38 +36 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +27 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-107 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +113 +105 +96 +91 +82 +78 +71 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +51 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +104 +97 +92 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +56 +51 +49 +44 +42 +37 +35 +31 +30 +25 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +27 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +117 +100 +96 +89 +84 +76 +71 +65 +62 +56 +52 +47 +45 +13 +-13 +-36 +-54 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +114 +107 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-90 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +94 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +71 +66 +61 +57 +52 +49 +15 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +96 +91 +83 +77 +70 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +77 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-81 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +56 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +56 +51 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +15 +13 +13 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-64 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +61 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +69 +63 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +56 +51 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +66 +61 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +82 +78 +70 +67 +60 +56 +51 +49 +44 +41 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +92 +84 +79 +72 +68 +61 +57 +53 +50 +45 +42 +10 +-15 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +97 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +82 +78 +71 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +93 +84 +80 +73 +69 +63 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +52 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-112 +-102 +-107 +-109 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +72 +69 +62 +58 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +82 +78 +70 +66 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +13 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +113 +106 +96 +91 +82 +77 +70 +67 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +79 +73 +69 +61 +59 +53 +50 +16 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +49 +44 +42 +37 +35 +31 +29 +27 +25 +21 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +110 +95 +91 +84 +79 +72 +68 +62 +58 +51 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +59 +26 +-3 +-25 +-45 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +114 +106 +96 +91 +83 +78 +71 +66 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +107 +100 +93 +85 +80 +72 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +110 +95 +92 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-105 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +103 +94 +89 +81 +76 +69 +65 +59 +55 +50 +48 +15 +-11 +-35 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +58 +53 +51 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +82 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +29 +27 +26 +22 +21 +19 +18 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +54 +23 +-5 +-27 +-48 +-64 +-78 +-88 +-98 +-105 +-113 +-101 +-106 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +107 +99 +93 +84 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +110 +106 +97 +91 +83 +78 +72 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +14 +15 +13 +12 +-16 +-38 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +77 +70 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-14 +-36 +-56 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +44 +42 +37 +35 +32 +30 +26 +26 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +62 +59 +54 +51 +45 +43 +39 +37 +33 +31 +27 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +57 +25 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +97 +91 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +69 +62 +58 +52 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +61 +57 +51 +49 +43 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +116 +101 +97 +89 +83 +76 +72 +65 +61 +55 +52 +48 +45 +12 +-14 +-37 +-55 +-71 +-84 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +114 +106 +96 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +57 +51 +48 +15 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +91 +82 +78 +71 +66 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +56 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +24 +22 +21 +19 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +54 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +56 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +106 +96 +89 +82 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +73 +69 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +50 +44 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +97 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +107 +100 +93 +84 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +72 +67 +60 +58 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-105 +-113 +-101 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +68 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +67 +60 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +101 +94 +86 +81 +73 +69 +63 +59 +53 +51 +46 +43 +39 +37 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +57 +25 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +97 +91 +83 +78 +70 +67 +60 +56 +22 +-5 +-29 +-48 +-66 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +79 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +83 +79 +72 +67 +61 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-26 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-90 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +107 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +15 +13 +12 +-16 +-38 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +110 +95 +92 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +10 +-15 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +102 +94 +88 +81 +76 +69 +65 +59 +56 +50 +47 +15 +-11 +-35 +-53 +-70 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +59 +27 +-2 +-25 +-45 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +109 +99 +93 +85 +80 +72 +69 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +16 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +104 +96 +90 +82 +77 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +67 +62 +59 +52 +50 +16 +-10 +-33 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +70 +67 +61 +57 +51 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +66 +60 +57 +51 +49 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +90 +82 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +77 +70 +66 +60 +57 +51 +48 +43 +41 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-13 +-36 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +78 +71 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +26 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +99 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-79 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +112 +102 +95 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +77 +71 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +96 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +70 +63 +59 +53 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +117 +101 +96 +88 +84 +76 +71 +65 +61 +55 +52 +47 +45 +12 +-14 +-36 +-54 +-71 +-84 +-95 +-104 +-112 +-102 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-25 +-45 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +78 +72 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +61 +57 +51 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +60 +56 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +104 +97 +91 +82 +78 +70 +67 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +52 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +70 +66 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-106 +-113 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +89 +82 +78 +70 +66 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +72 +69 +62 +58 +52 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +52 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-99 +-106 +-113 +-102 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +89 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +72 +69 +63 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +67 +61 +57 +53 +50 +44 +42 +10 +-15 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +58 +25 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-26 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +58 +23 +-4 +-28 +-48 +-65 +-78 +-90 +-99 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +68 +63 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +78 +70 +66 +60 +56 +22 +-5 +-29 +-48 +-66 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +66 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +90 +83 +77 +70 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +30 +28 +27 +-3 +-27 +-48 +-64 +-79 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +95 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +112 +106 +96 +91 +82 +78 +70 +67 +61 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +92 +84 +79 +72 +68 +62 +58 +52 +49 +45 +42 +9 +-16 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +70 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +110 +95 +92 +84 +79 +72 +67 +62 +58 +52 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +102 +94 +88 +81 +76 +69 +64 +59 +56 +50 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +97 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-104 +-112 +-101 +-106 +-109 +-112 +-127 +-26 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +51 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +82 +79 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +32 +29 +27 +25 +22 +21 +19 +17 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +56 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +70 +66 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +44 +42 +37 +35 +31 +29 +27 +26 +22 +21 +18 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-77 +-88 +-98 +-105 +-113 +-101 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +106 +95 +90 +82 +78 +70 +66 +60 +56 +51 +48 +43 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-13 +-36 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +80 +73 +69 +62 +59 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +103 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +97 +91 +82 +78 +71 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +72 +68 +63 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-81 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +48 +43 +42 +37 +34 +32 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +116 +101 +97 +88 +83 +76 +71 +65 +61 +55 +52 +47 +45 +12 +-14 +-37 +-55 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +114 +107 +97 +91 +83 +77 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +91 +82 +78 +70 +66 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +67 +60 +56 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +56 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +91 +83 +78 +70 +66 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +51 +49 +43 +41 +37 +35 +31 +30 +26 +24 +22 +21 +18 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +65 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +79 +72 +68 +62 +59 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +95 +90 +83 +77 +70 +66 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +68 +62 +59 +53 +51 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +50 +44 +41 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-113 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +107 +97 +92 +83 +78 +71 +67 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +78 +70 +65 +60 +57 +22 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +48 +44 +42 +37 +35 +31 +30 +27 +25 +21 +21 +18 +17 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +86 +81 +73 +69 +63 +60 +53 +51 +46 +43 +39 +36 +32 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +25 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +70 +66 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +85 +79 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +17 +15 +15 +12 +11 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +111 +95 +92 +84 +79 +72 +67 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +93 +85 +79 +73 +69 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +110 +106 +97 +91 +83 +78 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +71 +66 +60 +57 +52 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +70 +67 +60 +57 +51 +48 +44 +41 +37 +35 +32 +30 +26 +25 +22 +20 +19 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +110 +95 +91 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +102 +94 +88 +81 +76 +69 +65 +59 +56 +50 +47 +15 +-12 +-35 +-53 +-70 +-83 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +58 +26 +-2 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +93 +85 +80 +72 +69 +62 +59 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +79 +71 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +22 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +105 +95 +91 +82 +77 +71 +67 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +84 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +61 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +81 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +120 +112 +105 +96 +90 +82 +78 +70 +66 +60 +56 +51 +48 +43 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +-14 +-36 +-56 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +55 +24 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +78 +70 +67 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +100 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +22 +18 +18 +16 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +50 +45 +43 +39 +37 +32 +31 +28 +27 +-3 +-27 +-48 +-65 +-79 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +77 +70 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +81 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +70 +63 +59 +53 +51 +46 +43 +38 +36 +33 +31 +28 +25 +-4 +-27 +-48 +-65 +-80 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +117 +101 +96 +89 +84 +77 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-36 +-55 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +58 +26 +-3 +-25 +-45 +-62 +-76 +-87 +-97 +-104 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +100 +94 +86 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +70 +66 +61 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +54 +23 +-6 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +78 +71 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +85 +80 +72 +68 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +104 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +82 +78 +70 +67 +60 +56 +51 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +93 +54 +22 +-6 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-102 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +90 +83 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +49 +43 +41 +37 +35 +31 +30 +26 +24 +22 +21 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-100 +-109 +-99 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +72 +69 +62 +59 +52 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +61 +57 +51 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +22 +19 +17 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +85 +81 +74 +69 +63 +59 +53 +51 +46 +43 +38 +37 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +101 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +91 +82 +78 +71 +67 +60 +57 +22 +-4 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +69 +62 +57 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +92 +84 +79 +72 +67 +62 +58 +52 +50 +44 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +114 +106 +97 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +52 +49 +44 +41 +36 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +-16 +-38 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +111 +95 +92 +84 +79 +72 +68 +61 +58 +52 +50 +45 +42 +10 +-15 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +106 +102 +94 +88 +81 +76 +69 +65 +59 +56 +50 +47 +15 +-11 +-35 +-53 +-70 +-82 +-94 +-103 +-111 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-26 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-99 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +86 +81 +72 +69 +63 +59 +52 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +52 +49 +44 +42 +38 +36 +31 +29 +27 +25 +22 +21 +18 +17 +15 +15 +13 +11 +-16 +-38 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +77 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +66 +61 +57 +51 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-105 +-112 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +60 +57 +52 +48 +43 +41 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-13 +-36 +-56 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-48 +-64 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +90 +82 +77 +70 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +14 +13 +13 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +54 +50 +45 +43 +39 +36 +32 +31 +28 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +113 +106 +96 +91 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +36 +32 +31 +28 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-55 +127 +127 +116 +101 +96 +88 +84 +76 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-71 +-84 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +59 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +90 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +83 +78 +71 +67 +60 +56 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +56 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +70 +67 +61 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +90 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +71 +66 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +51 +48 +43 +41 +38 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +65 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +61 +56 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +66 +61 +57 +51 +48 +43 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +98 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +114 +106 +97 +91 +83 +78 +71 +67 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-82 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +70 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +54 +23 +-6 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +61 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +69 +63 +59 +52 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +52 +49 +16 +-10 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +104 +96 +91 +83 +77 +70 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +36 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +82 +73 +69 +63 +60 +53 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +91 +83 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +79 +73 +69 +62 +58 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +56 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +44 +42 +36 +35 +31 +29 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-113 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +94 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +103 +94 +88 +80 +76 +69 +64 +59 +56 +50 +47 +14 +-12 +-35 +-53 +-70 +-83 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +59 +26 +-2 +-25 +-45 +-61 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-26 +127 +127 +127 +127 +123 +113 +107 +97 +92 +83 +78 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +51 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +14 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +61 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +77 +71 +67 +60 +57 +52 +48 +44 +42 +37 +34 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-109 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +60 +56 +51 +48 +44 +41 +37 +35 +31 +29 +25 +25 +22 +20 +18 +17 +15 +14 +-14 +-36 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +65 +59 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +23 +22 +18 +18 +15 +14 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-79 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +71 +67 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-68 +-82 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +90 +83 +78 +70 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +24 +22 +22 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +53 +51 +45 +43 +38 +37 +33 +31 +28 +25 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +116 +101 +97 +89 +83 +76 +72 +65 +62 +55 +52 +47 +45 +13 +-13 +-36 +-54 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +59 +26 +-2 +-25 +-45 +-62 +-76 +-87 +-97 +-104 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +114 +106 +96 +91 +83 +79 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +94 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +65 +61 +57 +52 +49 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +104 +96 +91 +82 +78 +71 +67 +60 +57 +51 +49 +43 +41 +37 +35 +31 +29 +27 +25 +22 +21 +19 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +111 +106 +96 +90 +82 +78 +71 +66 +60 +56 +22 +-5 +-29 +-48 +-66 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +68 +62 +59 +52 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +54 +23 +-6 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +61 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +77 +70 +67 +61 +56 +51 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +67 +62 +58 +52 +50 +45 +42 +10 +-16 +-39 +-56 +-72 +-85 +-96 +-105 +-113 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 diff --git a/traces/modulation-ask-man-40.pm3 b/traces/modulation-ask-man-40.pm3 new file mode 100644 index 000000000..8fdb2e6c2 --- /dev/null +++ b/traces/modulation-ask-man-40.pm3 @@ -0,0 +1,20000 @@ +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +98 +89 +84 +76 +72 +65 +61 +55 +53 +47 +44 +12 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +88 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +85 +77 +72 +65 +61 +55 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +98 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +98 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +66 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +71 +65 +61 +55 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +24 +20 +19 +17 +16 +13 +13 +11 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +44 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +67 +61 +57 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +89 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +76 +72 +65 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +10 +9 +6 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +69 +64 +58 +56 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +93 +84 +79 +72 +68 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +91 +85 +77 +73 +66 +61 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +33 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +62 +56 +53 +47 +45 +40 +38 +34 +31 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +95 +87 +82 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +20 +19 +16 +16 +-13 +-35 +-55 +-71 +-85 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-111 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +88 +83 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +71 +68 +62 +57 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +63 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +33 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +10 +9 +9 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-100 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +93 +84 +79 +72 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +77 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-89 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +112 +103 +96 +87 +83 +75 +71 +64 +61 +55 +52 +47 +44 +11 +-15 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +92 +84 +79 +72 +67 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-36 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +73 +66 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +66 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +96 +88 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +49 +45 +42 +38 +36 +31 +30 +27 +26 +22 +21 +19 +17 +16 +15 +13 +12 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-100 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +97 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-111 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +88 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +48 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +116 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +66 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-19 +-41 +-61 +-76 +-89 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +74 +70 +64 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +20 +19 +16 +16 +-12 +-35 +-55 +-71 +-85 +-96 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-30 +127 +127 +127 +127 +121 +112 +106 +96 +89 +82 +78 +70 +66 +60 +56 +51 +49 +43 +41 +9 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-100 +-109 +-102 +-96 +-90 +-83 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +45 +15 +-13 +-35 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +84 +76 +72 +65 +62 +56 +53 +47 +45 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +76 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +62 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +20 +17 +15 +13 +14 +12 +11 +9 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +106 +97 +92 +84 +79 +72 +67 +61 +58 +52 +49 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +115 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +115 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +24 +23 +20 +19 +17 +16 +13 +13 +11 +11 +9 +8 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +43 +13 +-14 +-36 +-55 +-70 +-84 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +62 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +71 +65 +62 +55 +52 +47 +45 +40 +38 +33 +32 +29 +27 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +94 +88 +80 +76 +69 +64 +59 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-75 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-108 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +71 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +41 +38 +33 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +11 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +72 +67 +62 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +14 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +18 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +96 +88 +82 +44 +13 +-14 +-36 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +66 +61 +55 +52 +48 +45 +40 +37 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +85 +77 +74 +66 +62 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +98 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +66 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +23 +23 +20 +19 +16 +16 +14 +13 +11 +10 +9 +9 +7 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +40 +8 +-18 +-40 +-58 +-75 +-87 +-98 +-107 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +113 +103 +96 +88 +83 +76 +71 +65 +61 +55 +52 +46 +45 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-99 +-107 +-101 +-94 +-89 +-83 +-78 +-72 +-68 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +71 +68 +62 +58 +53 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +86 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +91 +84 +79 +71 +68 +61 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +65 +63 +56 +53 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +76 +71 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +11 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +55 +53 +48 +44 +11 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +65 +61 +56 +53 +46 +45 +40 +38 +34 +32 +28 +27 +25 +23 +19 +19 +16 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +93 +84 +79 +72 +68 +62 +58 +52 +49 +44 +42 +38 +35 +32 +31 +27 +26 +23 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-99 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-70 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +15 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +74 +70 +64 +60 +54 +51 +45 +44 +39 +37 +33 +31 +28 +26 +24 +22 +19 +19 +16 +15 +-13 +-36 +-56 +-72 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +88 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +68 +61 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-99 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +24 +22 +19 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +95 +91 +82 +77 +70 +67 +61 +57 +51 +48 +43 +42 +9 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-90 +-83 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +77 +72 +65 +61 +56 +53 +47 +44 +12 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +115 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +11 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +73 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-21 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +95 +87 +81 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-104 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +57 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +28 +26 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +71 +68 +61 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +41 +38 +34 +32 +29 +27 +24 +23 +20 +20 +16 +15 +14 +14 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +69 +64 +59 +56 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +97 +89 +84 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +93 +84 +79 +72 +68 +61 +58 +53 +49 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +77 +73 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +95 +87 +82 +44 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +106 +98 +92 +84 +79 +72 +68 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +61 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +66 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +98 +89 +83 +76 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +76 +72 +65 +62 +56 +52 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +16 +16 +14 +12 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-100 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +83 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +24 +22 +20 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +112 +102 +96 +87 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +62 +57 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +65 +62 +57 +52 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +10 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +94 +88 +80 +76 +68 +65 +58 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +79 +72 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +113 +102 +96 +88 +83 +75 +71 +64 +61 +55 +51 +47 +45 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-90 +-83 +-78 +-72 +-68 +-63 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +93 +84 +80 +73 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-41 +-60 +-76 +-89 +-100 +-110 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +71 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +52 +48 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +14 +-14 +-35 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +71 +67 +62 +58 +52 +49 +45 +42 +37 +36 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-100 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +44 +40 +39 +34 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +19 +16 +16 +-13 +-35 +-55 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +88 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +85 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +63 +59 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +24 +22 +19 +19 +16 +15 +-13 +-35 +-55 +-71 +-86 +-97 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-30 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +77 +70 +65 +60 +57 +50 +48 +44 +41 +9 +-17 +-40 +-57 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-108 +-102 +-96 +-90 +-83 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +63 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +76 +72 +66 +62 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +66 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +84 +76 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +76 +71 +65 +61 +55 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +115 +107 +97 +92 +84 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +73 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +25 +23 +19 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-75 +-90 +-100 +-109 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +106 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +116 +105 +98 +90 +85 +77 +73 +66 +62 +57 +53 +47 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +8 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +103 +94 +88 +80 +75 +68 +64 +59 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-86 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-10 +-34 +-53 +-69 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +65 +62 +57 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +62 +55 +52 +47 +45 +40 +38 +33 +32 +29 +27 +24 +23 +20 +18 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-82 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +46 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +98 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +64 +60 +54 +52 +46 +43 +39 +37 +33 +31 +28 +27 +24 +22 +19 +19 +17 +16 +-13 +-35 +-55 +-71 +-86 +-97 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +87 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +47 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +90 +84 +77 +72 +66 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-109 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +99 +93 +84 +79 +72 +68 +62 +59 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +13 +-13 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +21 +20 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +103 +94 +87 +80 +76 +68 +65 +59 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +113 +102 +96 +88 +83 +75 +71 +65 +61 +55 +51 +46 +44 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +92 +85 +79 +72 +67 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +66 +62 +55 +52 +48 +45 +40 +38 +34 +32 +29 +27 +23 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +97 +90 +84 +76 +72 +66 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +15 +14 +14 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +58 +53 +49 +44 +42 +38 +35 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-99 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +43 +13 +-14 +-36 +-55 +-70 +-84 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +74 +66 +61 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +62 +56 +53 +48 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +64 +60 +54 +51 +46 +44 +40 +37 +33 +32 +28 +25 +23 +22 +20 +18 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +88 +83 +45 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +71 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +8 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +75 +71 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +23 +22 +20 +19 +15 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-29 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +77 +70 +67 +61 +56 +51 +48 +44 +41 +9 +-17 +-40 +-57 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-100 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +98 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +62 +55 +52 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +66 +62 +55 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +46 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +62 +56 +53 +47 +44 +12 +-15 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +48 +45 +39 +38 +34 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +71 +68 +62 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +83 +44 +14 +-14 +-35 +-54 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +71 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +37 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-19 +-41 +-61 +-76 +-89 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +93 +88 +80 +75 +68 +64 +58 +56 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +98 +93 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +116 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +84 +77 +72 +65 +61 +56 +53 +46 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +15 +13 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-104 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +83 +77 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +31 +28 +27 +24 +23 +20 +19 +17 +16 +14 +12 +11 +11 +9 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-100 +-93 +-87 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +75 +70 +63 +60 +54 +51 +45 +44 +39 +37 +33 +31 +27 +27 +24 +22 +19 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +88 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +67 +61 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +93 +88 +80 +75 +69 +65 +59 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-83 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +104 +97 +88 +84 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +124 +115 +108 +99 +92 +84 +79 +72 +68 +61 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +32 +29 +27 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +112 +102 +96 +87 +83 +75 +70 +64 +61 +55 +51 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-108 +-101 +-95 +-89 +-82 +-78 +-72 +-68 +-63 +118 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +99 +93 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +74 +66 +62 +57 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +20 +17 +16 +13 +13 +11 +11 +9 +8 +6 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +14 +-14 +-35 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +67 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +83 +76 +72 +65 +62 +56 +52 +47 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +96 +87 +82 +43 +13 +-14 +-36 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +50 +45 +42 +37 +36 +32 +29 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +7 +8 +-19 +-41 +-60 +-75 +-89 +-99 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-70 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +66 +62 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +74 +70 +64 +60 +54 +51 +47 +44 +39 +37 +33 +31 +28 +26 +23 +23 +20 +19 +16 +16 +-13 +-35 +-55 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +95 +88 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +89 +85 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +8 +-19 +-41 +-61 +-76 +-89 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +64 +60 +54 +51 +46 +43 +40 +37 +33 +31 +28 +26 +24 +23 +19 +18 +16 +16 +-12 +-35 +-55 +-71 +-86 +-97 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-30 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +56 +51 +48 +44 +41 +8 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +92 +84 +79 +72 +68 +62 +59 +53 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +88 +84 +77 +71 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +98 +89 +83 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +71 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +62 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +22 +20 +19 +17 +15 +13 +14 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +78 +72 +68 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +66 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +55 +52 +47 +45 +40 +38 +34 +32 +29 +27 +25 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-104 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 diff --git a/traces/modulation-ask-man-8.pm3 b/traces/modulation-ask-man-8.pm3 new file mode 100644 index 000000000..7aa4895b4 --- /dev/null +++ b/traces/modulation-ask-man-8.pm3 @@ -0,0 +1,20000 @@ +102 +120 +68 +19 +-23 +-58 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +72 +32 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +118 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +31 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-54 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-76 +-104 +-13 +70 +88 +39 +-6 +-45 +-76 +-104 +-14 +69 +88 +37 +-7 +-46 +-77 +-105 +-14 +70 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +37 +115 +127 +85 +34 +-11 +-46 +-78 +27 +109 +127 +74 +24 +-19 +-54 +-85 +11 +93 +111 +59 +12 +-30 +-64 +-93 +1 +84 +102 +51 +4 +-36 +-68 +-97 +-6 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +25 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +111 +59 +12 +-30 +-64 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-10 +77 +102 +55 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +66 +18 +-24 +-59 +-89 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +95 +66 +27 +-12 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +86 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-95 +-2 +81 +99 +70 +30 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +107 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-1 +81 +99 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +51 +5 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +16 +-26 +-60 +-89 +16 +98 +115 +64 +15 +-27 +-61 +-90 +3 +86 +105 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-10 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-53 +-83 +13 +95 +112 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +97 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-74 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-10 +-46 +-77 +28 +110 +127 +99 +58 +15 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-2 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-26 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +112 +57 +9 +-30 +-64 +44 +126 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +107 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +72 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +78 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-102 +46 +120 +127 +83 +33 +-11 +-47 +-79 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-45 +-76 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-77 +-105 +-16 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +59 +19 +-18 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +125 +73 +24 +-19 +-55 +-85 +11 +93 +111 +59 +12 +-30 +-63 +-93 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +77 +96 +45 +-1 +-40 +-72 +-100 +-10 +74 +92 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-22 +-56 +-86 +19 +102 +118 +66 +18 +-24 +-59 +-89 +6 +88 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +67 +26 +-13 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +28 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +112 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +118 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-46 +-77 +21 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-32 +-66 +-95 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +88 +107 +56 +9 +-33 +-66 +-95 +-1 +82 +100 +49 +3 +-37 +-70 +-98 +-7 +76 +94 +43 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +98 +115 +64 +16 +-26 +-60 +-89 +15 +98 +116 +64 +15 +-26 +-60 +-90 +4 +86 +104 +53 +7 +-34 +-67 +-96 +-3 +80 +97 +69 +29 +-10 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +113 +127 +76 +26 +-17 +-53 +-83 +12 +94 +112 +61 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-4 +79 +96 +46 +0 +-39 +-71 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +64 +16 +-26 +-60 +-90 +3 +87 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +12 +-26 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-63 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-57 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-102 +47 +120 +127 +83 +33 +-12 +-47 +-79 +28 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-4 +79 +95 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-78 +-105 +-15 +69 +86 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-20 +-54 +-85 +11 +94 +111 +59 +11 +-30 +-64 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-101 +-9 +74 +92 +65 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-77 +28 +111 +127 +74 +24 +-19 +-54 +-84 +11 +94 +111 +59 +12 +-30 +-63 +-92 +1 +84 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-58 +-88 +5 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +90 +62 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +34 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-46 +-77 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-37 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +100 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +74 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-60 +-89 +16 +98 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +29 +-10 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-53 +-83 +12 +95 +111 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-96 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-45 +-77 +28 +109 +127 +99 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +100 +47 +1 +-37 +-70 +37 +118 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +71 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +31 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +83 +33 +-12 +-47 +-79 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-30 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +84 +34 +-11 +-46 +-78 +27 +109 +125 +73 +24 +-19 +-54 +-85 +10 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +29 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +111 +59 +12 +-30 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +19 +102 +119 +67 +18 +-24 +-58 +-88 +6 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +1 +-38 +-71 +-99 +-7 +75 +93 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +74 +25 +-19 +-54 +-84 +12 +95 +112 +60 +13 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-36 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +61 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +55 +8 +-31 +-65 +43 +124 +127 +86 +35 +-10 +-46 +-78 +21 +102 +121 +68 +19 +-23 +-58 +-88 +6 +90 +107 +55 +8 +-33 +-66 +-95 +-1 +82 +99 +71 +31 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +32 +106 +123 +71 +22 +-20 +-55 +-85 +19 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-32 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-98 +-6 +77 +93 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +63 +16 +-26 +-61 +-90 +4 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +98 +69 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +112 +61 +13 +-29 +-63 +-92 +2 +86 +102 +52 +5 +-35 +-68 +-97 +-4 +78 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-10 +-45 +-77 +28 +109 +127 +99 +57 +15 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +4 +88 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-29 +-63 +44 +125 +127 +88 +36 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +23 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +83 +33 +-11 +-47 +-78 +28 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-8 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +36 +-8 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +67 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +110 +59 +11 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +65 +24 +-14 +-41 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-19 +-54 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +101 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +20 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-58 +-88 +5 +88 +106 +54 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +110 +127 +75 +26 +-18 +-53 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +4 +-36 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +34 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +8 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +103 +120 +68 +19 +-24 +-58 +-88 +7 +89 +107 +56 +8 +-33 +-66 +-95 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +122 +71 +22 +-20 +-55 +-85 +20 +102 +119 +68 +19 +-24 +-58 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +43 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +55 +8 +-32 +-65 +-94 +0 +82 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-60 +-89 +15 +97 +115 +64 +15 +-27 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +98 +70 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +90 +38 +-7 +-43 +-75 +29 +112 +127 +76 +26 +-18 +-53 +-83 +13 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +28 +109 +126 +98 +57 +15 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +100 +47 +1 +-36 +-69 +38 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-111 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +8 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +9 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-104 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +70 +88 +38 +-6 +-45 +-77 +-104 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +84 +33 +-11 +-47 +-78 +27 +109 +125 +73 +24 +-19 +-54 +-85 +10 +94 +111 +60 +12 +-30 +-63 +-92 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +91 +64 +24 +-14 +-42 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +29 +110 +127 +74 +25 +-19 +-54 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-4 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-43 +-74 +-102 +-11 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +30 +104 +121 +70 +21 +-22 +-56 +-86 +19 +101 +119 +67 +19 +-24 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +82 +98 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +66 +26 +-12 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-44 +-74 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +86 +36 +-9 +-46 +-77 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +90 +107 +55 +8 +-33 +-66 +-95 +-1 +81 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-85 +19 +102 +119 +67 +18 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +48 +2 +-38 +-70 +-98 +-6 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +64 +16 +-25 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +69 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-43 +-76 +30 +112 +127 +76 +26 +-17 +-53 +-83 +13 +94 +112 +61 +13 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +28 +109 +126 +98 +57 +15 +-14 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +48 +1 +-37 +-69 +38 +119 +127 +82 +31 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-89 +5 +88 +105 +77 +36 +-3 +-32 +-63 +-92 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +45 +124 +127 +119 +80 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-29 +-63 +44 +126 +127 +88 +37 +-8 +-45 +-77 +22 +104 +121 +68 +20 +-23 +-57 +-87 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +32 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +117 +78 +38 +9 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-110 +-127 +-101 +47 +119 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-46 +-77 +-104 +-14 +69 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +84 +33 +-11 +-47 +-78 +27 +109 +127 +74 +24 +-19 +-54 +-84 +11 +93 +111 +59 +12 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +91 +64 +24 +-14 +-41 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +4 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-44 +-74 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +18 +101 +118 +66 +18 +-25 +-59 +-89 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +65 +26 +-13 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +112 +61 +13 +-29 +-63 +-92 +2 +85 +101 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +34 +6 +-29 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +102 +119 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-32 +-65 +-95 +-2 +82 +100 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +121 +71 +22 +-21 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +90 +107 +55 +8 +-32 +-65 +-95 +-1 +81 +99 +48 +2 +-38 +-70 +-98 +-6 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +90 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +55 +8 +-32 +-65 +-94 +0 +82 +101 +51 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +114 +64 +16 +-26 +-60 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +87 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +113 +61 +13 +-29 +-62 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +86 +35 +-10 +-46 +-77 +28 +110 +126 +98 +57 +15 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-102 +53 +127 +127 +100 +47 +1 +-37 +-69 +38 +119 +127 +83 +32 +-12 +-48 +-80 +17 +100 +117 +64 +16 +-26 +-60 +-90 +5 +88 +104 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +104 +121 +68 +19 +-23 +-57 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-79 +-104 +-111 +-127 +-102 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +109 +127 +74 +25 +-18 +-53 +-84 +11 +94 +112 +60 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +39 +-5 +-44 +-75 +-103 +-13 +71 +89 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +93 +111 +59 +11 +-30 +-63 +-93 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +35 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-4 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +30 +104 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +66 +18 +-25 +-59 +-89 +6 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-6 +77 +93 +66 +26 +-13 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +111 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +112 +75 +34 +6 +-30 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-32 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +107 +55 +8 +-32 +-66 +-95 +-2 +82 +99 +71 +31 +-8 +-35 +-66 +-94 +-102 +-127 +-127 +-3 +84 +107 +58 +11 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-32 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +95 +44 +-1 +-41 +-73 +-100 +-10 +73 +91 +63 +23 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +102 +51 +5 +-35 +-68 +-97 +-103 +-127 +-127 +-127 +25 +99 +115 +65 +17 +-25 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +79 +97 +70 +29 +-9 +-37 +-68 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-43 +-75 +30 +112 +127 +75 +26 +-18 +-53 +-83 +12 +95 +112 +61 +13 +-29 +-62 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +98 +57 +15 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +47 +1 +-37 +-69 +37 +119 +127 +83 +32 +-12 +-48 +-80 +17 +100 +116 +64 +16 +-26 +-60 +-90 +5 +88 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +119 +80 +40 +11 +-26 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-63 +45 +126 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +91 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +32 +-8 +-35 +-66 +-94 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-79 +-104 +-111 +-127 +-102 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +110 +127 +75 +25 +-18 +-53 +-84 +12 +95 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-4 +79 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +39 +-5 +-44 +-76 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +37 +-7 +-46 +-77 +-104 +-14 +70 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +85 +36 +-9 +-47 +-78 +-106 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-85 +11 +94 +111 +59 +12 +-30 +-63 +-93 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-44 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-21 +-56 +-86 +19 +101 +119 +66 +18 +-24 +-59 +-89 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +80 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +66 +26 +-13 +-41 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-9 +-45 +-76 +29 +111 +127 +75 +26 +-18 +-53 +-83 +12 +94 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +35 +7 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +102 +120 +67 +18 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +70 +30 +-8 +-36 +-67 +-94 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +121 +71 +22 +-21 +-55 +-86 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-1 +82 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +23 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +55 +8 +-32 +-65 +-95 +0 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +98 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +64 +16 +-26 +-61 +-90 +4 +87 +105 +53 +7 +-34 +-67 +-96 +-3 +80 +97 +69 +29 +-10 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-75 +30 +112 +127 +76 +26 +-17 +-53 +-83 +13 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-46 +-77 +29 +111 +127 +99 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +54 +127 +127 +100 +47 +1 +-37 +-69 +37 +120 +127 +83 +32 +-12 +-48 +-80 +17 +99 +117 +64 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +80 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +45 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +71 +31 +-8 +-35 +-66 +-94 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +41 +122 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-12 +-48 +-79 +-104 +-111 +-127 +-102 +46 +119 +127 +83 +33 +-12 +-47 +-78 +29 +110 +127 +74 +25 +-19 +-53 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-4 +79 +96 +46 +0 +-39 +-71 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +71 +89 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-46 +-77 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +69 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +93 +111 +59 +12 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +77 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +86 +36 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +91 +41 +-4 +-43 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-22 +-56 +-86 +19 +101 +118 +66 +18 +-25 +-59 +-89 +5 +88 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-71 +-99 +-7 +77 +94 +66 +26 +-13 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +26 +-18 +-53 +-84 +12 +95 +112 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +35 +7 +-30 +-63 +-92 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-4 +83 +107 +59 +11 +-30 +-64 +-92 +-100 +-127 +-127 +-127 +33 +106 +123 +71 +22 +-21 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +56 +8 +-33 +-66 +-95 +-1 +82 +99 +48 +2 +-37 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +26 +98 +115 +64 +16 +-26 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +69 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-43 +-75 +30 +112 +127 +76 +26 +-18 +-53 +-83 +13 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +18 +100 +117 +64 +16 +-26 +-60 +-90 +4 +88 +106 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +80 +40 +11 +-26 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +45 +125 +127 +88 +37 +-8 +-45 +-77 +22 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +109 +57 +9 +-31 +-65 +-94 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-104 +-111 +-127 +-102 +47 +120 +127 +83 +33 +-12 +-47 +-79 +28 +111 +127 +75 +25 +-19 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +39 +-5 +-44 +-76 +-103 +-13 +69 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +87 +37 +-7 +-45 +-77 +-104 +-15 +69 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +87 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +59 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +35 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +11 +-30 +-64 +-93 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-101 +-9 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-76 +29 +110 +127 +74 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-59 +-88 +6 +89 +106 +54 +8 +-33 +-66 +-95 +-2 +80 +99 +48 +2 +-38 +-71 +-99 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +36 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +34 +7 +-30 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +123 +127 +87 +36 +-10 +-46 +-77 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +70 +30 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +106 +55 +8 +-33 +-66 +-95 +-1 +82 +99 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +74 +91 +63 +24 +-15 +-43 +-72 +-100 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-60 +-89 +16 +98 +116 +64 +16 +-26 +-60 +-90 +3 +87 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +29 +-10 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +97 +46 +0 +-39 +-71 +-99 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-45 +-77 +28 +110 +127 +99 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +47 +1 +-37 +-70 +37 +118 +127 +82 +31 +-13 +-49 +-80 +16 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-76 +21 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +107 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +71 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +78 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-102 +46 +120 +127 +83 +33 +-11 +-47 +-79 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +91 +41 +-4 +-43 +-75 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-13 +70 +88 +37 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +125 +73 +24 +-20 +-55 +-85 +11 +94 +111 +59 +12 +-29 +-63 +-92 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +77 +96 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +64 +25 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-10 +78 +102 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +19 +102 +119 +67 +18 +-24 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +82 +99 +47 +1 +-38 +-71 +-99 +-7 +77 +94 +66 +26 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +120 +127 +88 +37 +-8 +-44 +-76 +29 +110 +127 +75 +25 +-18 +-54 +-84 +12 +95 +112 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +61 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +56 +8 +-31 +-65 +43 +124 +127 +86 +35 +-10 +-46 +-78 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-95 +-1 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +33 +107 +123 +72 +23 +-20 +-55 +-85 +19 +102 +120 +67 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-33 +-66 +-95 +-1 +82 +100 +48 +2 +-38 +-70 +-98 +-7 +76 +94 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +98 +115 +64 +16 +-26 +-59 +-89 +16 +98 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +98 +69 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +27 +-17 +-52 +-83 +12 +95 +112 +61 +13 +-29 +-63 +-92 +2 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +73 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +17 +-26 +-60 +-89 +4 +87 +105 +76 +36 +-3 +-31 +-62 +-91 +-99 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +112 +57 +9 +-30 +-63 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +31 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +60 +12 +-30 +-63 +-93 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-101 +-9 +74 +92 +64 +24 +-14 +-41 +-71 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-18 +-53 +-84 +11 +94 +111 +59 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +70 +21 +-22 +-56 +-86 +19 +102 +119 +67 +18 +-24 +-58 +-88 +5 +88 +106 +54 +7 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +12 +94 +112 +61 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +113 +75 +34 +6 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +70 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +123 +72 +23 +-20 +-55 +-85 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-95 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +100 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +64 +15 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-44 +-76 +30 +112 +127 +76 +27 +-17 +-52 +-83 +12 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +37 +118 +127 +87 +35 +-9 +-45 +-77 +27 +109 +127 +98 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +100 +48 +1 +-37 +-69 +37 +118 +127 +82 +32 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-35 +-67 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +59 +11 +-30 +-63 +-93 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-14 +69 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +85 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-46 +-76 +-103 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +10 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +88 +37 +-8 +-45 +-76 +28 +111 +127 +74 +24 +-19 +-54 +-84 +11 +94 +112 +60 +12 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +30 +104 +121 +70 +21 +-22 +-56 +-86 +19 +101 +118 +66 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +93 +66 +27 +-12 +-40 +-70 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +89 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-74 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-30 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +55 +8 +-31 +-65 +43 +124 +127 +86 +36 +-10 +-46 +-77 +20 +102 +120 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-95 +-2 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +79 +103 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +16 +-26 +-59 +-89 +15 +98 +116 +64 +16 +-26 +-60 +-90 +4 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-44 +-75 +30 +112 +127 +76 +26 +-17 +-53 +-83 +12 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-46 +-77 +28 +109 +127 +98 +57 +16 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +80 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +126 +127 +88 +36 +-9 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-66 +-95 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +86 +37 +-7 +-46 +-78 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +69 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +115 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +12 +-30 +-63 +-93 +1 +83 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +37 +-9 +-45 +-76 +28 +109 +127 +75 +25 +-19 +-54 +-84 +11 +95 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +70 +21 +-21 +-56 +-86 +19 +101 +119 +66 +18 +-24 +-59 +-89 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-99 +-8 +76 +93 +65 +26 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +112 +60 +13 +-29 +-62 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +125 +127 +87 +36 +-9 +-45 +-77 +20 +102 +120 +67 +18 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +82 +100 +72 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-3 +83 +107 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +121 +71 +22 +-21 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-1 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +95 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +103 +55 +8 +-32 +-66 +-95 +0 +82 +101 +51 +5 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +100 +115 +64 +16 +-26 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +30 +111 +127 +76 +26 +-17 +-53 +-83 +12 +95 +112 +61 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +86 +35 +-9 +-45 +-77 +28 +110 +127 +99 +57 +15 +-14 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +47 +1 +-37 +-69 +37 +119 +127 +82 +32 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-90 +4 +88 +104 +77 +36 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-111 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +104 +121 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-1 +82 +100 +72 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +122 +127 +117 +78 +38 +10 +-27 +-60 +-90 +-97 +-127 +25 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +89 +39 +-5 +-44 +-76 +-103 +-14 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +86 +34 +-10 +-46 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-85 +11 +93 +111 +59 +12 +-30 +-63 +-92 +0 +84 +101 +50 +4 +-36 +-69 +-98 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-21 +-56 +-86 +18 +101 +119 +66 +18 +-25 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-3 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +93 +66 +27 +-13 +-40 +-70 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +2 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +114 +75 +35 +7 +-29 +-63 +-92 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +56 +8 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-46 +-77 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +71 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-4 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +20 +102 +120 +67 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +95 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +55 +9 +-32 +-65 +-95 +0 +83 +101 +51 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +65 +17 +-25 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +3 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-43 +-75 +29 +111 +127 +75 +26 +-18 +-53 +-84 +13 +94 +112 +61 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-46 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-37 +-69 +37 +119 +127 +83 +32 +-12 +-48 +-80 +17 +99 +116 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +119 +80 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-63 +44 +126 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +68 +20 +-23 +-57 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +31 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +122 +127 +117 +79 +38 +10 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-79 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +109 +127 +74 +25 +-18 +-54 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-76 +-104 +-13 +71 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +88 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +127 +74 +25 +-19 +-54 +-85 +11 +93 +110 +59 +11 +-30 +-63 +-93 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-6 +77 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +25 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +4 +-36 +-68 +-97 +-5 +78 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +55 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-22 +-56 +-86 +18 +101 +119 +67 +18 +-24 +-59 +-89 +5 +89 +107 +56 +8 +-33 +-66 +-95 +-2 +80 +98 +48 +2 +-38 +-70 +-99 +-8 +76 +94 +66 +26 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +26 +-18 +-53 +-84 +11 +94 +112 +60 +12 +-29 +-63 +-92 +1 +85 +101 +51 +5 +-36 +-69 +-97 +-5 +78 +97 +46 +0 +-39 +-71 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +6 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +88 +36 +-9 +-45 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +8 +-33 +-66 +-95 +-2 +81 +99 +72 +31 +-8 +-35 +-66 +-95 +-103 +-127 +-127 +-3 +84 +107 +60 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +32 +106 +123 +71 +22 +-21 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +82 +99 +48 +3 +-38 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +55 +8 +-32 +-66 +-95 +0 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-25 +-59 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-90 +3 +87 +105 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +29 +111 +127 +76 +26 +-18 +-53 +-83 +12 +95 +113 +61 +13 +-28 +-62 +-92 +2 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-46 +-77 +28 +110 +127 +98 +57 +16 +-14 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +47 +1 +-37 +-69 +37 +119 +127 +83 +32 +-13 +-49 +-80 +16 +99 +117 +64 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +102 +120 +68 +19 +-23 +-58 +-88 +8 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +100 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +83 +32 +-12 +-47 +-79 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +89 +40 +-5 +-44 +-76 +-103 +-13 +71 +89 +39 +-5 +-44 +-76 +-104 +-14 +70 +87 +38 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-46 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-84 +10 +93 +111 +59 +11 +-30 +-64 +-93 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-43 +-74 +-102 +-11 +72 +89 +63 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +18 +101 +118 +66 +17 +-25 +-59 +-89 +5 +88 +107 +56 +8 +-33 +-66 +-95 +-3 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +67 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +28 +111 +127 +75 +26 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +114 +75 +35 +7 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +35 +-10 +-46 +-77 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-95 +-2 +81 +99 +71 +31 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-4 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +88 +107 +56 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +3 +-38 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +98 +115 +65 +17 +-25 +-59 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-91 +3 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +79 +97 +69 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-43 +-75 +30 +112 +127 +76 +26 +-18 +-53 +-84 +12 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +36 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +54 +127 +127 +101 +48 +1 +-37 +-69 +37 +119 +127 +83 +32 +-13 +-49 +-80 +17 +99 +116 +64 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +45 +124 +127 +119 +80 +40 +12 +-25 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +126 +127 +88 +37 +-8 +-45 +-76 +20 +103 +120 +68 +19 +-23 +-58 +-88 +8 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +46 +119 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +74 +25 +-19 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +39 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-85 +10 +93 +110 +59 +11 +-30 +-64 +-93 +1 +83 +102 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +65 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-42 +-73 +-100 +-107 +-127 +-127 +-9 +77 +101 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +18 +100 +119 +67 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +80 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +41 +-4 +-43 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +6 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +123 +127 +87 +36 +-9 +-46 +-77 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +83 +108 +60 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +122 +71 +22 +-20 +-55 +-86 +20 +102 +120 +68 +19 +-23 +-58 +-88 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +49 +3 +-37 +-70 +-98 +-8 +76 +94 +44 +-1 +-41 +-73 +-101 +-10 +74 +91 +64 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +98 +114 +64 +16 +-26 +-60 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-90 +3 +86 +105 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +29 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-71 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +27 +109 +127 +99 +58 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +32 +-13 +-49 +-80 +17 +99 +116 +64 +16 +-26 +-60 +-90 +4 +88 +105 +77 +37 +-2 +-31 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-26 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +103 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +32 +-7 +-35 +-66 +-94 +-102 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +46 +120 +127 +83 +32 +-12 +-47 +-79 +28 +111 +127 +75 +25 +-18 +-53 +-84 +10 +94 +112 +60 +12 +-29 +-63 +-92 +1 +84 +101 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-10 +74 +91 +41 +-4 +-43 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +89 +39 +-6 +-45 +-76 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-14 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +37 +-7 +-46 +-77 +-105 +-15 +67 +86 +36 +-8 +-47 +-78 +-105 +-16 +68 +86 +59 +20 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +115 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +11 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-6 +77 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +65 +25 +-14 +-41 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-18 +-53 +-84 +11 +93 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-72 +-100 +-107 +-127 +-127 +-10 +77 +101 +54 +7 +-33 +-67 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-21 +-56 +-86 +19 +101 +118 +66 +18 +-25 +-59 +-89 +5 +88 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +67 +26 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +84 +102 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +56 +8 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +80 +98 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +83 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +19 +102 +120 +68 +19 +-23 +-58 +-88 +6 +88 +106 +56 +8 +-33 +-66 +-95 +-2 +82 +100 +49 +3 +-37 +-70 +-98 +-7 +76 +94 +44 +-1 +-41 +-73 +-101 +-10 +74 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +50 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +64 +15 +-27 +-61 +-90 +3 +85 +104 +53 +7 +-34 +-67 +-96 +-4 +80 +98 +70 +30 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-43 +-75 +29 +112 +127 +76 +27 +-17 +-53 +-83 +12 +94 +112 +61 +13 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-10 +74 +93 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-46 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-109 +-127 +-127 +-127 +-127 +-100 +54 +127 +127 +101 +48 +1 +-37 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +16 +99 +117 +65 +17 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-2 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-63 +43 +125 +127 +88 +37 +-9 +-45 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +72 +31 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +116 +79 +39 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-102 +46 +120 +127 +83 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +0 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-71 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-15 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +59 +19 +-18 +-45 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +35 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +12 +-30 +-63 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +91 +65 +25 +-14 +-41 +-71 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-77 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-30 +-63 +-92 +1 +84 +102 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-99 +-107 +-127 +-127 +-9 +77 +101 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-59 +-88 +5 +88 +105 +54 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-8 +76 +94 +67 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +28 +110 +127 +74 +25 +-18 +-54 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +0 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +76 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +42 +123 +127 +87 +36 +-10 +-46 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +60 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +123 +71 +22 +-20 +-55 +-85 +19 +101 +120 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +49 +3 +-37 +-70 +-98 +-7 +76 +94 +44 +-1 +-41 +-73 +-101 +-10 +74 +91 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +50 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-59 +-89 +15 +97 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +77 +27 +-17 +-52 +-83 +12 +94 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +97 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +87 +36 +-9 +-45 +-77 +27 +109 +127 +99 +58 +16 +-13 +-47 +-77 +-104 +-109 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +41 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +103 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +31 +-8 +-35 +-67 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +38 +-7 +-45 +-77 +-104 +-16 +68 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +59 +19 +-18 +-46 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-46 +-78 +27 +108 +126 +73 +24 +-19 +-54 +-85 +10 +93 +111 +60 +12 +-30 +-63 +-92 +-1 +83 +102 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-13 +-41 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +88 +37 +-8 +-45 +-76 +28 +110 +127 +75 +25 +-19 +-54 +-84 +11 +93 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +71 +90 +62 +23 +-16 +-42 +-72 +-99 +-107 +-127 +-127 +-10 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +69 +21 +-22 +-56 +-86 +18 +101 +119 +67 +18 +-24 +-59 +-88 +6 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-71 +-99 +-8 +76 +93 +67 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +56 +8 +-31 +-65 +43 +124 +127 +86 +35 +-10 +-46 +-78 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-4 +84 +108 +59 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-54 +-85 +19 +102 +119 +67 +19 +-24 +-58 +-88 +6 +88 +106 +56 +9 +-33 +-66 +-95 +-2 +82 +99 +48 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-59 +-89 +15 +97 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +79 +97 +70 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +29 +112 +127 +76 +26 +-17 +-52 +-83 +12 +94 +112 +61 +13 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +24 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +87 +35 +-9 +-45 +-77 +27 +109 +126 +99 +57 +16 +-13 +-47 +-77 +-104 +-109 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +16 +99 +116 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +120 +80 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +112 +57 +9 +-30 +-63 +43 +125 +127 +88 +36 +-9 +-45 +-77 +21 +103 +120 +68 +20 +-23 +-57 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-26 +-60 +-89 +-97 +-127 +23 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-6 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-77 +-105 +-16 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +67 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +108 +126 +73 +24 +-19 +-54 +-85 +10 +93 +111 +59 +12 +-30 +-63 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +65 +25 +-13 +-41 +-71 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-8 +-45 +-77 +27 +109 +127 +74 +25 +-18 +-54 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-22 +-56 +-86 +19 +100 +119 +67 +18 +-24 +-59 +-88 +5 +88 +106 +54 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-8 +76 +93 +66 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +61 +13 +-28 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +89 +62 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +42 +123 +127 +87 +35 +-9 +-46 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +8 +-33 +-66 +-95 +-3 +82 +99 +72 +31 +-8 +-35 +-67 +-94 +-103 +-127 +-127 +-3 +83 +108 +60 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +123 +72 +23 +-20 +-55 +-85 +19 +102 +119 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +80 +99 +48 +3 +-37 +-70 +-98 +-8 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +79 +103 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +16 +-26 +-59 +-89 +15 +97 +115 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +31 +-9 +-36 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-44 +-76 +29 +111 +127 +76 +26 +-17 +-52 +-83 +12 +94 +112 +60 +13 +-29 +-63 +-92 +2 +84 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-15 +-42 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +86 +36 +-9 +-45 +-77 +27 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +52 +127 +127 +100 +48 +1 +-37 +-69 +37 +119 +127 +83 +32 +-13 +-49 +-80 +16 +99 +117 +65 +17 +-25 +-59 +-89 +4 +87 +104 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-94 +-3 +81 +99 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +122 +127 +117 +79 +38 +10 +-26 +-60 +-89 +-97 +-127 +23 +109 +127 +82 +32 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +93 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +43 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-16 +68 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +85 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-7 +-46 +-77 +-105 +-17 +68 +86 +59 +20 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +35 +-10 +-46 +-78 +27 +109 +125 +73 +24 +-19 +-54 +-85 +10 +93 +111 +60 +12 +-29 +-63 +-92 +0 +84 +102 +51 +4 +-36 +-69 +-97 +-6 +77 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-13 +-41 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +88 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +112 +61 +13 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-10 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-10 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +22 +-21 +-56 +-86 +18 +101 +118 +66 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-3 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +75 +93 +67 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +89 +37 +-8 +-44 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +61 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +19 +101 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +81 +99 +72 +32 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-4 +84 +108 +60 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +72 +22 +-20 +-55 +-85 +19 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +79 +103 +56 +8 +-32 +-65 +-95 +-1 +83 +102 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +17 +-25 +-59 +-89 +14 +98 +116 +64 +15 +-26 +-60 +-90 +3 +86 +104 +54 +7 +-34 +-67 +-96 +-5 +79 +97 +70 +30 +-9 +-36 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-43 +-75 +29 +111 +127 +76 +26 +-17 +-53 +-83 +12 +94 +112 +61 +13 +-29 +-62 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +46 +0 +-40 +-72 +-100 +-10 +75 +93 +43 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +87 +36 +-9 +-46 +-77 +27 +109 +127 +98 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +16 +99 +116 +65 +16 +-26 +-60 +-89 +4 +87 +105 +77 +37 +-2 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +58 +9 +-29 +-63 +43 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +69 +20 +-23 +-57 +-87 +6 +90 +107 +56 +9 +-32 +-66 +-95 +-2 +82 +100 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +9 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +27 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +89 +39 +-6 +-45 +-76 +-104 +-15 +69 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +86 +37 +-7 +-46 +-77 +-105 +-16 +69 +87 +37 +-7 +-46 +-77 +-104 +-16 +68 +87 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-16 +68 +85 +59 +20 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +127 +74 +24 +-19 +-54 +-85 +10 +93 +110 +59 +11 +-30 +-64 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-6 +77 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +65 +25 +-14 +-41 +-71 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-77 +27 +109 +127 +75 +25 +-19 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +55 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-21 +-56 +-86 +18 +100 +119 +67 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +80 +99 +49 +3 +-37 +-70 +-98 +-8 +76 +94 +66 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +28 +110 +127 +76 +26 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +1 +84 +101 +51 +5 +-36 +-69 +-97 +-5 +79 +97 +46 +0 +-39 +-71 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-3 +81 +99 +71 +31 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-3 +83 +108 +60 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-85 +19 +102 +120 +68 +19 +-24 +-58 +-88 +5 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +95 +45 +-1 +-41 +-73 +-101 +-11 +73 +90 +63 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-66 +-95 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +17 +-25 +-59 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-90 +3 +86 +105 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +70 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +90 +38 +-7 +-44 +-76 +29 +111 +127 +76 +26 +-17 +-53 +-83 +12 +95 +112 +61 +13 +-28 +-63 +-92 +1 +84 +103 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +90 +63 +23 +-16 +-42 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +87 +36 +-9 +-45 +-77 +27 +109 +127 +98 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +48 +1 +-37 +-69 +37 +118 +127 +83 +32 +-13 +-49 +-80 +16 +98 +117 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +64 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +102 +120 +68 +20 +-23 +-58 +-88 +6 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +81 +100 +72 +31 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +118 +79 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-79 +27 +109 +127 +75 +25 +-19 +-54 +-84 +11 +94 +111 +61 +13 +-29 +-63 +-92 +1 +84 +101 +51 +5 +-36 +-69 +-97 +-5 +77 +96 +46 +0 +-40 +-72 +-100 +-10 +74 +93 +43 +-3 +-42 +-74 +-102 +-12 +71 +90 +40 +-5 +-44 +-76 +-103 +-14 +70 +89 +39 +-6 +-45 +-77 +-104 +-14 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-16 +69 +87 +37 +-7 +-46 +-77 +-105 +-16 +67 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +37 +-7 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +35 +115 +127 +85 +34 +-11 +-46 +-78 +26 +109 +126 +74 +24 +-19 +-54 +-85 +10 +92 +111 +60 +12 +-30 +-63 +-92 +0 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-13 +-41 +-71 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +93 +111 +60 +13 +-29 +-63 +-92 +0 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-10 +74 +92 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-21 +-56 +-86 +18 +101 +119 +67 +18 +-24 +-59 +-89 +5 +88 +107 +56 +8 +-33 +-66 +-95 +-3 +80 +99 +48 +2 +-38 +-71 +-99 +-7 +76 +94 +67 +27 +-12 +-40 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +28 +110 +127 +76 +26 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +19 +101 +119 +68 +19 +-24 +-58 +-88 +6 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +32 +-7 +-35 +-66 +-94 +-102 +-127 +-127 +-4 +83 +107 +59 +12 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-86 +19 +102 +120 +68 +19 +-24 +-58 +-88 +5 +88 +106 +56 +9 +-33 +-66 +-95 +-3 +81 +99 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +45 +-1 +-41 +-73 +-101 +-11 +72 +91 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +79 +103 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +65 +17 +-25 +-59 +-89 +14 +97 +115 +64 +15 +-27 +-61 +-91 +3 +86 +104 +54 +7 +-34 +-67 +-96 +-5 +79 +97 +70 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-43 +-75 +29 +112 +127 +76 +26 +-18 +-53 +-83 +11 +94 +112 +61 +13 +-28 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +97 +46 +0 +-39 +-72 +-100 +-10 +74 +93 +43 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-42 +-73 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-46 +-77 +27 +109 +127 +99 +57 +16 +-13 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +32 +-13 +-49 +-80 +16 +99 +116 +65 +16 +-26 +-60 +-90 +3 +88 +106 +77 +37 +-2 +-30 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-109 +45 +124 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +108 +57 +9 +-32 +-65 +-94 +-2 +82 +100 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 diff --git a/traces/modulation-direct-32.pm3 b/traces/modulation-direct-32.pm3 new file mode 100644 index 000000000..8d72895aa --- /dev/null +++ b/traces/modulation-direct-32.pm3 @@ -0,0 +1,20000 @@ +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +43 +41 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-87 +-82 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +110 +105 +95 +89 +81 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +90 +82 +77 +70 +65 +60 +56 +50 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-55 +-51 +-48 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-102 +-96 +-89 +-83 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-39 +-37 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-18 +-16 +-16 +-14 +-15 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-4 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +81 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-111 +-103 +-97 +-90 +-85 +-79 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-36 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-29 +-52 +-71 +-88 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-57 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +77 +70 +65 +59 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-39 +-38 +-34 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-42 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +43 +40 +36 +34 +31 +29 +26 +24 +21 +20 +17 +17 +15 +14 +11 +11 +9 +9 +7 +7 +6 +6 +4 +3 +3 +3 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-27 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +69 +66 +60 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +89 +82 +77 +69 +65 +59 +55 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +86 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +-4 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-112 +-103 +-98 +-91 +-85 +-80 +-75 +-70 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-13 +-11 +-11 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +96 +89 +82 +77 +69 +65 +59 +56 +51 +48 +43 +40 +36 +34 +31 +29 +26 +24 +21 +20 +18 +16 +15 +14 +12 +11 +10 +10 +8 +7 +6 +5 +4 +4 +2 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +43 +41 +36 +35 +31 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +7 +7 +6 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-5 +-5 +-5 +-5 +-31 +-55 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-87 +-82 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-12 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +70 +65 +60 +56 +50 +47 +42 +40 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +89 +81 +77 +70 +65 +60 +56 +51 +47 +42 +40 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +93 +87 +80 +75 +68 +63 +58 +55 +49 +47 +42 +39 +35 +3 +-25 +-48 +-68 +-84 +-99 +-109 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +81 +77 +70 +66 +60 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +109 +100 +94 +85 +80 +72 +68 +63 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-69 +-66 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-36 +-34 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +28 +26 +22 +21 +19 +18 +15 +14 +13 +13 +10 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-29 +-52 +-72 +-89 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +66 +60 +56 +51 +47 +42 +41 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +69 +66 +60 +55 +50 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-89 +-84 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-26 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +89 +82 +77 +69 +65 +60 +56 +51 +48 +43 +41 +37 +35 +30 +29 +26 +24 +22 +20 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +0 +-1 +-2 +-1 +-27 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +59 +56 +51 +48 +42 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +59 +56 +51 +47 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +110 +100 +93 +85 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +35 +32 +31 +26 +-4 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-34 +-31 +-29 +-27 +-27 +-24 +-24 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-9 +-8 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-4 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +34 +31 +29 +26 +24 +21 +21 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +5 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +104 +95 +90 +82 +77 +70 +66 +60 +57 +51 +47 +43 +41 +35 +34 +31 +29 +26 +25 +22 +21 +18 +17 +14 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-108 +-100 +-94 +-87 +-83 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +69 +65 +60 +56 +50 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +89 +82 +77 +70 +65 +60 +56 +50 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +-89 +-83 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-28 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +101 +93 +87 +80 +75 +68 +64 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-89 +-83 +-78 +-74 +-68 +-64 +-60 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +96 +90 +80 +77 +70 +66 +59 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +73 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-70 +-66 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-36 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +90 +82 +77 +69 +65 +60 +56 +51 +47 +42 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-96 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +84 +80 +73 +69 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +9 +9 +8 +8 +6 +6 +4 +5 +4 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-29 +-52 +-71 +-89 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-57 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-29 +-29 +-27 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +81 +76 +70 +65 +60 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-102 +-96 +-89 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +42 +41 +37 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +69 +66 +60 +56 +51 +47 +42 +41 +36 +34 +30 +29 +26 +25 +22 +21 +17 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-28 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-57 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +81 +77 +70 +66 +59 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-89 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +77 +69 +65 +60 +56 +51 +48 +43 +40 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-102 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +69 +63 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +-3 +-31 +-53 +-72 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-76 +-70 +-66 +-61 +-58 +-53 +-50 +-46 +-44 +-41 +-39 +-36 +-34 +-31 +-30 +-27 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +96 +89 +81 +77 +70 +65 +59 +56 +51 +48 +43 +40 +36 +35 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +11 +12 +10 +9 +7 +7 +6 +5 +4 +4 +2 +3 +2 +1 +1 +1 +0 +0 +-1 +-1 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +96 +90 +82 +77 +69 +65 +60 +56 +50 +47 +43 +41 +36 +34 +31 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-4 +-3 +-3 +-4 +-4 +-3 +-4 +-3 +-5 +-4 +-5 +-3 +-5 +-5 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-6 +-5 +-5 +-30 +-54 +-73 +-90 +-103 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-88 +-83 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +40 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +96 +90 +81 +77 +70 +65 +60 +56 +51 +47 +43 +40 +35 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +118 +109 +102 +93 +87 +79 +75 +69 +64 +58 +55 +48 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +103 +95 +90 +82 +77 +70 +66 +59 +56 +50 +47 +43 +41 +36 +4 +-24 +-47 +-67 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +37 +36 +32 +31 +27 +-4 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-39 +-35 +-34 +-31 +-30 +-27 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +69 +65 +60 +56 +50 +47 +42 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +94 +85 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-3 +-2 +-1 +-2 +-28 +-52 +-71 +-89 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-27 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +42 +40 +36 +5 +-24 +-47 +-67 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-34 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +81 +77 +70 +65 +59 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +96 +89 +81 +77 +69 +65 +60 +56 +51 +48 +43 +41 +36 +34 +30 +29 +25 +23 +21 +21 +17 +17 +15 +14 +12 +12 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +1 +1 +1 +-1 +0 +-1 +-1 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-98 +-92 +-87 +-82 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +69 +65 +60 +56 +50 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-24 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +34 +30 +29 +26 +25 +21 +20 +18 +16 +15 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +2 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-2 +-28 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-106 +-99 +-92 +-86 +-82 +-76 +-72 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +81 +77 +70 +66 +59 +56 +51 +48 +43 +40 +36 +34 +31 +29 +26 +24 +21 +21 +18 +17 +14 +14 +12 +11 +10 +9 +6 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-5 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-88 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-6 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-55 +-52 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-55 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +101 +93 +87 +80 +75 +68 +64 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-89 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +65 +59 +55 +51 +48 +43 +41 +36 +4 +-24 +-47 +-67 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +73 +69 +62 +59 +53 +49 +45 +43 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-72 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +76 +69 +66 +60 +55 +51 +48 +42 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +108 +100 +93 +85 +80 +73 +69 +62 +59 +53 +49 +45 +42 +37 +36 +32 +31 +27 +26 +22 +22 +19 +18 +14 +14 +13 +12 +10 +9 +7 +8 +6 +6 +4 +5 +4 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-28 +-52 +-71 +-88 +-101 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-97 +-107 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-62 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +81 +77 +69 +65 +59 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-28 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +76 +70 +66 +60 +56 +51 +47 +42 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-39 +-38 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +69 +65 +60 +56 +51 +47 +42 +41 +36 +34 +30 +29 +26 +25 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +7 +8 +6 +6 +4 +4 +2 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-27 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +42 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +95 +89 +82 +77 +69 +66 +60 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +100 +93 +85 +80 +73 +69 +62 +58 +53 +50 +44 +42 +38 +36 +32 +31 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-47 +-44 +-41 +-39 +-35 +-34 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +95 +89 +81 +77 +70 +65 +59 +56 +51 +48 +43 +40 +37 +35 +30 +28 +25 +24 +21 +21 +18 +17 +15 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-27 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +90 +82 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +35 +31 +28 +26 +25 +21 +21 +18 +16 +15 +14 +12 +11 +9 +9 +7 +7 +5 +5 +3 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-4 +-2 +-3 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-108 +-100 +-94 +-87 +-83 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +81 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +63 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +66 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-51 +-47 +-44 +-41 +-39 +-36 +-34 +-31 +-30 +-28 +-26 +-24 +-23 +-22 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +60 +56 +50 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +21 +19 +18 +16 +15 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +1 +0 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-29 +-52 +-71 +-88 +-102 +-114 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +69 +65 +60 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +77 +70 +66 +60 +56 +51 +48 +43 +41 +36 +4 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +95 +89 +82 +77 +69 +66 +60 +56 +51 +48 +43 +41 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +8 +7 +7 +6 +5 +4 +4 +3 +4 +2 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-28 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-26 +-26 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +69 +65 +59 +55 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-52 +-48 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +96 +89 +82 +77 +70 +65 +59 +56 +50 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +80 +73 +69 +63 +59 +53 +50 +45 +43 +38 +35 +32 +30 +26 +-4 +-32 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-112 +-103 +-98 +-91 +-85 +-79 +-76 +-70 +-66 +-61 +-58 +-53 +-50 +-46 +-44 +-41 +-39 +-35 +-33 +-31 +-30 +-27 +-27 +-24 +-24 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +96 +90 +82 +77 +70 +65 +60 +56 +50 +48 +43 +41 +36 +34 +31 +29 +26 +25 +21 +20 +18 +16 +15 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +3 +3 +1 +1 +0 +1 +0 +0 +-1 +0 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +96 +90 +81 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +34 +31 +28 +26 +25 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +3 +2 +1 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-5 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-87 +-83 +-77 +-72 +-67 +-63 +-59 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +81 +77 +70 +65 +60 +56 +51 +48 +43 +41 +36 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +89 +81 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +-89 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +35 +3 +-25 +-48 +-68 +-84 +-99 +-110 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-89 +-83 +-77 +-73 +-68 +-64 +-60 +-56 +-52 +-49 +-45 +-43 +-40 +-37 +-34 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +76 +70 +66 +59 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +81 +73 +68 +62 +59 +53 +50 +45 +43 +38 +37 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-34 +-31 +-30 +-27 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +1 +2 +1 +0 +0 +1 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-28 +-52 +-71 +-88 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-29 +-29 +-27 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 diff --git a/traces/modulation-direct-40.pm3 b/traces/modulation-direct-40.pm3 new file mode 100644 index 000000000..f716de72e --- /dev/null +++ b/traces/modulation-direct-40.pm3 @@ -0,0 +1,20000 @@ +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-64 +-60 +-56 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +86 +80 +74 +69 +62 +59 +53 +51 +45 +43 +38 +36 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-85 +-78 +-74 +-68 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +87 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-73 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +97 +91 +83 +79 +71 +67 +61 +58 +52 +49 +44 +42 +37 +35 +31 +29 +27 +26 +22 +21 +19 +18 +15 +-11 +-35 +-55 +-72 +-85 +-97 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-111 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +50 +44 +42 +38 +36 +31 +30 +26 +25 +22 +21 +18 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +2 +2 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-74 +-69 +-64 +-61 +-57 +-53 +-49 +-47 +-43 +-41 +-37 +-36 +-33 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +82 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +60 +54 +50 +46 +43 +39 +37 +33 +31 +28 +27 +24 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +23 +22 +20 +18 +16 +15 +13 +12 +11 +11 +9 +8 +7 +7 +5 +5 +3 +3 +3 +3 +1 +2 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +59 +53 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-9 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-39 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-73 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +22 +19 +18 +16 +-11 +-35 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +19 +16 +15 +13 +13 +10 +11 +8 +8 +7 +6 +4 +5 +4 +4 +2 +3 +2 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +-35 +-33 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +9 +8 +7 +6 +5 +5 +4 +3 +2 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +-8 +-33 +-53 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +28 +26 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-59 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-8 +-7 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +94 +85 +80 +73 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +62 +59 +54 +51 +46 +43 +38 +37 +33 +31 +27 +26 +23 +21 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +92 +84 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-86 +-98 +-107 +-99 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +-9 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-73 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +97 +91 +83 +79 +72 +67 +61 +58 +52 +48 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +4 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-65 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +-35 +-32 +-31 +-28 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-39 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +28 +26 +23 +22 +20 +19 +16 +15 +13 +13 +10 +10 +9 +8 +6 +7 +5 +5 +4 +4 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-97 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-57 +-53 +-49 +-46 +-43 +-41 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +50 +46 +44 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +20 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +91 +84 +79 +71 +68 +61 +57 +52 +49 +44 +42 +38 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +-11 +-36 +-55 +-72 +-85 +-97 +-106 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-80 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +94 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +23 +19 +18 +16 +15 +13 +13 +10 +10 +8 +9 +7 +6 +5 +5 +3 +4 +2 +2 +1 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-35 +-32 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +36 +33 +31 +28 +26 +24 +22 +19 +19 +16 +15 +13 +13 +10 +10 +9 +8 +7 +7 +5 +5 +4 +4 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-104 +-97 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-56 +-54 +-49 +-47 +-43 +-41 +-37 +-36 +-33 +-32 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +27 +27 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-79 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +93 +86 +81 +73 +69 +62 +58 +53 +51 +45 +43 +38 +36 +33 +31 +28 +25 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +72 +67 +61 +58 +52 +49 +45 +42 +37 +35 +31 +29 +27 +25 +22 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +92 +84 +79 +71 +67 +61 +57 +51 +49 +44 +42 +38 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +2 +0 +0 +0 +0 +-1 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-97 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-57 +-53 +-49 +-46 +-43 +-41 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +27 +26 +24 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-114 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-37 +-35 +-33 +-30 +-29 +-27 +-25 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +69 +63 +60 +54 +51 +46 +44 +38 +37 +33 +31 +28 +26 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +53 +50 +45 +43 +39 +37 +33 +31 +28 +26 +22 +22 +19 +18 +16 +15 +14 +12 +11 +11 +8 +9 +7 +7 +5 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-27 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-65 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +82 +74 +69 +63 +59 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +24 +23 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +91 +83 +79 +71 +67 +61 +58 +52 +50 +44 +42 +38 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +-11 +-36 +-55 +-72 +-85 +-97 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-47 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +27 +26 +23 +22 +19 +19 +16 +15 +13 +13 +10 +11 +8 +8 +6 +7 +5 +5 +4 +4 +2 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-27 +-49 +-67 +-82 +-94 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +-36 +-33 +-31 +-28 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +82 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +30 +28 +27 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +8 +8 +7 +6 +5 +5 +4 +3 +2 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-96 +-91 +-84 +-80 +-74 +-69 +-65 +-61 +-57 +-54 +-49 +-46 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-26 +-26 +-23 +-22 +-21 +-19 +-17 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +94 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +39 +37 +32 +31 +28 +25 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +94 +85 +80 +74 +69 +62 +59 +53 +50 +45 +43 +38 +36 +33 +30 +27 +26 +23 +21 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-26 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +87 +81 +74 +69 +63 +59 +54 +51 +46 +44 +38 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +92 +84 +79 +71 +68 +61 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +-11 +-36 +-55 +-72 +-86 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +97 +91 +83 +79 +72 +67 +61 +58 +52 +49 +44 +42 +37 +36 +31 +30 +27 +26 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +8 +7 +6 +7 +5 +4 +4 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-14 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +44 +39 +37 +33 +31 +28 +26 +22 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +82 +74 +70 +63 +60 +53 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +23 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-15 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +86 +81 +73 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +19 +16 +15 +13 +13 +10 +10 +8 +8 +6 +7 +5 +5 +4 +4 +2 +2 +1 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-47 +-43 +-41 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +23 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-86 +-98 +-107 +-99 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +23 +20 +18 +16 +15 +13 +13 +11 +10 +8 +9 +7 +7 +6 +5 +3 +4 +3 +2 +1 +1 +0 +1 +0 +0 +-1 +0 +-1 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +-35 +-33 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +9 +8 +6 +6 +5 +5 +4 +4 +3 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-65 +-61 +-56 +-53 +-49 +-47 +-43 +-41 +-37 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +60 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-64 +-60 +-56 +-52 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +94 +86 +81 +73 +69 +63 +59 +53 +50 +45 +43 +39 +36 +32 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +38 +37 +33 +31 +28 +26 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +91 +83 +79 +72 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-86 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-47 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +80 +74 +70 +63 +59 +54 +51 +46 +43 +39 +37 +33 +31 +28 +25 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +71 +67 +61 +58 +52 +49 +44 +41 +38 +35 +32 +30 +27 +25 +22 +22 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-26 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +9 +9 +6 +7 +5 +5 +3 +4 +2 +3 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-65 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +95 +86 +82 +74 +69 +63 +60 +54 +51 +45 +43 +39 +37 +33 +30 +28 +27 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-97 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +70 +63 +59 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +98 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +36 +32 +30 +27 +25 +22 +21 +18 +17 +16 +-11 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-111 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +44 +39 +36 +33 +31 +28 +26 +23 +22 +19 +19 +16 +15 +14 +13 +10 +11 +9 +8 +7 +7 +5 +5 +3 +4 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-74 +-69 +-65 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +82 +74 +69 +63 +60 +54 +50 +45 +43 +38 +37 +33 +31 +28 +27 +24 +22 +20 +19 +15 +15 +13 +12 +11 +10 +9 +8 +7 +7 +5 +5 +4 +4 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-104 +-96 +-91 +-84 +-79 +-74 +-70 +-65 +-61 +-57 +-54 +-49 +-47 +-43 +-40 +-38 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +38 +37 +33 +30 +28 +27 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-97 +-90 +-84 +-78 +-74 +-68 +-64 +-59 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +73 +70 +63 +59 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +94 +84 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-69 +-64 +-60 +-57 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-23 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +82 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +92 +83 +79 +72 +68 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +23 +22 +18 +18 +16 +-11 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 diff --git a/traces/modulation-direct-50.pm3 b/traces/modulation-direct-50.pm3 new file mode 100644 index 000000000..a15d2e048 --- /dev/null +++ b/traces/modulation-direct-50.pm3 @@ -0,0 +1,20000 @@ +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +37 +32 +30 +27 +26 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +79 +72 +68 +61 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +21 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +73 +69 +62 +59 +52 +49 +45 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +16 +15 +13 +12 +10 +11 +8 +8 +6 +-19 +-41 +-59 +-75 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +12 +11 +10 +9 +7 +7 +5 +-20 +-42 +-60 +-76 +-89 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +92 +85 +80 +72 +68 +62 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-86 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +35 +33 +29 +28 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-28 +-49 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-94 +-89 +-82 +-77 +-72 +-68 +-63 +-59 +-54 +-51 +-48 +-45 +-42 +-40 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +63 +59 +53 +50 +45 +42 +38 +36 +32 +30 +28 +26 +22 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +7 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-5 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +80 +73 +68 +62 +58 +53 +50 +44 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +14 +13 +13 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +92 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +39 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +4 +3 +2 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-107 +-100 +-93 +-89 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-20 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +28 +25 +22 +22 +19 +17 +16 +15 +13 +12 +10 +10 +8 +8 +7 +-18 +-42 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-42 +-60 +-76 +-89 +-100 +-109 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +49 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +5 +5 +4 +3 +3 +2 +1 +2 +1 +1 +0 +-1 +-1 +0 +-1 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-28 +-49 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-107 +-101 +-94 +-88 +-82 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-31 +-28 +-27 +-25 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +22 +22 +19 +18 +16 +15 +12 +13 +11 +10 +8 +8 +6 +7 +5 +4 +3 +4 +3 +2 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-106 +-101 +-94 +-88 +-82 +-78 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-40 +-36 +-34 +-33 +-31 +-28 +-27 +-24 +-24 +-21 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +49 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +9 +9 +7 +-18 +-42 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +15 +15 +12 +13 +10 +10 +8 +8 +7 +-19 +-42 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +107 +99 +93 +85 +79 +72 +69 +62 +59 +53 +49 +45 +42 +37 +36 +32 +30 +28 +26 +23 +22 +19 +18 +15 +15 +13 +12 +11 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-85 +-80 +-74 +-69 +-65 +-60 +-58 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +107 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +105 +98 +89 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-42 +-60 +-76 +-89 +-100 +-108 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +98 +93 +85 +79 +73 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-7 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +93 +85 +79 +72 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +21 +19 +19 +16 +15 +13 +13 +10 +9 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +107 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +21 +19 +18 +16 +15 +12 +12 +11 +10 +9 +8 +6 +7 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-28 +-49 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-71 +-67 +-63 +-59 +-54 +-51 +-47 +-45 +-42 +-40 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +107 +99 +93 +84 +80 +73 +69 +62 +58 +52 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +7 +-18 +-41 +-59 +-75 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +93 +85 +79 +72 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +26 +22 +22 +19 +18 +15 +15 +13 +13 +10 +9 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +27 +25 +24 +20 +19 +16 +16 +14 +14 +11 +10 +9 +9 +7 +8 +5 +-20 +-42 +-60 +-76 +-88 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +11 +11 +8 +8 +6 +6 +5 +5 +3 +3 +2 +3 +1 +1 +0 +1 +0 +0 +-2 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-71 +-67 +-62 +-59 +-54 +-52 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +36 +33 +31 +27 +26 +23 +21 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +7 +6 +4 +5 +4 +4 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-4 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-82 +-94 +-105 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +84 +79 +73 +69 +61 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +21 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-15 +-15 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +92 +85 +79 +72 +68 +62 +57 +53 +50 +45 +42 +38 +36 +31 +31 +27 +25 +22 +22 +19 +18 +16 +15 +13 +13 +10 +9 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +9 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +73 +68 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +7 +-19 +-41 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +35 +32 +29 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +4 +2 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-67 +-63 +-59 +-54 +-51 +-48 +-45 +-42 +-40 +-36 +-34 +-32 +-30 +-28 +-26 +-24 +-23 +-21 +-20 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +73 +68 +61 +58 +52 +49 +45 +42 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-75 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +73 +68 +62 +59 +52 +50 +45 +43 +38 +36 +32 +30 +28 +26 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-80 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-10 +-10 +-10 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +5 +5 +4 +4 +2 +3 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-82 +-94 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-9 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +49 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-75 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +57 +53 +48 +46 +41 +39 +34 +32 +29 +27 +25 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +6 +-20 +-42 +-60 +-76 +-89 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +79 +72 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +4 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-28 +-49 +-67 +-82 +-94 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-107 +-101 +-94 +-88 +-82 +-78 +-72 +-68 +-63 +-59 +-54 +-52 +-48 +-45 +-42 +-40 +-36 +-34 +-32 +-31 +-28 +-27 +-25 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-8 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +92 +84 +80 +73 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +6 +6 +5 +5 +3 +4 +3 +3 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-107 +-101 +-94 +-88 +-82 +-77 +-72 +-67 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +98 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +22 +22 +18 +18 +16 +15 +13 +13 +11 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-28 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +73 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +9 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +49 +45 +42 +38 +36 +32 +31 +27 +26 +22 +22 +19 +18 +15 +14 +13 +12 +10 +10 +9 +8 +6 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-47 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +80 +72 +69 +62 +59 +53 +50 +45 +42 +37 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-41 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +45 +40 +38 +35 +33 +29 +28 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +8 +6 +-19 +-42 +-60 +-76 +-89 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-98 +-91 +-85 +-80 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +26 +22 +22 +19 +18 +16 +15 +12 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +33 +29 +27 +24 +23 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-107 +-101 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-51 +-48 +-45 +-42 +-40 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-6 +-7 +-7 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +63 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +98 +93 +84 +79 +73 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +7 +6 +5 +5 +3 +4 +2 +2 +1 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-4 +-28 +-50 +-66 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-107 +-100 +-94 +-88 +-82 +-77 +-72 +-67 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-40 +-36 +-34 +-32 +-31 +-28 +-27 +-25 +-24 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +79 +72 +69 +62 +58 +52 +50 +45 +43 +38 +36 +33 +31 +27 +26 +23 +22 +19 +18 +15 +14 +13 +13 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +92 +85 +80 +73 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +30 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-109 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +80 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +11 +8 +8 +6 +7 +5 +5 +3 +4 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-71 +-68 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-24 +-22 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +92 +85 +80 +72 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +31 +28 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +7 +5 +5 +3 +4 +2 +2 +2 +2 +0 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-28 +-50 +-67 +-82 +-94 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-54 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-10 +-10 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +92 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +92 +84 +79 +72 +67 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +84 +80 +73 +68 +62 +58 +52 +50 +45 +43 +38 +36 +32 +31 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +7 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +65 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-89 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-70 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 diff --git a/traces/modulation-fsk1-50.pm3 b/traces/modulation-fsk1-50.pm3 new file mode 100644 index 000000000..01fb01c56 --- /dev/null +++ b/traces/modulation-fsk1-50.pm3 @@ -0,0 +1,20000 @@ +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-3 +-28 +-49 +22 +30 +0 +-27 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +20 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +30 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +27 +0 +-16 +-39 +-59 +-75 +-89 +30 +55 +22 +-3 +-27 +-49 +-66 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +37 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +0 +-24 +43 +49 +14 +-13 +-37 +34 +40 +9 +-19 +-41 +29 +38 +6 +-20 +-43 +28 +34 +4 +-23 +-45 +26 +35 +3 +-23 +-46 +26 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-25 +-48 +22 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-42 +-59 +52 +28 +-2 +-27 +-48 +51 +25 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-52 +48 +22 +-6 +-31 +-51 +47 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-52 +46 +22 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +46 +20 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +33 +61 +28 +4 +-22 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +68 +33 +7 +-18 +-42 +-60 +-77 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +33 +1 +-24 +-46 +25 +32 +2 +-25 +-46 +23 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +0 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-2 +-27 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-49 +-67 +-82 +30 +58 +26 +1 +-24 +-46 +-64 +-80 +35 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-76 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +37 +5 +-21 +-44 +28 +35 +5 +-22 +-44 +26 +34 +2 +-23 +-46 +25 +33 +3 +-24 +-46 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-49 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-6 +-31 +-51 +48 +24 +-7 +-31 +-51 +49 +22 +-7 +-31 +-51 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +68 +33 +7 +-18 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-41 +-59 +49 +27 +-3 +-28 +-49 +52 +26 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-6 +-30 +-51 +47 +21 +-7 +-32 +-51 +46 +23 +-7 +-31 +-52 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +20 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +19 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +45 +20 +-9 +-33 +-53 +46 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +43 +19 +-10 +-33 +-54 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-8 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +-70 +41 +62 +28 +2 +-23 +-46 +-64 +-80 +33 +61 +27 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +8 +-18 +-42 +-60 +-76 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +1 +-24 +43 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +29 +39 +6 +-20 +-43 +28 +36 +5 +-22 +-44 +26 +35 +3 +-23 +-45 +25 +32 +1 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +22 +31 +0 +-26 +-48 +22 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +24 +1 +-25 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-20 +-42 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +43 +69 +35 +8 +-17 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +46 +70 +36 +9 +-17 +-40 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-40 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +32 +1 +-24 +-47 +25 +33 +3 +-24 +-45 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-27 +-48 +22 +29 +0 +-27 +-47 +20 +28 +-3 +-28 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-48 +21 +30 +-2 +-27 +-49 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +19 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +27 +-1 +-16 +-39 +-59 +-75 +-89 +30 +56 +23 +-3 +-27 +-49 +-67 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +1 +-24 +42 +49 +15 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-45 +24 +32 +1 +-25 +-46 +23 +32 +1 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-4 +-28 +-50 +-67 +-82 +29 +58 +25 +0 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-19 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-52 +48 +22 +-7 +-31 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-52 +47 +21 +-7 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +-70 +37 +60 +27 +1 +-24 +-46 +-64 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +39 +66 +31 +6 +-20 +-43 +-61 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +50 +28 +-3 +-27 +-49 +52 +26 +-3 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-5 +-30 +-50 +48 +24 +-7 +-31 +-51 +46 +21 +-7 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-32 +-52 +47 +21 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-8 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +-71 +40 +63 +29 +2 +-23 +-46 +-63 +-79 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +43 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +5 +-23 +-44 +24 +32 +0 +-25 +-47 +25 +33 +2 +-24 +-45 +23 +33 +1 +-24 +-47 +24 +32 +1 +-25 +-46 +23 +32 +0 +-25 +-48 +22 +29 +1 +-16 +-39 +-59 +-74 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +9 +-18 +-41 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +33 +2 +-24 +-46 +23 +32 +1 +-25 +-47 +23 +31 +1 +-25 +-47 +22 +31 +0 +-25 +-47 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +28 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-17 +-39 +-60 +-75 +-90 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +57 +24 +1 +-24 +-47 +-65 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-59 +52 +28 +-3 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-52 +49 +22 +-7 +-32 +-51 +47 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-51 +45 +22 +-8 +-32 +-52 +47 +21 +-8 +-33 +-52 +-70 +38 +61 +28 +2 +-23 +-46 +-64 +-79 +33 +61 +28 +4 +-22 +-44 +-62 +-78 +38 +66 +32 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +44 +70 +36 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +34 +2 +-23 +43 +49 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +29 +38 +5 +-20 +-43 +28 +35 +4 +-23 +-44 +24 +33 +2 +-24 +-46 +25 +32 +2 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +32 +0 +-25 +-47 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-1 +-28 +-49 +21 +30 +-2 +-27 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-27 +-49 +23 +30 +0 +-27 +-47 +20 +28 +-3 +-28 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +19 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +27 +-3 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +20 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +28 +-3 +-28 +-50 +22 +29 +-1 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +20 +28 +-3 +-28 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +28 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +28 +36 +5 +-22 +-44 +26 +35 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +24 +32 +0 +-25 +-47 +23 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +31 +1 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-47 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +30 +58 +25 +1 +-25 +-47 +-64 +-80 +36 +63 +29 +5 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +40 +68 +33 +8 +-18 +-42 +-59 +51 +28 +-3 +-27 +-48 +52 +25 +-3 +-29 +-49 +49 +25 +-6 +-30 +-51 +50 +23 +-6 +-31 +-50 +48 +24 +-7 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +23 +-8 +-31 +-52 +48 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +48 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +-71 +37 +60 +26 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +3 +-22 +-44 +-63 +-79 +38 +65 +31 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +46 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +44 +70 +35 +9 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +45 +50 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +30 +38 +5 +-21 +-43 +28 +35 +4 +-23 +-44 +25 +33 +1 +-24 +-46 +25 +33 +2 +-24 +-45 +24 +32 +1 +-24 +-47 +23 +31 +1 +-25 +-47 +23 +32 +0 +-25 +-47 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-27 +-49 +23 +30 +-1 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +28 +-1 +-28 +-49 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +57 +25 +1 +-24 +-47 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +9 +-18 +-40 +29 +38 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +26 +35 +3 +-23 +-46 +25 +33 +2 +-25 +-46 +23 +32 +1 +-25 +-47 +23 +31 +0 +-26 +-47 +22 +31 +0 +-25 +-48 +23 +30 +0 +-27 +-47 +21 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +28 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +57 +25 +0 +-25 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +39 +67 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +49 +23 +-5 +-30 +-50 +48 +23 +-7 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +-70 +37 +61 +27 +1 +-24 +-46 +-64 +-80 +34 +62 +29 +4 +-21 +-44 +-62 +-78 +38 +66 +32 +6 +-20 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-58 +50 +28 +-3 +-27 +-48 +51 +25 +-3 +-29 +-49 +50 +26 +-5 +-29 +-50 +50 +24 +-5 +-30 +-50 +48 +24 +-7 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-7 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +46 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +22 +-8 +-32 +-53 +46 +20 +-9 +-33 +-53 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +45 +19 +-9 +-34 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +40 +61 +28 +2 +-24 +-46 +-64 +-80 +33 +62 +28 +3 +-22 +-45 +-63 +-79 +37 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +67 +33 +8 +-19 +-42 +-60 +-76 +41 +67 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +9 +-17 +-40 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +1 +-24 +44 +50 +16 +-12 +-36 +35 +41 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +25 +34 +2 +-23 +-46 +25 +33 +3 +-24 +-45 +24 +32 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-4 +-28 +-50 +-67 +-82 +29 +57 +25 +0 +-25 +-47 +-65 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +68 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +41 +69 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-40 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +9 +-17 +-41 +-59 +-76 +45 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +2 +-23 +43 +49 +14 +-13 +-37 +35 +42 +10 +-18 +-40 +30 +37 +5 +-21 +-44 +28 +35 +5 +-22 +-44 +24 +33 +2 +-23 +-46 +26 +33 +3 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-47 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-66 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +0 +-24 +43 +49 +15 +-13 +-37 +35 +41 +9 +-18 +-40 +29 +38 +6 +-20 +-43 +28 +34 +4 +-23 +-45 +26 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +33 +8 +-18 +-42 +-59 +52 +28 +-3 +-27 +-48 +53 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-51 +49 +22 +-6 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +21 +-7 +-32 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +-70 +37 +61 +27 +2 +-24 +-46 +-64 +-80 +33 +62 +28 +4 +-22 +-45 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +34 +8 +-18 +-42 +-59 +50 +27 +-4 +-28 +-49 +53 +26 +-3 +-29 +-49 +49 +25 +-6 +-29 +-50 +50 +23 +-5 +-30 +-50 +48 +24 +-6 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +21 +-7 +-32 +-51 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +44 +21 +-9 +-33 +-53 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +20 +-10 +-33 +-54 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +40 +62 +28 +2 +-24 +-46 +-64 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +34 +7 +-19 +-42 +-60 +-77 +40 +67 +33 +8 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +33 +1 +-23 +43 +49 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +29 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +24 +34 +2 +-24 +-46 +25 +32 +1 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +32 +0 +-25 +-47 +21 +29 +1 +-15 +-38 +-59 +-74 +-89 +29 +56 +23 +-2 +-27 +-49 +-66 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +40 +66 +32 +6 +-19 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +48 +14 +-13 +-37 +35 +42 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +23 +33 +1 +-24 +-47 +24 +31 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +23 +30 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-49 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-74 +-89 +28 +54 +21 +-4 +-28 +-50 +-67 +-83 +30 +58 +26 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +51 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-7 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-52 +45 +22 +-8 +-32 +-52 +47 +21 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-23 +-46 +-63 +-80 +34 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +67 +33 +8 +-18 +-41 +-60 +-76 +46 +71 +36 +9 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-45 +25 +34 +2 +-24 +-46 +25 +32 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-25 +-46 +22 +31 +0 +-25 +-48 +21 +28 +-1 +-28 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-27 +-48 +21 +28 +-1 +-28 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-27 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-49 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-47 +21 +30 +-2 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +20 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +21 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-2 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +20 +27 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-49 +-66 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +9 +-18 +-41 +29 +38 +5 +-20 +-43 +28 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-46 +25 +33 +2 +-24 +-46 +23 +32 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-25 +-48 +23 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-24 +-47 +-65 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +68 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-30 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-51 +48 +24 +-6 +-31 +-51 +48 +22 +-6 +-31 +-51 +47 +23 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-53 +46 +21 +-9 +-32 +-53 +46 +20 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +-70 +38 +61 +27 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-18 +-42 +-60 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-76 +42 +69 +34 +8 +-18 +-42 +-60 +-76 +45 +70 +35 +9 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +43 +49 +15 +-12 +-36 +36 +42 +11 +-17 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +25 +33 +1 +-24 +-46 +25 +32 +2 +-25 +-46 +24 +32 +1 +-24 +-47 +24 +31 +1 +-26 +-46 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-2 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +20 +28 +0 +-16 +-38 +-59 +-75 +-89 +29 +54 +21 +-3 +-28 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +1 +-24 +43 +49 +15 +-13 +-36 +35 +40 +9 +-19 +-41 +29 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +35 +3 +-23 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +30 +57 +25 +1 +-24 +-47 +-65 +-80 +37 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +7 +-18 +-42 +-59 +52 +28 +-3 +-27 +-48 +52 +25 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-7 +-30 +-51 +49 +22 +-7 +-32 +-51 +46 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-51 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-23 +-46 +-64 +-80 +34 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-20 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +50 +27 +-3 +-28 +-49 +52 +26 +-3 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +24 +-5 +-30 +-50 +48 +23 +-7 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +22 +-7 +-32 +-51 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +44 +21 +-9 +-33 +-53 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +44 +20 +-9 +-33 +-53 +47 +20 +-7 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-32 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-9 +-33 +-53 +44 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +44 +20 +-9 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +-70 +41 +62 +28 +2 +-23 +-46 +-64 +-80 +34 +62 +28 +4 +-22 +-44 +-62 +-79 +38 +65 +31 +5 +-20 +-43 +-61 +-77 +42 +68 +34 +8 +-19 +-42 +-60 +-76 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +41 +69 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +33 +8 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +34 +9 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +36 +5 +-22 +-44 +26 +34 +2 +-24 +-46 +25 +32 +2 +-25 +-46 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +22 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-2 +-26 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +46 +70 +36 +9 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +44 +70 +36 +9 +-17 +-40 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-45 +25 +33 +2 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +0 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-2 +-27 +-49 +21 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +62 +29 +4 +-22 +-44 +-62 +-78 +40 +67 +32 +6 +-20 +-43 +-61 +-77 +39 +67 +32 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +42 +10 +-18 +-40 +30 +38 +6 +-20 +-43 +28 +35 +5 +-22 +-44 +26 +35 +2 +-23 +-46 +25 +33 +2 +-24 +-46 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +21 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +49 +23 +-5 +-31 +-50 +48 +23 +-7 +-30 +-51 +48 +22 +-6 +-31 +-51 +47 +22 +-8 +-31 +-52 +48 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +-70 +37 +60 +26 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-45 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +50 +28 +-3 +-27 +-49 +52 +26 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-51 +47 +21 +-7 +-32 +-52 +47 +23 +-7 +-31 +-52 +48 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-32 +-53 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +41 +62 +28 +2 +-23 +-46 +-64 +-80 +33 +61 +27 +3 +-22 +-45 +-63 +-79 +39 +66 +32 +6 +-20 +-43 +-61 +-78 +42 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +33 +1 +-24 +44 +50 +15 +-12 +-36 +35 +40 +9 +-19 +-41 +29 +38 +5 +-21 +-44 +27 +35 +4 +-23 +-44 +24 +33 +2 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-46 +24 +31 +1 +-25 +-47 +22 +31 +0 +-25 +-48 +21 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +23 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +0 +-24 +43 +49 +15 +-13 +-37 +35 +40 +9 +-19 +-41 +30 +38 +5 +-21 +-43 +28 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-46 +25 +33 +3 +-24 +-46 +24 +33 +1 +-25 +-47 +24 +31 +0 +-26 +-47 +22 +31 +0 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +23 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +23 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +0 +-17 +-39 +-59 +-75 +-90 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-25 +-47 +-65 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-6 +-31 +-50 +48 +24 +-6 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +23 +-8 +-32 +-52 +47 +21 +-7 +-32 +-52 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +34 +63 +29 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +45 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-60 +-76 +41 +68 +34 +8 +-17 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-13 +-36 +35 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +36 +5 +-22 +-44 +24 +33 +1 +-24 +-46 +25 +33 +3 +-24 +-46 +24 +32 +1 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +23 +29 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +20 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +22 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +19 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +21 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +31 +0 +-25 +43 +49 +15 +-12 +-37 +35 +41 +10 +-18 +-41 +30 +38 +5 +-21 +-43 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +22 +32 +0 +-25 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-24 +-46 +-64 +-80 +37 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-61 +-77 +41 +68 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-52 +49 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +48 +22 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +20 +-10 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +20 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +38 +61 +27 +1 +-24 +-46 +-64 +-80 +33 +62 +28 +4 +-22 +-45 +-63 +-78 +38 +66 +32 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +29 +38 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +24 +33 +2 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +22 +31 +0 +-25 +-48 +21 +28 +-1 +-27 +-48 +22 +31 +0 +-25 +-47 +23 +29 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +20 +28 +-1 +-27 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +37 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +25 +33 +2 +-24 +-46 +25 +33 +3 +-24 +-45 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +22 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +28 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +0 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +49 +23 +-5 +-31 +-50 +48 +24 +-7 +-31 +-51 +49 +22 +-7 +-32 +-51 +47 +23 +-8 +-31 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-53 +-70 +37 +61 +27 +2 +-23 +-46 +-64 +-80 +34 +62 +29 +4 +-22 +-44 +-62 +-79 +39 +66 +32 +7 +-19 +-42 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +49 +28 +-3 +-27 +-49 +52 +26 +-3 +-29 +-49 +49 +26 +-5 +-29 +-50 +50 +24 +-5 +-31 +-50 +48 +24 +-6 +-31 +-51 +47 +21 +-8 +-32 +-52 +47 +23 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-31 +-52 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-52 +45 +19 +-9 +-34 +-53 +45 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +44 +19 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +43 +19 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +47 +20 +-8 +-32 +-52 +45 +22 +-8 +-32 +-53 +48 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +40 +62 +28 +2 +-23 +-46 +-63 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +41 +69 +34 +9 +-17 +-40 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +1 +-24 +43 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +26 +35 +3 +-22 +-45 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +23 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +57 +25 +1 +-24 +-47 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +66 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +33 +8 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +46 +71 +36 +9 +-17 +-40 +-59 +-76 +42 +68 +34 +8 +-18 +-42 +-60 +-76 +42 +69 +35 +8 +-17 +-41 +-59 +-76 +44 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +33 +1 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-46 +24 +31 +1 +-25 +-47 +22 +31 +0 +-25 +-48 +22 +29 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +28 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +29 +57 +24 +1 +-24 +-46 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +33 +2 +-25 +-46 +23 +32 +0 +-25 +-47 +24 +31 +0 +-26 +-47 +22 +31 +0 +-25 +-47 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-20 +-42 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-3 +-29 +-49 +49 +25 +-5 +-30 +-50 +49 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-51 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +37 +61 +27 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +67 +33 +7 +-18 +-42 +-60 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +50 +28 +-3 +-28 +-49 +51 +26 +-3 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-7 +-30 +-51 +46 +21 +-7 +-32 +-52 +47 +23 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-32 +-52 +44 +20 +-10 +-33 +-54 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-33 +-53 +45 +20 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +44 +20 +-9 +-33 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-34 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +40 +62 +28 +2 +-23 +-46 +-64 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +39 +66 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-19 +-42 +-60 +-76 +41 +67 +33 +8 +-18 +-42 +-60 +-76 +42 +69 +33 +2 +-23 +43 +49 +14 +-13 +-37 +36 +42 +10 +-18 +-40 +30 +37 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +33 +1 +-24 +-47 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +25 +31 +1 +-25 +-46 +22 +31 +0 +-25 +-48 +22 +29 +1 +-15 +-38 +-58 +-74 +-88 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +27 +35 +5 +-22 +-44 +25 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +23 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-46 +22 +31 +-1 +-26 +-48 +23 +31 +1 +-26 +-47 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-26 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-74 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +30 +57 +25 +1 +-25 +-47 +-65 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-18 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-51 +50 +24 +-5 +-31 +-50 +48 +23 +-7 +-31 +-52 +49 +22 +-7 +-31 +-51 +47 +22 +-8 +-31 +-52 +48 +21 +-7 +-32 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +34 +62 +28 +4 +-22 +-44 +-62 +-79 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +43 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-20 +-43 +27 +35 +4 +-23 +-44 +25 +34 +2 +-23 +-46 +26 +33 +2 +-24 +-45 +24 +32 +0 +-25 +-47 +24 +31 +1 +-25 +-46 +22 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +0 +-25 +-48 +23 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +21 +29 +-1 +-28 +-49 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-49 +23 +29 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +0 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +29 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +20 +28 +-1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-49 +-66 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-19 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +34 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-43 +27 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-45 +25 +32 +2 +-24 +-46 +23 +32 +0 +-25 +-47 +24 +31 +1 +-25 +-47 +22 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +30 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +21 +-3 +-28 +-49 +-67 +-82 +30 +58 +25 +0 +-25 +-47 +-64 +-80 +36 +63 +30 +5 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-6 +-29 +-50 +50 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-51 +49 +22 +-7 +-32 +-51 +46 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-51 +45 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 diff --git a/traces/modulation-fsk1a-50.pm3 b/traces/modulation-fsk1a-50.pm3 new file mode 100644 index 000000000..01153d4c4 --- /dev/null +++ b/traces/modulation-fsk1a-50.pm3 @@ -0,0 +1,20000 @@ +45 +-7 +-49 +-85 +-82 +17 +77 +96 +40 +-11 +-52 +-88 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-87 +11 +71 +90 +34 +-16 +-56 +-91 +-90 +10 +68 +88 +33 +-17 +-57 +-92 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +85 +31 +-19 +-59 +-94 +-91 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +85 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-91 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-53 +-6 +-37 +-74 +-106 +-37 +16 +-12 +-54 +-88 +-24 +26 +-6 +-48 +-83 +-19 +30 +-1 +-45 +-79 +-14 +36 +3 +-39 +-76 +-11 +37 +6 +-38 +-74 +-9 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-103 +-48 +45 +103 +122 +63 +9 +-35 +-74 +-64 +32 +91 +109 +52 +-1 +-44 +-81 +-75 +22 +81 +100 +43 +-8 +-50 +-86 +-82 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +72 +91 +36 +-15 +-55 +-91 +-88 +11 +70 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +68 +88 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +85 +30 +-19 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-91 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +32 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-53 +-5 +-36 +-73 +-105 +-36 +16 +-13 +-55 +-88 +-25 +26 +-6 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-15 +36 +4 +-39 +-76 +-11 +38 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-6 +44 +11 +-33 +-71 +-5 +43 +13 +-33 +-69 +-6 +44 +11 +-33 +-70 +-4 +44 +12 +-33 +-69 +-4 +46 +12 +-32 +-70 +-3 +45 +14 +-32 +-69 +-4 +46 +13 +-32 +-69 +-3 +44 +13 +-33 +-69 +-4 +47 +12 +-32 +-69 +-3 +45 +14 +-32 +-69 +-3 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-102 +-47 +47 +105 +124 +65 +10 +-34 +-73 +-64 +33 +91 +109 +52 +-1 +-43 +-81 +-75 +23 +82 +101 +45 +-7 +-49 +-85 +-83 +15 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-88 +10 +70 +90 +35 +-16 +-56 +-92 +-91 +8 +68 +87 +32 +-17 +-58 +-93 +-90 +8 +69 +88 +33 +-17 +-57 +-92 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +66 +86 +32 +-18 +-58 +-93 +-93 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-58 +-53 +-6 +-37 +-74 +-106 +-37 +16 +-12 +-54 +-88 +-25 +26 +-6 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-15 +35 +3 +-40 +-76 +-11 +38 +6 +-38 +-74 +-9 +41 +8 +-35 +-72 +-7 +42 +10 +-36 +-71 +-6 +44 +10 +-33 +-71 +-5 +44 +12 +-34 +-70 +-103 +-48 +46 +104 +123 +63 +9 +-35 +-74 +-64 +32 +91 +109 +51 +-1 +-44 +-81 +-76 +22 +82 +100 +44 +-7 +-49 +-86 +-83 +15 +74 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +91 +36 +-15 +-55 +-91 +-88 +11 +70 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +87 +31 +-18 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +65 +85 +30 +-19 +-59 +-94 +-91 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +85 +31 +-19 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +65 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-54 +-5 +-36 +-73 +-105 +-36 +16 +-13 +-54 +-88 +-26 +25 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +4 +-40 +-76 +-11 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-36 +-71 +-7 +44 +10 +-34 +-71 +-4 +43 +13 +-33 +-70 +-102 +-48 +45 +104 +122 +63 +9 +-35 +-73 +-65 +32 +91 +109 +52 +-1 +-44 +-81 +-76 +22 +80 +100 +44 +-8 +-49 +-86 +-83 +15 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +37 +-14 +-55 +-90 +-88 +10 +70 +89 +34 +-16 +-57 +-51 +-4 +-35 +-72 +-104 +-35 +18 +-11 +-53 +-86 +-24 +27 +-6 +-47 +-83 +-17 +31 +0 +-44 +-78 +-14 +36 +3 +-39 +-76 +-10 +38 +6 +-38 +-74 +-9 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-6 +44 +11 +-33 +-70 +-5 +44 +12 +-34 +-71 +-103 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-64 +32 +91 +109 +51 +-1 +-44 +-81 +-75 +23 +82 +100 +44 +-8 +-49 +-86 +-83 +15 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +72 +91 +36 +-14 +-55 +-91 +-88 +11 +70 +90 +35 +-15 +-56 +-92 +-90 +9 +69 +88 +32 +-17 +-57 +-93 +-91 +9 +68 +88 +33 +-17 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-91 +8 +67 +88 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +6 +45 +-6 +-48 +-50 +-1 +8 +-36 +-74 +-66 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-50 +8 +28 +-20 +-59 +-46 +13 +29 +-17 +-58 +-44 +14 +33 +-16 +-56 +-43 +17 +33 +-14 +-55 +-40 +17 +35 +-13 +-54 +-41 +18 +34 +-13 +-54 +-39 +18 +36 +-13 +-53 +-39 +20 +36 +-11 +-53 +-39 +18 +37 +-12 +-53 +-39 +20 +37 +-11 +-52 +-39 +19 +38 +-11 +-52 +-39 +19 +36 +-11 +-53 +-38 +20 +38 +-11 +-51 +-38 +20 +36 +-11 +-53 +-38 +20 +39 +-11 +-51 +-38 +21 +37 +-11 +-52 +-38 +19 +58 +73 +22 +-25 +-64 +-98 +-63 +36 +96 +116 +57 +3 +-40 +-78 +-73 +24 +83 +102 +45 +-7 +-49 +-85 +-81 +17 +76 +95 +39 +-12 +-53 +-89 +-85 +13 +72 +92 +37 +-14 +-54 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-89 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +66 +86 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-91 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +7 +66 +85 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-54 +-5 +-36 +-73 +-105 +-37 +15 +-13 +-54 +-88 +-25 +26 +-6 +-48 +-83 +-18 +30 +0 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +37 +6 +-38 +-74 +-9 +41 +7 +-36 +-73 +-8 +41 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-69 +-5 +45 +11 +-33 +-70 +-4 +45 +13 +-33 +-69 +-4 +45 +12 +-33 +-70 +-3 +45 +13 +-33 +-69 +-3 +46 +13 +-32 +-69 +-3 +44 +12 +-33 +-69 +-3 +47 +13 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +12 +-32 +-69 +-3 +46 +15 +-31 +-67 +-3 +46 +12 +-32 +-70 +-4 +45 +14 +-32 +-68 +-3 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-68 +-3 +47 +13 +-31 +-68 +-3 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-3 +45 +14 +-32 +-68 +-4 +46 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-102 +-47 +48 +106 +124 +64 +10 +-35 +-73 +-64 +33 +91 +110 +53 +0 +-43 +-80 +-76 +22 +82 +100 +44 +-8 +-50 +-86 +-82 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-88 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +8 +68 +88 +33 +-17 +-57 +-92 +-91 +9 +69 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +88 +32 +-17 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-54 +-5 +-36 +-73 +-105 +-37 +16 +-13 +-54 +-88 +-25 +25 +-7 +-49 +-84 +-19 +31 +0 +-44 +-79 +-15 +36 +4 +-39 +-76 +-11 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-7 +43 +10 +-33 +-71 +-5 +44 +12 +-33 +-70 +-103 +-49 +46 +104 +122 +63 +9 +-35 +-74 +-64 +32 +90 +109 +52 +-1 +-44 +-81 +-76 +22 +81 +100 +44 +-8 +-49 +-86 +-83 +15 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-15 +-55 +-91 +-88 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +8 +67 +88 +32 +-17 +-58 +-93 +-90 +9 +69 +87 +32 +-17 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +6 +65 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-58 +-94 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +46 +-5 +-47 +-50 +-2 +7 +-37 +-75 +-67 +-5 +17 +-29 +-67 +-53 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-60 +-47 +13 +30 +-17 +-58 +-44 +14 +32 +-16 +-56 +-43 +17 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-13 +-54 +-40 +18 +58 +73 +22 +-26 +-64 +-98 +-64 +35 +95 +114 +56 +2 +-41 +-78 +-74 +24 +83 +102 +45 +-7 +-49 +-85 +-81 +17 +76 +95 +40 +-11 +-53 +-88 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +69 +88 +33 +-17 +-57 +-92 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +8 +67 +87 +32 +-17 +-58 +-93 +-91 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-54 +-7 +-38 +-75 +-106 +-37 +16 +-12 +-54 +-87 +-24 +27 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +6 +-39 +-74 +-9 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-103 +-48 +45 +104 +123 +64 +9 +-35 +-73 +-64 +33 +91 +109 +52 +-1 +-44 +-81 +-76 +22 +81 +100 +43 +-8 +-50 +-86 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-88 +11 +70 +89 +33 +-16 +-57 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +66 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +65 +85 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-54 +-6 +-37 +-74 +-106 +-37 +15 +-12 +-54 +-87 +-25 +26 +-7 +-49 +-84 +-19 +30 +0 +-44 +-78 +-15 +36 +3 +-40 +-76 +-11 +37 +6 +-38 +-74 +-9 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-6 +45 +11 +-33 +-71 +-5 +44 +12 +-34 +-71 +-103 +-48 +45 +104 +123 +64 +9 +-35 +-73 +-65 +32 +91 +109 +51 +-1 +-44 +-81 +-75 +23 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +75 +94 +38 +-13 +-53 +-89 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +46 +-4 +-47 +-49 +0 +9 +-35 +-74 +-65 +-3 +18 +-28 +-67 +-53 +6 +23 +-22 +-63 +-49 +10 +28 +-19 +-59 +-46 +13 +29 +-17 +-58 +-44 +14 +33 +-16 +-55 +-42 +17 +34 +-13 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +36 +-12 +-54 +-38 +18 +57 +72 +21 +-26 +-64 +-98 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-81 +17 +77 +96 +40 +-11 +-53 +-88 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-88 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-91 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +85 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +46 +-5 +-47 +-50 +-2 +7 +-36 +-75 +-67 +-5 +17 +-29 +-67 +-54 +5 +22 +-23 +-63 +-50 +8 +28 +-20 +-59 +-47 +12 +30 +-17 +-58 +-45 +13 +32 +-16 +-56 +-43 +17 +33 +-13 +-55 +-42 +16 +35 +-14 +-54 +-41 +18 +35 +-12 +-54 +-39 +18 +58 +73 +22 +-25 +-64 +-98 +-64 +35 +95 +115 +56 +3 +-40 +-78 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-81 +17 +76 +95 +40 +-11 +-52 +-88 +-87 +13 +72 +92 +36 +-14 +-55 +-91 +-88 +11 +71 +90 +34 +-16 +-56 +-91 +-90 +9 +69 +89 +33 +-17 +-57 +-52 +-4 +-35 +-72 +-104 +-36 +16 +-12 +-54 +-87 +-25 +27 +-6 +-47 +-83 +-18 +31 +0 +-44 +-79 +-15 +36 +4 +-39 +-76 +-10 +38 +7 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +43 +13 +-33 +-69 +-6 +45 +11 +-33 +-70 +-4 +45 +12 +-33 +-69 +-4 +46 +12 +-32 +-69 +-3 +45 +13 +-32 +-68 +-4 +46 +13 +-31 +-69 +-3 +44 +13 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-101 +-47 +47 +105 +124 +64 +10 +-34 +-72 +-64 +33 +92 +109 +52 +-1 +-43 +-80 +-75 +23 +82 +101 +45 +-7 +-49 +-85 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-85 +13 +72 +92 +36 +-14 +-55 +-90 +-89 +10 +70 +90 +34 +-16 +-56 +-91 +-91 +8 +68 +87 +32 +-17 +-58 +-93 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +66 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-19 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +32 +-18 +-58 +-93 +-94 +6 +65 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +66 +85 +30 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +5 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +6 +65 +85 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +5 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +7 +67 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +46 +-5 +-47 +-50 +-2 +6 +-38 +-76 +-68 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-59 +-48 +13 +30 +-17 +-58 +-44 +13 +33 +-16 +-56 +-43 +17 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-40 +19 +35 +-12 +-53 +-40 +18 +58 +73 +22 +-26 +-64 +-98 +-63 +36 +95 +115 +57 +3 +-40 +-78 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-82 +17 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +89 +33 +-16 +-57 +-92 +-90 +10 +69 +88 +33 +-16 +-57 +-92 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +85 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-54 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-54 +-88 +-26 +25 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +37 +6 +-38 +-74 +-9 +42 +8 +-36 +-73 +-7 +41 +9 +-36 +-72 +-7 +45 +10 +-34 +-71 +-4 +43 +12 +-33 +-70 +-103 +-48 +46 +104 +123 +64 +10 +-35 +-73 +-65 +32 +91 +109 +51 +-1 +-44 +-81 +-75 +23 +81 +101 +44 +-7 +-49 +-85 +-83 +16 +75 +94 +38 +-13 +-53 +-89 +-86 +14 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-91 +-90 +9 +69 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +65 +85 +31 +-19 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-55 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-54 +-88 +-26 +26 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +36 +5 +-39 +-74 +-10 +42 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-69 +-5 +43 +10 +-34 +-71 +-4 +44 +13 +-33 +-69 +-4 +46 +12 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +46 +13 +-31 +-69 +-4 +45 +13 +-33 +-69 +-4 +46 +12 +-32 +-69 +-3 +46 +14 +-32 +-68 +-4 +47 +12 +-32 +-69 +-3 +45 +15 +-31 +-69 +-101 +-47 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +93 +111 +53 +0 +-43 +-80 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-91 +8 +67 +88 +32 +-17 +-57 +-93 +-91 +9 +69 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +88 +32 +-17 +-57 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-55 +-6 +-38 +-75 +-106 +-37 +16 +-13 +-54 +-88 +-25 +26 +-7 +-48 +-84 +-19 +29 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-103 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +22 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +76 +94 +38 +-13 +-53 +-89 +-86 +13 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-54 +-5 +-37 +-74 +-106 +-38 +15 +-13 +-55 +-88 +-25 +26 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +6 +-38 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-102 +-49 +46 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +22 +82 +100 +44 +-8 +-49 +-86 +-84 +16 +76 +94 +39 +-12 +-53 +-89 +-87 +13 +72 +91 +35 +-15 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-52 +-5 +-36 +-73 +-105 +-35 +17 +-11 +-53 +-86 +-24 +27 +-6 +-47 +-83 +-18 +31 +0 +-43 +-78 +-14 +37 +4 +-39 +-76 +-10 +37 +6 +-38 +-74 +-10 +42 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-33 +-71 +-4 +43 +12 +-33 +-70 +-102 +-48 +45 +104 +123 +63 +9 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-87 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-91 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +85 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +46 +-5 +-48 +-51 +-2 +7 +-36 +-75 +-68 +-5 +17 +-29 +-67 +-55 +5 +22 +-23 +-63 +-50 +8 +28 +-20 +-59 +-47 +12 +29 +-17 +-58 +-45 +14 +33 +-16 +-55 +-43 +16 +33 +-14 +-55 +-42 +17 +35 +-14 +-54 +-41 +19 +36 +-12 +-53 +-39 +18 +36 +-13 +-53 +-40 +19 +36 +-11 +-53 +-39 +19 +37 +-12 +-52 +-39 +20 +36 +-11 +-53 +-39 +20 +38 +-11 +-51 +-38 +20 +36 +-11 +-53 +-39 +19 +37 +-12 +-52 +-39 +21 +37 +-11 +-52 +-38 +20 +37 +-12 +-52 +-40 +20 +37 +-10 +-52 +-37 +20 +58 +74 +23 +-25 +-63 +-97 +-63 +37 +97 +116 +57 +4 +-39 +-77 +-74 +25 +83 +102 +45 +-7 +-48 +-85 +-81 +18 +78 +97 +40 +-11 +-52 +-88 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-88 +11 +71 +91 +35 +-15 +-56 +-91 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +65 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +5 +66 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +85 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-55 +-88 +-25 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-12 +37 +5 +-39 +-75 +-10 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-69 +-5 +45 +11 +-33 +-70 +-5 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-3 +45 +12 +-33 +-69 +-4 +46 +13 +-31 +-68 +-3 +45 +13 +-33 +-69 +-5 +46 +12 +-32 +-69 +-3 +45 +13 +-32 +-68 +-3 +47 +13 +-32 +-69 +-3 +45 +14 +-32 +-68 +-4 +46 +12 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +46 +14 +-32 +-68 +-4 +47 +14 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-101 +-47 +48 +106 +125 +65 +10 +-34 +-72 +-64 +34 +92 +110 +53 +0 +-43 +-80 +-76 +23 +83 +101 +45 +-7 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +91 +35 +-14 +-55 +-91 +-89 +10 +70 +90 +35 +-15 +-56 +-91 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-56 +-6 +-37 +-74 +-106 +-37 +16 +-14 +-55 +-88 +-26 +26 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +36 +4 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-70 +-102 +-48 +47 +104 +123 +63 +9 +-35 +-73 +-65 +33 +92 +110 +52 +0 +-43 +-80 +-76 +22 +82 +100 +44 +-7 +-49 +-86 +-83 +16 +76 +95 +38 +-12 +-53 +-89 +-87 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +89 +34 +-16 +-56 +-91 +-92 +8 +68 +88 +32 +-17 +-57 +-93 +-91 +9 +69 +88 +32 +-17 +-57 +-93 +-92 +9 +69 +88 +32 +-17 +-57 +-92 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +46 +-4 +-47 +-51 +-3 +6 +-37 +-75 +-69 +-6 +16 +-30 +-68 +-55 +5 +23 +-22 +-63 +-51 +8 +27 +-20 +-59 +-48 +12 +30 +-17 +-57 +-45 +14 +33 +-16 +-55 +-44 +16 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-41 +18 +35 +-12 +-53 +-40 +18 +58 +73 +22 +-25 +-64 +-97 +-63 +35 +96 +115 +57 +3 +-40 +-77 +-74 +24 +84 +102 +45 +-6 +-48 +-85 +-81 +18 +77 +96 +40 +-11 +-52 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-91 +-89 +11 +70 +90 +34 +-16 +-56 +-91 +-90 +10 +69 +89 +33 +-16 +-57 +-92 +-92 +8 +68 +87 +32 +-17 +-58 +-92 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-92 +9 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +32 +-18 +-58 +-54 +-7 +-38 +-75 +-106 +-38 +16 +-13 +-54 +-88 +-25 +26 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +38 +6 +-39 +-74 +-9 +41 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-33 +-71 +-5 +43 +12 +-33 +-70 +-102 +-49 +47 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-77 +23 +83 +101 +44 +-7 +-49 +-85 +-84 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +35 +-15 +-56 +-91 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +69 +88 +32 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-55 +-7 +-39 +-75 +-107 +-38 +16 +-13 +-54 +-87 +-25 +26 +-8 +-49 +-84 +-20 +30 +0 +-44 +-79 +-15 +37 +3 +-39 +-76 +-12 +37 +5 +-39 +-75 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-49 +46 +105 +123 +63 +9 +-35 +-73 +-64 +33 +92 +111 +53 +0 +-43 +-80 +-77 +22 +82 +100 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +9 +47 +-4 +-46 +-50 +-1 +7 +-36 +-74 +-67 +-4 +18 +-28 +-66 +-54 +7 +23 +-22 +-62 +-50 +8 +28 +-20 +-59 +-47 +13 +30 +-17 +-58 +-44 +14 +33 +-15 +-55 +-43 +17 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-13 +-54 +-39 +17 +57 +73 +22 +-26 +-64 +-97 +-63 +37 +96 +115 +57 +3 +-40 +-77 +-74 +25 +84 +102 +46 +-6 +-48 +-84 +-82 +18 +77 +95 +40 +-11 +-53 +-88 +-86 +13 +74 +93 +37 +-14 +-54 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-90 +10 +69 +88 +33 +-16 +-57 +-92 +-93 +8 +69 +88 +32 +-17 +-57 +-92 +-92 +9 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-95 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +46 +-5 +-47 +-51 +-3 +6 +-37 +-75 +-68 +-5 +16 +-29 +-67 +-54 +5 +23 +-23 +-63 +-51 +8 +27 +-21 +-60 +-48 +12 +30 +-17 +-58 +-44 +14 +32 +-16 +-56 +-44 +16 +33 +-14 +-55 +-41 +17 +35 +-13 +-53 +-42 +18 +35 +-12 +-54 +-40 +18 +57 +74 +23 +-25 +-64 +-97 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +25 +84 +102 +46 +-6 +-48 +-84 +-82 +17 +77 +96 +40 +-11 +-52 +-88 +-87 +14 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-91 +10 +69 +88 +33 +-16 +-57 +-54 +-4 +-35 +-72 +-104 +-36 +17 +-12 +-54 +-87 +-25 +26 +-7 +-48 +-84 +-19 +31 +0 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +6 +-38 +-74 +-10 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-69 +-6 +44 +10 +-34 +-71 +-4 +45 +13 +-33 +-69 +-4 +47 +12 +-32 +-69 +-5 +45 +13 +-33 +-69 +-3 +47 +13 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-68 +-4 +46 +13 +-32 +-69 +-3 +46 +15 +-31 +-68 +-101 +-47 +48 +106 +123 +64 +9 +-34 +-73 +-64 +34 +93 +111 +54 +0 +-42 +-80 +-76 +23 +82 +101 +44 +-7 +-49 +-85 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +12 +71 +89 +34 +-16 +-56 +-92 +-92 +9 +68 +88 +33 +-17 +-57 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-57 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +85 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-95 +6 +65 +85 +30 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +30 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-19 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +68 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +46 +-5 +-47 +-52 +-3 +6 +-37 +-75 +-68 +-5 +16 +-30 +-67 +-55 +5 +22 +-23 +-63 +-51 +8 +28 +-20 +-59 +-48 +13 +30 +-17 +-57 +-45 +14 +32 +-16 +-56 +-43 +16 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-42 +18 +35 +-12 +-53 +-40 +18 +58 +74 +23 +-25 +-64 +-97 +-64 +35 +96 +116 +57 +3 +-40 +-77 +-73 +25 +84 +101 +45 +-7 +-49 +-85 +-82 +17 +77 +96 +40 +-11 +-52 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-88 +12 +71 +90 +35 +-15 +-56 +-91 +-91 +10 +70 +89 +33 +-17 +-57 +-92 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-93 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-95 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-55 +-7 +-39 +-76 +-107 +-38 +16 +-13 +-55 +-88 +-25 +26 +-7 +-49 +-84 +-20 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +5 +-39 +-74 +-10 +41 +8 +-35 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +46 +105 +124 +64 +9 +-35 +-73 +-65 +34 +93 +111 +53 +0 +-43 +-80 +-76 +23 +82 +100 +43 +-8 +-49 +-86 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-87 +12 +73 +92 +37 +-14 +-54 +-90 +-90 +11 +71 +89 +33 +-16 +-56 +-92 +-91 +9 +69 +89 +33 +-16 +-56 +-92 +-92 +9 +69 +87 +31 +-18 +-58 +-93 +-92 +9 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-17 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-94 +8 +68 +87 +31 +-18 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +15 +-14 +-55 +-88 +-26 +26 +-7 +-48 +-84 +-20 +30 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-12 +38 +6 +-38 +-74 +-10 +40 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-69 +-5 +45 +11 +-33 +-70 +-5 +45 +12 +-33 +-69 +-5 +46 +12 +-32 +-69 +-3 +45 +13 +-33 +-69 +-5 +46 +13 +-32 +-69 +-4 +45 +12 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-69 +-101 +-46 +48 +106 +125 +65 +11 +-33 +-72 +-64 +34 +93 +111 +53 +0 +-43 +-80 +-76 +24 +82 +101 +45 +-7 +-49 +-85 +-84 +15 +75 +95 +38 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-92 +8 +68 +88 +33 +-17 +-57 +-93 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-55 +-6 +-38 +-75 +-107 +-38 +16 +-13 +-55 +-88 +-26 +26 +-7 +-49 +-84 +-20 +30 +-1 +-44 +-79 +-15 +35 +2 +-40 +-77 +-11 +38 +5 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +45 +11 +-33 +-70 +-5 +44 +12 +-34 +-71 +-103 +-48 +47 +105 +124 +64 +10 +-34 +-72 +-65 +33 +92 +109 +52 +0 +-43 +-80 +-76 +23 +83 +101 +44 +-8 +-49 +-85 +-84 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-90 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +69 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +6 +66 +86 +31 +-18 +-59 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +88 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-56 +-6 +-37 +-74 +-106 +-37 +16 +-14 +-55 +-89 +-26 +25 +-8 +-49 +-84 +-19 +31 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-12 +37 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-8 +41 +9 +-35 +-71 +-7 +43 +10 +-33 +-71 +-5 +43 +12 +-34 +-71 +-103 +-49 +47 +106 +124 +64 +10 +-34 +-73 +-64 +33 +92 +110 +52 +0 +-43 +-80 +-76 +23 +83 +101 +44 +-7 +-49 +-85 +-84 +16 +75 +94 +38 +-12 +-53 +-89 +-87 +14 +74 +93 +37 +-14 +-54 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-52 +-5 +-37 +-73 +-105 +-37 +17 +-12 +-54 +-87 +-24 +27 +-6 +-47 +-83 +-19 +31 +0 +-44 +-78 +-15 +35 +3 +-40 +-76 +-10 +38 +6 +-38 +-74 +-9 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-33 +-71 +-5 +44 +12 +-33 +-70 +-103 +-48 +47 +106 +124 +64 +10 +-34 +-72 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +23 +83 +101 +44 +-8 +-49 +-85 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-90 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +10 +69 +88 +32 +-17 +-57 +-93 +-93 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +46 +-6 +-47 +-52 +-3 +7 +-37 +-75 +-68 +-5 +17 +-29 +-67 +-55 +5 +22 +-23 +-63 +-51 +8 +27 +-20 +-59 +-47 +12 +29 +-17 +-58 +-45 +14 +32 +-16 +-56 +-44 +17 +33 +-14 +-55 +-41 +17 +36 +-13 +-54 +-42 +18 +35 +-12 +-54 +-39 +18 +37 +-12 +-53 +-40 +20 +37 +-11 +-53 +-39 +18 +37 +-12 +-52 +-40 +20 +37 +-10 +-52 +-39 +18 +37 +-12 +-52 +-39 +21 +37 +-11 +-52 +-38 +19 +38 +-11 +-51 +-40 +20 +37 +-10 +-52 +-38 +19 +38 +-11 +-51 +-39 +20 +36 +-11 +-53 +-38 +19 +59 +75 +23 +-24 +-63 +-97 +-63 +37 +97 +116 +57 +3 +-40 +-77 +-74 +25 +84 +103 +46 +-6 +-48 +-84 +-82 +18 +77 +96 +40 +-11 +-52 +-88 +-86 +14 +73 +93 +37 +-14 +-55 +-90 +-89 +12 +71 +90 +34 +-16 +-56 +-91 +-91 +10 +69 +89 +33 +-17 +-57 +-92 +-92 +8 +69 +88 +33 +-17 +-57 +-92 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-56 +-6 +-37 +-74 +-106 +-38 +16 +-14 +-55 +-89 +-26 +25 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-11 +38 +6 +-38 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +9 +-36 +-71 +-6 +45 +10 +-33 +-71 +-5 +44 +13 +-33 +-69 +-6 +45 +11 +-33 +-70 +-4 +44 +12 +-33 +-69 +-5 +46 +12 +-32 +-70 +-4 +45 +14 +-32 +-68 +-4 +47 +13 +-31 +-69 +-4 +44 +12 +-33 +-69 +-4 +47 +12 +-32 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +15 +-31 +-67 +-4 +46 +12 +-32 +-70 +-3 +45 +14 +-32 +-68 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-68 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-68 +-4 +47 +12 +-32 +-69 +-3 +46 +14 +-32 +-69 +-101 +-46 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +93 +111 +53 +0 +-43 +-80 +-75 +23 +82 +101 +44 +-7 +-49 +-85 +-83 +16 +77 +95 +39 +-11 +-53 +-88 +-86 +13 +73 +93 +36 +-14 +-54 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-92 +9 +68 +88 +33 +-17 +-57 +-92 +-92 +9 +69 +88 +32 +-17 +-58 +-93 +-92 +9 +69 +88 +33 +-17 +-57 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +9 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +15 +-13 +-55 +-88 +-26 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +36 +2 +-40 +-77 +-11 +37 +6 +-38 +-74 +-9 +42 +7 +-36 +-73 +-8 +41 +9 +-36 +-71 +-6 +44 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-102 +-48 +47 +105 +124 +64 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +22 +82 +101 +45 +-7 +-49 +-85 +-84 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +14 +73 +92 +37 +-14 +-54 +-90 +-90 +11 +71 +90 +34 +-16 +-56 +-91 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-17 +-58 +-93 +-94 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +45 +-5 +-47 +-52 +-3 +6 +-38 +-76 +-68 +-5 +16 +-29 +-67 +-56 +5 +23 +-23 +-63 +-51 +8 +27 +-20 +-60 +-48 +13 +30 +-17 +-58 +-45 +14 +32 +-16 +-56 +-44 +17 +34 +-13 +-55 +-41 +17 +35 +-14 +-54 +-42 +18 +35 +-13 +-54 +-40 +18 +58 +74 +23 +-25 +-64 +-97 +-64 +36 +96 +115 +57 +3 +-40 +-78 +-73 +25 +84 +102 +45 +-6 +-48 +-85 +-82 +18 +77 +95 +40 +-11 +-52 +-88 +-87 +14 +73 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +91 +35 +-15 +-56 +-91 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-56 +-8 +-39 +-75 +-107 +-38 +16 +-13 +-54 +-87 +-25 +26 +-7 +-48 +-84 +-20 +31 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +38 +6 +-39 +-74 +-10 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +47 +105 +124 +64 +9 +-35 +-73 +-65 +34 +92 +109 +52 +-1 +-43 +-80 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-87 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +9 +69 +89 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +9 +69 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-56 +-7 +-38 +-75 +-107 +-38 +16 +-13 +-55 +-88 +-25 +26 +-7 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-16 +35 +3 +-40 +-77 +-11 +38 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +9 +-36 +-72 +-7 +45 +11 +-33 +-71 +-5 +43 +12 +-33 +-70 +-103 +-48 +47 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-44 +-81 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +76 +95 +39 +-12 +-53 +-88 +-87 +14 +73 +91 +35 +-15 +-55 +-91 +-89 +11 +71 +90 +35 +-16 +-56 +-91 +-92 +9 +47 +-4 +-46 +-50 +0 +8 +-35 +-74 +-66 +-4 +18 +-28 +-66 +-54 +6 +23 +-22 +-62 +-50 +9 +29 +-19 +-59 +-46 +12 +29 +-17 +-58 +-45 +14 +33 +-16 +-55 +-42 +17 +34 +-13 +-54 +-42 +16 +35 +-13 +-54 +-41 +18 +36 +-11 +-53 +-39 +18 +57 +72 +21 +-26 +-64 +-98 +-64 +36 +97 +116 +57 +3 +-40 +-77 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-81 +17 +77 +96 +40 +-11 +-52 +-88 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-88 +12 +71 +91 +35 +-15 +-56 +-91 +-91 +10 +69 +89 +33 +-16 +-57 +-92 +-92 +8 +69 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +68 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +46 +-5 +-47 +-51 +-2 +6 +-37 +-75 +-67 +-5 +17 +-29 +-67 +-55 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-59 +-48 +13 +29 +-17 +-58 +-45 +13 +32 +-16 +-56 +-43 +17 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-41 +19 +36 +-12 +-53 +-40 +18 +58 +74 +22 +-25 +-64 +-97 +-64 +36 +96 +115 +57 +4 +-40 +-78 +-74 +25 +83 +102 +45 +-6 +-48 +-85 +-82 +18 +78 +95 +39 +-12 +-53 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-92 +-90 +10 +70 +89 +34 +-16 +-56 +-54 +-4 +-36 +-73 +-104 +-37 +16 +-12 +-54 +-87 +-24 +27 +-6 +-48 +-83 +-20 +31 +-1 +-44 +-79 +-15 +36 +4 +-39 +-76 +-11 +38 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +43 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-5 +45 +11 +-33 +-70 +-4 +45 +13 +-33 +-69 +-5 +46 +12 +-32 +-70 +-3 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +46 +12 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-102 +-47 +48 +106 +124 +65 +10 +-34 +-72 +-64 +33 +92 +111 +53 +0 +-43 +-80 +-75 +23 +83 +101 +45 +-7 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +66 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-95 +6 +65 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +46 +-5 +-47 +-52 +-3 +6 +-37 +-76 +-68 +-5 +16 +-29 +-67 +-55 +6 +23 +-22 +-63 +-50 +8 +27 +-20 +-59 +-48 +13 +30 +-17 +-57 +-44 +13 +32 +-16 +-56 +-44 +16 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-42 +18 +35 +-12 +-54 +-40 +18 +58 +74 +22 +-25 +-64 +-97 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +25 +84 +102 +46 +-6 +-48 +-84 +-82 +17 +76 +94 +38 +-12 +-53 +-89 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +70 +89 +33 +-16 +-57 +-92 +-92 +8 +68 +88 +32 +-17 +-57 +-92 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +88 +33 +-17 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-54 +-7 +-38 +-75 +-106 +-37 +16 +-12 +-54 +-88 +-24 +26 +-7 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-16 +35 +2 +-40 +-76 +-11 +38 +5 +-39 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +9 +-36 +-72 +-7 +44 +10 +-33 +-71 +-5 +44 +11 +-34 +-71 +-103 +-48 +47 +104 +123 +64 +9 +-35 +-73 +-65 +32 +91 +109 +52 +-1 +-44 +-80 +-76 +23 +82 +100 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +35 +-14 +-55 +-91 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-91 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +65 +85 +31 +-19 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-56 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-55 +-88 +-26 +25 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +35 +3 +-39 +-76 +-11 +36 +5 +-39 +-74 +-10 +42 +8 +-36 +-72 +-7 +41 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +43 +13 +-33 +-69 +-6 +45 +11 +-33 +-71 +-4 +45 +13 +-32 +-69 +-4 +47 +12 +-32 +-70 +-4 +45 +13 +-32 +-69 +-4 +47 +13 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +45 +14 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-69 +-101 +-46 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +93 +109 +52 +-1 +-43 +-80 +-76 +23 +82 +101 +44 +-7 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +37 +-14 +-54 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-91 +8 +67 +88 +33 +-17 +-58 +-92 +-91 +8 +69 +88 +33 +-17 +-57 +-93 +-92 +9 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-55 +-7 +-38 +-75 +-106 +-37 +16 +-12 +-54 +-87 +-25 +26 +-7 +-48 +-84 +-20 +31 +0 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-75 +-10 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-7 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-64 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +22 +81 +100 +43 +-8 +-50 +-86 +-83 +16 +75 +95 +39 +-12 +-53 +-88 +-87 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +88 +32 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-38 +16 +-13 +-55 +-88 +-25 +26 +-7 +-48 +-84 +-20 +30 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-11 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +43 +13 +-33 +-70 +-102 +-48 +47 +105 +123 +63 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +22 +81 +100 +44 +-7 +-49 +-85 +-84 +16 +76 +95 +38 +-12 +-53 +-89 +-87 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-52 +-5 +-36 +-73 +-105 +-36 +18 +-11 +-53 +-86 +-24 +27 +-6 +-47 +-83 +-19 +31 +0 +-44 +-78 +-14 +37 +4 +-39 +-76 +-10 +38 +5 +-39 +-74 +-9 +41 +8 +-35 +-72 +-6 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-4 +44 +12 +-33 +-70 +-103 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-75 +23 +82 +100 +43 +-8 +-50 +-86 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-95 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +45 +-5 +-47 +-51 +-2 +6 +-37 +-75 +-67 +-6 +16 +-30 +-67 +-54 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-59 +-47 +12 +29 +-18 +-58 +-44 +14 +33 +-15 +-55 +-43 +16 +33 +-14 +-55 +-42 +16 +36 +-13 +-53 +-40 +19 +35 +-12 +-54 +-39 +18 +36 +-13 +-53 +-40 +20 +37 +-11 +-53 +-39 +19 +37 +-12 +-53 +-40 +19 +36 +-11 +-53 +-38 +20 +38 +-11 +-51 +-38 +20 +36 +-12 +-53 +-39 +19 +38 +-11 +-52 +-38 +21 +37 +-10 +-52 +-39 +19 +38 +-11 +-52 +-39 +20 +37 +-10 +-52 +-38 +19 +59 +73 +22 +-26 +-64 +-98 +-63 +37 +97 +116 +58 +4 +-39 +-77 +-74 +25 +84 +102 +45 +-7 +-49 +-85 +-81 +18 +77 +96 +40 +-11 +-52 +-88 +-86 +14 +74 +93 +37 +-14 +-55 +-90 +-88 +12 +71 +90 +35 +-15 +-56 +-91 +-90 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +65 +86 +30 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +15 +-13 +-55 +-88 +-26 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +5 +-39 +-74 +-10 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-33 +-71 +-5 +44 +13 +-33 +-69 +-5 +45 +10 +-33 +-71 +-4 +45 +13 +-33 +-69 +-4 +47 +12 +-32 +-70 +-4 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-68 +-4 +46 +12 +-32 +-69 +-3 +45 +15 +-31 +-68 +-3 +46 +12 +-32 +-69 +-3 +45 +14 +-32 +-69 +-3 +47 +13 +-32 +-69 +-3 +45 +14 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-102 +-46 +48 +107 +125 +65 +11 +-34 +-72 +-64 +33 +92 +110 +52 +-1 +-43 +-80 +-75 +23 +82 +101 +45 +-7 +-49 +-85 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-92 +-91 +8 +67 +87 +32 +-17 +-58 +-93 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-55 +-7 +-37 +-74 +-106 +-37 +16 +-13 +-55 +-88 +-25 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +4 +-39 +-76 +-12 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-70 +-102 +-48 +47 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-44 +-81 +-76 +22 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +37 +-14 +-55 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-91 +8 +68 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +87 +32 +-17 +-58 +-93 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +30 +-19 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +46 +-4 +-47 +-51 +-2 +6 +-37 +-75 +-68 +-6 +16 +-29 +-67 +-54 +6 +23 +-23 +-63 +-51 +8 +27 +-20 +-60 +-48 +13 +30 +-17 +-58 +-45 +14 +33 +-16 +-56 +-43 +16 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-12 +-53 +-40 +18 +58 +74 +22 +-25 +-64 +-97 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +24 +83 +102 +45 +-7 +-48 +-85 +-82 +18 +77 +95 +39 +-12 +-53 +-88 +-86 +13 +73 +93 +37 +-14 +-55 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-90 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-54 +-6 +-39 +-75 +-107 +-38 +16 +-13 +-54 +-88 +-24 +26 +-7 +-48 +-83 +-20 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +41 +8 +-35 +-72 +-7 +41 +10 +-35 +-71 +-6 +45 +10 +-34 +-71 +-5 +43 +12 +-34 +-70 +-103 +-48 +47 +105 +124 +64 +9 +-35 +-73 +-65 +33 +91 +109 +51 +-1 +-44 +-81 +-75 +22 +82 +100 +44 +-8 +-49 +-85 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +9 +68 +88 +32 +-17 +-57 +-92 +-91 +9 +69 +88 +32 +-17 +-57 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-55 +-7 +-38 +-74 +-106 +-37 +16 +-12 +-54 +-87 +-25 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +37 +5 +-39 +-74 +-10 +42 +9 +-35 +-72 +-6 +41 +10 +-35 +-71 +-7 +44 +9 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +45 +104 +123 +63 +9 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +22 +82 +100 +44 +-8 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-86 +14 +73 +93 +37 +-13 +-54 +-90 +-89 +11 +71 +89 +33 +-16 +-56 +-92 +-91 +9 +47 +-4 +-46 +-49 +-1 +8 +-35 +-74 +-66 +-4 +17 +-28 +-67 +-53 +7 +24 +-22 +-62 +-50 +9 +27 +-20 +-59 +-46 +13 +30 +-17 +-58 +-44 +14 +33 +-15 +-55 +-43 +16 +33 +-14 +-55 +-40 +17 +36 +-13 +-53 +-41 +19 +35 +-12 +-53 +-39 +18 +57 +73 +22 +-25 +-64 +-97 +-63 +36 +96 +115 +57 +3 +-40 +-78 +-73 +25 +83 +102 +45 +-6 +-48 +-85 +-82 +17 +76 +95 +39 +-12 +-53 +-88 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +32 +-17 +-58 +-93 +-91 +8 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +46 +-5 +-47 +-51 +-2 +5 +-38 +-76 +-68 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-51 +8 +27 +-20 +-59 +-47 +13 +30 +-17 +-57 +-44 +13 +32 +-16 +-56 +-43 +16 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-13 +-54 +-40 +18 +58 +73 +22 +-25 +-64 +-97 +-64 +34 +95 +115 +56 +2 +-41 +-78 +-74 +25 +84 +102 +45 +-7 +-48 +-85 +-82 +17 +76 +96 +40 +-11 +-52 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-88 +12 +71 +90 +35 +-15 +-56 +-91 +-90 +10 +69 +89 +33 +-17 +-57 +-53 +-4 +-35 +-72 +-104 +-36 +17 +-12 +-54 +-87 +-25 +26 +-6 +-48 +-83 +-19 +31 +0 +-43 +-78 +-15 +36 +3 +-39 +-76 +-11 +38 +6 +-39 +-74 +-9 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-69 +-6 +45 +11 +-33 +-71 +-4 +45 +14 +-32 +-69 +-4 +47 +12 +-32 +-70 +-3 +45 +13 +-33 +-69 +-4 +47 +14 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-68 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-31 +-69 +-101 +-47 +47 +105 +124 +64 +9 +-35 +-73 +-64 +34 +93 +110 +52 +-1 +-43 +-80 +-76 +22 +81 +101 +45 +-7 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-86 +14 +73 +93 +37 +-14 +-54 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-92 +8 +68 +88 +32 +-17 +-57 +-93 +-91 +9 +68 +88 +33 +-17 +-57 +-93 +-92 +9 +68 +87 +32 +-17 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +5 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +45 +-5 +-47 +-51 +-2 +6 +-38 +-76 +-67 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-51 +8 +28 +-20 +-59 +-47 +13 +30 +-17 +-58 +-45 +13 +32 +-16 +-56 +-43 +17 +34 +-13 +-54 +-42 +16 +35 +-14 +-54 +-41 +19 +35 +-12 +-53 +-40 +18 +58 +73 +22 +-25 +-64 +-98 +-64 +35 +95 +115 +56 +3 +-40 +-78 +-73 +24 +83 +102 +45 +-7 +-49 +-85 +-81 +18 +77 +96 +40 +-11 +-52 +-88 +-87 +13 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +69 +89 +33 +-16 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-94 +7 +66 +86 +30 +-19 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-55 +-7 +-38 +-74 +-106 +-37 +16 +-12 +-54 +-87 +-25 +26 +-7 +-49 +-84 +-19 +29 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +42 +8 +-35 +-72 +-7 +41 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-70 +-102 +-48 +46 +104 +123 +63 +9 +-35 +-73 +-64 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +23 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +32 +-17 +-57 +-93 +-91 +8 +68 +88 +33 +-17 +-57 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-54 +-88 +-25 +26 +-7 +-48 +-84 +-20 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +43 +10 +-34 +-71 +-5 +43 +13 +-33 +-69 +-5 +45 +11 +-33 +-70 +-5 +44 +12 +-33 +-69 +-5 +46 +12 +-32 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-68 +-4 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-3 +45 +14 +-32 +-68 +-3 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-101 +-47 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +92 +109 +52 +-1 diff --git a/traces/modulation-fsk2-50.pm3 b/traces/modulation-fsk2-50.pm3 new file mode 100644 index 000000000..667ab6740 --- /dev/null +++ b/traces/modulation-fsk2-50.pm3 @@ -0,0 +1,20000 @@ +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +68 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +40 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-17 +-38 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +34 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-77 +-89 +79 +64 +38 +30 +1 +-25 +-45 +-63 +-77 +-89 +81 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +41 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +11 +-16 +-37 +-56 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +75 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-43 +-62 +-76 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-76 +72 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +39 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-22 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +37 +7 +-19 +-41 +-59 +-74 +77 +62 +34 +4 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-24 +-44 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +4 +-20 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-20 +-42 +-59 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-22 +-43 +-61 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +27 +-3 +-27 +-48 +-65 +-80 +-90 +76 +65 +36 +31 +0 +-24 +-45 +-62 +-77 +-89 +79 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +79 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +69 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +80 +66 +38 +8 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-22 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-44 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-43 +-61 +-76 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +81 +68 +42 +34 +5 +-22 +-42 +-61 +-75 +-88 +83 +68 +43 +34 +4 +-22 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +61 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +73 +59 +32 +26 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +40 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-71 +80 +66 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +6 +-21 +-41 +-60 +-75 +76 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +31 +0 +-24 +-46 +-63 +-78 +-88 +78 +67 +39 +33 +3 +-22 +-44 +-61 +-76 +-88 +79 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +62 +35 +5 +-21 +-42 +-61 +-75 +76 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +65 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +3 +-22 +-43 +-61 +-76 +-88 +82 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-61 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +77 +62 +34 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +3 +-22 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-24 +-44 +-62 +-76 +73 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +11 +-16 +-37 +-57 +-72 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-23 +-44 +-62 +-76 +74 +60 +32 +27 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +68 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +41 +33 +3 +-22 +-44 +-61 +-76 +-87 +80 +70 +41 +35 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +34 +3 +-21 +-43 +-61 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-41 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-23 +-44 +-62 +-77 +-89 +78 +63 +37 +30 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-44 +-62 +-76 +-88 +82 +68 +42 +33 +3 +-22 +-43 +-61 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +7 +-20 +-40 +-60 +-74 +77 +62 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-4 +-28 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +68 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +72 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +83 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-59 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +11 +-16 +-37 +-57 +-72 +80 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +26 +-3 +-27 +-48 +-65 +-80 +-90 +76 +65 +36 +31 +0 +-24 +-45 +-62 +-78 +-89 +78 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +70 +41 +11 +-16 +-37 +-57 +-72 +80 +65 +37 +7 +-19 +-40 +-60 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +63 +36 +6 +-20 +-41 +-60 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-62 +-76 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +74 +59 +32 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +58 +31 +26 +-4 +-27 +-49 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +80 +70 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +76 +63 +35 +6 +-21 +-41 +-60 +-74 +75 +61 +33 +3 +-22 +-43 +-62 +-76 +75 +60 +33 +3 +-22 +-43 +-61 +-76 +74 +60 +31 +2 +-23 +-44 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +3 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +1 +-24 +-45 +-63 +-77 +72 +59 +31 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-23 +-44 +-62 +-77 +-89 +78 +63 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +31 +2 +-23 +-44 +-62 +-76 +-88 +81 +68 +42 +33 +3 +-23 +-43 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +44 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +37 +7 +-20 +-41 +-59 +-74 +77 +62 +34 +4 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +1 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-56 +-71 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +76 +63 +35 +6 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-43 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +12 +-16 +-37 +-56 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +35 +6 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-22 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +-89 +79 +64 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-74 +77 +64 +36 +7 +-19 +-40 +-59 +-74 +77 +62 +34 +5 +-22 +-42 +-61 +-75 +74 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-44 +-62 +-76 +-88 +81 +68 +42 +33 +3 +-22 +-43 +-61 +-76 +-88 +82 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +77 +63 +36 +7 +-20 +-41 +-60 +-74 +77 +63 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +75 +64 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +40 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +27 +-3 +-27 +-48 +-65 +-80 +-90 +75 +65 +37 +30 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +39 +32 +1 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +78 +64 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-22 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +-89 +78 +63 +38 +29 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +40 +31 +2 +-24 +-44 +-62 +-77 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +82 +69 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +6 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +37 +7 +-20 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +60 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +75 +64 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +69 +40 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +72 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +75 +61 +32 +3 +-22 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +77 +65 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +79 +68 +38 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-86 +81 +70 +41 +11 +-16 +-37 +-57 +-72 +79 +66 +38 +8 +-19 +-40 +-59 +-73 +77 +63 +34 +5 +-21 +-42 +-60 +-75 +76 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +65 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +67 +41 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +68 +42 +33 +5 +-22 +-42 +-61 +-75 +-88 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +61 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +27 +-3 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +38 +32 +1 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +33 +2 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-41 +-60 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +61 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-90 +75 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-76 +-87 +79 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +3 +-21 +-43 +-60 +-76 +-87 +80 +70 +41 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +62 +34 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +7 +-20 +-40 +-59 +-74 +77 +63 +34 +4 +-22 +-42 +-61 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +74 +59 +31 +25 +-4 +-28 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +38 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +5 +-20 +-43 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +72 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +37 +29 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +7 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +3 +-22 +-43 +-61 +-76 +74 +60 +33 +3 +-22 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-3 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +34 +3 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-41 +-60 +-74 +75 +60 +33 +3 +-22 +-43 +-61 +-76 +75 +61 +33 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +2 +-23 +-43 +-62 +-76 +73 +60 +32 +25 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +68 +39 +33 +2 +-22 +-44 +-61 +-77 +-87 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +11 +-16 +-38 +-57 +-71 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-41 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +4 +-22 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +79 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +33 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +4 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +7 +-20 +-41 +-59 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +67 +41 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +61 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +60 +32 +2 +-23 +-44 +-62 +-76 +73 +58 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +69 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +76 +65 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +79 +68 +39 +33 +2 +-22 +-44 +-61 +-76 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +40 +10 +-17 +-38 +-57 +-72 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +77 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +41 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-22 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-20 +-41 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +75 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +31 +0 +-24 +-45 +-63 +-78 +-88 +78 +67 +39 +32 +2 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +80 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-16 +-37 +-57 +-72 +80 +66 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +76 +62 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +27 +-3 +-27 +-48 +-65 +-79 +-90 +76 +65 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +69 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-76 +-87 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-56 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-41 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +3 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +29 +0 +-25 +-45 +-63 +-77 +-89 +79 +66 +40 +31 +2 +-23 +-44 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +69 +42 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +7 +-19 +-41 +-60 +-74 +76 +62 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +25 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-25 +-46 +-63 +-78 +-89 +79 +68 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +41 +11 +-16 +-38 +-57 +-72 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +75 +61 +33 +3 +-22 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +60 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +31 +1 +-24 +-45 +-62 +-77 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-16 +-38 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-77 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +67 +41 +33 +4 +-22 +-43 +-61 +-76 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-74 +78 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +58 +31 +26 +-4 +-28 +-48 +-65 +-80 +-91 +75 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-87 +80 +68 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +3 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +83 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +36 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +12 +-16 +-37 +-56 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +6 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +58 +31 +1 +-24 +-44 +-63 +-77 +-89 +78 +64 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +41 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +63 +36 +7 +-20 +-41 +-60 +-74 +76 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-44 +-62 +-76 +73 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +79 +67 +38 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +68 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +40 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +36 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +34 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +12 +-16 +-37 +-57 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-62 +-78 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +69 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +11 +-16 +-37 +-56 +-71 +79 +65 +37 +8 +-19 +-40 +-59 +-74 +77 +62 +34 +5 +-21 +-42 +-61 +-75 +76 +62 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +77 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-44 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +77 +63 +35 +6 +-20 +-41 +-60 +-74 +76 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +25 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-88 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-76 +-88 +80 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-42 +-59 +-75 +-86 +82 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-59 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-57 +-72 +80 +66 +38 +8 +-19 +-40 +-59 +-73 +76 +63 +35 +5 +-21 +-41 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-62 +-76 +74 +61 +33 +3 +-23 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +27 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +31 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +38 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-44 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-20 +-40 +-59 +-74 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +72 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +58 +31 +1 +-24 +-44 +-63 +-77 +72 +59 +31 +3 +-23 +-44 +-62 +-76 +-89 +77 +63 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +41 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +69 +42 +34 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +6 +-20 +-41 +-60 +-74 +-87 +82 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +38 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +3 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +12 +-16 +-37 +-56 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +72 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-43 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +72 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-72 +80 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-22 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +32 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +72 +58 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +-89 +78 +64 +38 +29 +0 +-25 +-45 +-63 +-77 +-89 +80 +67 +41 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +77 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +60 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +31 +0 +-24 +-45 +-62 +-78 +-89 +78 +67 +38 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +68 +40 +33 +3 +-21 +-44 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +12 +-16 +-37 +-56 +-71 +80 +65 +36 +7 +-20 +-40 +-59 +-74 +77 +63 +35 +6 +-20 +-41 +-60 +-74 +76 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +69 +41 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +79 +64 +38 +29 +1 +-25 +-45 +-63 +-77 +-89 +80 +67 +40 +31 +2 +-23 +-44 +-62 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +65 +37 +7 +-19 +-40 +-59 +-74 +76 +62 +35 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +3 +-22 +-43 +-61 +-76 +73 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +75 +64 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +38 +32 +1 +-23 +-45 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 diff --git a/traces/modulation-fsk2a-40.pm3 b/traces/modulation-fsk2a-40.pm3 new file mode 100644 index 000000000..aa83baca2 --- /dev/null +++ b/traces/modulation-fsk2a-40.pm3 @@ -0,0 +1,20000 @@ +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-72 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-76 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-26 +-47 +-65 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +63 +36 +26 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +79 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-65 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +65 +37 +5 +-20 +-43 +-61 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +32 +22 +-6 +-31 +-50 +-68 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-86 +83 +70 +42 +32 +3 +-23 +-45 +-63 +-77 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-26 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +69 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +84 +71 +44 +11 +-15 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-83 +85 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +45 +33 +4 +-22 +-43 +-62 +-77 +-84 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-22 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +0 +-26 +-46 +-65 +-79 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +84 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +84 +71 +42 +10 +-17 +-40 +-58 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-73 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +59 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +78 +65 +37 +28 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +67 +38 +6 +-19 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +63 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-72 +86 +62 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +31 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +22 +-6 +-31 +-51 +-69 +-82 +-91 +78 +64 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +72 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-84 +85 +72 +45 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-22 +-44 +-61 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +57 +30 +-1 +-26 +-48 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +32 +2 +-24 +-45 +-63 +-78 +-86 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +84 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-26 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-52 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +85 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +71 +43 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +0 +-24 +-46 +-63 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-26 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +29 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +31 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +65 +38 +27 +-2 +-27 +-47 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +1 +-24 +-45 +-64 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-92 +77 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +83 +71 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +84 +72 +44 +33 +3 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-76 +80 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +80 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +2 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +43 +33 +4 +-23 +-43 +-63 +-77 +-84 +85 +71 +43 +33 +4 +-22 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +45 +34 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-23 +-46 +-63 +-75 +83 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +0 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +3 +-24 +-45 +-63 +-77 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-45 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +67 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +85 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +80 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-82 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +29 +0 +-26 +-46 +-64 +-79 +-87 +82 +70 +43 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-85 +84 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +84 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +1 +-24 +-46 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +76 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +0 +-25 +-46 +-65 +-79 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +4 +-22 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +64 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +43 +33 +4 +-22 +-44 +-63 +-77 +-84 +84 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +83 +71 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +84 +71 +44 +11 +-15 +-39 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +20 +-7 +-32 +-52 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +66 +38 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +80 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-31 +-51 +-69 +-82 +-91 +77 +64 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-1 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +3 +-23 +-43 +-63 +-77 +-85 +84 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-43 +-62 +-77 +-84 +84 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +0 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +21 +-7 +-32 +-52 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +60 +31 +22 +-5 +-31 +-50 +-68 +-82 +-91 +77 +64 +37 +28 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +83 +70 +42 +32 +3 +-24 +-44 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +88 +66 +37 +6 +-20 +-42 +-60 +-72 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +29 +-1 +-26 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +29 +-1 +-26 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +63 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +71 +43 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-43 +-62 +-77 +-84 +85 +71 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-78 +-86 +84 +71 +43 +33 +4 +-23 +-44 +-62 +-77 +-84 +84 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +36 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-62 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +63 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +65 +37 +26 +-3 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +31 +3 +-24 +-45 +-63 +-77 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-23 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +84 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-77 +-86 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-76 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +78 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +41 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +42 +10 +-16 +-40 +-58 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +90 +67 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +83 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +84 +61 +32 +22 +-6 +-31 +-51 +-69 +-82 +-91 +77 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +85 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-26 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-26 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +63 +37 +27 +-1 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +85 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-44 +-63 +-77 +-85 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-39 +-57 +-69 +89 +66 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +32 +1 +-24 +-46 +-64 +-76 +81 +59 +31 +0 +-25 +-46 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +1 +-26 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +57 +29 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +60 +31 +22 +-6 +-31 +-51 +-69 +-82 +-91 +77 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-26 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-83 +-91 +77 +63 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +71 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +83 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +32 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-77 +-85 +84 +70 +43 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +71 +43 +33 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +86 +72 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +72 +43 +33 +4 +-23 +-43 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +34 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +43 +10 +-16 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +81 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-1 +-27 +-47 +-66 +-80 +-88 +80 +67 +39 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-6 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +29 +0 +-26 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +21 +-6 +-31 +-51 +-69 +-82 +-91 +78 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +32 +1 +-24 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +43 +31 +2 +-24 +-44 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-69 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +11 +-15 +-39 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +80 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +29 +-1 +-26 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-77 +-86 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +87 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-77 +-86 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-77 +-85 +83 +70 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +83 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +39 +6 +-19 +-42 +-60 +-72 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +76 +63 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-3 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +85 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +33 +1 +-24 +-45 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +43 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +43 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +43 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +39 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +71 +44 +33 +3 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-20 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-23 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +76 +63 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +0 +-25 +-46 +-64 +-79 +-87 +82 +70 +43 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-76 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +76 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +79 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +81 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +4 +-22 +-44 +-61 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-1 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +3 +-24 +-44 +-63 +-77 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-24 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +57 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +3 +-24 +-45 +-63 +-77 +-86 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-5 +-31 +-50 +-68 +-82 +-91 +77 +65 +37 +27 +-2 +-27 +-47 +-66 +-80 +-88 +81 +67 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +69 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +83 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +80 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +77 +64 +37 +27 +-2 +-27 +-47 +-66 +-80 +-88 +80 +67 +40 +30 +0 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +67 +38 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +83 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +33 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +71 +43 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +45 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +80 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-82 +-92 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-44 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +76 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +29 +0 +-25 +-46 +-65 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +85 +72 +43 +10 +-16 +-39 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-61 +-74 +84 +61 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-23 +-45 +-63 +-75 +84 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 diff --git a/traces/modulation-fsk2a-50.pm3 b/traces/modulation-fsk2a-50.pm3 new file mode 100644 index 000000000..3fd2d18b5 --- /dev/null +++ b/traces/modulation-fsk2a-50.pm3 @@ -0,0 +1,20000 @@ +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +71 +64 +38 +29 +-1 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +30 +1 +-25 +-45 +-63 +-78 +-90 +78 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-89 +79 +71 +44 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +12 +-15 +-38 +-56 +-72 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +76 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +44 +11 +-15 +-38 +-57 +-72 +85 +66 +38 +6 +-19 +-41 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +1 +-23 +-45 +-62 +-78 +-89 +77 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +42 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-44 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +60 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +80 +60 +31 +1 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +37 +5 +-20 +-42 +-60 +-75 +81 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-62 +-78 +-89 +77 +72 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +62 +35 +4 +-21 +-44 +-61 +-76 +80 +62 +34 +2 +-22 +-44 +-62 +-77 +81 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +60 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +80 +60 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +71 +64 +38 +28 +-1 +-26 +-46 +-65 +-78 +-91 +75 +67 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +24 +-5 +-30 +-49 +-67 +-81 +-93 +73 +65 +38 +29 +0 +-26 +-46 +-64 +-78 +-91 +76 +68 +41 +32 +2 +-24 +-44 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-22 +-43 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +85 +67 +39 +7 +-19 +-41 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +76 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +22 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +84 +66 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-77 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +70 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +77 +71 +41 +33 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +76 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +44 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +33 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +80 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-72 +86 +67 +39 +7 +-18 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-64 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +77 +72 +42 +33 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +29 +-1 +-26 +-46 +-65 +-78 +-91 +76 +69 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +3 +-23 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +40 +33 +2 +-23 +-45 +-62 +-77 +-89 +77 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +43 +35 +4 +-21 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +62 +35 +3 +-21 +-44 +-61 +-76 +79 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +74 +70 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +3 +-21 +-44 +-61 +-77 +-88 +78 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +79 +73 +44 +36 +5 +-20 +-43 +-61 +-76 +-87 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-76 +-88 +78 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +79 +74 +44 +36 +4 +-21 +-43 +-61 +-75 +83 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-76 +82 +61 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +33 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-24 +-45 +-63 +-77 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +65 +38 +27 +-1 +-27 +-47 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +4 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +4 +-22 +-43 +-61 +-76 +-88 +79 +73 +46 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-72 +85 +67 +39 +6 +-19 +-42 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +70 +44 +11 +-15 +-38 +-56 +-72 +86 +66 +39 +6 +-19 +-41 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +59 +32 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +63 +38 +28 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +67 +39 +7 +-19 +-41 +-59 +-74 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-77 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-89 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +-90 +72 +66 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-23 +-44 +-62 +-77 +81 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +80 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +63 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-88 +78 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-41 +-59 +-74 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +82 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +24 +-4 +-30 +-49 +-67 +-81 +-93 +72 +65 +39 +29 +0 +-26 +-46 +-64 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +78 +70 +44 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +71 +45 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-75 +-88 +79 +72 +46 +12 +-14 +-37 +-56 +-71 +86 +67 +39 +7 +-18 +-41 +-59 +-74 +81 +63 +36 +5 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-23 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +70 +43 +32 +3 +-23 +-44 +-62 +-77 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +86 +67 +38 +6 +-19 +-42 +-59 +-75 +81 +62 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +65 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +23 +-5 +-31 +-50 +-68 +-81 +-93 +73 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +42 +32 +3 +-24 +-44 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +43 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +80 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-72 +85 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +-90 +71 +65 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-62 +-77 +-89 +76 +70 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +83 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-78 +-91 +76 +68 +41 +31 +1 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +79 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +33 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-46 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +37 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-23 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +67 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-77 +-89 +75 +70 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +78 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-60 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-60 +-75 +85 +66 +38 +6 +-20 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +58 +32 +1 +-24 +-45 +-63 +-78 +80 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +65 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +42 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +34 +5 +-22 +-43 +-62 +-76 +-89 +78 +71 +45 +34 +4 +-22 +-43 +-61 +-76 +-88 +79 +71 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +86 +67 +39 +6 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-77 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +45 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +5 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +80 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +32 +3 +-23 +-44 +-62 +-76 +-89 +79 +72 +45 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +7 +-19 +-42 +-59 +-74 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +77 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +29 +-1 +-26 +-47 +-64 +-79 +-90 +74 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +73 +43 +34 +3 +-21 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-75 +83 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-21 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-44 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-76 +81 +61 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +22 +-5 +-30 +-50 +-68 +-81 +-94 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +83 +64 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +24 +-5 +-30 +-49 +-67 +-81 +-93 +72 +65 +39 +29 +0 +-26 +-46 +-65 +-78 +-91 +76 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +71 +44 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +85 +66 +39 +6 +-19 +-41 +-59 +-75 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +82 +62 +35 +3 +-22 +-44 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-76 +-88 +77 +74 +44 +35 +3 +-21 +-44 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-45 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-47 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-61 +-76 +-89 +79 +72 +44 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +12 +-14 +-38 +-56 +-72 +86 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-2 +-26 +-48 +-65 +-80 +-91 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +33 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +43 +35 +3 +-22 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-77 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +67 +39 +6 +-19 +-41 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +33 +1 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +-90 +72 +67 +38 +29 +-1 +-26 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +76 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +3 +-22 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +2 +-22 +-45 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-21 +-44 +-61 +-76 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-76 +-88 +77 +74 +45 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +78 +74 +44 +35 +4 +-21 +-43 +-61 +-75 +85 +66 +39 +6 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +33 +2 +-22 +-44 +-62 +-77 +81 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +80 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +78 +72 +45 +34 +4 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +46 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +73 +45 +12 +-14 +-37 +-56 +-72 +85 +66 +39 +6 +-19 +-41 +-59 +-75 +83 +64 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +35 +3 +-22 +-44 +-62 +-76 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +22 +-6 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +76 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +44 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +22 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +37 +28 +0 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-88 +78 +71 +44 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +82 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +79 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-62 +-78 +-89 +76 +70 +41 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +62 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +62 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +2 +-23 +-45 +-62 +-77 +-89 +77 +71 +42 +33 +3 +-22 +-44 +-62 +-77 +-89 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +71 +63 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +78 +70 +44 +11 +-15 +-38 +-56 +-72 +85 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-22 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +60 +32 +24 +-5 +-30 +-49 +-67 +-81 +-93 +73 +65 +38 +29 +0 +-26 +-46 +-64 +-78 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +86 +67 +39 +6 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +81 +59 +31 +22 +-6 +-31 +-50 +-68 +-81 +-94 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +44 +11 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +1 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +76 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +85 +66 +39 +7 +-19 +-41 +-59 +-74 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-61 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-77 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-62 +-77 +-89 +76 +71 +41 +33 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +37 +6 +-19 +-42 +-60 +-75 +82 +62 +35 +4 +-21 +-44 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +70 +40 +33 +2 +-23 +-45 +-62 +-77 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-75 +84 +65 +37 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +3 +-21 +-44 +-61 +-76 +79 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +74 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +72 +42 +33 +2 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +79 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +78 +73 +44 +36 +5 +-20 +-43 +-60 +-75 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +81 +61 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +22 +-5 +-30 +-50 +-68 +-81 +-93 +73 +65 +38 +28 +0 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +86 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +32 +3 +-23 +-44 +-62 +-77 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-61 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +1 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-44 +-62 +-77 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +12 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +65 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +73 +43 +35 +3 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-22 +-45 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-24 +-46 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 diff --git a/traces/modulation-psk1-32-4.pm3 b/traces/modulation-psk1-32-4.pm3 new file mode 100644 index 000000000..504c305f6 --- /dev/null +++ b/traces/modulation-psk1-32-4.pm3 @@ -0,0 +1,20000 @@ +8 +52 +65 +26 +-13 +-46 +-6 +17 +-20 +-52 +1 +14 +-23 +-54 +3 +17 +-20 +-52 +5 +19 +-18 +-50 +5 +20 +-18 +-50 +6 +21 +-16 +-49 +8 +22 +-16 +-49 +-75 +-98 +55 +101 +51 +7 +11 +11 +-25 +-57 +5 +24 +-14 +-47 +6 +21 +-16 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +21 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +22 +-15 +-48 +8 +23 +-14 +-47 +9 +23 +-15 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +8 +23 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +25 +-14 +-46 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-47 +9 +23 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +67 +28 +-10 +-44 +-4 +18 +-19 +-51 +3 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-49 +7 +21 +-16 +-49 +7 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-15 +-48 +9 +23 +-15 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +-74 +-98 +56 +102 +52 +8 +12 +12 +-24 +-56 +6 +25 +-14 +-47 +8 +22 +-16 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +9 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +8 +23 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +25 +-14 +-46 +10 +23 +-15 +-47 +9 +23 +-15 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +54 +67 +28 +-10 +-44 +-5 +18 +-19 +-51 +2 +15 +-21 +-53 +4 +18 +-19 +-51 +5 +19 +-18 +-50 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +7 +22 +-15 +-48 +8 +22 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +23 +-14 +-47 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +-74 +-97 +55 +102 +52 +8 +12 +13 +-23 +-55 +6 +25 +-13 +-46 +8 +22 +-16 +-49 +8 +21 +-16 +-49 +7 +22 +-16 +-48 +8 +22 +-15 +-48 +9 +23 +-15 +-48 +9 +21 +-17 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-47 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +67 +29 +-10 +-44 +-4 +18 +-19 +-51 +2 +15 +-22 +-53 +3 +18 +-19 +-51 +5 +19 +-18 +-50 +6 +20 +-17 +-50 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +-75 +-98 +54 +100 +50 +6 +11 +12 +-25 +-56 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-13 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +25 +-13 +-46 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +25 +-13 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +54 +67 +28 +-10 +-44 +-4 +18 +-19 +-51 +3 +16 +-21 +-53 +3 +18 +-19 +-51 +5 +20 +-18 +-50 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +7 +22 +-16 +-48 +-75 +-99 +54 +101 +51 +7 +11 +11 +-25 +-57 +5 +24 +-14 +-47 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +22 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +53 +67 +29 +-10 +-44 +-5 +17 +-20 +-52 +1 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-17 +-50 +5 +20 +-17 +-50 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +-75 +-99 +53 +100 +51 +6 +11 +12 +-25 +-56 +5 +24 +-14 +-47 +7 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +67 +29 +-10 +-44 +-5 +18 +-19 +-51 +2 +16 +-21 +-53 +3 +19 +-19 +-51 +5 +20 +-17 +-50 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +-75 +-99 +53 +101 +51 +7 +11 +12 +-24 +-56 +5 +24 +-14 +-47 +6 +21 +-16 +-49 +7 +21 +-17 +-49 +8 +22 +-15 +-48 +8 +22 +-16 +-49 +8 +52 +65 +27 +-12 +-46 +-6 +16 +-21 +-53 +1 +14 +-23 +-54 +2 +17 +-20 +-52 +4 +19 +-18 +-51 +5 +20 +-18 +-50 +7 +20 +-17 +-50 +6 +21 +-17 +-49 +-76 +-99 +53 +100 +51 +6 +11 +12 +-24 +-56 +5 +24 +-14 +-47 +7 +22 +-16 +-49 +7 +21 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +54 +67 +28 +-11 +-44 +-5 +18 +-19 +-52 +2 +16 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-17 +-50 +6 +20 +-18 +-50 +6 +21 +-16 +-49 +7 +22 +-15 +-48 +-75 +-99 +53 +101 +51 +7 +11 +12 +-24 +-56 +5 +24 +-14 +-47 +7 +22 +-17 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +9 +52 +65 +27 +-12 +-46 +-6 +17 +-20 +-52 +1 +14 +-23 +-55 +1 +17 +-20 +-52 +4 +19 +-19 +-51 +5 +20 +-18 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +7 +23 +-15 +-48 +8 +22 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +-74 +-98 +54 +101 +51 +7 +13 +13 +-24 +-55 +6 +24 +-14 +-47 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +8 +22 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +8 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-15 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-47 +9 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-13 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +23 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +54 +68 +29 +-10 +-44 +-5 +18 +-20 +-52 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +6 +20 +-18 +-50 +6 +20 +-17 +-50 +7 +21 +-17 +-49 +7 +22 +-16 +-49 +-75 +-99 +52 +100 +50 +6 +11 +13 +-24 +-56 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +7 +21 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-15 +-48 +8 +21 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +54 +67 +29 +-10 +-44 +-5 +17 +-20 +-52 +2 +16 +-21 +-53 +4 +19 +-18 +-51 +5 +19 +-18 +-50 +4 +20 +-18 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +-75 +-99 +51 +100 +50 +6 +12 +13 +-24 +-56 +5 +25 +-14 +-47 +7 +22 +-17 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +8 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +54 +68 +30 +-10 +-44 +-5 +17 +-20 +-52 +2 +16 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-50 +5 +20 +-18 +-50 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +-75 +-98 +53 +101 +51 +7 +13 +13 +-24 +-56 +5 +25 +-13 +-47 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +54 +68 +30 +-10 +-44 +-5 +17 +-20 +-52 +1 +16 +-21 +-53 +4 +19 +-18 +-51 +6 +20 +-17 +-50 +5 +20 +-18 +-50 +6 +22 +-16 +-49 +8 +22 +-15 +-48 +-75 +-99 +51 +100 +50 +6 +12 +13 +-24 +-56 +5 +25 +-14 +-47 +7 +21 +-17 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +21 +-17 +-49 +7 +22 +-16 +-49 +7 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +68 +30 +-9 +-44 +-5 +17 +-20 +-52 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-17 +-50 +6 +20 +-17 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +-76 +-99 +51 +100 +50 +6 +11 +12 +-24 +-56 +5 +25 +-13 +-47 +7 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +52 +66 +28 +-11 +-45 +-7 +16 +-21 +-53 +1 +14 +-22 +-54 +2 +18 +-20 +-52 +4 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-49 +7 +22 +-16 +-49 +-76 +-99 +51 +100 +50 +6 +13 +12 +-24 +-56 +4 +24 +-15 +-48 +7 +22 +-17 +-49 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +9 +23 +-16 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +22 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +10 +53 +68 +30 +-9 +-44 +-5 +17 +-20 +-53 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +21 +-17 +-50 +6 +20 +-17 +-50 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +-75 +-98 +51 +101 +51 +6 +14 +14 +-23 +-55 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-48 +7 +23 +-16 +-48 +9 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +23 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +68 +30 +-9 +-44 +-5 +18 +-20 +-52 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +20 +-18 +-50 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-16 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +-75 +-98 +51 +101 +51 +6 +13 +14 +-23 +-55 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +53 +68 +30 +-9 +-43 +-6 +17 +-20 +-53 +3 +16 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +20 +-17 +-50 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +-76 +-100 +50 +99 +49 +5 +12 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +25 +-13 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +54 +67 +30 +-9 +-44 +-6 +17 +-21 +-53 +2 +16 +-21 +-53 +4 +18 +-19 +-51 +4 +20 +-18 +-50 +5 +21 +-17 +-50 +8 +22 +-16 +-49 +8 +21 +-17 +-50 +-76 +-100 +49 +100 +50 +5 +13 +13 +-24 +-56 +4 +24 +-14 +-48 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-48 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +52 +67 +30 +-9 +-44 +-6 +17 +-20 +-53 +2 +16 +-21 +-53 +2 +18 +-19 +-52 +5 +20 +-18 +-50 +5 +20 +-17 +-50 +7 +21 +-17 +-49 +8 +22 +-17 +-50 +-76 +-100 +50 +100 +50 +5 +13 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +54 +67 +31 +-9 +-44 +-6 +17 +-21 +-53 +3 +16 +-21 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +-76 +-100 +50 +100 +50 +5 +13 +13 +-24 +-56 +4 +24 +-14 +-48 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +51 +66 +29 +-11 +-45 +-7 +16 +-22 +-54 +1 +14 +-23 +-55 +1 +18 +-20 +-52 +5 +19 +-18 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-50 +7 +22 +-16 +-49 +-76 +-100 +49 +99 +49 +5 +12 +13 +-24 +-56 +5 +25 +-14 +-47 +7 +22 +-16 +-49 +7 +22 +-17 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +22 +-16 +-49 +8 +22 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-16 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-13 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +54 +68 +31 +-9 +-43 +-7 +17 +-21 +-53 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +-76 +-99 +49 +99 +49 +5 +13 +13 +-24 +-56 +4 +24 +-14 +-48 +8 +21 +-17 +-50 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +52 +66 +29 +-10 +-44 +-7 +16 +-21 +-54 +1 +14 +-23 +-55 +2 +18 +-20 +-52 +4 +19 +-18 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-50 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +-75 +-99 +50 +101 +51 +6 +15 +14 +-23 +-56 +5 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +53 +69 +31 +-9 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +20 +-17 +-50 +6 +21 +-17 +-49 +7 +22 +-16 +-49 +-76 +-100 +48 +100 +49 +5 +14 +14 +-23 +-56 +4 +24 +-14 +-48 +8 +22 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +22 +-16 +-49 +7 +21 +-17 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +53 +69 +31 +-9 +-43 +-7 +16 +-21 +-53 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +-76 +-100 +48 +99 +49 +5 +13 +13 +-24 +-56 +5 +25 +-14 +-48 +8 +22 +-16 +-49 +6 +22 +-17 +-50 +8 +23 +-15 +-49 +9 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-48 +8 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +53 +68 +31 +-8 +-43 +-6 +16 +-21 +-53 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +5 +20 +-18 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +-75 +-99 +50 +100 +50 +6 +14 +14 +-23 +-55 +5 +25 +-13 +-47 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +52 +68 +31 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +20 +-18 +-50 +7 +22 +-17 +-49 +8 +22 +-17 +-50 +-76 +-100 +47 +99 +49 +5 +14 +13 +-24 +-56 +5 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-17 +-49 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +53 +68 +32 +-8 +-43 +-7 +16 +-22 +-54 +3 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +7 +22 +-17 +-50 +-77 +-100 +47 +99 +49 +4 +14 +14 +-23 +-56 +4 +24 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +52 +66 +30 +-10 +-44 +-8 +15 +-22 +-54 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-100 +47 +99 +49 +4 +14 +14 +-24 +-56 +4 +25 +-14 +-48 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-16 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +52 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +3 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +21 +-18 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +-75 +-99 +48 +100 +50 +5 +15 +14 +-24 +-56 +5 +26 +-13 +-47 +9 +23 +-15 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +53 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +8 +23 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +-75 +-99 +48 +100 +49 +5 +15 +15 +-23 +-55 +5 +26 +-13 +-47 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +53 +68 +33 +-8 +-42 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-17 +-50 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-50 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +53 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +18 +-20 +-52 +5 +20 +-18 +-50 +5 +21 +-17 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +-76 +-100 +47 +99 +48 +4 +14 +13 +-24 +-57 +4 +25 +-14 +-48 +7 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +52 +68 +33 +-8 +-43 +-7 +15 +-23 +-55 +2 +16 +-22 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-16 +-49 +7 +21 +-17 +-50 +-77 +-101 +46 +99 +48 +4 +15 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +53 +68 +32 +-8 +-43 +-7 +16 +-22 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +-76 +-100 +46 +99 +48 +4 +14 +13 +-24 +-56 +5 +24 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +51 +67 +30 +-10 +-44 +-8 +14 +-23 +-55 +1 +15 +-22 +-55 +1 +18 +-20 +-53 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +6 +22 +-17 +-50 +-77 +-101 +46 +98 +48 +4 +14 +14 +-24 +-56 +3 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-49 +9 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +32 +-8 +-43 +-7 +16 +-22 +-54 +2 +16 +-21 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-16 +-49 +7 +23 +-16 +-49 +-77 +-100 +46 +98 +48 +4 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +51 +67 +30 +-10 +-44 +-8 +15 +-23 +-55 +1 +15 +-23 +-55 +1 +18 +-20 +-53 +4 +20 +-19 +-51 +5 +20 +-18 +-51 +7 +21 +-17 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +-76 +-100 +47 +100 +49 +5 +16 +15 +-23 +-55 +5 +26 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-49 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +52 +69 +33 +-7 +-42 +-7 +15 +-22 +-55 +1 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +21 +-17 +-50 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-100 +45 +98 +48 +4 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +53 +69 +33 +-8 +-43 +-8 +15 +-22 +-54 +3 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +23 +-16 +-50 +-77 +-101 +45 +98 +48 +4 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +8 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +53 +69 +33 +-8 +-43 +-8 +15 +-22 +-55 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +22 +-17 +-50 +6 +22 +-17 +-50 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +-76 +-100 +46 +99 +48 +4 +16 +14 +-23 +-56 +4 +26 +-13 +-47 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +33 +-7 +-42 +-8 +15 +-23 +-55 +2 +16 +-21 +-54 +4 +20 +-18 +-51 +6 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +-77 +-101 +45 +98 +48 +3 +15 +14 +-23 +-56 +4 +26 +-14 +-48 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +53 +69 +33 +-7 +-42 +-7 +15 +-23 +-55 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +6 +21 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +44 +97 +47 +3 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +52 +67 +31 +-9 +-44 +-9 +15 +-23 +-55 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +5 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +44 +98 +47 +3 +15 +14 +-24 +-56 +4 +24 +-15 +-48 +8 +22 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +52 +69 +33 +-7 +-42 +-7 +15 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +-76 +-100 +45 +99 +49 +4 +17 +15 +-22 +-55 +4 +25 +-14 +-48 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +52 +69 +34 +-7 +-42 +-7 +15 +-22 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-49 +9 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +23 +-15 +-49 +8 +23 +-16 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +25 +-15 +-48 +-76 +-100 +45 +99 +49 +4 +16 +15 +-22 +-55 +5 +26 +-13 +-47 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +68 +33 +-7 +-42 +-8 +15 +-23 +-55 +3 +16 +-22 +-54 +3 +19 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +44 +98 +47 +3 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +26 +-14 +-48 +9 +24 +-16 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +52 +68 +33 +-7 +-43 +-8 +15 +-23 +-55 +3 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-102 +44 +97 +47 +3 +16 +14 +-23 +-56 +4 +24 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-50 +8 +24 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +51 +68 +33 +-7 +-43 +-8 +14 +-23 +-55 +2 +16 +-22 +-55 +3 +19 +-20 +-52 +5 +21 +-18 +-51 +6 +21 +-17 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +44 +97 +47 +3 +15 +14 +-24 +-56 +3 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +53 +68 +33 +-8 +-43 +-8 +15 +-23 +-55 +3 +17 +-21 +-54 +4 +18 +-20 +-53 +5 +20 +-18 +-51 +5 +21 +-17 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +43 +98 +47 +3 +16 +14 +-23 +-56 +4 +25 +-15 +-48 +8 +23 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +51 +67 +32 +-9 +-44 +-9 +14 +-24 +-56 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +5 +20 +-19 +-52 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +43 +96 +46 +2 +16 +14 +-23 +-56 +3 +25 +-14 +-48 +8 +22 +-16 +-50 +8 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-50 +7 +23 +-16 +-49 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-16 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +52 +69 +33 +-7 +-43 +-8 +15 +-23 +-55 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +51 +67 +32 +-8 +-43 +-9 +14 +-24 +-56 +1 +14 +-23 +-56 +2 +18 +-21 +-53 +4 +20 +-19 +-52 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +8 +23 +-16 +-49 +9 +25 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +17 +15 +-22 +-55 +4 +25 +-14 +-48 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-50 +7 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +25 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +9 +52 +69 +34 +-7 +-43 +-8 +14 +-23 +-56 +2 +17 +-21 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +3 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-50 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-49 +9 +53 +69 +34 +-7 +-42 +-9 +14 +-23 +-55 +2 +16 +-21 +-54 +4 +19 +-19 +-52 +6 +21 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +42 +97 +47 +2 +16 +15 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +7 +22 +-17 +-50 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +23 +-16 +-49 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +25 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +52 +69 +34 +-7 +-42 +-8 +14 +-24 +-56 +2 +16 +-22 +-54 +3 +20 +-19 +-52 +6 +21 +-18 +-51 +5 +20 +-19 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +17 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-16 +-49 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +9 +52 +69 +33 +-7 +-42 +-8 +14 +-23 +-56 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +9 +23 +-16 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +52 +68 +34 +-7 +-42 +-8 +14 +-24 +-56 +2 +16 +-22 +-54 +3 +19 +-20 +-53 +5 +20 +-18 +-51 +6 +21 +-18 +-50 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +43 +97 +47 +3 +16 +14 +-23 +-56 +3 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +22 +-17 +-50 +8 +22 +-16 +-50 +9 +24 +-15 +-49 +9 +52 +67 +32 +-8 +-43 +-10 +14 +-24 +-56 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-78 +-102 +43 +97 +47 +3 +16 +14 +-23 +-56 +3 +25 +-15 +-48 +8 +22 +-17 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-16 +-49 +8 +23 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +52 +68 +33 +-7 +-42 +-8 +14 +-23 +-55 +3 +16 +-22 +-54 +3 +19 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +-76 +-101 +44 +99 +48 +4 +17 +15 +-23 +-55 +5 +26 +-14 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +24 +-16 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-15 +-48 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +69 +34 +-7 +-42 +-8 +15 +-23 +-55 +2 +17 +-21 +-54 +3 +18 +-20 +-53 +4 +20 +-19 +-52 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-16 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +17 +15 +-22 +-55 +5 +26 +-14 +-48 +9 +24 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +24 +-16 +-49 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +53 +69 +34 +-6 +-42 +-8 +14 +-23 +-56 +2 +16 +-22 +-55 +3 +19 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-24 +-56 +3 +25 +-15 +-48 +8 +22 +-16 +-50 +8 +23 +-16 +-50 +9 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +53 +69 +34 +-7 +-42 +-8 +15 +-23 +-56 +2 +16 +-22 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +24 +-15 +-48 +8 +22 +-16 +-50 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-16 +-49 +8 +22 +-17 +-50 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +52 +69 +33 +-7 +-42 +-9 +14 +-23 +-56 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +4 +20 +-18 +-52 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-102 +43 +97 +47 +3 +16 +13 +-24 +-56 +3 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +22 +-16 +-50 +9 +22 +-17 +-50 +8 +23 +-16 +-50 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +10 +25 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +53 +69 +34 +-7 +-42 +-8 +15 +-23 +-56 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +24 +-15 +-49 +8 +22 +-16 +-50 +7 +22 +-16 +-50 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +51 +67 +32 +-9 +-44 +-8 +14 +-24 +-56 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +20 +-19 +-51 +5 +20 +-18 +-51 +7 +21 +-17 +-50 +7 +22 +-17 +-51 +-78 +-102 +43 +97 +47 +3 +16 +13 +-24 +-57 +3 +24 +-15 +-48 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-16 +-49 +10 +24 +-15 +-48 +9 +53 +69 +33 +-7 +-42 +-8 +14 +-23 +-55 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +6 +21 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +51 +67 +32 +-9 +-44 +-9 +14 +-23 +-56 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +20 +-19 +-51 +4 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +-76 +-100 +44 +98 +48 +4 +17 +15 +-23 +-56 +5 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +23 +-16 +-50 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +52 +69 +34 +-7 +-42 +-8 +14 +-23 +-55 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-50 +7 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +8 +23 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +52 +68 +33 +-7 +-43 +-8 +15 +-23 +-55 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +9 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +9 +24 +-16 +-49 +9 +25 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +69 +33 +-7 +-42 +-8 +15 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +24 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-16 +-49 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +52 +69 +34 +-7 +-42 +-8 +15 +-23 +-55 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +44 +98 +47 +3 +16 +15 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-17 +-50 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +52 +69 +34 +-7 +-42 +-8 +14 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-101 +44 +97 +47 +3 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +51 +67 +31 +-9 +-44 +-9 +14 +-23 +-55 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +5 +19 +-19 +-52 +4 +20 +-19 +-52 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +15 +13 +-24 +-57 +4 +24 +-15 +-49 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +52 +69 +33 +-7 +-42 +-8 +15 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +49 +4 +17 +15 +-23 +-55 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-50 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +52 +68 +33 +-7 +-42 +-8 +15 +-22 +-55 +2 +16 +-21 +-54 +3 +18 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +-76 +-100 +45 +99 +49 +4 +16 +15 +-22 +-55 +5 +26 +-13 +-47 +9 +23 +-16 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +9 +52 +69 +33 +-8 +-43 +-8 +15 +-22 +-55 +3 +16 +-21 +-54 +2 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-17 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +45 +99 +48 +4 +15 +13 +-24 +-57 +3 +24 +-15 +-48 +7 +23 +-16 +-49 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +68 +33 +-7 +-43 +-8 +15 +-22 +-55 +2 +16 +-22 +-54 +3 +18 +-20 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +44 +98 +48 +4 +15 +14 +-24 +-56 +4 +24 +-15 +-48 +7 +22 +-16 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +52 +68 +33 +-7 +-43 +-8 +15 +-22 +-54 +2 +15 +-22 +-54 +3 +18 +-20 +-52 +4 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +21 +-17 +-50 +8 +22 +-17 +-50 +-77 +-101 +45 +97 +47 +3 +15 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +53 +68 +32 +-8 +-43 +-8 +16 +-22 +-55 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +44 +98 +48 +3 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +52 +67 +31 +-9 +-44 +-8 +14 +-23 +-56 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +4 +19 +-19 +-51 +4 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +-77 +-101 +45 +97 +47 +3 +15 +14 +-23 +-56 +3 +24 +-14 +-48 +8 +23 +-16 +-50 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +52 +68 +32 +-8 +-43 +-8 +15 +-22 +-55 +1 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +44 +98 +48 +4 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +52 +67 +31 +-9 +-44 +-9 +14 +-23 +-55 +1 +15 +-23 +-55 +2 +17 +-21 +-53 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +21 +-17 +-50 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +-76 +-100 +46 +100 +49 +5 +15 +15 +-23 +-55 +4 +25 +-14 +-48 +9 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +52 +69 +32 +-8 +-43 +-7 +15 +-22 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-50 +7 +21 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +46 +98 +48 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +32 +-8 +-43 +-8 +15 +-22 +-55 +1 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +19 +-19 +-51 +6 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +45 +98 +48 +4 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +52 +69 +33 +-7 +-43 +-7 +15 +-22 +-54 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +19 +-19 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +-76 +-100 +47 +100 +50 +5 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +32 +-8 +-43 +-7 +15 +-22 +-54 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-100 +46 +98 +48 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-16 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +8 +23 +-16 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +52 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +6 +22 +-17 +-50 +-77 +-101 +47 +99 +49 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +9 +23 +-15 +-49 +9 +52 +67 +30 +-10 +-45 +-9 +14 +-23 +-55 +1 +15 +-22 +-54 +2 +18 +-20 +-52 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +46 +99 +49 +4 +14 +13 +-24 +-56 +4 +24 +-15 +-49 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +52 +68 +31 +-9 +-43 +-7 +16 +-22 +-54 +2 +15 +-22 +-54 +3 +18 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +7 +21 +-17 +-50 +7 +21 +-17 +-50 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +-75 +-99 +47 +99 +49 +4 +15 +15 +-23 +-55 +5 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +53 +68 +31 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +18 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-50 +7 +22 +-17 +-50 +7 +21 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +-75 +-100 +48 +100 +50 +5 +15 +14 +-23 +-56 +4 +25 +-14 +-47 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +53 +69 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-17 +-50 +-77 +-101 +47 +99 +49 +4 +14 +13 +-24 +-56 +3 +24 +-14 +-48 +7 +22 +-16 +-49 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +54 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-22 +-54 +4 +18 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +14 +13 +-24 +-56 +4 +24 +-14 +-48 +7 +22 +-16 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +7 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +53 +68 +31 +-9 +-43 +-7 +16 +-22 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-17 +-50 +-77 +-100 +47 +99 +49 +5 +14 +12 +-25 +-57 +3 +24 +-14 +-48 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +53 +69 +32 +-8 +-43 +-8 +16 +-22 +-54 +1 +16 +-22 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +4 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +14 +13 +-24 +-56 +5 +24 +-15 +-48 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +51 +66 +30 +-10 +-45 +-8 +15 +-22 +-54 +1 +15 +-23 +-55 +2 +17 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +-77 +-101 +47 +98 +48 +4 +13 +12 +-25 +-57 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +21 +-17 +-50 +8 +22 +-17 +-49 +8 +23 +-15 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +53 +68 +31 +-9 +-43 +-7 +16 +-21 +-54 +1 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +13 +13 +-24 +-56 +5 +25 +-14 +-48 +8 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +52 +65 +29 +-10 +-45 +-8 +15 +-22 +-54 +1 +15 +-22 +-54 +2 +17 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +6 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +7 +23 +-15 +-49 +9 +24 +-14 +-48 +9 +24 diff --git a/traces/modulation-psk1-64-8.pm3 b/traces/modulation-psk1-64-8.pm3 new file mode 100644 index 000000000..f30b8fed3 --- /dev/null +++ b/traces/modulation-psk1-64-8.pm3 @@ -0,0 +1,20000 @@ +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +41 +8 +-19 +-43 +-61 +-77 +84 +72 +39 +5 +-21 +-44 +-63 +-79 +82 +68 +35 +3 +-23 +-46 +-65 +-80 +81 +68 +35 +2 +-23 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +67 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +32 +0 +-26 +-48 +-67 +-82 +77 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-5 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +67 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +59 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +67 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +15 +17 +16 +15 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +93 +80 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-78 +81 +69 +36 +4 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +14 +15 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +3 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +13 +16 +15 +14 +-15 +-39 +-59 +-76 +-89 +75 +63 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +41 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-22 +-46 +-64 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +80 +68 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-65 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +79 +68 +35 +2 +-24 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +60 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +4 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +67 +33 +15 +17 +16 +15 +-14 +-37 +-58 +-75 +-89 +75 +63 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-80 +79 +66 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-94 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +41 +7 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-80 +79 +68 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +14 +16 +16 +15 +-14 +-37 +-58 +-75 +-88 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +81 +69 +36 +4 +-22 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +67 +33 +1 +-25 +-47 +-65 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +15 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +65 +32 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-14 +-39 +-58 +-74 +88 +75 +41 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +68 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-24 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +15 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +60 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-14 +-39 +-58 +-74 +87 +75 +41 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +68 +36 +3 +-23 +-46 +-65 +-80 +81 +68 +35 +3 +-23 +-46 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +67 +34 +1 +-25 +-47 +-65 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +15 +-14 +-38 +-59 +-75 +-89 +76 +64 +32 +0 +-26 +-49 +-67 +-82 +77 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-18 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +83 +70 +36 +4 +-22 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +32 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +37 +4 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +66 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +15 +17 +16 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-65 +-80 +81 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +66 +33 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +63 +31 +-1 +-27 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +15 +15 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +4 +-23 +-45 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-47 +-66 +-81 +79 +67 +33 +1 +-25 +-48 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-94 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +41 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +79 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +33 +1 +-24 +-47 +-66 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +83 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +93 +94 +59 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +12 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +3 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-16 +-39 +-59 +-76 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-68 +93 +81 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +15 +17 +16 +15 +-14 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-59 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +65 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-44 +-63 +-79 +83 +70 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +3 +-24 +-47 +-65 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +15 +16 +16 +15 +-14 +-37 +-58 +-74 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +67 +33 +1 +-25 +-48 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +32 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +76 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +59 +22 +-6 +-31 +-52 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +14 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-48 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +15 +15 +-14 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-22 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +15 +17 +16 +15 +-14 +-38 +-59 +-75 +-89 +76 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +39 +6 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +66 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +24 +-5 +-31 +-51 +-69 +94 +81 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-24 +-47 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +67 +34 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +15 +15 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +32 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-74 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-24 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +15 +16 +15 +-14 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-103 +93 +94 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +87 +74 +41 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +14 +14 +-15 +-38 +-59 +-75 +-89 +75 +65 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +81 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-66 +-81 +79 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +14 +16 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +63 +31 +-1 +-27 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-5 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +87 +74 +41 +8 +-19 +-43 +-61 +-77 +83 +72 +39 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-65 +-80 +79 +68 +35 +2 +-23 +-47 +-65 +-80 +80 +67 +33 +1 +-24 +-47 +-66 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-16 +-39 +-60 +-76 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-49 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +3 +-23 +-46 +-65 +-80 +79 +66 +33 +1 +-24 +-47 +-66 +-81 +79 +66 +33 +14 +17 +16 +15 +-15 +-38 +-59 +-75 +-89 +75 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +59 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-65 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-44 +-63 +-79 +82 +70 +36 +3 +-23 +-46 +-64 +-80 +79 +67 +35 +2 +-24 +-47 +-65 +-81 +80 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +66 +34 +15 +16 +16 +15 +-14 +-37 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-48 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +14 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +41 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +4 +-22 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-74 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +3 +-22 +-46 +-64 +-80 +80 +68 +34 +2 +-24 +-47 +-65 +-81 +80 +68 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +15 +-14 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +93 +80 +47 +12 +-15 +-39 +-59 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +14 +17 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-59 +-75 +87 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +15 +17 +16 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +67 +34 +1 +-24 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +16 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-52 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +4 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-24 +-47 +-66 +-81 +78 +65 +33 +0 diff --git a/traces/modulation-psk2-32-2.pm3 b/traces/modulation-psk2-32-2.pm3 new file mode 100644 index 000000000..eb9a2800b --- /dev/null +++ b/traces/modulation-psk2-32-2.pm3 @@ -0,0 +1,20000 @@ +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-14 +5 +-22 +6 +-21 +7 +-21 +6 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +5 +-22 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +7 +-19 +12 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-19 +7 +-19 +6 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-22 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +6 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +-42 +45 +12 +7 +-20 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +7 +-19 +7 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +22 +-8 +12 +-17 +4 +-23 +6 +-21 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +6 +-21 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +10 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +8 +-18 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +6 +-20 +8 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-17 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +10 +-17 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-19 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-20 +8 +-18 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-20 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +-40 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +7 +22 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +6 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-18 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +6 +-21 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +22 +-8 +12 +-16 +5 +-23 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +6 +-20 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +22 +-8 +14 +-15 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +-41 +44 +12 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +7 +-19 +6 +-21 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-21 +7 +-21 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +-41 +45 +13 +6 +-19 +11 +-16 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +7 +-20 +5 +-21 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +6 +-20 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +23 +-8 +13 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +44 +12 +6 +-20 +11 +-17 +9 +-18 +8 +-18 +7 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +22 +-8 +12 +-16 +4 +-23 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +7 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +8 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +-41 +45 +13 +7 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-19 +7 +-20 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-22 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +6 +-21 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +8 +-19 +7 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +6 +-20 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-23 +6 +-21 +6 +-22 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +7 +-21 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-19 +6 +-20 +5 +-21 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +23 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-22 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-19 +9 +-19 +8 +-20 +9 +-18 +10 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-18 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +7 +-20 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +10 +-18 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +12 +-16 +5 +-22 +6 +-22 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +44 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +7 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +6 +-20 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +-41 +44 +12 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +6 +-20 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +-42 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +23 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +6 +-20 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +-41 +45 +12 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-21 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +7 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +9 +-19 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-21 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +4 +-23 +6 +-22 +7 +-21 +6 +-21 +7 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +10 +-17 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-18 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +8 +-19 +7 +22 +-8 +12 +-16 +5 +-23 +5 +-22 +7 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-18 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +8 +-19 +7 +-20 +6 +-20 +7 +-20 +7 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +7 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +6 +-20 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-20 +6 +-21 +7 +-20 +8 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +22 +-8 +12 +-16 +5 +-22 +6 +-22 +6 +-21 +7 +-20 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +5 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-20 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-17 +7 +-20 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-18 +-41 +45 +13 +7 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +8 +-19 +7 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-23 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +6 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +7 +-21 +6 +-21 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +5 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-18 +6 +-20 +5 +-21 +7 +-20 +6 +-20 +8 +-18 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-20 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +10 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +8 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +22 +-8 +13 +-16 +5 +-23 +6 +-22 +7 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +10 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-19 +6 +-20 +6 +-21 +6 +-20 +7 +-20 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +6 +-22 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +6 +-21 +7 +-21 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +44 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-19 +7 +-19 +5 +-21 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +8 +-18 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +23 +-8 +14 +-15 +5 +-23 +6 +-22 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +-42 +45 +12 +6 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +7 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +23 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +5 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +6 +-20 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-17 +8 +-19 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +7 +-21 +6 +-21 +6 +-21 +8 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-20 +8 +-19 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +8 +-19 +7 +-19 +8 +22 +-8 +12 +-16 +4 +-23 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-19 +7 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +5 +-23 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-17 +9 +-17 +8 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +8 +-18 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-20 +7 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-21 +7 +-19 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-20 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +6 +-21 +6 +-21 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-21 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +6 +-20 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-14 +5 +-22 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +6 +-21 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +22 +-8 +12 +-17 +5 +-22 +5 +-22 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-18 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +10 +-19 +9 +-18 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-19 +11 +-16 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-21 +7 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-22 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-21 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +8 +-20 +7 +-20 +7 +-21 +7 +-21 +8 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-20 +8 +-18 +8 +-19 +8 +-19 +7 +-20 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-23 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +4 +-23 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-17 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-17 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +10 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +8 +-19 +10 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +22 +-8 +12 +-16 +5 +-23 +6 +-22 +7 +-21 +6 +-21 +7 +-20 +8 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +8 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-22 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +6 +-21 +7 +-20 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +44 +12 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +6 +-20 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +22 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +7 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +7 +-19 +7 +-20 +6 +-21 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-20 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-8 +14 +-14 +5 +-23 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-42 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +7 +-20 +6 +-20 +6 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +23 +-8 +11 +-17 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 diff --git a/traces/modulation-psk3-32-8.pm3 b/traces/modulation-psk3-32-8.pm3 new file mode 100644 index 000000000..a30993978 --- /dev/null +++ b/traces/modulation-psk3-32-8.pm3 @@ -0,0 +1,20000 @@ +53 +95 +54 +5 +-38 +-73 +-104 +-53 +52 +94 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +93 +54 +4 +-39 +-73 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +5 +-39 +-74 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +93 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +4 +-40 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +5 +-38 +-74 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +5 +-39 +-74 +-104 +-53 +52 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +5 +-38 +-74 +-104 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +93 +84 +49 +6 +-30 +-67 +-98 +-108 +-127 +-127 +-35 +72 +115 +73 +20 +-25 +-62 +-94 +-41 +63 +104 +62 +12 +-32 +-68 +-99 +-45 +58 +100 +59 +8 +-35 +-71 +-102 +-48 +56 +98 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +56 +5 +-38 +-73 +-103 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-53 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +69 +18 +-27 +-64 +-95 +-25 +79 +119 +78 +25 +-21 +-58 +-91 +-36 +67 +109 +68 +16 +-29 +-65 +-97 +-41 +63 +104 +63 +12 +-32 +-68 +-100 +-46 +58 +100 +59 +9 +-35 +-70 +-101 +-48 +56 +97 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +56 +6 +-38 +-73 +-103 +-50 +54 +95 +55 +5 +-38 +-73 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +95 +55 +5 +-38 +-73 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-73 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +95 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +52 +94 +54 +5 +-38 +-74 +-104 +-53 +52 +93 +52 +3 +-40 +-75 +-105 +-51 +52 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +5 +-39 +-73 +-104 +-53 +52 +94 +53 +3 +-40 +-75 +-105 +-52 +52 +93 +54 +4 +-39 +-74 +-105 +-53 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +84 +49 +7 +-29 +-67 +-97 +-108 +-127 +-127 +-37 +72 +115 +73 +21 +-25 +-62 +-94 +-41 +63 +103 +62 +11 +-33 +-68 +-100 +-45 +59 +100 +60 +9 +-35 +-70 +-101 +-48 +56 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +56 +6 +-37 +-73 +-103 +-50 +54 +95 +54 +4 +-38 +-74 +-104 +-50 +54 +94 +53 +4 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +113 +69 +18 +-27 +-64 +-95 +-25 +79 +119 +78 +25 +-21 +-58 +-91 +-37 +68 +109 +68 +16 +-29 +-65 +-97 +-41 +63 +104 +63 +13 +-32 +-68 +-99 +-46 +58 +100 +59 +9 +-35 +-71 +-101 +-48 +57 +98 +57 +7 +-36 +-72 +-102 +-50 +54 +96 +55 +6 +-38 +-73 +-103 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +54 +5 +-38 +-73 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +54 +5 +-38 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +93 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +52 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +84 +49 +7 +-30 +-67 +-97 +-108 +-127 +-127 +-36 +71 +115 +73 +21 +-25 +-62 +-94 +-41 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +101 +60 +9 +-35 +-70 +-101 +-48 +56 +97 +56 +6 +-37 +-72 +-103 +-50 +56 +97 +55 +5 +-38 +-73 +-103 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +3 +-40 +-75 +-105 +-51 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +112 +69 +18 +-27 +-64 +-95 +-25 +79 +120 +79 +26 +-20 +-58 +-91 +-36 +68 +109 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +63 +12 +-32 +-68 +-99 +-47 +58 +99 +58 +8 +-35 +-71 +-102 +-48 +56 +97 +57 +7 +-36 +-72 +-103 +-50 +54 +96 +56 +5 +-38 +-73 +-103 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-52 +53 +95 +54 +5 +-39 +-74 +-104 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +52 +93 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +5 +-38 +-73 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-53 +52 +93 +52 +3 +-40 +-74 +-105 +-52 +52 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +4 +-39 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +52 +93 +83 +48 +5 +-30 +-67 +-98 +-108 +-127 +-127 +-35 +72 +114 +72 +21 +-25 +-62 +-94 +-41 +63 +104 +63 +12 +-32 +-68 +-99 +-46 +59 +100 +59 +8 +-35 +-71 +-102 +-47 +57 +98 +57 +7 +-36 +-72 +-103 +-49 +56 +96 +55 +6 +-38 +-73 +-103 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-51 +54 +96 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +93 +52 +3 +-40 +-75 +-106 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +111 +69 +17 +-27 +-64 +-95 +-25 +78 +119 +78 +25 +-21 +-59 +-91 +-36 +68 +109 +68 +16 +-29 +-65 +-97 +-41 +62 +104 +63 +12 +-32 +-68 +-99 +-47 +58 +100 +58 +8 +-35 +-71 +-102 +-48 +57 +98 +58 +7 +-36 +-72 +-102 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +83 +48 +6 +-30 +-67 +-97 +-108 +-127 +-127 +-35 +72 +115 +73 +21 +-25 +-62 +-94 +-41 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +100 +59 +8 +-35 +-71 +-102 +-48 +57 +98 +57 +7 +-37 +-72 +-103 +-49 +56 +96 +56 +6 +-38 +-73 +-104 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +53 +3 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +112 +69 +18 +-27 +-64 +-95 +-25 +79 +119 +77 +25 +-21 +-59 +-91 +-36 +69 +110 +68 +16 +-29 +-65 +-97 +-42 +62 +103 +63 +12 +-32 +-68 +-99 +-46 +58 +100 +58 +8 +-35 +-71 +-102 +-48 +57 +98 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +96 +85 +50 +7 +-29 +-66 +-97 +-107 +-127 +-127 +-35 +73 +116 +74 +22 +-24 +-61 +-93 +-41 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +100 +59 +9 +-35 +-70 +-102 +-48 +57 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +52 +3 +-40 +-75 +-105 +-52 +53 +93 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +112 +69 +18 +-27 +-63 +-95 +-26 +79 +120 +78 +25 +-21 +-59 +-91 +-36 +68 +110 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +63 +12 +-33 +-68 +-100 +-46 +59 +100 +59 +8 +-35 +-71 +-102 +-49 +56 +98 +58 +7 +-36 +-72 +-103 +-50 +55 +95 +55 +5 +-38 +-73 +-104 +-50 +54 +96 +86 +50 +7 +-29 +-66 +-97 +-108 +-127 +-127 +-35 +73 +115 +74 +22 +-24 +-61 +-94 +-41 +63 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +60 +9 +-35 +-70 +-101 +-49 +56 +98 +57 +7 +-37 +-72 +-103 +-49 +56 +97 +56 +6 +-38 +-73 +-103 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +52 +93 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +52 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-51 +53 +95 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +93 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +52 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +95 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-39 +-74 +-105 +-52 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-75 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +80 +112 +69 +17 +-27 +-64 +-95 +-25 +79 +119 +77 +25 +-21 +-59 +-92 +-36 +68 +110 +68 +16 +-29 +-65 +-97 +-42 +62 +104 +62 +11 +-33 +-68 +-100 +-46 +58 +100 +58 +8 +-36 +-71 +-102 +-48 +57 +99 +58 +7 +-36 +-72 +-103 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +55 +5 +-38 +-73 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +54 +4 +-39 +-74 +-105 +-53 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-53 +53 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +84 +49 +6 +-30 +-67 +-98 +-109 +-127 +-127 +-36 +72 +115 +73 +20 +-25 +-62 +-95 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +60 +9 +-35 +-70 +-102 +-48 +57 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +56 +5 +-38 +-73 +-104 +-50 +54 +95 +54 +4 +-39 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +52 +93 +52 +3 +-40 +-75 +-105 +-52 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-106 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-106 +-127 +-127 +-127 +-127 +-4 +81 +112 +69 +17 +-27 +-64 +-95 +-25 +80 +120 +78 +25 +-21 +-59 +-91 +-36 +68 +109 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +62 +12 +-33 +-69 +-100 +-46 +59 +100 +58 +8 +-35 +-71 +-102 +-48 +56 +97 +57 +7 +-37 +-72 +-103 +-50 +56 +96 +55 +5 +-38 +-73 +-104 +-50 +55 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +93 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-53 +52 +94 +54 +4 +-39 +-74 +-105 +-51 +54 +94 +84 +48 +5 +-31 +-68 +-98 +-109 +-127 +-127 +-36 +72 +115 +73 +21 +-25 +-62 +-94 +-40 +64 +104 +63 +12 +-32 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-48 +57 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-50 +55 +96 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-104 +-52 +53 +95 +52 +3 +-40 +-75 +-106 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +93 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +53 +3 +-40 +-75 +-105 +-52 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +112 +68 +17 +-27 +-64 +-95 +-26 +79 +119 +77 +24 +-22 +-59 +-92 +-35 +69 +110 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +63 +12 +-32 +-68 +-99 +-46 +59 +99 +58 +8 +-36 +-71 +-102 +-47 +57 +99 +58 +7 +-36 +-72 +-103 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +96 +85 +49 +6 +-30 +-67 +-98 +-108 +-127 +-127 +-34 +73 +115 +73 +21 +-25 +-62 +-94 +-40 +63 +105 +62 +11 +-33 +-69 +-100 +-44 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +57 +98 +56 +7 +-37 +-72 +-103 +-49 +56 +97 +56 +5 +-38 +-73 +-104 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +69 +17 +-28 +-64 +-96 +-25 +79 +120 +77 +25 +-21 +-59 +-92 +-35 +69 +109 +68 +16 +-29 +-65 +-97 +-41 +63 +104 +63 +12 +-33 +-68 +-100 +-46 +59 +100 +58 +7 +-36 +-72 +-103 +-47 +57 +98 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +55 +6 +-38 +-73 +-104 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +93 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +54 +4 +-39 +-74 +-105 +-52 +54 +95 +52 +2 +-40 +-75 +-106 +-52 +53 +94 +53 +4 +-40 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +83 +47 +5 +-31 +-68 +-99 +-109 +-127 +-127 +-35 +73 +115 +73 +21 +-25 +-62 +-94 +-41 +64 +105 +63 +12 +-33 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-47 +57 +99 +57 +7 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +54 +95 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +55 +95 +53 +4 +-39 +-74 +-104 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +17 +-28 +-64 +-96 +-24 +79 +120 +78 +25 +-21 +-59 +-92 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-41 +63 +104 +63 +12 +-33 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-47 +57 +97 +57 +6 +-37 +-72 +-103 +-50 +55 +97 +55 +5 +-38 +-73 +-104 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +54 +4 +-39 +-74 +-105 +-51 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +84 +48 +5 +-31 +-68 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-26 +-63 +-94 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +8 +-35 +-71 +-102 +-47 +57 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +54 +5 +-38 +-74 +-104 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +112 +68 +17 +-28 +-64 +-96 +-24 +79 +120 +77 +25 +-21 +-59 +-92 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-40 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +8 +-36 +-71 +-102 +-47 +58 +98 +57 +7 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-74 +-104 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +53 +4 +-39 +-74 +-105 +-51 +55 +95 +54 +5 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +95 +84 +48 +5 +-31 +-68 +-98 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-40 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-73 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +3 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +112 +68 +17 +-28 +-64 +-96 +-24 +80 +120 +77 +24 +-22 +-59 +-92 +-35 +70 +110 +68 +16 +-29 +-65 +-97 +-40 +64 +105 +63 +12 +-33 +-68 +-100 +-46 +59 +100 +57 +7 +-36 +-72 +-102 +-47 +58 +98 +57 +7 +-37 +-72 +-103 +-50 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-75 +-106 +-50 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +84 +48 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-35 +73 +116 +72 +20 +-26 +-62 +-94 +-40 +64 +105 +62 +11 +-33 +-69 +-100 +-44 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +57 +97 +56 +6 +-37 +-73 +-103 +-48 +56 +97 +55 +5 +-38 +-73 +-104 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +112 +68 +17 +-27 +-64 +-96 +-24 +80 +120 +77 +25 +-21 +-59 +-91 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +104 +62 +11 +-32 +-68 +-100 +-46 +59 +100 +58 +8 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-49 +55 +96 +54 +5 +-38 +-74 +-104 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +93 +52 +3 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-106 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +93 +52 +3 +-40 +-75 +-106 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-106 +-50 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +95 +83 +47 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +94 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +53 +94 +52 +3 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +25 +-22 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +64 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-47 +58 +98 +56 +7 +-37 +-72 +-103 +-49 +56 +96 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +93 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-39 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-52 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +83 +47 +4 +-32 +-69 +-99 +-110 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-63 +-95 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-44 +60 +101 +58 +8 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-91 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-46 +57 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-110 +-127 +-127 +-35 +72 +115 +72 +20 +-26 +-63 +-95 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +61 +101 +59 +8 +-36 +-71 +-102 +-46 +58 +97 +55 +5 +-38 +-73 +-104 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +56 +95 +53 +3 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +112 +68 +16 +-28 +-65 +-96 +-23 +81 +120 +77 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +53 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +83 +47 +5 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +116 +73 +20 +-25 +-62 +-94 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-102 +-47 +57 +97 +56 +5 +-38 +-72 +-103 +-47 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +55 +96 +54 +4 +-39 +-74 +-104 +-49 +56 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +78 +25 +-21 +-59 +-91 +-35 +70 +110 +66 +14 +-30 +-66 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +53 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +83 +46 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +19 +-26 +-63 +-95 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +59 +99 +55 +5 +-38 +-73 +-103 +-48 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-105 +-49 +56 +96 +53 +3 +-39 +-74 +-105 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +103 +61 +11 +-33 +-69 +-100 +-45 +59 +100 +58 +7 +-36 +-71 +-102 +-46 +58 +99 +56 +7 +-37 +-72 +-103 +-48 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +83 +47 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +20 +-26 +-62 +-95 +-39 +65 +106 +62 +11 +-33 +-69 +-100 +-43 +61 +100 +58 +8 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +16 +-29 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +99 +57 +7 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +83 +48 +5 +-31 +-68 +-98 +-109 +-127 +-127 +-33 +74 +116 +73 +21 +-24 +-62 +-94 +-39 +65 +105 +61 +10 +-33 +-69 +-100 +-43 +61 +101 +59 +8 +-35 +-71 +-101 +-46 +58 +99 +56 +5 +-38 +-72 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +66 +15 +-29 +-65 +-96 +-24 +79 +120 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +60 +99 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +56 +7 +-37 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +84 +48 +5 +-31 +-68 +-98 +-108 +-127 +-127 +-33 +74 +116 +73 +21 +-25 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-48 +56 +96 +54 +4 +-39 +-73 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +53 +93 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +53 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-68 +-100 +-44 +60 +100 +58 +7 +-36 +-71 +-102 +-46 +58 +99 +57 +7 +-37 +-72 +-102 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-48 +56 +96 +54 +4 +-39 +-73 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +93 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +19 +-26 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +61 +101 +59 +8 +-35 +-71 +-101 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-49 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-74 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-39 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +79 +110 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-58 +-91 +-35 +70 +109 +66 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +82 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +71 +19 +-26 +-63 +-95 +-39 +65 +105 +62 +11 +-33 +-68 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-103 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-64 +-95 +-24 +80 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +99 +56 +7 +-36 +-72 +-102 +-46 +58 +98 +57 +7 +-36 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-48 +56 +96 +84 +47 +4 +-31 +-68 +-98 +-109 +-127 +-127 +-34 +74 +116 +72 +20 +-25 +-62 +-94 +-38 +65 +105 +63 +12 +-32 +-68 +-99 +-43 +61 +101 +58 +7 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +4 +-38 +-73 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +54 +94 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +110 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +66 +15 +-29 +-65 +-97 +-40 +64 +105 +62 +11 +-33 +-68 +-99 +-45 +60 +99 +56 +7 +-36 +-72 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-48 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +83 +46 +3 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +62 +11 +-33 +-68 +-99 +-43 +61 +100 +58 +7 +-35 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +110 +67 +16 +-28 +-64 +-96 +-23 +80 +120 +77 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +64 +103 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +7 +-36 +-71 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +2 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +83 +46 +3 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-94 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +57 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +16 +-28 +-64 +-96 +-23 +80 +120 +77 +24 +-21 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +63 +103 +61 +11 +-33 +-69 +-100 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +56 +7 +-37 +-72 +-102 +-49 +56 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +102 +58 +8 +-35 +-71 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +17 +-28 +-64 +-95 +-23 +81 +121 +78 +25 +-21 +-58 +-91 +-34 +70 +110 +66 +15 +-29 +-66 +-97 +-39 +64 +104 +62 +11 +-33 +-68 +-99 +-46 +59 +100 +57 +7 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +95 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +3 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +56 +95 +53 +4 +-39 +-74 +-104 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +3 +-33 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +71 +19 +-26 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +61 +101 +59 +9 +-35 +-70 +-101 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-103 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-64 +-95 +-23 +81 +121 +78 +25 +-21 +-58 +-90 +-35 +69 +110 +66 +15 +-30 +-66 +-97 +-39 +65 +104 +62 +12 +-32 +-68 +-99 +-46 +60 +100 +58 +7 +-36 +-71 +-102 +-46 +59 +98 +56 +7 +-36 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +55 +95 +54 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +51 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-52 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +83 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +104 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +59 +9 +-35 +-70 +-101 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +96 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +16 +-28 +-64 +-95 +-24 +80 +120 +77 +24 +-22 +-59 +-91 +-34 +69 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-68 +-100 +-45 +60 +100 +57 +7 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-50 +55 +96 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-74 +-104 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-35 +72 +115 +72 +20 +-25 +-62 +-94 +-39 +66 +105 +62 +11 +-33 +-68 +-99 +-44 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-103 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +24 +-22 +-59 +-91 +-35 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +64 +105 +62 +11 +-33 +-68 +-99 +-45 +61 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-52 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-40 +-75 +-106 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +61 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-101 +-46 +58 +99 +55 +6 +-37 +-73 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +81 +121 +78 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +73 +21 +-25 +-62 +-94 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-101 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-50 +55 +96 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +15 +-29 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-59 +-91 +-35 +70 +110 +66 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +8 +-35 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +56 +96 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +56 +96 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-52 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +82 +47 +3 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +20 +-26 +-62 +-94 +-39 +65 +106 +62 +11 +-33 +-68 +-99 +-44 +62 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-104 +-50 +56 +96 +53 +4 +-39 +-74 +-105 +-50 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-24 +81 +121 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +65 +104 +62 +11 +-32 +-68 +-100 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +106 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +59 +9 +-35 +-71 +-102 +-46 +59 +99 +55 +5 +-38 +-73 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +2 +-41 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +17 +-28 +-64 +-96 +-24 +81 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +111 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +59 +100 +57 +7 +-36 +-71 +-102 +-47 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +83 +47 +4 +-31 +-68 +-99 +-109 +-127 +-127 +-33 +74 +116 +72 +21 +-25 +-62 +-94 +-39 +66 +106 +62 +11 +-33 +-68 +-99 +-43 +62 +101 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +97 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +16 +-28 +-64 +-95 +-24 +80 +121 +77 +25 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +57 +7 +-36 +-72 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-39 +-74 +-104 +-48 +56 +96 +84 +47 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-33 +74 +116 +73 +21 +-25 +-62 +-94 +-39 +66 +106 +62 +11 +-33 +-68 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-39 +-74 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +56 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +56 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-41 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-51 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +16 +-28 +-65 +-96 +-24 +81 +121 +77 +24 +-22 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +57 +7 +-36 +-72 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-48 +56 +96 +54 +4 +-39 +-73 +-104 +-50 +56 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +56 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +83 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +116 +72 +19 +-26 +-63 +-95 +-39 +66 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +102 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +96 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +56 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +1 +-41 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-41 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-65 +-96 +-23 +81 +121 +77 +24 +-22 +-59 +-91 +-34 +70 +111 +67 +16 +-29 +-65 +-97 +-40 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +57 +7 +-36 +-72 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-49 +57 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +56 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +51 +1 +-41 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +19 +-26 +-63 +-95 +-38 +66 +105 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +5 +-38 +-73 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +52 +3 +-40 +-75 +-105 +-49 +56 +96 +53 +3 +-39 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +56 +95 +53 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-106 +-49 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-41 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-24 +80 +121 +77 +24 +-22 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +61 +100 +57 +7 +-36 +-72 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-48 +56 +96 +84 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-33 +75 +117 +72 +20 +-25 +-62 +-94 +-37 +66 +106 +62 +12 +-33 +-68 +-99 +-43 +62 +102 +57 +7 +-36 +-71 +-102 +-45 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +58 +97 +54 +5 +-38 +-73 +-104 +-48 +57 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +121 +77 +25 +-21 +-59 +-91 +-34 +70 +109 +66 +15 +-30 +-66 +-97 +-39 +64 +105 +63 +12 +-32 +-68 +-100 +-45 +60 +101 +57 +7 +-37 +-72 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-106 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-52 +54 +93 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +96 +53 +3 +-39 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +83 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +20 +-26 +-63 +-95 +-38 +66 +106 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +59 +98 +55 +5 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-106 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +66 +15 +-29 +-65 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-92 +-34 +70 +111 +67 +15 +-29 +-66 +-97 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +7 +-36 +-71 +-102 +-46 +59 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +96 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +51 +1 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +83 +46 +3 +-33 +-70 +-100 +-110 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-95 +-38 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +55 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-64 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-92 +-34 +71 +111 +67 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +57 +7 +-36 +-72 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-39 +-74 +-104 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-105 +-49 +55 +94 +83 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-33 +74 +115 +72 +20 +-25 +-62 +-94 +-38 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-36 +-71 +-102 +-45 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +53 +4 +-39 +-74 +-104 +-48 +56 +96 +53 +3 +-39 +-74 +-104 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-29 +-65 +-96 +-23 +81 +121 +78 +25 +-21 +-58 +-91 +-34 +70 +110 +66 +15 +-30 +-66 +-97 +-39 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +7 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-104 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-49 +56 +95 +83 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +19 +-26 +-63 +-95 +-38 +66 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-101 +-46 +58 +98 +56 +6 +-38 +-73 +-103 +-47 +58 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-22 +81 +121 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +66 +15 +-30 +-66 +-97 +-39 +65 +105 +62 +11 +-33 +-68 +-99 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-46 +59 +98 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +1 +-41 +-75 +-106 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +83 +47 +4 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-62 +-94 +-38 +66 +105 +61 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +55 +5 +-38 +-73 +-103 +-48 +56 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +52 +2 +-40 +-75 +-105 +-49 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-106 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +121 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-44 +61 +100 +57 +7 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +56 +95 +52 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-106 +-49 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +73 +115 +72 +20 +-26 +-62 +-94 +-38 +66 +106 +62 +11 +-33 +-68 +-100 +-43 +61 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +55 +5 +-38 +-73 +-104 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +1 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +2 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +76 +23 +-22 +-59 +-92 +-34 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +3 +-40 +-75 +-105 +-50 +55 +95 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-33 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-101 +-46 +58 +99 +55 +5 +-38 +-73 +-103 +-47 +57 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-29 +-65 +-96 +-22 +81 +120 +77 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-39 +65 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +7 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-103 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +93 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +83 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +53 +4 +-39 +-74 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +52 +3 +-40 +-74 +-105 +-49 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-49 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +15 +-29 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +66 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-99 +-44 +60 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-49 +55 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +53 +3 +-40 +-74 +-104 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +83 +46 +3 +-32 +-68 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +19 +-26 +-63 +-95 +-38 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +61 +100 +58 +8 +-36 +-71 +-101 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-103 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 From 383608a63ae38a452963209aba2ab200bc3fe8f7 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Tue, 27 Jan 2015 21:55:08 +0100 Subject: [PATCH 122/133] Minor fixes to iso14443a annotations --- client/cmdhf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 637b2b081..fbc2d7b25 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -194,7 +194,7 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) case ISO14443A_CMD_ANTICOLL_OR_SELECT:{ // 93 20 = Anticollision (usage: 9320 - answer: 4bytes UID+1byte UID-bytes-xor) // 93 70 = Select (usage: 9370+5bytes 9320 answer - answer: 1byte SAK) - if(cmd[2] == 0x70) + if(cmd[1] == 0x70) { snprintf(exp,size,"SELECT_UID"); break; }else @@ -222,8 +222,8 @@ void annotateIso14443a(char *exp, size_t size, uint8_t* cmd, uint8_t cmdsize) case MIFARE_CMD_DEC: snprintf(exp,size,"DEC(%d)",cmd[1]); break; case MIFARE_CMD_RESTORE: snprintf(exp,size,"RESTORE(%d)",cmd[1]); break; case MIFARE_CMD_TRANSFER: snprintf(exp,size,"TRANSFER(%d)",cmd[1]); break; - case MIFARE_AUTH_KEYA: snprintf(exp,size,"AUTH-A"); break; - case MIFARE_AUTH_KEYB: snprintf(exp,size,"AUTH-B"); break; + case MIFARE_AUTH_KEYA: snprintf(exp,size,"AUTH-A(%d)",cmd[1]); break; + case MIFARE_AUTH_KEYB: snprintf(exp,size,"AUTH-B(%d)",cmd[1]); break; case MIFARE_MAGICMODE: snprintf(exp,size,"MAGIC"); break; default: snprintf(exp,size,"?"); break; } From 7f9064c6418f63be68a246111c13fb6915b715b5 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 27 Jan 2015 15:56:03 -0500 Subject: [PATCH 123/133] Traces --- traces/EM4102-1.pm3 | 16000 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 16000 insertions(+) create mode 100644 traces/EM4102-1.pm3 diff --git a/traces/EM4102-1.pm3 b/traces/EM4102-1.pm3 new file mode 100644 index 000000000..cad34276a --- /dev/null +++ b/traces/EM4102-1.pm3 @@ -0,0 +1,16000 @@ +85 +85 +78 +68 +59 +54 +56 +51 +44 +35 +35 +37 +33 +25 +-39 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-112 +-112 +-101 +-92 +-94 +-86 +-76 +-79 +-73 +-63 +-67 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +92 +91 +83 +73 +64 +63 +62 +55 +45 +40 +43 +41 +34 +26 +23 +-31 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-102 +-102 +-105 +-97 +-98 +-90 +-80 +-82 +-78 +-66 +-69 +-68 +-55 +-58 +-59 +-48 +-50 +-52 +-41 +-41 +-46 +-37 +-33 +-39 +-38 +-28 +-31 +-35 +-26 +-24 +-30 +-30 +-20 +-23 +-28 +-23 +-18 +-23 +-25 +-16 +-17 +-24 +-20 +-15 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +121 +111 +102 +90 +82 +81 +77 +70 +61 +52 +52 +51 +45 +36 +31 +35 +-27 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-108 +-114 +-103 +-104 +-97 +-85 +-87 +-81 +-70 +-73 +-70 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +115 +103 +90 +82 +81 +77 +70 +59 +53 +56 +52 +45 +36 +34 +37 +33 +24 +20 +25 +24 +17 +11 +14 +16 +11 +5 +4 +11 +7 +0 +-3 +4 +3 +-2 +-7 +-2 +1 +-2 +-8 +-6 +-1 +-4 +-10 +-8 +-3 +-6 +-13 +-8 +-4 +-68 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-107 +-104 +-104 +-102 +-101 +-87 +-85 +-86 +-73 +-70 +-74 +-64 +-58 +-62 +-58 +-49 +-51 +-52 +-41 +-40 +-46 +-39 +-33 +-37 +-39 +-29 +-28 +-34 +-31 +-24 +-27 +-31 +-23 +-20 +-26 +-27 +-18 +-18 +-25 +-22 +-15 +-18 +-24 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +111 +103 +94 +84 +74 +71 +71 +64 +54 +47 +49 +47 +39 +31 +30 +34 +29 +21 +18 +24 +21 +13 +10 +16 +14 +6 +4 +11 +7 +1 +-2 +5 +3 +-3 +-5 +2 +0 +-6 +-9 +-2 +-3 +-10 +-12 +-4 +-5 +-11 +-12 +-63 +-121 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-106 +-106 +-101 +-102 +-88 +-83 +-86 +-75 +-68 +-72 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +101 +89 +81 +79 +77 +70 +62 +53 +48 +50 +47 +41 +33 +28 +31 +30 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-104 +-106 +-95 +-86 +-89 +-82 +-71 +-74 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +104 +93 +83 +77 +79 +72 +64 +54 +49 +51 +48 +41 +33 +29 +34 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-111 +-112 +-104 +-106 +-94 +-87 +-89 +-80 +-72 +-75 +-69 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +93 +83 +79 +79 +72 +63 +53 +50 +52 +47 +39 +31 +30 +33 +28 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-114 +-104 +-106 +-95 +-87 +-89 +-81 +-72 +-75 +-70 +-60 +-63 +-60 +-50 +-54 +-53 +-42 +-45 +-47 +-35 +-38 +-42 +-31 +-31 +-36 +-31 +-25 +-30 +-31 +-21 +-23 +-29 +-24 +-18 +-23 +-25 +-16 +-18 +-24 +-18 +-14 +-20 +-21 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +103 +95 +91 +89 +82 +74 +64 +57 +56 +56 +49 +40 +35 +38 +36 +30 +21 +22 +26 +21 +13 +11 +17 +14 +6 +4 +10 +7 +-1 +-1 +6 +2 +-5 +-3 +3 +-1 +-8 +-4 +0 +-4 +-10 +-6 +-3 +-7 +-12 +-7 +-3 +-67 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-107 +-104 +-104 +-103 +-101 +-86 +-86 +-86 +-72 +-72 +-73 +-60 +-59 +-63 +-54 +-50 +-54 +-50 +-41 +-43 +-46 +-35 +-35 +-40 +-34 +-29 +-33 +-34 +-24 +-26 +-32 +-25 +-21 +-26 +-27 +-18 +-20 +-26 +-19 +-16 +-21 +-23 +-15 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +121 +111 +101 +90 +82 +80 +77 +70 +61 +52 +51 +51 +45 +36 +31 +35 +33 +26 +20 +20 +24 +19 +11 +10 +16 +13 +6 +3 +9 +8 +2 +-3 +3 +3 +-1 +-6 +-2 +1 +-3 +-10 +-4 +-2 +-8 +-11 +-3 +-4 +-11 +-11 +-62 +-121 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-97 +-114 +-103 +-93 +-94 +-88 +-77 +-80 +-75 +-64 +8 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +120 +112 +102 +91 +81 +75 +77 +71 +63 +54 +48 +49 +48 +41 +33 +28 +33 +30 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-104 +-106 +-95 +-86 +-89 +-82 +-72 +-75 +-70 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +90 +83 +83 +77 +69 +60 +53 +56 +52 +45 +36 +33 +37 +33 +26 +-40 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-100 +-103 +-104 +-98 +-85 +-87 +-83 +-71 +-73 +-72 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +91 +83 +81 +79 +71 +63 +54 +49 +51 +47 +41 +33 +28 +32 +30 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-109 +-99 +-103 +-105 +-97 +-86 +-88 +-82 +-71 +-75 +-69 +-59 +-63 +-59 +-49 +-55 +-50 +-42 +-47 +-45 +-35 +-41 +-40 +-31 +-35 +-36 +-26 +-30 +-33 +-25 +-26 +-32 +-24 +-21 +-26 +-26 +-17 +-20 +-25 +-17 +-15 +-22 +-21 +-13 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +112 +104 +104 +96 +87 +77 +69 +67 +66 +59 +49 +43 +46 +43 +37 +28 +27 +30 +27 +19 +14 +19 +19 +13 +6 +6 +11 +8 +1 +0 +7 +5 +-2 +-5 +3 +1 +-5 +-7 +0 +-1 +-7 +-10 +-2 +-3 +-8 +-11 +-4 +-4 +-68 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-103 +-104 +-106 +-98 +-101 +-90 +-81 +-84 +-78 +-68 +-72 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +110 +99 +88 +85 +83 +77 +67 +57 +53 +56 +50 +43 +34 +33 +36 +31 +23 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-110 +-112 +-102 +-92 +-94 +-87 +-76 +-79 +-73 +-63 +-67 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +104 +93 +83 +77 +77 +71 +63 +54 +48 +51 +47 +41 +32 +30 +34 +30 +-37 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-104 +-105 +-96 +-86 +-87 +-83 +-71 +-73 +-71 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +103 +91 +83 +84 +78 +70 +61 +53 +53 +52 +47 +38 +33 +35 +34 +28 +-39 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-99 +-104 +-106 +-95 +-86 +-89 +-79 +-72 +-76 +-67 +-61 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +102 +91 +83 +81 +79 +71 +62 +53 +52 +52 +47 +38 +31 +33 +33 +27 +-40 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-99 +-103 +-105 +-98 +-86 +-88 +-84 +-71 +-73 +-70 +-59 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +105 +95 +84 +75 +75 +71 +64 +54 +47 +48 +48 +41 +33 +28 +32 +30 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-112 +-105 +-107 +-93 +-87 +-90 +-79 +-72 +-76 +-68 +-60 +-64 +-60 +-50 +-54 +-52 +-42 +-45 +-46 +-35 +-39 +-42 +-32 +-32 +-37 +-30 +-26 +-31 +-31 +-22 +-26 +-29 +-19 +-21 +-27 +-20 +-17 +-22 +-24 +-15 +-16 +-22 +-20 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +105 +97 +90 +85 +81 +77 +71 +65 +59 +53 +47 +42 +38 +34 +32 +-29 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-100 +-101 +-107 +-96 +-98 +-90 +-79 +-82 +-78 +-67 +-69 +-67 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +98 +94 +92 +84 +76 +67 +59 +58 +57 +51 +43 +35 +35 +37 +32 +24 +-39 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-99 +-92 +-94 +-85 +-76 +-78 +-75 +-63 +-65 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +96 +91 +91 +83 +73 +64 +61 +62 +55 +45 +39 +41 +40 +34 +26 +24 +29 +24 +17 +12 +18 +17 +11 +5 +9 +10 +5 +-1 +3 +6 +1 +-5 +0 +3 +-1 +-7 +-1 +1 +-4 +-9 +-2 +-1 +-7 +-10 +-2 +-3 +-10 +-12 +-62 +-120 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-107 +-100 +-102 +-89 +-83 +-86 +-77 +-69 +-72 +5 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +100 +88 +82 +82 +77 +69 +60 +52 +53 +52 +45 +35 +31 +35 +32 +25 +-41 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-100 +-104 +-106 +-98 +-87 +-88 +-83 +-71 +-74 +-71 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +90 +82 +81 +78 +70 +62 +53 +50 +52 +48 +41 +33 +30 +34 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-102 +-103 +-104 +-98 +-100 +-87 +-81 +-84 +-77 +-67 +-69 +-68 +-56 +-58 +-59 +-48 +-46 +-52 +-45 +-39 +-43 +-43 +-33 +-34 +-39 +-30 +-27 +-33 +-32 +-23 +-25 +-30 +-23 +-20 +-24 +-27 +-18 +-18 +-24 +-22 +-15 +-19 +-24 +-16 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +103 +97 +91 +87 +82 +77 +71 +65 +59 +53 +45 +39 +35 +33 +32 +-28 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-100 +-99 +-111 +-96 +-96 +-94 +-80 +-79 +-80 +-66 +-65 +-67 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +95 +85 +75 +74 +72 +66 +57 +48 +45 +48 +43 +35 +28 +30 +31 +26 +18 +16 +21 +19 +12 +7 +12 +13 +7 +1 +4 +7 +2 +-4 +0 +2 +-3 +-8 +-3 +0 +-5 +-9 +-5 +-2 +-7 +-11 +-7 +-3 +-9 +-13 +-6 +-64 +-126 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-102 +-105 +-107 +-97 +-87 +-91 +-80 +-73 +-77 +-68 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +106 +104 +96 +88 +77 +69 +65 +66 +60 +53 +43 +40 +43 +40 +33 +26 +22 +-33 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-103 +-104 +-106 +-98 +-100 +-90 +-81 +-84 +-79 +-68 +-70 +-68 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +113 +106 +96 +85 +76 +73 +72 +66 +57 +48 +45 +48 +43 +35 +28 +30 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-112 +-97 +-99 +-92 +-95 +-83 +-77 +-80 +-73 +-64 +-67 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +90 +91 +83 +75 +65 +59 +60 +57 +50 +41 +36 +40 +37 +30 +22 +-37 +-90 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-101 +-103 +-105 +-97 +-99 +-91 +-80 +-82 +-78 +-67 +-70 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +105 +97 +87 +77 +70 +67 +67 +60 +52 +44 +42 +44 +40 +32 +26 +25 +-32 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-104 +-106 +-95 +-86 +-89 +-83 +-72 +-75 +-71 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +103 +91 +83 +81 +78 +70 +59 +52 +55 +51 +44 +35 +33 +37 +33 +24 +-39 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-111 +-111 +-103 +-91 +-92 +-88 +-75 +-77 +-76 +-63 +-65 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +107 +97 +95 +91 +83 +73 +64 +61 +62 +56 +47 +40 +41 +41 +35 +27 +24 +-31 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-104 +-105 +-96 +-86 +-89 +-82 +-71 +-75 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +101 +89 +84 +84 +78 +69 +60 +53 +56 +52 +45 +36 +35 +37 +32 +23 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-111 +-112 +-101 +-91 +-94 +-86 +-76 +-79 +-71 +-63 +-67 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +102 +90 +83 +82 +77 +70 +61 +52 +51 +51 +47 +38 +31 +31 +34 +29 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-111 +-106 +-106 +-92 +-88 +-90 +-78 +-72 +-76 +-69 +-60 +-63 +-61 +-50 +-52 +-53 +-42 +-44 +-47 +-37 +-35 +-41 +-37 +-30 +-34 +-36 +-26 +-26 +-32 +-26 +-21 +-27 +-28 +-18 +-21 +-26 +-19 +-16 +-23 +-23 +-14 +-17 +-23 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +113 +111 +104 +95 +86 +75 +69 +69 +65 +59 +51 +43 +41 +43 +39 +32 +-34 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-100 +-100 +-108 +-96 +-97 +-90 +-80 +-83 +-76 +-67 +-71 +-65 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +115 +106 +95 +85 +76 +76 +73 +66 +57 +49 +47 +48 +43 +35 +28 +30 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-105 +-107 +-95 +-87 +-89 +-82 +-71 +-74 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +114 +105 +95 +85 +75 +71 +71 +66 +58 +49 +44 +47 +44 +38 +30 +26 +30 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-110 +-105 +-106 +-91 +-86 +-89 +-78 +-71 +-74 +-69 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +118 +114 +105 +93 +83 +77 +77 +71 +64 +54 +49 +51 +47 +40 +32 +31 +35 +29 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-112 +-104 +-106 +-94 +-86 +-89 +-80 +-71 +-75 +-69 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +93 +83 +77 +78 +72 +65 +55 +49 +51 +48 +41 +33 +29 +33 +30 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-111 +-114 +-104 +-106 +-96 +-86 +-89 +-82 +-71 +-74 +-71 +-59 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +114 +105 +94 +83 +76 +78 +72 +63 +54 +50 +52 +47 +39 +32 +34 +34 +27 +-39 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-99 +-104 +-105 +-97 +-86 +-88 +-82 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +91 +83 +80 +79 +71 +64 +54 +49 +50 +48 +42 +33 +28 +32 +30 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-112 +-104 +-106 +-93 +-86 +-89 +-78 +-71 +-75 +-66 +-60 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +101 +89 +85 +84 +77 +67 +59 +56 +57 +51 +42 +34 +34 +36 +32 +24 +19 +22 +23 +18 +11 +9 +16 +13 +6 +2 +8 +8 +3 +-3 +2 +4 +-1 +-6 +-2 +1 +-3 +-9 +-4 +-2 +-7 +-12 +-6 +-4 +-8 +-13 +-8 +-4 +-67 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-102 +-106 +-107 +-98 +-88 +-91 +-81 +-73 +-77 +-69 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +111 +104 +94 +85 +75 +70 +71 +65 +57 +48 +45 +48 +43 +35 +28 +29 +30 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-104 +-106 +-96 +-86 +-88 +-82 +-71 +-74 +-70 +-59 +-63 +-61 +-50 +-54 +-52 +-43 +-47 +-47 +-36 +-41 +-40 +-31 +-36 +-36 +-27 +-33 +-32 +-23 +-29 +-29 +-20 +-25 +-27 +-17 +-22 +-25 +-16 +-19 +-24 +-15 +-15 +-22 +58 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +101 +89 +82 +81 +77 +69 +59 +52 +54 +51 +44 +35 +32 +36 +-28 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-110 +-113 +-103 +-105 +-96 +-86 +-88 +-83 +-71 +-73 +-70 +-59 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +102 +91 +87 +85 +77 +67 +59 +58 +57 +51 +42 +35 +39 +37 +31 +23 +-39 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-112 +-112 +-101 +-92 +-94 +-87 +-76 +-78 +-75 +-63 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +93 +92 +84 +75 +65 +61 +62 +57 +48 +40 +38 +41 +36 +28 +22 +-35 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-104 +-104 +-105 +-98 +-100 +-91 +-80 +-83 +-79 +-67 +-69 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +106 +96 +88 +77 +71 +71 +67 +59 +50 +45 +47 +44 +37 +29 +27 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-98 +-104 +-106 +-97 +-86 +-89 +-80 +-72 +-76 +-69 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +89 +82 +82 +77 +69 +59 +52 +55 +51 +45 +36 +33 +37 +34 +26 +20 +22 +24 +17 +11 +13 +16 +10 +3 +6 +9 +4 +-2 +2 +4 +-2 +-7 +0 +1 +-5 +-8 +-1 +-2 +-9 +-9 +-2 +-5 +-11 +-10 +-4 +-7 +-13 +-69 +-102 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-105 +-106 +-97 +-86 +-87 +-83 +-71 +-72 +-72 +-60 +-59 +-62 +-53 +-48 +-53 +-51 +-41 +-42 +-46 +-37 +-34 +-38 +-38 +-29 +-30 +-35 +-29 +-24 +-29 +-30 +-21 +-22 +-29 +-23 +-18 +-23 +-26 +-17 +-17 +-23 +-22 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +103 +94 +84 +76 +69 +63 +61 +59 +55 +50 +46 +42 +38 +34 +-30 +-90 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-107 +-101 +-102 +-103 +-98 +-85 +-87 +-83 +-71 +-73 +-69 +-59 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +88 +85 +77 +66 +59 +59 +57 +50 +41 +36 +41 +36 +29 +22 +-36 +-90 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-103 +-104 +-107 +-98 +-99 +-93 +-81 +-82 +-80 +-67 +-67 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +107 +105 +97 +89 +79 +70 +65 +67 +61 +54 +44 +41 +45 +40 +32 +26 +27 +29 +23 +15 +13 +19 +15 +9 +5 +11 +10 +4 +-1 +5 +6 +0 +-5 +2 +2 +-4 +-7 +0 +-1 +-7 +-10 +-2 +-3 +-9 +-12 +-5 +-4 +-10 +-14 +-65 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-107 +-101 +-103 +-90 +-84 +-86 +-78 +-69 +-72 +-67 +-57 +-60 +-60 +-47 +-49 +-51 +-41 +-40 +-45 +-37 +-33 +-37 +-36 +-27 +-30 +-34 +-24 +-24 +-30 +-26 +-21 +-25 +-28 +-18 +-19 +-25 +-21 +-16 +-21 +-24 +-16 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +97 +88 +81 +75 +73 +69 +65 +59 +55 +50 +44 +38 +33 +29 +27 +26 +26 +24 +22 +19 +17 +15 +12 +10 +8 +6 +5 +4 +4 +4 +3 +2 +1 +0 +-1 +-2 +-3 +-3 +-3 +-4 +-3 +-3 +-4 +-4 +-5 +-5 +-65 +-102 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-111 +-98 +-100 +-92 +-82 +-85 +-77 +-68 +-73 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +88 +83 +83 +77 +69 +60 +52 +53 +51 +45 +37 +31 +34 +33 +27 +-40 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-104 +-106 +-97 +-87 +-89 +-84 +-72 +-76 +-70 +-61 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +100 +89 +87 +85 +77 +67 +58 +55 +57 +50 +41 +35 +39 +37 +30 +22 +-38 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-106 +-99 +-101 +-89 +-81 +-85 +-77 +-68 +-71 +-66 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +118 +114 +105 +95 +85 +76 +76 +73 +66 +57 +49 +49 +49 +43 +35 +30 +34 +31 +-35 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-105 +-107 +-95 +-87 +-89 +-81 +-72 +-75 +-69 +-60 +-63 +-60 +-50 +-54 +-54 +-43 +-45 +-48 +-37 +-36 +-41 +-37 +-29 +-33 +-35 +-26 +-26 +-32 +-27 +-21 +-25 +-29 +-20 +-19 +-25 +-25 +-16 +-18 +-24 +-19 +-15 +-20 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +118 +112 +103 +91 +82 +80 +77 +70 +61 +52 +53 +51 +45 +36 +31 +35 +-27 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-111 +-104 +-106 +-95 +-86 +-88 +-82 +-70 +-73 +-70 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +115 +104 +92 +82 +80 +78 +70 +61 +53 +55 +52 +46 +37 +33 +37 +34 +27 +20 +20 +24 +19 +13 +9 +14 +14 +9 +2 +4 +9 +5 +-2 +-2 +4 +0 +-7 +-5 +1 +-3 +-9 +-5 +-1 +-5 +-11 +-5 +-3 +-8 +-13 +-6 +-5 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-128 +-98 +-107 +-108 +-94 +-89 +-92 +-80 +-73 +-76 +-71 +-61 +-64 +-62 +-51 +-52 +-56 +-44 +-43 +-48 +-42 +-35 +-39 +-40 +-31 +-31 +-36 +-29 +-25 +-30 +-31 +-21 +-23 +-29 +-22 +-18 +-25 +-25 +-16 +-19 +-25 +-18 +-15 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +106 +97 +93 +91 +83 +73 +63 +61 +61 +55 +45 +38 +40 +39 +33 +24 +21 +27 +24 +17 +11 +18 +16 +10 +4 +10 +10 +4 +-1 +5 +5 +-1 +-5 +3 +2 +-5 +-7 +0 +-1 +-8 +-11 +-3 +-4 +-9 +-12 +-5 +-4 +-68 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-97 +-98 +-105 +-93 +-93 +-90 +-76 +-76 +-77 +-65 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +98 +87 +83 +83 +77 +69 +59 +52 +54 +51 +45 +35 +33 +37 +33 +24 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-111 +-112 +-102 +-92 +-93 +-87 +-76 +-79 +-75 +-63 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +98 +91 +91 +84 +75 +65 +59 +61 +57 +49 +40 +37 +41 +35 +27 +23 +-32 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-105 +-107 +-94 +-87 +-90 +-80 +-72 +-76 +-71 +-61 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +105 +95 +84 +77 +77 +73 +65 +55 +48 +49 +47 +40 +32 +29 +34 +29 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-109 +-102 +-104 +-105 +-98 +-85 +-88 +-81 +-71 +-73 +-69 +-59 +-62 +-60 +-49 +-51 +-53 +-42 +-41 +-47 +-40 +-34 +-38 +-40 +-29 +-30 +-35 +-30 +-26 +-30 +-32 +-22 +-23 +-29 +-23 +-18 +-24 +-26 +-16 +-19 +-24 +-18 +-15 +-20 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +111 +103 +93 +81 +76 +77 +70 +61 +52 +53 +51 +45 +36 +31 +36 +33 +25 +20 +22 +24 +18 +11 +10 +15 +11 +4 +3 +10 +5 +-1 +1 +5 +0 +-5 +0 +2 +-3 +-8 +-2 +-1 +-6 +-10 +-4 +-3 +-8 +-12 +-6 +-63 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-104 +-105 +-106 +-99 +-87 +-90 +-82 +-73 +-77 +-70 +-61 +-65 +-61 +-51 +-54 +-54 +-43 +-47 +-46 +-36 +-40 +-41 +-31 +-34 +-37 +-27 +-28 +-34 +-26 +-23 +-29 +-29 +-19 +-23 +-28 +-21 +-18 +-23 +-25 +-16 +-17 +-23 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +109 +105 +95 +87 +77 +68 +65 +66 +59 +51 +43 +41 +44 +39 +31 +25 +27 +28 +22 +15 +16 +19 +13 +7 +9 +13 +7 +1 +4 +7 +1 +-5 +-1 +3 +-2 +-7 +-3 +0 +-5 +-10 +-5 +-2 +-7 +-12 +-5 +-4 +-10 +-72 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-107 +-108 +-95 +-88 +-91 +-82 +-73 +-75 +-72 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +97 +92 +91 +83 +74 +64 +60 +62 +56 +48 +40 +38 +41 +35 +28 +21 +-36 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-109 +-98 +-99 +-93 +-81 +-83 +-81 +-68 +-70 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +96 +85 +76 +74 +73 +66 +56 +48 +45 +48 +42 +34 +29 +32 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-104 +-106 +-97 +-87 +-89 +-81 +-72 +-75 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +103 +91 +83 +80 +79 +71 +63 +54 +51 +53 +48 +39 +32 +33 +35 +29 +-39 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-113 +-104 +-106 +-96 +-86 +-88 +-82 +-71 +-73 +-71 +-60 +-62 +-62 +-49 +-51 +-54 +-44 +-41 +-47 +-42 +-34 +-38 +-40 +-29 +-31 +-35 +-28 +-25 +-31 +-29 +-21 +-25 +-29 +-20 +-19 +-26 +-23 +-16 +-21 +-24 +-15 +-17 +-24 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +105 +96 +93 +90 +82 +74 +64 +58 +59 +56 +48 +40 +34 +37 +36 +30 +22 +21 +25 +22 +14 +11 +16 +15 +7 +3 +9 +9 +3 +-2 +3 +5 +-1 +-5 +1 +2 +-3 +-8 +-2 +-1 +-6 +-10 +-3 +-2 +-7 +-11 +-5 +-63 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-110 +-100 +-101 +-94 +-83 +-84 +-81 +-68 +-71 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +105 +95 +93 +90 +81 +72 +63 +62 +61 +55 +45 +39 +42 +40 +33 +25 +25 +-32 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-98 +-104 +-106 +-98 +-86 +-88 +-83 +-71 +-74 +-71 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +93 +83 +79 +79 +72 +63 +54 +52 +53 +47 +37 +33 +37 +34 +25 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-100 +-93 +-95 +-86 +-76 +-79 +-76 +-64 +-67 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +98 +93 +91 +83 +74 +64 +61 +62 +56 +47 +40 +38 +41 +35 +28 +22 +-36 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-105 +-105 +-106 +-99 +-101 +-90 +-82 +-85 +-77 +-68 +-71 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +106 +102 +97 +90 +80 +70 +65 +67 +61 +53 +44 +42 +45 +40 +31 +26 +29 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-104 +-106 +-97 +-86 +-88 +-83 +-71 +-74 +-71 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +112 +106 +96 +87 +77 +70 +70 +67 +60 +53 +44 +42 +44 +40 +33 +26 +26 +-31 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-110 +-105 +-91 +-93 +-88 +-76 +-79 +-76 +-64 +-67 +-65 +-54 +-57 +-56 +-44 +-48 +-49 +-38 +-39 +-43 +-33 +-33 +-38 +-33 +-27 +-31 +-33 +-23 +-24 +-30 +-23 +-20 +-25 +-27 +-18 +-19 +-26 +-20 +-16 +-21 +-23 +-15 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +105 +99 +93 +88 +82 +76 +70 +63 +56 +51 +45 +43 +39 +37 +35 +-28 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-101 +-102 +-107 +-97 +-99 +-88 +-80 +-84 +-74 +-67 +-71 +-65 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +106 +100 +98 +91 +83 +73 +65 +62 +63 +57 +48 +41 +40 +41 +35 +27 +24 +-31 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-112 +-107 +-108 +-93 +-89 +-91 +-78 +-73 +-77 +-68 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +94 +85 +77 +79 +74 +67 +58 +50 +48 +50 +44 +35 +29 +31 +31 +25 +17 +17 +21 +18 +11 +7 +12 +12 +6 +1 +3 +7 +3 +-3 +-2 +3 +-1 +-7 +-4 +0 +-5 +-10 +-4 +-3 +-9 +-12 +-5 +-4 +-10 +-13 +-7 +-65 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-106 +-107 +-101 +-103 +-90 +-83 +-86 +-78 +-69 +-71 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +96 +89 +90 +83 +74 +64 +59 +61 +56 +48 +40 +36 +40 +36 +29 +22 +-38 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-112 +-97 +-102 +-92 +-95 +-85 +-77 +-80 +-73 +-64 +-68 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +110 +98 +92 +92 +84 +75 +64 +61 +62 +57 +48 +40 +38 +41 +36 +29 +23 +-34 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-104 +-108 +-98 +-100 +-92 +-81 +-84 +-78 +-68 +-71 +-68 +-57 +-60 +-59 +-47 +-50 +-51 +-40 +-40 +-45 +-38 +-33 +-38 +-37 +-28 +-31 +-35 +-26 +-24 +-30 +-29 +-20 +-22 +-28 +-23 +-18 +-23 +-26 +-18 +-17 +-22 +-23 +-14 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +111 +105 +96 +87 +77 +69 +65 +65 +59 +53 +45 +39 +39 +40 +35 +-33 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-101 +-101 +-110 +-97 +-97 +-94 +-80 +-81 +-80 +-66 +-67 +-68 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +112 +106 +97 +89 +79 +71 +67 +68 +62 +54 +45 +41 +43 +41 +35 +27 +23 +27 +25 +21 +13 +12 +17 +14 +7 +3 +8 +9 +4 +-1 +0 +6 +2 +-5 +-6 +2 +0 +-6 +-9 +-1 +-2 +-7 +-11 +-4 +-3 +-8 +-12 +-6 +-4 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-109 +-99 +-101 +-94 +-82 +-85 +-81 +-69 +-72 +7 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +96 +90 +90 +83 +75 +65 +58 +58 +56 +49 +41 +34 +37 +36 +29 +22 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-105 +-105 +-105 +-100 +-101 +-88 +-82 +-85 +-75 +-68 +-72 +-65 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +106 +96 +87 +77 +70 +70 +67 +61 +52 +44 +43 +45 +40 +32 +26 +26 +-32 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-96 +-87 +-89 +-83 +-72 +-74 +-71 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +115 +105 +94 +84 +79 +79 +73 +63 +54 +53 +54 +47 +38 +34 +38 +35 +27 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-113 +-98 +-100 +-94 +-96 +-84 +-78 +-81 +-73 +-64 +-68 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +91 +83 +83 +79 +71 +63 +54 +51 +53 +48 +40 +32 +30 +34 +29 +-39 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-105 +-107 +-97 +-88 +-90 +-82 +-72 +-76 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +102 +91 +85 +85 +77 +69 +60 +53 +56 +52 +45 +36 +35 +37 +33 +24 +-40 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-99 +-93 +-95 +-86 +-76 +-79 +-74 +-63 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +108 +98 +96 +92 +83 +74 +65 +62 +62 +57 +48 +40 +38 +41 +36 +28 +23 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-109 +-98 +-99 +-94 +-81 +-82 +-80 +-67 +-67 +-70 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +106 +103 +98 +90 +80 +71 +67 +67 +61 +52 +45 +45 +45 +39 +31 +26 +29 +-31 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-105 +-105 +-107 +-100 +-101 +-93 +-82 +-84 +-80 +-68 +-70 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +98 +89 +78 +70 +66 +67 +61 +53 +44 +42 +44 +40 +31 +26 +29 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-95 +-87 +-90 +-81 +-72 +-76 +-69 +-60 +-64 +-61 +-50 +-55 +-51 +-42 +-45 +-46 +-36 +-40 +-42 +-32 +-33 +-37 +-28 +-27 +-33 +-29 +-22 +-27 +-29 +-20 +-21 +-27 +-21 +-17 +-22 +-24 +-15 +-16 +-22 +-20 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +105 +97 +94 +91 +83 +75 +65 +58 +59 +56 +49 +41 +35 +36 +35 +-30 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-107 +-102 +-103 +-103 +-98 +-86 +-88 +-83 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +92 +84 +81 +79 +71 +63 +53 +51 +52 +48 +40 +33 +31 +35 +30 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-97 +-87 +-89 +-83 +-72 +-73 +-72 +-60 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +113 +107 +98 +89 +79 +71 +71 +68 +61 +52 +45 +47 +45 +39 +31 +26 +29 +-31 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-98 +-105 +-107 +-97 +-87 +-89 +-84 +-72 +-73 +-73 +-61 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +103 +99 +91 +81 +72 +65 +67 +62 +54 +45 +42 +44 +39 +30 +25 +30 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-99 +-87 +-87 +-85 +-72 +-70 +-73 +-62 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +102 +98 +91 +83 +75 +65 +59 +58 +57 +51 +44 +36 +35 +38 +33 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-105 +-106 +-97 +-87 +-90 +-81 +-73 +-76 +-69 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +104 +92 +83 +80 +79 +73 +64 +55 +50 +52 +48 +41 +33 +30 +34 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-103 +-110 +-98 +-99 +-93 +-81 +-84 +-78 +-68 +-72 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +94 +84 +77 +78 +73 +66 +57 +49 +46 +48 +43 +36 +29 +27 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-99 +-105 +-108 +-96 +-88 +-91 +-81 +-73 +-77 +-70 +-61 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +89 +84 +84 +77 +69 +59 +54 +57 +51 +44 +35 +35 +37 +33 +24 +20 +24 +23 +17 +11 +13 +16 +11 +4 +6 +11 +6 +-1 +0 +5 +0 +-6 +-3 +2 +-3 +-8 +-3 +-1 +-7 +-10 +-2 +-3 +-10 +-11 +-3 +-5 +-12 +-72 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-107 +-109 +-96 +-89 +-92 +-82 +-73 +-76 +-73 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +102 +93 +84 +76 +74 +72 +66 +58 +49 +43 +47 +43 +37 +29 +26 +31 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-97 +-87 +-88 +-85 +-72 +-73 +-73 +-61 +-60 +-63 +-54 +-48 +-51 +-51 +-41 +-40 +-44 +-41 +-33 +-34 +-39 +-31 +-27 +-31 +-33 +-24 +-23 +-29 +-28 +-19 +-22 +-28 +-21 +-18 +-22 +-25 +-17 +-16 +-21 +-23 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +106 +100 +95 +89 +82 +76 +70 +63 +56 +50 +45 +41 +38 +37 +34 +-28 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-110 +-112 +-103 +-104 +-95 +-85 +-87 +-82 +-70 +-74 +-70 +-59 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +88 +85 +77 +67 +59 +57 +57 +51 +42 +37 +41 +37 +30 +23 +-37 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-105 +-105 +-105 +-100 +-101 +-90 +-82 +-85 +-77 +-68 +-71 +-67 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +100 +90 +88 +85 +78 +71 +62 +54 +52 +53 +48 +40 +32 +29 +33 +30 +-37 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-101 +-105 +-107 +-97 +-87 +-90 +-83 +-72 +-75 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +92 +83 +80 +79 +71 +64 +55 +49 +51 +49 +43 +35 +29 +31 +32 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-99 +-105 +-106 +-97 +-87 +-88 +-84 +-72 +-74 +-72 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +97 +87 +77 +71 +72 +67 +58 +49 +45 +48 +44 +37 +29 +27 +31 +28 +21 +15 +15 +19 +14 +7 +6 +13 +9 +2 +1 +8 +4 +-3 +-3 +3 +0 +-6 +-7 +1 +-2 +-8 +-9 +-1 +-3 +-10 +-10 +-3 +-5 +-10 +-13 +-65 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-102 +-99 +-99 +-100 +-97 +-84 +-85 +-83 +-69 +-71 +-70 +-58 +-60 +-61 +-49 +-51 +-53 +-41 +-43 +-47 +-36 +-35 +-41 +-35 +-29 +-34 +-34 +-25 +-27 +-32 +-23 +-23 +-29 +-26 +-19 +-23 +-26 +-16 +-18 +-24 +-18 +-15 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +89 +88 +83 +76 +65 +58 +57 +56 +50 +42 +35 +36 +37 +-29 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-112 +-104 +-105 +-96 +-86 +-88 +-83 +-71 +-73 +-71 +-59 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +102 +99 +92 +83 +73 +65 +66 +63 +56 +46 +40 +42 +41 +35 +28 +23 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-107 +-99 +-101 +-92 +-81 +-83 +-79 +-68 +-70 +-70 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +102 +91 +84 +84 +79 +71 +61 +54 +56 +52 +45 +36 +32 +36 +33 +27 +20 +19 +24 +20 +13 +9 +14 +14 +9 +2 +4 +8 +5 +-2 +-2 +4 +1 +-5 +-6 +1 +-1 +-9 +-8 +-2 +-5 +-11 +-8 +-3 +-6 +-12 +-8 +-5 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-105 +-107 +-98 +-87 +-91 +-82 +-74 +-77 +-71 +-62 +-66 +-61 +-52 +-56 +-54 +-43 +-48 +-46 +-37 +-43 +-40 +-32 +-38 +-37 +-28 +-33 +-34 +-24 +-28 +-31 +-21 +-23 +-29 +-20 +-19 +-26 +-23 +-16 +-20 +-24 +-15 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +102 +97 +90 +83 +77 +71 +64 +56 +50 +45 +42 +41 +39 +36 +33 +29 +26 +21 +17 +15 +14 +13 +13 +12 +11 +9 +8 +6 +5 +3 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-8 +-66 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-107 +-107 +-99 +-88 +-91 +-83 +-74 +-78 +-70 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +114 +105 +95 +85 +76 +72 +71 +65 +57 +48 +43 +47 +43 +37 +28 +27 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-95 +-87 +-89 +-83 +-72 +-74 +-72 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +98 +93 +91 +83 +74 +64 +63 +62 +56 +45 +41 +44 +40 +32 +25 +29 +-33 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-105 +-107 +-98 +-87 +-90 +-82 +-72 +-76 +-69 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +104 +91 +84 +84 +79 +71 +61 +54 +56 +52 +45 +35 +35 +37 +31 +23 +-41 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-101 +-97 +-98 +-98 +-96 +-82 +-83 +-81 +-68 +-69 +-69 +-56 +-57 +-59 +-48 +-46 +-51 +-44 +-38 +-42 +-42 +-32 +-34 +-39 +-29 +-27 +-34 +-30 +-23 +-27 +-30 +-21 +-22 +-28 +-23 +-17 +-23 +-24 +-15 +-17 +-23 +-17 +-14 +58 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +90 +90 +84 +77 +68 +59 +55 +57 +51 +44 +35 +34 +37 +-29 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-98 +-104 +-106 +-95 +-86 +-89 +-80 +-71 +-75 +-68 +-59 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +93 +84 +81 +79 +73 +64 +55 +51 +53 +48 +41 +33 +31 +35 +31 +23 +17 +20 +21 +16 +9 +8 +14 +11 +3 +1 +9 +6 +-1 +-3 +4 +2 +-5 +-6 +0 +0 +-6 +-9 +-3 +-2 +-7 +-11 +-6 +-4 +-10 +-14 +-7 +-66 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-107 +-109 +-97 +-89 +-92 +-83 +-74 +-76 +-72 +-61 +-64 +-62 +-51 +-54 +-54 +-43 +-46 +-48 +-37 +-39 +-42 +-32 +-31 +-37 +-32 +-25 +-29 +-31 +-22 +-23 +-30 +-24 +-19 +-23 +-26 +-16 +-18 +-24 +-20 +-15 +-19 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +109 +104 +94 +83 +75 +77 +71 +63 +52 +49 +52 +46 +37 +32 +36 +33 +26 +19 +21 +23 +18 +11 +9 +15 +12 +5 +2 +9 +6 +1 +-3 +3 +3 +-1 +-6 +-3 +1 +-2 +-9 +-6 +-1 +-5 +-11 +-8 +-3 +-6 +-12 +-70 +-102 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-97 +-109 +-109 +-93 +-91 +-92 +-78 +-75 +-78 +-69 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +102 +91 +83 +80 +79 +71 +63 +54 +49 +51 +47 +39 +32 +31 +33 +28 +-40 +-101 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-95 +-87 +-90 +-84 +-73 +-75 +-72 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +101 +99 +91 +82 +72 +65 +65 +61 +55 +45 +39 +42 +41 +34 +26 +23 +-32 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-105 +-111 +-99 +-99 +-94 +-81 +-83 +-80 +-67 +-70 +-68 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +113 +106 +97 +87 +77 +71 +71 +67 +61 +53 +44 +43 +45 +41 +33 +27 +28 +-31 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-108 +-97 +-88 +-90 +-82 +-73 +-76 +-71 +-61 +-64 +-62 +-50 +-54 +-54 +-43 +-46 +-48 +-36 +-39 +-41 +-31 +-33 +-37 +-27 +-27 +-33 +-26 +-23 +-28 +-29 +-20 +-21 +-27 +-20 +-17 +-22 +-24 +-15 +-17 +-23 +-19 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +105 +98 +92 +88 +83 +77 +71 +65 +59 +52 +46 +41 +37 +35 +33 +31 +29 +27 +24 +21 +18 +15 +13 +12 +10 +10 +9 +8 +7 +6 +4 +2 +0 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-66 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-102 +-107 +-108 +-96 +-89 +-91 +-80 +-73 +-77 +-70 +-61 +-64 +-62 +-51 +-53 +-55 +-43 +-43 +-48 +-41 +-35 +-39 +-40 +-30 +-32 +-37 +-29 +-26 +-31 +-31 +-22 +-24 +-29 +-22 +-19 +-25 +-25 +-16 +-19 +-25 +-16 +-15 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +106 +96 +92 +91 +83 +75 +65 +58 +58 +57 +50 +42 +35 +37 +37 +31 +23 +21 +26 +22 +14 +10 +16 +14 +7 +3 +8 +9 +3 +-2 +4 +4 +-2 +-5 +1 +2 +-4 +-8 +-2 +-1 +-6 +-10 +-6 +-2 +-7 +-12 +-6 +-64 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-105 +-106 +-101 +-102 +-89 +-83 +-86 +-80 +-70 +-72 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +88 +83 +83 +77 +69 +60 +52 +53 +51 +45 +36 +31 +33 +33 +27 +-41 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-106 +-108 +-96 +-88 +-90 +-83 +-73 +-75 +-72 +-61 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +107 +97 +87 +76 +73 +73 +67 +59 +49 +45 +49 +44 +37 +29 +28 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-97 +-87 +-89 +-84 +-72 +-74 +-72 +-60 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +99 +91 +80 +71 +66 +67 +62 +55 +45 +41 +44 +41 +33 +26 +24 +-32 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-103 +-105 +-105 +-100 +-87 +-88 +-85 +-72 +-74 +-73 +-61 +-63 +-63 +-50 +-53 +-54 +-43 +-43 +-47 +-38 +-35 +-41 +-38 +-29 +-32 +-35 +-26 +-25 +-32 +-28 +-21 +-25 +-29 +-19 +-19 +-25 +-25 +-17 +-20 +-25 +-20 +-15 +-19 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +104 +102 +98 +89 +80 +70 +63 +65 +61 +53 +44 +40 +43 +41 +35 +27 +23 +29 +26 +21 +14 +13 +18 +15 +9 +4 +7 +10 +5 +-1 +0 +5 +1 +-5 +-6 +1 +0 +-6 +-9 +-1 +-3 +-9 +-11 +-3 +-5 +-11 +-12 +-64 +-120 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-99 +-99 +-101 +-95 +-96 +-89 +-78 +-80 +-77 +-65 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +107 +105 +97 +89 +79 +70 +67 +67 +60 +51 +43 +45 +44 +38 +29 +26 +30 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-128 +-99 +-105 +-107 +-98 +-87 +-88 +-85 +-72 +-74 +-73 +-61 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +114 +107 +97 +87 +77 +73 +73 +67 +58 +50 +45 +48 +43 +37 +29 +26 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-106 +-108 +-98 +-88 +-91 +-82 +-72 +-76 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +103 +91 +84 +84 +78 +69 +60 +54 +57 +52 +45 +36 +34 +37 +33 +25 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-112 +-97 +-104 +-92 +-95 +-88 +-77 +-80 +-75 +-64 +-67 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +111 +100 +95 +94 +85 +75 +66 +64 +63 +57 +47 +41 +42 +42 +34 +26 +25 +-32 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-108 +-94 +-88 +-90 +-83 +-72 +-74 +-73 +-61 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +101 +99 +91 +82 +72 +65 +66 +62 +55 +46 +40 +42 +40 +34 +27 +23 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-109 +-99 +-101 +-93 +-82 +-84 +-79 +-68 +-70 +-67 +-56 +-60 +-58 +-47 +-51 +-50 +-40 +-45 +-43 +-34 +-38 +-39 +-29 +-33 +-35 +-25 +-27 +-33 +-25 +-22 +-27 +-29 +-19 +-20 +-26 +-23 +-16 +-20 +-24 +-16 +-15 +-21 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +90 +89 +84 +77 +67 +59 +55 +57 +51 +44 +35 +34 +37 +-29 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-112 +-104 +-106 +-94 +-86 +-89 +-81 +-71 +-74 +-70 +-59 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +107 +96 +86 +77 +77 +74 +66 +56 +49 +51 +49 +42 +33 +29 +33 +30 +-37 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-101 +-105 +-107 +-95 +-87 +-90 +-81 +-72 +-75 +-68 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +101 +90 +87 +85 +78 +67 +58 +57 +56 +50 +42 +35 +37 +37 +31 +23 +21 +26 +22 +15 +11 +16 +15 +10 +4 +4 +10 +6 +0 +-2 +5 +3 +-3 +-7 +0 +0 +-4 +-9 +-5 +-1 +-5 +-11 +-6 +-3 +-8 +-12 +-5 +-5 +-70 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-107 +-106 +-102 +-103 +-88 +-84 +-87 +-76 +-69 +-73 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +121 +114 +105 +94 +84 +76 +75 +72 +65 +56 +49 +46 +48 +43 +35 +29 +30 +31 +-35 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-105 +-107 +-98 +-87 +-89 +-85 +-72 +-74 +-73 +-61 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +98 +89 +78 +71 +71 +67 +60 +51 +44 +45 +44 +38 +30 +25 +29 +-33 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-106 +-108 +-97 +-88 +-90 +-84 +-72 +-74 +-72 +-60 +-62 +-63 +-50 +-52 +-54 +-43 +-43 +-47 +-38 +-35 +-40 +-38 +-29 +-32 +-35 +-26 +-25 +-31 +-29 +-22 +-25 +-30 +-21 +-19 +-25 +-26 +-17 +-19 +-25 +-19 +-14 +-19 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +109 +106 +97 +87 +76 +73 +73 +66 +55 +48 +49 +48 +41 +32 +30 +-27 +-89 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-105 +-106 +-97 +-86 +-88 +-84 +-71 +-73 +-72 +-59 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +107 +98 +88 +77 +73 +74 +67 +59 +50 +47 +49 +44 +37 +29 +29 +32 +27 +19 +14 +18 +19 +14 +8 +8 +13 +9 +2 +2 +8 +4 +-3 +0 +4 +-2 +-7 +-2 +1 +-4 +-9 +-4 +-1 +-7 +-11 +-5 +-3 +-9 +-13 +-7 +-65 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-107 +-109 +-96 +-90 +-92 +-83 +-74 +-76 +-73 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +92 +91 +84 +75 +65 +58 +58 +56 +50 +41 +35 +38 +37 +31 +23 +-40 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-98 +-98 +-100 +-94 +-96 +-86 +-77 +-80 +-75 +-64 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +110 +99 +91 +91 +85 +77 +68 +59 +57 +58 +52 +44 +36 +36 +37 +33 +24 +-41 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-113 +-98 +-101 +-93 +-95 +-86 +-76 +-79 +-73 +-63 +-67 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +90 +85 +78 +67 +59 +57 +57 +51 +42 +36 +39 +37 +30 +22 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-112 +-97 +-103 +-92 +-95 +-88 +-78 +-81 +-75 +-65 +-68 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +101 +90 +89 +86 +77 +67 +59 +58 +57 +51 +42 +36 +40 +37 +31 +23 +-38 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-105 +-105 +-103 +-101 +-87 +-85 +-86 +-73 +-70 +-73 +-63 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +102 +91 +83 +80 +79 +72 +64 +55 +50 +51 +49 +43 +34 +29 +33 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-107 +-98 +-87 +-89 +-84 +-72 +-74 +-72 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +113 +107 +98 +89 +78 +71 +71 +68 +60 +51 +44 +47 +44 +38 +29 +27 +31 +-35 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-105 +-107 +-97 +-87 +-89 +-85 +-73 +-74 +-73 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +116 +107 +96 +86 +77 +78 +73 +65 +55 +49 +51 +48 +40 +32 +31 +35 +30 +-38 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-106 +-105 +-101 +-102 +-88 +-83 +-86 +-76 +-69 +-72 +-67 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +105 +95 +86 +77 +73 +73 +67 +58 +49 +45 +48 +44 +37 +29 +27 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-109 +-104 +-104 +-103 +-101 +-86 +-86 +-85 +-71 +-72 +-72 +-60 +-60 +-63 +-51 +-50 +-55 +-46 +-41 +-46 +-43 +-34 +-38 +-40 +-29 +-32 +-36 +-26 +-26 +-32 +-26 +-21 +-27 +-28 +-19 +-21 +-26 +-18 +-17 +-24 +-21 +-14 +-19 +-24 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +94 +85 +75 +73 +72 +66 +58 +49 +43 +45 +43 +38 +30 +-36 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-101 +-104 +-105 +-99 +-86 +-87 +-83 +-71 +-74 +-70 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +103 +90 +83 +84 +79 +70 +60 +54 +57 +52 +45 +37 +34 +38 +34 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-101 +-104 +-104 +-99 +-85 +-86 +-84 +-70 +-71 +-72 +-59 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +92 +83 +79 +79 +72 +65 +55 +49 +49 +48 +42 +34 +29 +31 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-108 +-105 +-104 +-102 +-101 +-87 +-83 +-86 +-73 +-69 +-73 +-65 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +99 +97 +92 +84 +75 +65 +61 +62 +57 +49 +40 +37 +40 +35 +28 +22 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-103 +-97 +-99 +-99 +-95 +-81 +-81 +-81 +-67 +-67 +-69 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +99 +93 +91 +84 +77 +67 +59 +54 +57 +52 +47 +39 +33 +33 +35 +30 +-37 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-104 +-109 +-98 +-100 +-92 +-81 +-84 +-77 +-68 +-72 +-65 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +112 +99 +89 +89 +85 +77 +68 +59 +57 +58 +51 +43 +36 +37 +37 +32 +23 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-112 +-97 +-105 +-92 +-94 +-89 +-77 +-79 +-75 +-64 +-67 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +100 +99 +93 +84 +74 +65 +64 +63 +57 +47 +41 +41 +40 +33 +25 +23 +-33 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-111 +-99 +-100 +-95 +-82 +-83 +-81 +-68 +-69 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +108 +105 +99 +91 +80 +71 +66 +67 +62 +54 +45 +42 +45 +40 +32 +26 +27 +29 +23 +16 +14 +20 +15 +8 +7 +13 +9 +2 +2 +8 +3 +-3 +-3 +3 +-1 +-7 +-5 +1 +-4 +-9 +-4 +-1 +-7 +-11 +-4 +-4 +-10 +-12 +-4 +-67 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-105 +-106 +-106 +-101 +-88 +-90 +-84 +-73 +-77 +-70 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +101 +89 +83 +83 +78 +70 +62 +53 +51 +52 +47 +38 +32 +33 +34 +27 +-41 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-99 +-105 +-107 +-96 +-87 +-89 +-84 +-72 +-74 +-73 +-61 +-60 +-63 +-51 +-49 +-53 +-48 +-40 +-44 +-45 +-34 +-35 +-40 +-33 +-29 +-33 +-34 +-25 +-25 +-31 +-27 +-21 +-24 +-28 +-21 +-19 +-24 +-26 +-17 +-17 +-23 +-23 +-14 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +103 +91 +83 +78 +77 +71 +63 +54 +49 +52 +49 +42 +35 +30 +-28 +-86 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-104 +-104 +-105 +-99 +-101 +-89 +-81 +-84 +-77 +-67 +-69 +-68 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +102 +91 +84 +81 +79 +73 +65 +56 +49 +49 +49 +44 +36 +29 +30 +32 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-96 +-87 +-89 +-82 +-72 +-75 +-71 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +116 +106 +95 +85 +77 +79 +73 +67 +57 +50 +49 +49 +43 +35 +29 +32 +31 +-36 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-98 +-87 +-88 +-85 +-73 +-73 +-73 +-61 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +92 +84 +80 +80 +73 +64 +54 +49 +51 +47 +40 +32 +30 +34 +30 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-102 +-105 +-107 +-97 +-87 +-90 +-82 +-72 +-75 +-71 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +105 +95 +85 +76 +75 +73 +66 +56 +49 +49 +48 +42 +33 +29 +34 +31 +25 +17 +19 +22 +18 +10 +10 +16 +12 +3 +4 +9 +5 +-2 +2 +5 +0 +-5 +2 +1 +-5 +-8 +0 +-2 +-9 +-10 +-2 +-5 +-12 +-9 +-4 +-9 +-73 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-106 +-111 +-100 +-102 +-94 +-83 +-85 +-81 +-69 +-71 +-70 +-59 +-61 +-61 +-49 +-51 +-53 +-41 +-41 +-46 +-37 +-34 +-39 +-37 +-28 +-32 +-34 +-25 +-24 +-31 +-28 +-21 +-24 +-28 +-19 +-18 +-23 +-25 +-16 +-18 +-24 +-20 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +104 +95 +85 +77 +71 +64 +61 +58 +55 +51 +47 +43 +39 +34 +-31 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-107 +-104 +-104 +-100 +-101 +-88 +-81 +-84 +-77 +-67 +-70 +-68 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +94 +85 +78 +79 +74 +67 +57 +49 +49 +49 +43 +35 +29 +33 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-97 +-87 +-88 +-84 +-72 +-73 +-73 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +90 +90 +85 +77 +67 +59 +55 +57 +53 +46 +38 +33 +35 +34 +27 +20 +17 +23 +20 +13 +8 +14 +13 +7 +2 +8 +9 +3 +-2 +2 +5 +0 +-6 +-3 +2 +-1 +-8 +-5 +0 +-3 +-10 +-6 +-3 +-7 +-13 +-7 +-5 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-107 +-110 +-101 +-103 +-94 +-83 +-85 +-81 +-69 +-71 +-69 +-57 +-59 +-60 +-48 +-48 +-52 +-44 +-39 +-45 +-42 +-33 +-36 +-39 +-29 +-29 +-35 +-29 +-25 +-30 +-30 +-21 +-23 +-28 +-21 +-18 +-23 +-25 +-16 +-17 +-23 +-20 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +98 +90 +83 +77 +75 +71 +66 +60 +55 +49 +44 +38 +34 +31 +29 +27 +27 +24 +23 +20 +18 +15 +12 +9 +7 +7 +6 +5 +5 +4 +3 +1 +0 +-1 +-2 +-3 +-3 +-3 +-3 +-4 +-4 +-4 +-5 +-5 +-6 +-7 +-66 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-107 +-108 +-101 +-102 +-93 +-83 +-84 +-81 +-68 +-69 +5 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +108 +97 +91 +91 +83 +74 +64 +59 +61 +56 +48 +40 +37 +40 +35 +27 +22 +-35 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-105 +-108 +-100 +-102 +-94 +-83 +-84 +-81 +-68 +-70 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +105 +99 +90 +79 +70 +65 +67 +61 +52 +44 +43 +44 +40 +31 +26 +29 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-98 +-87 +-89 +-84 +-72 +-75 +-72 +-61 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +95 +84 +77 +79 +73 +64 +54 +50 +53 +48 +39 +33 +33 +35 +29 +-39 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-114 +-105 +-107 +-95 +-87 +-89 +-82 +-72 +-75 +-70 +-60 +-64 +-62 +-51 +-54 +-53 +-43 +-45 +-47 +-36 +-37 +-42 +-33 +-30 +-36 +-34 +-25 +-28 +-32 +-23 +-22 +-28 +-27 +-18 +-21 +-26 +-20 +-16 +-22 +-24 +-16 +-16 +-22 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +99 +89 +87 +84 +77 +66 +57 +55 +57 +50 +41 +35 +39 +36 +-32 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-105 +-106 +-94 +-86 +-88 +-82 +-71 +-73 +-71 +-59 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +107 +104 +98 +90 +81 +71 +65 +67 +62 +54 +45 +41 +45 +41 +33 +26 +25 +29 +24 +18 +13 +17 +17 +13 +6 +5 +10 +8 +1 +-1 +5 +4 +-2 +-6 +0 +2 +-4 +-8 +-3 +0 +-5 +-10 +-7 +-2 +-6 +-11 +-10 +-4 +-7 +-72 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-102 +-105 +-108 +-96 +-88 +-91 +-80 +-73 +-77 +-69 +-61 +-66 +-60 +-52 +-55 +-53 +-43 +-47 +-47 +-37 +-39 +-42 +-31 +-33 +-38 +-29 +-27 +-33 +-31 +-23 +-26 +-30 +-20 +-21 +-27 +-25 +-18 +-22 +-26 +-18 +-16 +-22 +54 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +104 +99 +97 +90 +80 +70 +63 +64 +60 +53 +44 +39 +43 +40 +33 +25 +24 +29 +25 +17 +13 +17 +17 +12 +5 +8 +11 +7 +0 +0 +7 +3 +-4 +-6 +1 +1 +-5 +-8 +-1 +-1 +-8 +-10 +-4 +-3 +-8 +-12 +-7 +-64 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-106 +-106 +-102 +-102 +-89 +-84 +-86 +-78 +-69 +-72 +8 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +90 +91 +84 +76 +65 +59 +59 +57 +50 +41 +36 +40 +37 +30 +22 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-104 +-110 +-98 +-100 +-92 +-82 +-85 +-76 +-68 +-72 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +108 +105 +99 +90 +80 +70 +66 +67 +61 +53 +44 +41 +43 +39 +31 +25 +25 +-33 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-110 +-108 +-92 +-93 +-90 +-77 +-77 +-77 +-63 +-64 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +112 +99 +91 +91 +85 +77 +67 +59 +55 +57 +51 +45 +36 +34 +37 +33 +26 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-99 +-105 +-107 +-96 +-87 +-89 +-82 +-72 +-76 +-69 +-60 +-63 +-60 +-50 +-53 +-53 +-42 +-44 +-47 +-37 +-37 +-42 +-37 +-30 +-33 +-36 +-27 +-25 +-31 +-30 +-21 +-23 +-29 +-21 +-18 +-23 +-25 +-16 +-17 +-24 +-19 +-14 +-18 +54 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +111 +105 +95 +85 +75 +72 +72 +65 +57 +48 +45 +48 +42 +35 +27 +30 +30 +24 +17 +17 +21 +17 +10 +7 +13 +12 +5 +1 +7 +7 +2 +-3 +1 +4 +-1 +-7 +-3 +1 +-3 +-9 +-6 +-1 +-6 +-12 +-8 +-3 +-8 +-72 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-112 +-100 +-101 +-95 +-83 +-84 +-81 +-69 +-70 +-70 +-57 +-58 +-60 +-49 +-48 +-52 +-45 +-39 +-43 +-43 +-33 +-34 +-39 +-31 +-28 +-33 +-33 +-24 +-25 +-31 +-26 +-20 +-25 +-27 +-18 +-19 +-25 +-20 +-15 +-20 +-23 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +103 +98 +93 +89 +83 +77 +70 +63 +56 +51 +45 +42 +39 +37 +35 +33 +29 +26 +23 +20 +17 +15 +13 +12 +10 +9 +8 +7 +6 +5 +3 +2 +1 +1 +0 +0 +0 +-1 +-1 +-2 +-2 +-3 +-4 +-5 +-6 +-6 +-6 +-65 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-106 +-106 +-107 +-101 +-88 +-90 +-84 +-73 +-76 +-71 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +121 +114 +104 +93 +83 +77 +78 +71 +63 +54 +48 +51 +48 +41 +32 +28 +33 +29 +-38 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-114 +-105 +-107 +-97 +-87 +-90 +-82 +-72 +-76 +-70 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +90 +84 +84 +77 +69 +60 +54 +57 +52 +44 +36 +37 +38 +32 +23 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-112 +-97 +-102 +-92 +-94 +-87 +-77 +-79 +-75 +-63 +-67 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +111 +99 +90 +90 +85 +77 +66 +59 +60 +57 +50 +41 +37 +41 +37 +31 +23 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-112 +-97 +-102 +-92 +-95 +-86 +-77 +-80 +-74 +-64 +-68 +-66 +-54 +-56 +-57 +-46 +-46 +-49 +-42 +-36 +-41 +-41 +-31 +-32 +-37 +-30 +-26 +-31 +-32 +-22 +-23 +-29 +-24 +-18 +-23 +-26 +-17 +-17 +-24 +-23 +-15 +-18 +-23 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +105 +97 +95 +91 +82 +73 +63 +57 +59 +55 +48 +40 +35 +38 +36 +31 +22 +20 +25 +22 +15 +10 +15 +15 +9 +3 +6 +9 +4 +-2 +0 +5 +1 +-6 +-4 +1 +-2 +-8 +-5 +-1 +-5 +-11 +-5 +-3 +-8 +-12 +-4 +-65 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-107 +-109 +-94 +-89 +-91 +-79 +-74 +-77 +-69 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +97 +89 +89 +83 +77 +67 +59 +54 +57 +51 +45 +37 +32 +35 +34 +28 +-39 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-103 +-105 +-106 +-99 +-87 +-89 +-82 +-72 +-76 +-69 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +91 +85 +77 +66 +59 +61 +57 +49 +41 +37 +41 +36 +28 +21 +-37 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-108 +-98 +-100 +-93 +-82 +-84 +-80 +-68 +-70 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +107 +99 +98 +91 +84 +74 +64 +59 +60 +56 +50 +42 +36 +38 +37 +33 +24 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-99 +-92 +-94 +-85 +-76 +-78 +-74 +-63 +-65 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +99 +89 +89 +84 +77 +67 +59 +55 +57 +51 +44 +35 +35 +37 +32 +23 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-112 +-97 +-103 +-92 +-94 +-88 +-76 +-79 +-75 +-63 +-66 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +99 +94 +93 +84 +74 +65 +65 +62 +55 +45 +42 +45 +41 +32 +25 +28 +-33 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-107 +-107 +-94 +-88 +-90 +-83 +-73 +-75 +-72 +-60 +-62 +-62 +-50 +-51 +-54 +-43 +-41 +-47 +-40 +-35 +-39 +-39 +-29 +-31 +-36 +-28 +-25 +-30 +-30 +-21 +-23 +-29 +-22 +-19 +-24 +-25 +-16 +-18 +-24 +-19 +-14 +-19 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +112 +103 +93 +83 +75 +77 +71 +64 +54 +48 +51 +48 +40 +32 +30 +-27 +-89 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-112 +-104 +-106 +-93 +-86 +-89 +-80 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +102 +90 +87 +86 +78 +68 +59 +59 +58 +51 +42 +37 +41 +37 +31 +23 +-39 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-112 +-112 +-104 +-92 +-93 +-89 +-76 +-76 +-77 +-63 +-63 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +98 +96 +92 +83 +73 +64 +64 +62 +56 +47 +40 +39 +41 +35 +27 +22 +26 +25 +19 +12 +14 +17 +14 +6 +6 +11 +8 +0 +1 +6 +2 +-5 +-3 +2 +-1 +-7 +-4 +0 +-4 +-11 +-6 +-3 +-8 +-12 +-5 +-4 +-10 +-13 +-63 +-122 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-106 +-106 +-103 +-102 +-87 +-86 +-87 +-73 +-71 +-74 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +107 +105 +96 +88 +77 +69 +69 +67 +59 +50 +43 +46 +44 +38 +29 +26 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-106 +-99 +-86 +-87 +-85 +-72 +-72 +-73 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +103 +99 +91 +80 +71 +66 +67 +61 +53 +44 +44 +45 +40 +31 +26 +30 +-32 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-104 +-106 +-98 +-86 +-88 +-83 +-72 +-76 +-72 +-61 +-63 +-62 +-50 +-53 +-54 +-43 +-45 +-47 +-36 +-37 +-41 +-32 +-30 +-36 +-32 +-24 +-28 +-31 +-21 +-21 +-27 +-25 +-18 +-22 +-27 +-19 +-17 +-23 +-23 +-15 +-17 +-23 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +105 +96 +92 +90 +83 +75 +67 +58 +54 +56 +51 +45 +36 +32 +36 +-27 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-111 +-98 +-104 +-105 +-95 +-86 +-88 +-81 +-71 +-74 +-69 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +106 +95 +85 +77 +77 +73 +67 +57 +49 +48 +49 +43 +35 +29 +33 +31 +26 +18 +18 +22 +18 +10 +7 +13 +11 +4 +1 +7 +7 +1 +-3 +2 +3 +-2 +-7 +-2 +1 +-4 +-9 +-4 +-2 +-7 +-11 +-7 +-3 +-8 +-13 +-8 +-65 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-104 +-105 +-107 +-99 +-88 +-91 +-84 +-74 +-77 +-71 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +117 +113 +105 +95 +85 +75 +71 +71 +66 +58 +49 +43 +44 +43 +38 +30 +25 +26 +-32 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-107 +-95 +-88 +-90 +-79 +-73 +-77 +-69 +-61 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +100 +89 +86 +85 +77 +67 +59 +59 +57 +49 +41 +38 +42 +37 +29 +24 +-32 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-108 +-99 +-101 +-91 +-81 +-84 +-78 +-68 +-71 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +106 +96 +87 +77 +71 +72 +67 +59 +50 +44 +48 +44 +38 +29 +28 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-113 +-105 +-106 +-96 +-86 +-89 +-83 +-72 +-75 +-72 +-61 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +93 +83 +81 +79 +71 +62 +53 +53 +51 +45 +35 +33 +37 +33 +25 +-41 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-98 +-98 +-100 +-93 +-95 +-86 +-76 +-78 +-75 +-63 +-65 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +106 +97 +87 +76 +72 +73 +67 +58 +49 +45 +48 +43 +36 +29 +29 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-104 +-105 +-99 +-86 +-87 +-85 +-71 +-73 +-73 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +98 +93 +92 +84 +75 +65 +60 +61 +56 +48 +40 +38 +41 +35 +27 +22 +-33 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-101 +-102 +-109 +-97 +-97 +-93 +-80 +-82 +-79 +-67 +-70 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +106 +97 +87 +77 +71 +71 +67 +59 +51 +44 +45 +43 +37 +29 +26 +30 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-107 +-108 +-95 +-88 +-90 +-81 +-72 +-74 +-72 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +105 +98 +89 +78 +70 +68 +67 +60 +51 +44 +46 +45 +38 +29 +27 +31 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-98 +-104 +-106 +-98 +-86 +-88 +-84 +-71 +-74 +-71 +-60 +-64 +-60 +-50 +-54 +-52 +-42 +-46 +-46 +-36 +-40 +-42 +-31 +-34 +-37 +-27 +-28 +-33 +-27 +-22 +-27 +-29 +-19 +-20 +-27 +-21 +-16 +-20 +-24 +-17 +-15 +-20 +-23 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +106 +98 +90 +83 +79 +76 +71 +66 +60 +55 +50 +45 +38 +33 +29 +-34 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-104 +-105 +-96 +-86 +-87 +-85 +-71 +-71 +-72 +-61 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +98 +90 +81 +71 +64 +65 +61 +55 +46 +40 +43 +41 +35 +27 +27 +-30 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-98 +-105 +-107 +-96 +-87 +-89 +-82 +-72 +-75 +-71 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +122 +115 +104 +92 +83 +80 +79 +71 +62 +54 +53 +53 +47 +38 +33 +36 +34 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-99 +-104 +-107 +-95 +-87 +-90 +-80 +-72 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +93 +83 +80 +79 +71 +63 +53 +52 +53 +47 +37 +32 +36 +33 +25 +-41 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-107 +-106 +-93 +-87 +-90 +-81 +-72 +-75 +-71 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +116 +105 +93 +84 +82 +79 +71 +61 +53 +54 +52 +45 +36 +33 +37 +33 +25 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-107 +-97 +-87 +-89 +-83 +-72 +-75 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +101 +89 +86 +85 +78 +67 +59 +58 +58 +51 +42 +35 +38 +37 +31 +22 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-103 +-103 +-104 +-98 +-100 +-90 +-81 +-83 +-78 +-67 +-69 +-68 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +90 +89 +85 +77 +67 +59 +56 +57 +51 +43 +35 +36 +37 +32 +23 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-112 +-97 +-99 +-92 +-95 +-86 +-77 +-79 +-76 +-64 +-65 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +90 +89 +85 +77 +68 +59 +54 +56 +52 +45 +36 +33 +37 +34 +28 +21 +19 +24 +21 +14 +9 +13 +14 +9 +2 +4 +9 +5 +-3 +0 +5 +-1 +-7 +-4 +0 +-4 +-10 +-5 +-1 +-6 +-11 +-5 +-3 +-9 +-13 +-5 +-5 +-70 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-108 +-106 +-105 +-103 +-102 +-87 +-86 +-86 +-73 +-72 +-74 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +105 +99 +97 +90 +81 +71 +63 +63 +61 +55 +45 +39 +41 +40 +34 +26 +23 +-32 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-113 +-106 +-107 +-94 +-88 +-90 +-80 +-72 +-77 +-70 +-61 +-65 +-62 +-50 +-53 +-54 +-43 +-42 +-47 +-40 +-35 +-39 +-40 +-30 +-31 +-36 +-28 +-25 +-31 +-30 +-21 +-22 +-28 +-24 +-18 +-21 +-26 +-18 +-16 +-21 +-23 +-14 +-14 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +104 +97 +96 +90 +81 +70 +62 +63 +60 +53 +44 +38 +42 +39 +32 +-36 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-109 +-99 +-103 +-105 +-95 +-85 +-89 +-79 +-71 +-76 +-66 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +93 +83 +79 +79 +72 +63 +54 +51 +53 +48 +41 +33 +31 +35 +30 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-107 +-106 +-91 +-89 +-90 +-76 +-73 +-77 +-66 +-61 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +96 +86 +77 +73 +73 +67 +59 +50 +45 +47 +43 +37 +28 +27 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-105 +-106 +-98 +-87 +-89 +-83 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +91 +83 +80 +79 +71 +62 +53 +53 +53 +47 +37 +33 +37 +34 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-100 +-104 +-106 +-98 +-86 +-89 +-82 +-71 +-74 +-71 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +102 +91 +86 +85 +78 +69 +60 +57 +58 +51 +43 +36 +40 +37 +31 +23 +23 +26 +21 +12 +12 +16 +13 +6 +4 +11 +8 +0 +-1 +6 +4 +-3 +-5 +2 +0 +-6 +-7 +0 +-2 +-9 +-10 +-2 +-4 +-11 +-11 +-3 +-6 +-13 +-73 +-104 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-106 +-107 +-98 +-88 +-90 +-86 +-73 +-75 +-73 +-61 +-62 +-63 +-51 +-51 +-55 +-45 +-41 +-46 +-43 +-34 +-38 +-40 +-30 +-31 +-36 +-28 +-25 +-31 +-30 +-21 +-24 +-29 +-24 +-19 +-24 +-26 +-17 +-18 +-24 +-19 +-15 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +107 +96 +88 +88 +83 +75 +65 +57 +56 +56 +50 +41 +35 +38 +37 +-31 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 From 58f478696de57e7c6f70a5ca0c0fefaf86960b18 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 27 Jan 2015 16:05:05 -0500 Subject: [PATCH 124/133] Revert "Traces" This reverts commit 7f9064c6418f63be68a246111c13fb6915b715b5. --- traces/EM4102-1.pm3 | 16000 ------------------------------------------ 1 file changed, 16000 deletions(-) delete mode 100644 traces/EM4102-1.pm3 diff --git a/traces/EM4102-1.pm3 b/traces/EM4102-1.pm3 deleted file mode 100644 index cad34276a..000000000 --- a/traces/EM4102-1.pm3 +++ /dev/null @@ -1,16000 +0,0 @@ -85 -85 -78 -68 -59 -54 -56 -51 -44 -35 -35 -37 -33 -25 --39 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --112 --112 --101 --92 --94 --86 --76 --79 --73 --63 --67 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -92 -91 -83 -73 -64 -63 -62 -55 -45 -40 -43 -41 -34 -26 -23 --31 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --102 --102 --105 --97 --98 --90 --80 --82 --78 --66 --69 --68 --55 --58 --59 --48 --50 --52 --41 --41 --46 --37 --33 --39 --38 --28 --31 --35 --26 --24 --30 --30 --20 --23 --28 --23 --18 --23 --25 --16 --17 --24 --20 --15 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -121 -111 -102 -90 -82 -81 -77 -70 -61 -52 -52 -51 -45 -36 -31 -35 --27 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --108 --114 --103 --104 --97 --85 --87 --81 --70 --73 --70 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -115 -103 -90 -82 -81 -77 -70 -59 -53 -56 -52 -45 -36 -34 -37 -33 -24 -20 -25 -24 -17 -11 -14 -16 -11 -5 -4 -11 -7 -0 --3 -4 -3 --2 --7 --2 -1 --2 --8 --6 --1 --4 --10 --8 --3 --6 --13 --8 --4 --68 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --107 --104 --104 --102 --101 --87 --85 --86 --73 --70 --74 --64 --58 --62 --58 --49 --51 --52 --41 --40 --46 --39 --33 --37 --39 --29 --28 --34 --31 --24 --27 --31 --23 --20 --26 --27 --18 --18 --25 --22 --15 --18 --24 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -111 -103 -94 -84 -74 -71 -71 -64 -54 -47 -49 -47 -39 -31 -30 -34 -29 -21 -18 -24 -21 -13 -10 -16 -14 -6 -4 -11 -7 -1 --2 -5 -3 --3 --5 -2 -0 --6 --9 --2 --3 --10 --12 --4 --5 --11 --12 --63 --121 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --106 --106 --101 --102 --88 --83 --86 --75 --68 --72 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -101 -89 -81 -79 -77 -70 -62 -53 -48 -50 -47 -41 -33 -28 -31 -30 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --104 --106 --95 --86 --89 --82 --71 --74 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -104 -93 -83 -77 -79 -72 -64 -54 -49 -51 -48 -41 -33 -29 -34 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --111 --112 --104 --106 --94 --87 --89 --80 --72 --75 --69 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -93 -83 -79 -79 -72 -63 -53 -50 -52 -47 -39 -31 -30 -33 -28 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --114 --104 --106 --95 --87 --89 --81 --72 --75 --70 --60 --63 --60 --50 --54 --53 --42 --45 --47 --35 --38 --42 --31 --31 --36 --31 --25 --30 --31 --21 --23 --29 --24 --18 --23 --25 --16 --18 --24 --18 --14 --20 --21 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -103 -95 -91 -89 -82 -74 -64 -57 -56 -56 -49 -40 -35 -38 -36 -30 -21 -22 -26 -21 -13 -11 -17 -14 -6 -4 -10 -7 --1 --1 -6 -2 --5 --3 -3 --1 --8 --4 -0 --4 --10 --6 --3 --7 --12 --7 --3 --67 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --107 --104 --104 --103 --101 --86 --86 --86 --72 --72 --73 --60 --59 --63 --54 --50 --54 --50 --41 --43 --46 --35 --35 --40 --34 --29 --33 --34 --24 --26 --32 --25 --21 --26 --27 --18 --20 --26 --19 --16 --21 --23 --15 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -121 -111 -101 -90 -82 -80 -77 -70 -61 -52 -51 -51 -45 -36 -31 -35 -33 -26 -20 -20 -24 -19 -11 -10 -16 -13 -6 -3 -9 -8 -2 --3 -3 -3 --1 --6 --2 -1 --3 --10 --4 --2 --8 --11 --3 --4 --11 --11 --62 --121 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --97 --114 --103 --93 --94 --88 --77 --80 --75 --64 -8 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -120 -112 -102 -91 -81 -75 -77 -71 -63 -54 -48 -49 -48 -41 -33 -28 -33 -30 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --104 --106 --95 --86 --89 --82 --72 --75 --70 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -90 -83 -83 -77 -69 -60 -53 -56 -52 -45 -36 -33 -37 -33 -26 --40 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --100 --103 --104 --98 --85 --87 --83 --71 --73 --72 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -91 -83 -81 -79 -71 -63 -54 -49 -51 -47 -41 -33 -28 -32 -30 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --109 --99 --103 --105 --97 --86 --88 --82 --71 --75 --69 --59 --63 --59 --49 --55 --50 --42 --47 --45 --35 --41 --40 --31 --35 --36 --26 --30 --33 --25 --26 --32 --24 --21 --26 --26 --17 --20 --25 --17 --15 --22 --21 --13 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -112 -104 -104 -96 -87 -77 -69 -67 -66 -59 -49 -43 -46 -43 -37 -28 -27 -30 -27 -19 -14 -19 -19 -13 -6 -6 -11 -8 -1 -0 -7 -5 --2 --5 -3 -1 --5 --7 -0 --1 --7 --10 --2 --3 --8 --11 --4 --4 --68 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --103 --104 --106 --98 --101 --90 --81 --84 --78 --68 --72 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -110 -99 -88 -85 -83 -77 -67 -57 -53 -56 -50 -43 -34 -33 -36 -31 -23 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --110 --112 --102 --92 --94 --87 --76 --79 --73 --63 --67 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -104 -93 -83 -77 -77 -71 -63 -54 -48 -51 -47 -41 -32 -30 -34 -30 --37 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --104 --105 --96 --86 --87 --83 --71 --73 --71 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -103 -91 -83 -84 -78 -70 -61 -53 -53 -52 -47 -38 -33 -35 -34 -28 --39 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --99 --104 --106 --95 --86 --89 --79 --72 --76 --67 --61 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -102 -91 -83 -81 -79 -71 -62 -53 -52 -52 -47 -38 -31 -33 -33 -27 --40 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --99 --103 --105 --98 --86 --88 --84 --71 --73 --70 --59 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -105 -95 -84 -75 -75 -71 -64 -54 -47 -48 -48 -41 -33 -28 -32 -30 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --112 --105 --107 --93 --87 --90 --79 --72 --76 --68 --60 --64 --60 --50 --54 --52 --42 --45 --46 --35 --39 --42 --32 --32 --37 --30 --26 --31 --31 --22 --26 --29 --19 --21 --27 --20 --17 --22 --24 --15 --16 --22 --20 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -105 -97 -90 -85 -81 -77 -71 -65 -59 -53 -47 -42 -38 -34 -32 --29 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --100 --101 --107 --96 --98 --90 --79 --82 --78 --67 --69 --67 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -98 -94 -92 -84 -76 -67 -59 -58 -57 -51 -43 -35 -35 -37 -32 -24 --39 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --99 --92 --94 --85 --76 --78 --75 --63 --65 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -96 -91 -91 -83 -73 -64 -61 -62 -55 -45 -39 -41 -40 -34 -26 -24 -29 -24 -17 -12 -18 -17 -11 -5 -9 -10 -5 --1 -3 -6 -1 --5 -0 -3 --1 --7 --1 -1 --4 --9 --2 --1 --7 --10 --2 --3 --10 --12 --62 --120 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --107 --100 --102 --89 --83 --86 --77 --69 --72 -5 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -100 -88 -82 -82 -77 -69 -60 -52 -53 -52 -45 -35 -31 -35 -32 -25 --41 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --100 --104 --106 --98 --87 --88 --83 --71 --74 --71 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -90 -82 -81 -78 -70 -62 -53 -50 -52 -48 -41 -33 -30 -34 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --102 --103 --104 --98 --100 --87 --81 --84 --77 --67 --69 --68 --56 --58 --59 --48 --46 --52 --45 --39 --43 --43 --33 --34 --39 --30 --27 --33 --32 --23 --25 --30 --23 --20 --24 --27 --18 --18 --24 --22 --15 --19 --24 --16 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -103 -97 -91 -87 -82 -77 -71 -65 -59 -53 -45 -39 -35 -33 -32 --28 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --100 --99 --111 --96 --96 --94 --80 --79 --80 --66 --65 --67 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -95 -85 -75 -74 -72 -66 -57 -48 -45 -48 -43 -35 -28 -30 -31 -26 -18 -16 -21 -19 -12 -7 -12 -13 -7 -1 -4 -7 -2 --4 -0 -2 --3 --8 --3 -0 --5 --9 --5 --2 --7 --11 --7 --3 --9 --13 --6 --64 --126 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --102 --105 --107 --97 --87 --91 --80 --73 --77 --68 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -106 -104 -96 -88 -77 -69 -65 -66 -60 -53 -43 -40 -43 -40 -33 -26 -22 --33 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --103 --104 --106 --98 --100 --90 --81 --84 --79 --68 --70 --68 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -113 -106 -96 -85 -76 -73 -72 -66 -57 -48 -45 -48 -43 -35 -28 -30 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --112 --97 --99 --92 --95 --83 --77 --80 --73 --64 --67 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -90 -91 -83 -75 -65 -59 -60 -57 -50 -41 -36 -40 -37 -30 -22 --37 --90 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --101 --103 --105 --97 --99 --91 --80 --82 --78 --67 --70 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -105 -97 -87 -77 -70 -67 -67 -60 -52 -44 -42 -44 -40 -32 -26 -25 --32 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --104 --106 --95 --86 --89 --83 --72 --75 --71 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -103 -91 -83 -81 -78 -70 -59 -52 -55 -51 -44 -35 -33 -37 -33 -24 --39 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --111 --111 --103 --91 --92 --88 --75 --77 --76 --63 --65 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -107 -97 -95 -91 -83 -73 -64 -61 -62 -56 -47 -40 -41 -41 -35 -27 -24 --31 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --104 --105 --96 --86 --89 --82 --71 --75 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -101 -89 -84 -84 -78 -69 -60 -53 -56 -52 -45 -36 -35 -37 -32 -23 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --111 --112 --101 --91 --94 --86 --76 --79 --71 --63 --67 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -102 -90 -83 -82 -77 -70 -61 -52 -51 -51 -47 -38 -31 -31 -34 -29 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --111 --106 --106 --92 --88 --90 --78 --72 --76 --69 --60 --63 --61 --50 --52 --53 --42 --44 --47 --37 --35 --41 --37 --30 --34 --36 --26 --26 --32 --26 --21 --27 --28 --18 --21 --26 --19 --16 --23 --23 --14 --17 --23 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -113 -111 -104 -95 -86 -75 -69 -69 -65 -59 -51 -43 -41 -43 -39 -32 --34 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --100 --100 --108 --96 --97 --90 --80 --83 --76 --67 --71 --65 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -115 -106 -95 -85 -76 -76 -73 -66 -57 -49 -47 -48 -43 -35 -28 -30 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --105 --107 --95 --87 --89 --82 --71 --74 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -114 -105 -95 -85 -75 -71 -71 -66 -58 -49 -44 -47 -44 -38 -30 -26 -30 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --110 --105 --106 --91 --86 --89 --78 --71 --74 --69 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -118 -114 -105 -93 -83 -77 -77 -71 -64 -54 -49 -51 -47 -40 -32 -31 -35 -29 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --112 --104 --106 --94 --86 --89 --80 --71 --75 --69 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -93 -83 -77 -78 -72 -65 -55 -49 -51 -48 -41 -33 -29 -33 -30 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --111 --114 --104 --106 --96 --86 --89 --82 --71 --74 --71 --59 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -114 -105 -94 -83 -76 -78 -72 -63 -54 -50 -52 -47 -39 -32 -34 -34 -27 --39 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --99 --104 --105 --97 --86 --88 --82 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -91 -83 -80 -79 -71 -64 -54 -49 -50 -48 -42 -33 -28 -32 -30 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --112 --104 --106 --93 --86 --89 --78 --71 --75 --66 --60 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -101 -89 -85 -84 -77 -67 -59 -56 -57 -51 -42 -34 -34 -36 -32 -24 -19 -22 -23 -18 -11 -9 -16 -13 -6 -2 -8 -8 -3 --3 -2 -4 --1 --6 --2 -1 --3 --9 --4 --2 --7 --12 --6 --4 --8 --13 --8 --4 --67 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --102 --106 --107 --98 --88 --91 --81 --73 --77 --69 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -111 -104 -94 -85 -75 -70 -71 -65 -57 -48 -45 -48 -43 -35 -28 -29 -30 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --104 --106 --96 --86 --88 --82 --71 --74 --70 --59 --63 --61 --50 --54 --52 --43 --47 --47 --36 --41 --40 --31 --36 --36 --27 --33 --32 --23 --29 --29 --20 --25 --27 --17 --22 --25 --16 --19 --24 --15 --15 --22 -58 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -101 -89 -82 -81 -77 -69 -59 -52 -54 -51 -44 -35 -32 -36 --28 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --110 --113 --103 --105 --96 --86 --88 --83 --71 --73 --70 --59 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -102 -91 -87 -85 -77 -67 -59 -58 -57 -51 -42 -35 -39 -37 -31 -23 --39 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --112 --112 --101 --92 --94 --87 --76 --78 --75 --63 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -93 -92 -84 -75 -65 -61 -62 -57 -48 -40 -38 -41 -36 -28 -22 --35 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --104 --104 --105 --98 --100 --91 --80 --83 --79 --67 --69 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -106 -96 -88 -77 -71 -71 -67 -59 -50 -45 -47 -44 -37 -29 -27 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --98 --104 --106 --97 --86 --89 --80 --72 --76 --69 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -89 -82 -82 -77 -69 -59 -52 -55 -51 -45 -36 -33 -37 -34 -26 -20 -22 -24 -17 -11 -13 -16 -10 -3 -6 -9 -4 --2 -2 -4 --2 --7 -0 -1 --5 --8 --1 --2 --9 --9 --2 --5 --11 --10 --4 --7 --13 --69 --102 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --105 --106 --97 --86 --87 --83 --71 --72 --72 --60 --59 --62 --53 --48 --53 --51 --41 --42 --46 --37 --34 --38 --38 --29 --30 --35 --29 --24 --29 --30 --21 --22 --29 --23 --18 --23 --26 --17 --17 --23 --22 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -103 -94 -84 -76 -69 -63 -61 -59 -55 -50 -46 -42 -38 -34 --30 --90 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --107 --101 --102 --103 --98 --85 --87 --83 --71 --73 --69 --59 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -88 -85 -77 -66 -59 -59 -57 -50 -41 -36 -41 -36 -29 -22 --36 --90 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --103 --104 --107 --98 --99 --93 --81 --82 --80 --67 --67 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -107 -105 -97 -89 -79 -70 -65 -67 -61 -54 -44 -41 -45 -40 -32 -26 -27 -29 -23 -15 -13 -19 -15 -9 -5 -11 -10 -4 --1 -5 -6 -0 --5 -2 -2 --4 --7 -0 --1 --7 --10 --2 --3 --9 --12 --5 --4 --10 --14 --65 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --107 --101 --103 --90 --84 --86 --78 --69 --72 --67 --57 --60 --60 --47 --49 --51 --41 --40 --45 --37 --33 --37 --36 --27 --30 --34 --24 --24 --30 --26 --21 --25 --28 --18 --19 --25 --21 --16 --21 --24 --16 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -97 -88 -81 -75 -73 -69 -65 -59 -55 -50 -44 -38 -33 -29 -27 -26 -26 -24 -22 -19 -17 -15 -12 -10 -8 -6 -5 -4 -4 -4 -3 -2 -1 -0 --1 --2 --3 --3 --3 --4 --3 --3 --4 --4 --5 --5 --65 --102 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --111 --98 --100 --92 --82 --85 --77 --68 --73 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -88 -83 -83 -77 -69 -60 -52 -53 -51 -45 -37 -31 -34 -33 -27 --40 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --104 --106 --97 --87 --89 --84 --72 --76 --70 --61 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -100 -89 -87 -85 -77 -67 -58 -55 -57 -50 -41 -35 -39 -37 -30 -22 --38 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --106 --99 --101 --89 --81 --85 --77 --68 --71 --66 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -118 -114 -105 -95 -85 -76 -76 -73 -66 -57 -49 -49 -49 -43 -35 -30 -34 -31 --35 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --105 --107 --95 --87 --89 --81 --72 --75 --69 --60 --63 --60 --50 --54 --54 --43 --45 --48 --37 --36 --41 --37 --29 --33 --35 --26 --26 --32 --27 --21 --25 --29 --20 --19 --25 --25 --16 --18 --24 --19 --15 --20 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -118 -112 -103 -91 -82 -80 -77 -70 -61 -52 -53 -51 -45 -36 -31 -35 --27 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --111 --104 --106 --95 --86 --88 --82 --70 --73 --70 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -115 -104 -92 -82 -80 -78 -70 -61 -53 -55 -52 -46 -37 -33 -37 -34 -27 -20 -20 -24 -19 -13 -9 -14 -14 -9 -2 -4 -9 -5 --2 --2 -4 -0 --7 --5 -1 --3 --9 --5 --1 --5 --11 --5 --3 --8 --13 --6 --5 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --128 --98 --107 --108 --94 --89 --92 --80 --73 --76 --71 --61 --64 --62 --51 --52 --56 --44 --43 --48 --42 --35 --39 --40 --31 --31 --36 --29 --25 --30 --31 --21 --23 --29 --22 --18 --25 --25 --16 --19 --25 --18 --15 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -106 -97 -93 -91 -83 -73 -63 -61 -61 -55 -45 -38 -40 -39 -33 -24 -21 -27 -24 -17 -11 -18 -16 -10 -4 -10 -10 -4 --1 -5 -5 --1 --5 -3 -2 --5 --7 -0 --1 --8 --11 --3 --4 --9 --12 --5 --4 --68 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --97 --98 --105 --93 --93 --90 --76 --76 --77 --65 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -98 -87 -83 -83 -77 -69 -59 -52 -54 -51 -45 -35 -33 -37 -33 -24 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --111 --112 --102 --92 --93 --87 --76 --79 --75 --63 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -98 -91 -91 -84 -75 -65 -59 -61 -57 -49 -40 -37 -41 -35 -27 -23 --32 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --105 --107 --94 --87 --90 --80 --72 --76 --71 --61 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -105 -95 -84 -77 -77 -73 -65 -55 -48 -49 -47 -40 -32 -29 -34 -29 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --109 --102 --104 --105 --98 --85 --88 --81 --71 --73 --69 --59 --62 --60 --49 --51 --53 --42 --41 --47 --40 --34 --38 --40 --29 --30 --35 --30 --26 --30 --32 --22 --23 --29 --23 --18 --24 --26 --16 --19 --24 --18 --15 --20 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -111 -103 -93 -81 -76 -77 -70 -61 -52 -53 -51 -45 -36 -31 -36 -33 -25 -20 -22 -24 -18 -11 -10 -15 -11 -4 -3 -10 -5 --1 -1 -5 -0 --5 -0 -2 --3 --8 --2 --1 --6 --10 --4 --3 --8 --12 --6 --63 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --104 --105 --106 --99 --87 --90 --82 --73 --77 --70 --61 --65 --61 --51 --54 --54 --43 --47 --46 --36 --40 --41 --31 --34 --37 --27 --28 --34 --26 --23 --29 --29 --19 --23 --28 --21 --18 --23 --25 --16 --17 --23 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -109 -105 -95 -87 -77 -68 -65 -66 -59 -51 -43 -41 -44 -39 -31 -25 -27 -28 -22 -15 -16 -19 -13 -7 -9 -13 -7 -1 -4 -7 -1 --5 --1 -3 --2 --7 --3 -0 --5 --10 --5 --2 --7 --12 --5 --4 --10 --72 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --107 --108 --95 --88 --91 --82 --73 --75 --72 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -97 -92 -91 -83 -74 -64 -60 -62 -56 -48 -40 -38 -41 -35 -28 -21 --36 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --109 --98 --99 --93 --81 --83 --81 --68 --70 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -96 -85 -76 -74 -73 -66 -56 -48 -45 -48 -42 -34 -29 -32 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --104 --106 --97 --87 --89 --81 --72 --75 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -103 -91 -83 -80 -79 -71 -63 -54 -51 -53 -48 -39 -32 -33 -35 -29 --39 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --113 --104 --106 --96 --86 --88 --82 --71 --73 --71 --60 --62 --62 --49 --51 --54 --44 --41 --47 --42 --34 --38 --40 --29 --31 --35 --28 --25 --31 --29 --21 --25 --29 --20 --19 --26 --23 --16 --21 --24 --15 --17 --24 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -105 -96 -93 -90 -82 -74 -64 -58 -59 -56 -48 -40 -34 -37 -36 -30 -22 -21 -25 -22 -14 -11 -16 -15 -7 -3 -9 -9 -3 --2 -3 -5 --1 --5 -1 -2 --3 --8 --2 --1 --6 --10 --3 --2 --7 --11 --5 --63 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --110 --100 --101 --94 --83 --84 --81 --68 --71 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -105 -95 -93 -90 -81 -72 -63 -62 -61 -55 -45 -39 -42 -40 -33 -25 -25 --32 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --98 --104 --106 --98 --86 --88 --83 --71 --74 --71 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -93 -83 -79 -79 -72 -63 -54 -52 -53 -47 -37 -33 -37 -34 -25 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --100 --93 --95 --86 --76 --79 --76 --64 --67 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -98 -93 -91 -83 -74 -64 -61 -62 -56 -47 -40 -38 -41 -35 -28 -22 --36 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --105 --105 --106 --99 --101 --90 --82 --85 --77 --68 --71 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -106 -102 -97 -90 -80 -70 -65 -67 -61 -53 -44 -42 -45 -40 -31 -26 -29 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --104 --106 --97 --86 --88 --83 --71 --74 --71 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -112 -106 -96 -87 -77 -70 -70 -67 -60 -53 -44 -42 -44 -40 -33 -26 -26 --31 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --110 --105 --91 --93 --88 --76 --79 --76 --64 --67 --65 --54 --57 --56 --44 --48 --49 --38 --39 --43 --33 --33 --38 --33 --27 --31 --33 --23 --24 --30 --23 --20 --25 --27 --18 --19 --26 --20 --16 --21 --23 --15 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -105 -99 -93 -88 -82 -76 -70 -63 -56 -51 -45 -43 -39 -37 -35 --28 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --101 --102 --107 --97 --99 --88 --80 --84 --74 --67 --71 --65 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -106 -100 -98 -91 -83 -73 -65 -62 -63 -57 -48 -41 -40 -41 -35 -27 -24 --31 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --112 --107 --108 --93 --89 --91 --78 --73 --77 --68 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -94 -85 -77 -79 -74 -67 -58 -50 -48 -50 -44 -35 -29 -31 -31 -25 -17 -17 -21 -18 -11 -7 -12 -12 -6 -1 -3 -7 -3 --3 --2 -3 --1 --7 --4 -0 --5 --10 --4 --3 --9 --12 --5 --4 --10 --13 --7 --65 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --106 --107 --101 --103 --90 --83 --86 --78 --69 --71 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -96 -89 -90 -83 -74 -64 -59 -61 -56 -48 -40 -36 -40 -36 -29 -22 --38 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --112 --97 --102 --92 --95 --85 --77 --80 --73 --64 --68 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -110 -98 -92 -92 -84 -75 -64 -61 -62 -57 -48 -40 -38 -41 -36 -29 -23 --34 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --104 --108 --98 --100 --92 --81 --84 --78 --68 --71 --68 --57 --60 --59 --47 --50 --51 --40 --40 --45 --38 --33 --38 --37 --28 --31 --35 --26 --24 --30 --29 --20 --22 --28 --23 --18 --23 --26 --18 --17 --22 --23 --14 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -111 -105 -96 -87 -77 -69 -65 -65 -59 -53 -45 -39 -39 -40 -35 --33 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --101 --101 --110 --97 --97 --94 --80 --81 --80 --66 --67 --68 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -112 -106 -97 -89 -79 -71 -67 -68 -62 -54 -45 -41 -43 -41 -35 -27 -23 -27 -25 -21 -13 -12 -17 -14 -7 -3 -8 -9 -4 --1 -0 -6 -2 --5 --6 -2 -0 --6 --9 --1 --2 --7 --11 --4 --3 --8 --12 --6 --4 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --109 --99 --101 --94 --82 --85 --81 --69 --72 -7 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -96 -90 -90 -83 -75 -65 -58 -58 -56 -49 -41 -34 -37 -36 -29 -22 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --105 --105 --105 --100 --101 --88 --82 --85 --75 --68 --72 --65 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -106 -96 -87 -77 -70 -70 -67 -61 -52 -44 -43 -45 -40 -32 -26 -26 --32 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --96 --87 --89 --83 --72 --74 --71 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -115 -105 -94 -84 -79 -79 -73 -63 -54 -53 -54 -47 -38 -34 -38 -35 -27 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --113 --98 --100 --94 --96 --84 --78 --81 --73 --64 --68 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -91 -83 -83 -79 -71 -63 -54 -51 -53 -48 -40 -32 -30 -34 -29 --39 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --105 --107 --97 --88 --90 --82 --72 --76 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -102 -91 -85 -85 -77 -69 -60 -53 -56 -52 -45 -36 -35 -37 -33 -24 --40 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --99 --93 --95 --86 --76 --79 --74 --63 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -108 -98 -96 -92 -83 -74 -65 -62 -62 -57 -48 -40 -38 -41 -36 -28 -23 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --109 --98 --99 --94 --81 --82 --80 --67 --67 --70 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -106 -103 -98 -90 -80 -71 -67 -67 -61 -52 -45 -45 -45 -39 -31 -26 -29 --31 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --105 --105 --107 --100 --101 --93 --82 --84 --80 --68 --70 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -98 -89 -78 -70 -66 -67 -61 -53 -44 -42 -44 -40 -31 -26 -29 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --95 --87 --90 --81 --72 --76 --69 --60 --64 --61 --50 --55 --51 --42 --45 --46 --36 --40 --42 --32 --33 --37 --28 --27 --33 --29 --22 --27 --29 --20 --21 --27 --21 --17 --22 --24 --15 --16 --22 --20 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -105 -97 -94 -91 -83 -75 -65 -58 -59 -56 -49 -41 -35 -36 -35 --30 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --107 --102 --103 --103 --98 --86 --88 --83 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -92 -84 -81 -79 -71 -63 -53 -51 -52 -48 -40 -33 -31 -35 -30 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --97 --87 --89 --83 --72 --73 --72 --60 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -113 -107 -98 -89 -79 -71 -71 -68 -61 -52 -45 -47 -45 -39 -31 -26 -29 --31 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --98 --105 --107 --97 --87 --89 --84 --72 --73 --73 --61 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -103 -99 -91 -81 -72 -65 -67 -62 -54 -45 -42 -44 -39 -30 -25 -30 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --99 --87 --87 --85 --72 --70 --73 --62 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -102 -98 -91 -83 -75 -65 -59 -58 -57 -51 -44 -36 -35 -38 -33 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --105 --106 --97 --87 --90 --81 --73 --76 --69 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -104 -92 -83 -80 -79 -73 -64 -55 -50 -52 -48 -41 -33 -30 -34 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --103 --110 --98 --99 --93 --81 --84 --78 --68 --72 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -94 -84 -77 -78 -73 -66 -57 -49 -46 -48 -43 -36 -29 -27 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --99 --105 --108 --96 --88 --91 --81 --73 --77 --70 --61 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -89 -84 -84 -77 -69 -59 -54 -57 -51 -44 -35 -35 -37 -33 -24 -20 -24 -23 -17 -11 -13 -16 -11 -4 -6 -11 -6 --1 -0 -5 -0 --6 --3 -2 --3 --8 --3 --1 --7 --10 --2 --3 --10 --11 --3 --5 --12 --72 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --107 --109 --96 --89 --92 --82 --73 --76 --73 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -102 -93 -84 -76 -74 -72 -66 -58 -49 -43 -47 -43 -37 -29 -26 -31 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --97 --87 --88 --85 --72 --73 --73 --61 --60 --63 --54 --48 --51 --51 --41 --40 --44 --41 --33 --34 --39 --31 --27 --31 --33 --24 --23 --29 --28 --19 --22 --28 --21 --18 --22 --25 --17 --16 --21 --23 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -106 -100 -95 -89 -82 -76 -70 -63 -56 -50 -45 -41 -38 -37 -34 --28 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --110 --112 --103 --104 --95 --85 --87 --82 --70 --74 --70 --59 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -88 -85 -77 -67 -59 -57 -57 -51 -42 -37 -41 -37 -30 -23 --37 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --105 --105 --105 --100 --101 --90 --82 --85 --77 --68 --71 --67 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -100 -90 -88 -85 -78 -71 -62 -54 -52 -53 -48 -40 -32 -29 -33 -30 --37 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --101 --105 --107 --97 --87 --90 --83 --72 --75 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -92 -83 -80 -79 -71 -64 -55 -49 -51 -49 -43 -35 -29 -31 -32 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --99 --105 --106 --97 --87 --88 --84 --72 --74 --72 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -97 -87 -77 -71 -72 -67 -58 -49 -45 -48 -44 -37 -29 -27 -31 -28 -21 -15 -15 -19 -14 -7 -6 -13 -9 -2 -1 -8 -4 --3 --3 -3 -0 --6 --7 -1 --2 --8 --9 --1 --3 --10 --10 --3 --5 --10 --13 --65 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --102 --99 --99 --100 --97 --84 --85 --83 --69 --71 --70 --58 --60 --61 --49 --51 --53 --41 --43 --47 --36 --35 --41 --35 --29 --34 --34 --25 --27 --32 --23 --23 --29 --26 --19 --23 --26 --16 --18 --24 --18 --15 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -89 -88 -83 -76 -65 -58 -57 -56 -50 -42 -35 -36 -37 --29 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --112 --104 --105 --96 --86 --88 --83 --71 --73 --71 --59 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -102 -99 -92 -83 -73 -65 -66 -63 -56 -46 -40 -42 -41 -35 -28 -23 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --107 --99 --101 --92 --81 --83 --79 --68 --70 --70 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -102 -91 -84 -84 -79 -71 -61 -54 -56 -52 -45 -36 -32 -36 -33 -27 -20 -19 -24 -20 -13 -9 -14 -14 -9 -2 -4 -8 -5 --2 --2 -4 -1 --5 --6 -1 --1 --9 --8 --2 --5 --11 --8 --3 --6 --12 --8 --5 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --105 --107 --98 --87 --91 --82 --74 --77 --71 --62 --66 --61 --52 --56 --54 --43 --48 --46 --37 --43 --40 --32 --38 --37 --28 --33 --34 --24 --28 --31 --21 --23 --29 --20 --19 --26 --23 --16 --20 --24 --15 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -106 -102 -97 -90 -83 -77 -71 -64 -56 -50 -45 -42 -41 -39 -36 -33 -29 -26 -21 -17 -15 -14 -13 -13 -12 -11 -9 -8 -6 -5 -3 -1 -0 -0 -0 -0 --1 --1 --2 --3 --4 --4 --6 --6 --7 --7 --8 --66 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --107 --107 --99 --88 --91 --83 --74 --78 --70 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -119 -114 -105 -95 -85 -76 -72 -71 -65 -57 -48 -43 -47 -43 -37 -28 -27 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --95 --87 --89 --83 --72 --74 --72 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -98 -93 -91 -83 -74 -64 -63 -62 -56 -45 -41 -44 -40 -32 -25 -29 --33 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --105 --107 --98 --87 --90 --82 --72 --76 --69 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -104 -91 -84 -84 -79 -71 -61 -54 -56 -52 -45 -35 -35 -37 -31 -23 --41 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --101 --97 --98 --98 --96 --82 --83 --81 --68 --69 --69 --56 --57 --59 --48 --46 --51 --44 --38 --42 --42 --32 --34 --39 --29 --27 --34 --30 --23 --27 --30 --21 --22 --28 --23 --17 --23 --24 --15 --17 --23 --17 --14 -58 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -90 -90 -84 -77 -68 -59 -55 -57 -51 -44 -35 -34 -37 --29 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --98 --104 --106 --95 --86 --89 --80 --71 --75 --68 --59 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -93 -84 -81 -79 -73 -64 -55 -51 -53 -48 -41 -33 -31 -35 -31 -23 -17 -20 -21 -16 -9 -8 -14 -11 -3 -1 -9 -6 --1 --3 -4 -2 --5 --6 -0 -0 --6 --9 --3 --2 --7 --11 --6 --4 --10 --14 --7 --66 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --107 --109 --97 --89 --92 --83 --74 --76 --72 --61 --64 --62 --51 --54 --54 --43 --46 --48 --37 --39 --42 --32 --31 --37 --32 --25 --29 --31 --22 --23 --30 --24 --19 --23 --26 --16 --18 --24 --20 --15 --19 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -112 -109 -104 -94 -83 -75 -77 -71 -63 -52 -49 -52 -46 -37 -32 -36 -33 -26 -19 -21 -23 -18 -11 -9 -15 -12 -5 -2 -9 -6 -1 --3 -3 -3 --1 --6 --3 -1 --2 --9 --6 --1 --5 --11 --8 --3 --6 --12 --70 --102 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --97 --109 --109 --93 --91 --92 --78 --75 --78 --69 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -102 -91 -83 -80 -79 -71 -63 -54 -49 -51 -47 -39 -32 -31 -33 -28 --40 --101 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --95 --87 --90 --84 --73 --75 --72 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -101 -99 -91 -82 -72 -65 -65 -61 -55 -45 -39 -42 -41 -34 -26 -23 --32 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --105 --111 --99 --99 --94 --81 --83 --80 --67 --70 --68 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -113 -106 -97 -87 -77 -71 -71 -67 -61 -53 -44 -43 -45 -41 -33 -27 -28 --31 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --108 --97 --88 --90 --82 --73 --76 --71 --61 --64 --62 --50 --54 --54 --43 --46 --48 --36 --39 --41 --31 --33 --37 --27 --27 --33 --26 --23 --28 --29 --20 --21 --27 --20 --17 --22 --24 --15 --17 --23 --19 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -105 -98 -92 -88 -83 -77 -71 -65 -59 -52 -46 -41 -37 -35 -33 -31 -29 -27 -24 -21 -18 -15 -13 -12 -10 -10 -9 -8 -7 -6 -4 -2 -0 --1 --2 --2 --2 --2 --3 --3 --4 --4 --5 --5 --6 --6 --7 --66 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --102 --107 --108 --96 --89 --91 --80 --73 --77 --70 --61 --64 --62 --51 --53 --55 --43 --43 --48 --41 --35 --39 --40 --30 --32 --37 --29 --26 --31 --31 --22 --24 --29 --22 --19 --25 --25 --16 --19 --25 --16 --15 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -106 -96 -92 -91 -83 -75 -65 -58 -58 -57 -50 -42 -35 -37 -37 -31 -23 -21 -26 -22 -14 -10 -16 -14 -7 -3 -8 -9 -3 --2 -4 -4 --2 --5 -1 -2 --4 --8 --2 --1 --6 --10 --6 --2 --7 --12 --6 --64 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --105 --106 --101 --102 --89 --83 --86 --80 --70 --72 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -88 -83 -83 -77 -69 -60 -52 -53 -51 -45 -36 -31 -33 -33 -27 --41 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --106 --108 --96 --88 --90 --83 --73 --75 --72 --61 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -107 -97 -87 -76 -73 -73 -67 -59 -49 -45 -49 -44 -37 -29 -28 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --97 --87 --89 --84 --72 --74 --72 --60 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -99 -91 -80 -71 -66 -67 -62 -55 -45 -41 -44 -41 -33 -26 -24 --32 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --103 --105 --105 --100 --87 --88 --85 --72 --74 --73 --61 --63 --63 --50 --53 --54 --43 --43 --47 --38 --35 --41 --38 --29 --32 --35 --26 --25 --32 --28 --21 --25 --29 --19 --19 --25 --25 --17 --20 --25 --20 --15 --19 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -104 -102 -98 -89 -80 -70 -63 -65 -61 -53 -44 -40 -43 -41 -35 -27 -23 -29 -26 -21 -14 -13 -18 -15 -9 -4 -7 -10 -5 --1 -0 -5 -1 --5 --6 -1 -0 --6 --9 --1 --3 --9 --11 --3 --5 --11 --12 --64 --120 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --99 --99 --101 --95 --96 --89 --78 --80 --77 --65 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -107 -105 -97 -89 -79 -70 -67 -67 -60 -51 -43 -45 -44 -38 -29 -26 -30 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --128 --99 --105 --107 --98 --87 --88 --85 --72 --74 --73 --61 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -114 -107 -97 -87 -77 -73 -73 -67 -58 -50 -45 -48 -43 -37 -29 -26 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --106 --108 --98 --88 --91 --82 --72 --76 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -103 -91 -84 -84 -78 -69 -60 -54 -57 -52 -45 -36 -34 -37 -33 -25 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --112 --97 --104 --92 --95 --88 --77 --80 --75 --64 --67 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -111 -100 -95 -94 -85 -75 -66 -64 -63 -57 -47 -41 -42 -42 -34 -26 -25 --32 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --108 --94 --88 --90 --83 --72 --74 --73 --61 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -101 -99 -91 -82 -72 -65 -66 -62 -55 -46 -40 -42 -40 -34 -27 -23 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --109 --99 --101 --93 --82 --84 --79 --68 --70 --67 --56 --60 --58 --47 --51 --50 --40 --45 --43 --34 --38 --39 --29 --33 --35 --25 --27 --33 --25 --22 --27 --29 --19 --20 --26 --23 --16 --20 --24 --16 --15 --21 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -90 -89 -84 -77 -67 -59 -55 -57 -51 -44 -35 -34 -37 --29 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --112 --104 --106 --94 --86 --89 --81 --71 --74 --70 --59 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -107 -96 -86 -77 -77 -74 -66 -56 -49 -51 -49 -42 -33 -29 -33 -30 --37 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --101 --105 --107 --95 --87 --90 --81 --72 --75 --68 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -101 -90 -87 -85 -78 -67 -58 -57 -56 -50 -42 -35 -37 -37 -31 -23 -21 -26 -22 -15 -11 -16 -15 -10 -4 -4 -10 -6 -0 --2 -5 -3 --3 --7 -0 -0 --4 --9 --5 --1 --5 --11 --6 --3 --8 --12 --5 --5 --70 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --107 --106 --102 --103 --88 --84 --87 --76 --69 --73 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -121 -114 -105 -94 -84 -76 -75 -72 -65 -56 -49 -46 -48 -43 -35 -29 -30 -31 --35 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --105 --107 --98 --87 --89 --85 --72 --74 --73 --61 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -98 -89 -78 -71 -71 -67 -60 -51 -44 -45 -44 -38 -30 -25 -29 --33 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --106 --108 --97 --88 --90 --84 --72 --74 --72 --60 --62 --63 --50 --52 --54 --43 --43 --47 --38 --35 --40 --38 --29 --32 --35 --26 --25 --31 --29 --22 --25 --30 --21 --19 --25 --26 --17 --19 --25 --19 --14 --19 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -109 -106 -97 -87 -76 -73 -73 -66 -55 -48 -49 -48 -41 -32 -30 --27 --89 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --105 --106 --97 --86 --88 --84 --71 --73 --72 --59 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -107 -98 -88 -77 -73 -74 -67 -59 -50 -47 -49 -44 -37 -29 -29 -32 -27 -19 -14 -18 -19 -14 -8 -8 -13 -9 -2 -2 -8 -4 --3 -0 -4 --2 --7 --2 -1 --4 --9 --4 --1 --7 --11 --5 --3 --9 --13 --7 --65 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --107 --109 --96 --90 --92 --83 --74 --76 --73 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -92 -91 -84 -75 -65 -58 -58 -56 -50 -41 -35 -38 -37 -31 -23 --40 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --98 --98 --100 --94 --96 --86 --77 --80 --75 --64 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -110 -99 -91 -91 -85 -77 -68 -59 -57 -58 -52 -44 -36 -36 -37 -33 -24 --41 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --113 --98 --101 --93 --95 --86 --76 --79 --73 --63 --67 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -90 -85 -78 -67 -59 -57 -57 -51 -42 -36 -39 -37 -30 -22 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --112 --97 --103 --92 --95 --88 --78 --81 --75 --65 --68 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -101 -90 -89 -86 -77 -67 -59 -58 -57 -51 -42 -36 -40 -37 -31 -23 --38 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --105 --105 --103 --101 --87 --85 --86 --73 --70 --73 --63 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -102 -91 -83 -80 -79 -72 -64 -55 -50 -51 -49 -43 -34 -29 -33 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --107 --98 --87 --89 --84 --72 --74 --72 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -113 -107 -98 -89 -78 -71 -71 -68 -60 -51 -44 -47 -44 -38 -29 -27 -31 --35 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --105 --107 --97 --87 --89 --85 --73 --74 --73 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -116 -107 -96 -86 -77 -78 -73 -65 -55 -49 -51 -48 -40 -32 -31 -35 -30 --38 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --106 --105 --101 --102 --88 --83 --86 --76 --69 --72 --67 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -105 -95 -86 -77 -73 -73 -67 -58 -49 -45 -48 -44 -37 -29 -27 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --109 --104 --104 --103 --101 --86 --86 --85 --71 --72 --72 --60 --60 --63 --51 --50 --55 --46 --41 --46 --43 --34 --38 --40 --29 --32 --36 --26 --26 --32 --26 --21 --27 --28 --19 --21 --26 --18 --17 --24 --21 --14 --19 --24 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -104 -94 -85 -75 -73 -72 -66 -58 -49 -43 -45 -43 -38 -30 --36 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --101 --104 --105 --99 --86 --87 --83 --71 --74 --70 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -103 -90 -83 -84 -79 -70 -60 -54 -57 -52 -45 -37 -34 -38 -34 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --101 --104 --104 --99 --85 --86 --84 --70 --71 --72 --59 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -92 -83 -79 -79 -72 -65 -55 -49 -49 -48 -42 -34 -29 -31 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --108 --105 --104 --102 --101 --87 --83 --86 --73 --69 --73 --65 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -99 -97 -92 -84 -75 -65 -61 -62 -57 -49 -40 -37 -40 -35 -28 -22 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --103 --97 --99 --99 --95 --81 --81 --81 --67 --67 --69 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -99 -93 -91 -84 -77 -67 -59 -54 -57 -52 -47 -39 -33 -33 -35 -30 --37 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --104 --109 --98 --100 --92 --81 --84 --77 --68 --72 --65 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -112 -99 -89 -89 -85 -77 -68 -59 -57 -58 -51 -43 -36 -37 -37 -32 -23 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --112 --97 --105 --92 --94 --89 --77 --79 --75 --64 --67 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -100 -99 -93 -84 -74 -65 -64 -63 -57 -47 -41 -41 -40 -33 -25 -23 --33 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --111 --99 --100 --95 --82 --83 --81 --68 --69 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -108 -105 -99 -91 -80 -71 -66 -67 -62 -54 -45 -42 -45 -40 -32 -26 -27 -29 -23 -16 -14 -20 -15 -8 -7 -13 -9 -2 -2 -8 -3 --3 --3 -3 --1 --7 --5 -1 --4 --9 --4 --1 --7 --11 --4 --4 --10 --12 --4 --67 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --105 --106 --106 --101 --88 --90 --84 --73 --77 --70 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -101 -89 -83 -83 -78 -70 -62 -53 -51 -52 -47 -38 -32 -33 -34 -27 --41 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --99 --105 --107 --96 --87 --89 --84 --72 --74 --73 --61 --60 --63 --51 --49 --53 --48 --40 --44 --45 --34 --35 --40 --33 --29 --33 --34 --25 --25 --31 --27 --21 --24 --28 --21 --19 --24 --26 --17 --17 --23 --23 --14 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -103 -91 -83 -78 -77 -71 -63 -54 -49 -52 -49 -42 -35 -30 --28 --86 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --104 --104 --105 --99 --101 --89 --81 --84 --77 --67 --69 --68 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -102 -91 -84 -81 -79 -73 -65 -56 -49 -49 -49 -44 -36 -29 -30 -32 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --96 --87 --89 --82 --72 --75 --71 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -116 -106 -95 -85 -77 -79 -73 -67 -57 -50 -49 -49 -43 -35 -29 -32 -31 --36 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --98 --87 --88 --85 --73 --73 --73 --61 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -92 -84 -80 -80 -73 -64 -54 -49 -51 -47 -40 -32 -30 -34 -30 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --102 --105 --107 --97 --87 --90 --82 --72 --75 --71 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -105 -95 -85 -76 -75 -73 -66 -56 -49 -49 -48 -42 -33 -29 -34 -31 -25 -17 -19 -22 -18 -10 -10 -16 -12 -3 -4 -9 -5 --2 -2 -5 -0 --5 -2 -1 --5 --8 -0 --2 --9 --10 --2 --5 --12 --9 --4 --9 --73 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --106 --111 --100 --102 --94 --83 --85 --81 --69 --71 --70 --59 --61 --61 --49 --51 --53 --41 --41 --46 --37 --34 --39 --37 --28 --32 --34 --25 --24 --31 --28 --21 --24 --28 --19 --18 --23 --25 --16 --18 --24 --20 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -112 -104 -95 -85 -77 -71 -64 -61 -58 -55 -51 -47 -43 -39 -34 --31 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --107 --104 --104 --100 --101 --88 --81 --84 --77 --67 --70 --68 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -94 -85 -78 -79 -74 -67 -57 -49 -49 -49 -43 -35 -29 -33 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --97 --87 --88 --84 --72 --73 --73 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -90 -90 -85 -77 -67 -59 -55 -57 -53 -46 -38 -33 -35 -34 -27 -20 -17 -23 -20 -13 -8 -14 -13 -7 -2 -8 -9 -3 --2 -2 -5 -0 --6 --3 -2 --1 --8 --5 -0 --3 --10 --6 --3 --7 --13 --7 --5 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --107 --110 --101 --103 --94 --83 --85 --81 --69 --71 --69 --57 --59 --60 --48 --48 --52 --44 --39 --45 --42 --33 --36 --39 --29 --29 --35 --29 --25 --30 --30 --21 --23 --28 --21 --18 --23 --25 --16 --17 --23 --20 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -98 -90 -83 -77 -75 -71 -66 -60 -55 -49 -44 -38 -34 -31 -29 -27 -27 -24 -23 -20 -18 -15 -12 -9 -7 -7 -6 -5 -5 -4 -3 -1 -0 --1 --2 --3 --3 --3 --3 --4 --4 --4 --5 --5 --6 --7 --66 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --107 --108 --101 --102 --93 --83 --84 --81 --68 --69 -5 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -108 -97 -91 -91 -83 -74 -64 -59 -61 -56 -48 -40 -37 -40 -35 -27 -22 --35 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --105 --108 --100 --102 --94 --83 --84 --81 --68 --70 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -105 -99 -90 -79 -70 -65 -67 -61 -52 -44 -43 -44 -40 -31 -26 -29 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --98 --87 --89 --84 --72 --75 --72 --61 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -95 -84 -77 -79 -73 -64 -54 -50 -53 -48 -39 -33 -33 -35 -29 --39 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --114 --105 --107 --95 --87 --89 --82 --72 --75 --70 --60 --64 --62 --51 --54 --53 --43 --45 --47 --36 --37 --42 --33 --30 --36 --34 --25 --28 --32 --23 --22 --28 --27 --18 --21 --26 --20 --16 --22 --24 --16 --16 --22 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -99 -89 -87 -84 -77 -66 -57 -55 -57 -50 -41 -35 -39 -36 --32 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --105 --106 --94 --86 --88 --82 --71 --73 --71 --59 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -107 -104 -98 -90 -81 -71 -65 -67 -62 -54 -45 -41 -45 -41 -33 -26 -25 -29 -24 -18 -13 -17 -17 -13 -6 -5 -10 -8 -1 --1 -5 -4 --2 --6 -0 -2 --4 --8 --3 -0 --5 --10 --7 --2 --6 --11 --10 --4 --7 --72 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --102 --105 --108 --96 --88 --91 --80 --73 --77 --69 --61 --66 --60 --52 --55 --53 --43 --47 --47 --37 --39 --42 --31 --33 --38 --29 --27 --33 --31 --23 --26 --30 --20 --21 --27 --25 --18 --22 --26 --18 --16 --22 -54 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -104 -99 -97 -90 -80 -70 -63 -64 -60 -53 -44 -39 -43 -40 -33 -25 -24 -29 -25 -17 -13 -17 -17 -12 -5 -8 -11 -7 -0 -0 -7 -3 --4 --6 -1 -1 --5 --8 --1 --1 --8 --10 --4 --3 --8 --12 --7 --64 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --106 --106 --102 --102 --89 --84 --86 --78 --69 --72 -8 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -90 -91 -84 -76 -65 -59 -59 -57 -50 -41 -36 -40 -37 -30 -22 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --104 --110 --98 --100 --92 --82 --85 --76 --68 --72 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -108 -105 -99 -90 -80 -70 -66 -67 -61 -53 -44 -41 -43 -39 -31 -25 -25 --33 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --110 --108 --92 --93 --90 --77 --77 --77 --63 --64 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -112 -99 -91 -91 -85 -77 -67 -59 -55 -57 -51 -45 -36 -34 -37 -33 -26 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --99 --105 --107 --96 --87 --89 --82 --72 --76 --69 --60 --63 --60 --50 --53 --53 --42 --44 --47 --37 --37 --42 --37 --30 --33 --36 --27 --25 --31 --30 --21 --23 --29 --21 --18 --23 --25 --16 --17 --24 --19 --14 --18 -54 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -111 -105 -95 -85 -75 -72 -72 -65 -57 -48 -45 -48 -42 -35 -27 -30 -30 -24 -17 -17 -21 -17 -10 -7 -13 -12 -5 -1 -7 -7 -2 --3 -1 -4 --1 --7 --3 -1 --3 --9 --6 --1 --6 --12 --8 --3 --8 --72 --108 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --112 --100 --101 --95 --83 --84 --81 --69 --70 --70 --57 --58 --60 --49 --48 --52 --45 --39 --43 --43 --33 --34 --39 --31 --28 --33 --33 --24 --25 --31 --26 --20 --25 --27 --18 --19 --25 --20 --15 --20 --23 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -103 -98 -93 -89 -83 -77 -70 -63 -56 -51 -45 -42 -39 -37 -35 -33 -29 -26 -23 -20 -17 -15 -13 -12 -10 -9 -8 -7 -6 -5 -3 -2 -1 -1 -0 -0 -0 --1 --1 --2 --2 --3 --4 --5 --6 --6 --6 --65 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --106 --106 --107 --101 --88 --90 --84 --73 --76 --71 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -121 -114 -104 -93 -83 -77 -78 -71 -63 -54 -48 -51 -48 -41 -32 -28 -33 -29 --38 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --114 --105 --107 --97 --87 --90 --82 --72 --76 --70 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -90 -84 -84 -77 -69 -60 -54 -57 -52 -44 -36 -37 -38 -32 -23 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --112 --97 --102 --92 --94 --87 --77 --79 --75 --63 --67 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -111 -99 -90 -90 -85 -77 -66 -59 -60 -57 -50 -41 -37 -41 -37 -31 -23 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --112 --97 --102 --92 --95 --86 --77 --80 --74 --64 --68 --66 --54 --56 --57 --46 --46 --49 --42 --36 --41 --41 --31 --32 --37 --30 --26 --31 --32 --22 --23 --29 --24 --18 --23 --26 --17 --17 --24 --23 --15 --18 --23 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -105 -97 -95 -91 -82 -73 -63 -57 -59 -55 -48 -40 -35 -38 -36 -31 -22 -20 -25 -22 -15 -10 -15 -15 -9 -3 -6 -9 -4 --2 -0 -5 -1 --6 --4 -1 --2 --8 --5 --1 --5 --11 --5 --3 --8 --12 --4 --65 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --107 --109 --94 --89 --91 --79 --74 --77 --69 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -97 -89 -89 -83 -77 -67 -59 -54 -57 -51 -45 -37 -32 -35 -34 -28 --39 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --103 --105 --106 --99 --87 --89 --82 --72 --76 --69 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -91 -85 -77 -66 -59 -61 -57 -49 -41 -37 -41 -36 -28 -21 --37 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --108 --98 --100 --93 --82 --84 --80 --68 --70 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -107 -99 -98 -91 -84 -74 -64 -59 -60 -56 -50 -42 -36 -38 -37 -33 -24 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --99 --92 --94 --85 --76 --78 --74 --63 --65 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -99 -89 -89 -84 -77 -67 -59 -55 -57 -51 -44 -35 -35 -37 -32 -23 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --112 --97 --103 --92 --94 --88 --76 --79 --75 --63 --66 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -99 -94 -93 -84 -74 -65 -65 -62 -55 -45 -42 -45 -41 -32 -25 -28 --33 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --107 --107 --94 --88 --90 --83 --73 --75 --72 --60 --62 --62 --50 --51 --54 --43 --41 --47 --40 --35 --39 --39 --29 --31 --36 --28 --25 --30 --30 --21 --23 --29 --22 --19 --24 --25 --16 --18 --24 --19 --14 --19 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -112 -103 -93 -83 -75 -77 -71 -64 -54 -48 -51 -48 -40 -32 -30 --27 --89 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --112 --104 --106 --93 --86 --89 --80 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -102 -90 -87 -86 -78 -68 -59 -59 -58 -51 -42 -37 -41 -37 -31 -23 --39 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --112 --112 --104 --92 --93 --89 --76 --76 --77 --63 --63 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -98 -96 -92 -83 -73 -64 -64 -62 -56 -47 -40 -39 -41 -35 -27 -22 -26 -25 -19 -12 -14 -17 -14 -6 -6 -11 -8 -0 -1 -6 -2 --5 --3 -2 --1 --7 --4 -0 --4 --11 --6 --3 --8 --12 --5 --4 --10 --13 --63 --122 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --106 --106 --103 --102 --87 --86 --87 --73 --71 --74 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -107 -105 -96 -88 -77 -69 -69 -67 -59 -50 -43 -46 -44 -38 -29 -26 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --106 --99 --86 --87 --85 --72 --72 --73 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -103 -99 -91 -80 -71 -66 -67 -61 -53 -44 -44 -45 -40 -31 -26 -30 --32 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --104 --106 --98 --86 --88 --83 --72 --76 --72 --61 --63 --62 --50 --53 --54 --43 --45 --47 --36 --37 --41 --32 --30 --36 --32 --24 --28 --31 --21 --21 --27 --25 --18 --22 --27 --19 --17 --23 --23 --15 --17 --23 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -105 -96 -92 -90 -83 -75 -67 -58 -54 -56 -51 -45 -36 -32 -36 --27 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --111 --98 --104 --105 --95 --86 --88 --81 --71 --74 --69 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -106 -95 -85 -77 -77 -73 -67 -57 -49 -48 -49 -43 -35 -29 -33 -31 -26 -18 -18 -22 -18 -10 -7 -13 -11 -4 -1 -7 -7 -1 --3 -2 -3 --2 --7 --2 -1 --4 --9 --4 --2 --7 --11 --7 --3 --8 --13 --8 --65 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --104 --105 --107 --99 --88 --91 --84 --74 --77 --71 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -117 -113 -105 -95 -85 -75 -71 -71 -66 -58 -49 -43 -44 -43 -38 -30 -25 -26 --32 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --107 --95 --88 --90 --79 --73 --77 --69 --61 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -100 -89 -86 -85 -77 -67 -59 -59 -57 -49 -41 -38 -42 -37 -29 -24 --32 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --108 --99 --101 --91 --81 --84 --78 --68 --71 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -106 -96 -87 -77 -71 -72 -67 -59 -50 -44 -48 -44 -38 -29 -28 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --113 --105 --106 --96 --86 --89 --83 --72 --75 --72 --61 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -93 -83 -81 -79 -71 -62 -53 -53 -51 -45 -35 -33 -37 -33 -25 --41 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --98 --98 --100 --93 --95 --86 --76 --78 --75 --63 --65 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -106 -97 -87 -76 -72 -73 -67 -58 -49 -45 -48 -43 -36 -29 -29 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --104 --105 --99 --86 --87 --85 --71 --73 --73 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -98 -93 -92 -84 -75 -65 -60 -61 -56 -48 -40 -38 -41 -35 -27 -22 --33 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --101 --102 --109 --97 --97 --93 --80 --82 --79 --67 --70 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -106 -97 -87 -77 -71 -71 -67 -59 -51 -44 -45 -43 -37 -29 -26 -30 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --107 --108 --95 --88 --90 --81 --72 --74 --72 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -105 -98 -89 -78 -70 -68 -67 -60 -51 -44 -46 -45 -38 -29 -27 -31 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --98 --104 --106 --98 --86 --88 --84 --71 --74 --71 --60 --64 --60 --50 --54 --52 --42 --46 --46 --36 --40 --42 --31 --34 --37 --27 --28 --33 --27 --22 --27 --29 --19 --20 --27 --21 --16 --20 --24 --17 --15 --20 --23 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -106 -98 -90 -83 -79 -76 -71 -66 -60 -55 -50 -45 -38 -33 -29 --34 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --104 --105 --96 --86 --87 --85 --71 --71 --72 --61 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -98 -90 -81 -71 -64 -65 -61 -55 -46 -40 -43 -41 -35 -27 -27 --30 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --98 --105 --107 --96 --87 --89 --82 --72 --75 --71 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -122 -115 -104 -92 -83 -80 -79 -71 -62 -54 -53 -53 -47 -38 -33 -36 -34 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --99 --104 --107 --95 --87 --90 --80 --72 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -93 -83 -80 -79 -71 -63 -53 -52 -53 -47 -37 -32 -36 -33 -25 --41 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --107 --106 --93 --87 --90 --81 --72 --75 --71 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -116 -105 -93 -84 -82 -79 -71 -61 -53 -54 -52 -45 -36 -33 -37 -33 -25 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --107 --97 --87 --89 --83 --72 --75 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -101 -89 -86 -85 -78 -67 -59 -58 -58 -51 -42 -35 -38 -37 -31 -22 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --103 --103 --104 --98 --100 --90 --81 --83 --78 --67 --69 --68 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -90 -89 -85 -77 -67 -59 -56 -57 -51 -43 -35 -36 -37 -32 -23 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --112 --97 --99 --92 --95 --86 --77 --79 --76 --64 --65 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -90 -89 -85 -77 -68 -59 -54 -56 -52 -45 -36 -33 -37 -34 -28 -21 -19 -24 -21 -14 -9 -13 -14 -9 -2 -4 -9 -5 --3 -0 -5 --1 --7 --4 -0 --4 --10 --5 --1 --6 --11 --5 --3 --9 --13 --5 --5 --70 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --108 --106 --105 --103 --102 --87 --86 --86 --73 --72 --74 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -105 -99 -97 -90 -81 -71 -63 -63 -61 -55 -45 -39 -41 -40 -34 -26 -23 --32 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --113 --106 --107 --94 --88 --90 --80 --72 --77 --70 --61 --65 --62 --50 --53 --54 --43 --42 --47 --40 --35 --39 --40 --30 --31 --36 --28 --25 --31 --30 --21 --22 --28 --24 --18 --21 --26 --18 --16 --21 --23 --14 --14 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -104 -97 -96 -90 -81 -70 -62 -63 -60 -53 -44 -38 -42 -39 -32 --36 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --109 --99 --103 --105 --95 --85 --89 --79 --71 --76 --66 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -93 -83 -79 -79 -72 -63 -54 -51 -53 -48 -41 -33 -31 -35 -30 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --107 --106 --91 --89 --90 --76 --73 --77 --66 --61 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -96 -86 -77 -73 -73 -67 -59 -50 -45 -47 -43 -37 -28 -27 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --105 --106 --98 --87 --89 --83 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -104 -91 -83 -80 -79 -71 -62 -53 -53 -53 -47 -37 -33 -37 -34 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --100 --104 --106 --98 --86 --89 --82 --71 --74 --71 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -102 -91 -86 -85 -78 -69 -60 -57 -58 -51 -43 -36 -40 -37 -31 -23 -23 -26 -21 -12 -12 -16 -13 -6 -4 -11 -8 -0 --1 -6 -4 --3 --5 -2 -0 --6 --7 -0 --2 --9 --10 --2 --4 --11 --11 --3 --6 --13 --73 --104 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --106 --107 --98 --88 --90 --86 --73 --75 --73 --61 --62 --63 --51 --51 --55 --45 --41 --46 --43 --34 --38 --40 --30 --31 --36 --28 --25 --31 --30 --21 --24 --29 --24 --19 --24 --26 --17 --18 --24 --19 --15 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -107 -96 -88 -88 -83 -75 -65 -57 -56 -56 -50 -41 -35 -38 -37 --31 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 From eb0b5130f20ae3d9ca82b6b76779be44d7367311 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 27 Jan 2015 16:05:10 -0500 Subject: [PATCH 125/133] Revert "More Testing Traces" This reverts commit f4e739ed5897b26a5b310c610fe6bc53a6015c94. --- traces/AWID-15-259.pm3 | 20000 --------------------------- traces/EM4102-1.pm3 | 16000 +++++++++++++++++++++ traces/HID-weak-fob-11647.pm3 | 20000 --------------------------- traces/Paradox-96_40426-APJN08.pm3 | 16000 --------------------- traces/README.txt | 4 +- traces/modulation-ask-biph-50.pm3 | 20000 --------------------------- traces/modulation-ask-man-100.pm3 | 20000 --------------------------- traces/modulation-ask-man-128.pm3 | 20000 --------------------------- traces/modulation-ask-man-16.pm3 | 20000 --------------------------- traces/modulation-ask-man-32.pm3 | 20000 --------------------------- traces/modulation-ask-man-40.pm3 | 20000 --------------------------- traces/modulation-ask-man-8.pm3 | 20000 --------------------------- traces/modulation-direct-32.pm3 | 20000 --------------------------- traces/modulation-direct-40.pm3 | 20000 --------------------------- traces/modulation-direct-50.pm3 | 20000 --------------------------- traces/modulation-fsk1-50.pm3 | 20000 --------------------------- traces/modulation-fsk1a-50.pm3 | 20000 --------------------------- traces/modulation-fsk2-50.pm3 | 20000 --------------------------- traces/modulation-fsk2a-40.pm3 | 20000 --------------------------- traces/modulation-fsk2a-50.pm3 | 20000 --------------------------- traces/modulation-psk1-32-4.pm3 | 20000 --------------------------- traces/modulation-psk1-64-8.pm3 | 20000 --------------------------- traces/modulation-psk2-32-2.pm3 | 20000 --------------------------- traces/modulation-psk3-32-8.pm3 | 20000 --------------------------- 24 files changed, 16001 insertions(+), 436003 deletions(-) delete mode 100644 traces/AWID-15-259.pm3 create mode 100644 traces/EM4102-1.pm3 delete mode 100644 traces/HID-weak-fob-11647.pm3 delete mode 100644 traces/Paradox-96_40426-APJN08.pm3 delete mode 100644 traces/modulation-ask-biph-50.pm3 delete mode 100644 traces/modulation-ask-man-100.pm3 delete mode 100644 traces/modulation-ask-man-128.pm3 delete mode 100644 traces/modulation-ask-man-16.pm3 delete mode 100644 traces/modulation-ask-man-32.pm3 delete mode 100644 traces/modulation-ask-man-40.pm3 delete mode 100644 traces/modulation-ask-man-8.pm3 delete mode 100644 traces/modulation-direct-32.pm3 delete mode 100644 traces/modulation-direct-40.pm3 delete mode 100644 traces/modulation-direct-50.pm3 delete mode 100644 traces/modulation-fsk1-50.pm3 delete mode 100644 traces/modulation-fsk1a-50.pm3 delete mode 100644 traces/modulation-fsk2-50.pm3 delete mode 100644 traces/modulation-fsk2a-40.pm3 delete mode 100644 traces/modulation-fsk2a-50.pm3 delete mode 100644 traces/modulation-psk1-32-4.pm3 delete mode 100644 traces/modulation-psk1-64-8.pm3 delete mode 100644 traces/modulation-psk2-32-2.pm3 delete mode 100644 traces/modulation-psk3-32-8.pm3 diff --git a/traces/AWID-15-259.pm3 b/traces/AWID-15-259.pm3 deleted file mode 100644 index 46e26ede1..000000000 --- a/traces/AWID-15-259.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --25 -92 -113 -77 -29 --12 --47 --76 --101 --105 --26 -92 -113 -77 -29 --12 --47 --76 --101 --105 --25 -92 -113 -77 -29 --12 --47 --76 --101 --105 --26 -92 -113 -78 -29 --12 --47 --76 --101 --105 --25 -92 -113 -77 -29 --12 --47 --76 --101 --105 --25 -92 -113 -77 -29 --12 --48 --76 --101 --33 -90 -117 -77 -29 --14 --48 --78 --37 -86 -109 -66 -19 --22 --55 --84 --44 -77 -101 -59 -13 --27 --60 --88 --52 -72 -97 -53 -8 --31 --63 --91 --54 -70 -93 -50 -6 --33 --65 --92 --56 -68 -91 -48 -4 --35 --66 --93 --59 -65 -88 -47 -3 --36 --67 --94 --57 -66 -90 -47 -3 --35 --67 --94 --58 -65 -88 -46 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --59 -65 -89 -46 -2 --36 --67 --95 --59 -64 -88 -45 -1 --37 --68 --95 --61 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -2 --36 --67 --95 --60 -64 -87 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --59 -65 -89 -45 -2 --36 --68 --95 --59 -64 -87 -45 -2 --36 --68 --95 --100 --127 --50 -64 -88 -50 -7 --32 --64 --91 --97 --127 --39 -76 -100 -62 -18 --23 --56 --84 --107 --111 --33 -82 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -72 -26 --16 --49 --79 --103 --108 --27 -88 -111 -73 -26 --16 --49 --79 --33 -90 -114 -71 -24 --18 --51 --81 --41 -81 -105 -62 -15 --25 --58 --86 --49 -75 -98 -55 -10 --30 --62 --90 --53 -70 -94 -51 -7 --32 --64 --92 --55 -68 -92 -50 -5 --34 --65 --93 --57 -67 -91 -48 -4 --35 --66 --94 --59 -65 -89 -47 -3 --36 --67 --94 --58 -65 -89 -46 -2 --36 --67 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --67 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -63 -87 -46 -2 --36 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --62 -62 -87 -45 -2 --36 --67 --95 --59 -65 -88 -45 -1 --36 --68 --95 --59 -64 -89 -47 -2 --36 --67 --95 --62 -62 -87 -45 -2 --36 --67 --95 --100 --127 --49 -65 -88 -50 -7 --32 --63 --91 --97 --127 --39 -76 -101 -62 -18 --23 --55 --84 --107 --111 --33 -83 -107 -68 -23 --18 --52 --81 --104 --109 --29 -86 -110 -71 -26 --16 --50 --79 --103 --108 --27 -88 -113 -74 -26 --16 --50 --79 --33 -89 -114 -72 -24 --18 --51 --81 --42 -81 -105 -61 -15 --25 --58 --87 --49 -74 -97 -55 -10 --30 --62 --90 --53 -70 -94 -52 -7 --32 --64 --92 --55 -69 -92 -50 -5 --34 --65 --93 --57 -66 -90 -48 -4 --35 --66 --94 --58 -66 -89 -47 -3 --36 --67 --94 --58 -65 -89 -47 -3 --36 --67 --94 --59 -65 -88 -45 -1 --36 --68 --95 --59 -65 -89 -46 -2 --36 --67 --95 --59 -65 -89 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -46 -1 --36 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --60 -65 -88 -45 -1 --37 --68 --95 --101 --50 -65 -83 -45 -0 --36 --68 --95 --101 --127 --45 -71 -93 -57 -12 --26 --60 --87 --111 --127 --36 -80 -102 -67 -20 --20 --54 --82 --106 --110 --32 -86 -108 -72 -24 --16 --51 --79 --104 --107 --28 -89 -109 -74 -26 --14 --50 --78 --103 --37 -87 -115 -75 -27 --15 --49 --79 --38 -85 -109 -66 -19 --22 --55 --84 --46 -77 -100 -58 -12 --28 --60 --89 --53 -70 -95 -53 -8 --31 --63 --91 --54 -70 -93 -50 -6 --33 --65 --93 --56 -68 -91 -49 -4 --34 --66 --93 --60 -64 -89 -47 -3 --36 --67 --94 --58 -65 -89 -47 -3 --36 --67 --94 --59 -66 -89 -47 -3 --36 --67 --94 --60 -64 -87 -46 -2 --36 --68 --95 --59 -65 -89 -47 -2 --36 --67 --95 --59 -65 -88 -46 -2 --36 --67 --95 --60 -63 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --59 -65 -89 -46 -2 --36 --68 --95 --60 -64 -88 -45 -1 --36 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --101 --49 -65 -82 -43 --1 --37 --69 --95 --102 --127 --45 -72 -93 -58 -12 --26 --60 --87 --111 --127 --37 -81 -103 -67 -20 --19 --54 --82 --106 --110 --31 -86 -108 -72 -24 --16 --51 --79 --104 --108 --28 -89 -109 -74 -26 --14 --49 --78 --103 --36 -88 -115 -75 -27 --16 --49 --79 --38 -84 -108 -66 -19 --22 --55 --84 --47 -77 -101 -58 -12 --28 --60 --88 --53 -72 -95 -53 -8 --31 --63 --91 --55 -69 -93 -50 -5 --33 --65 --93 --57 -68 -91 -48 -4 --35 --66 --94 --60 -64 -90 -48 -3 --35 --66 --94 --59 -65 -89 -47 -3 --36 --67 --94 --59 -65 -88 -47 -3 --36 --67 --95 --62 -62 -88 -47 -2 --36 --67 --95 --59 -65 -89 -47 -3 --36 --67 --94 --59 -64 -88 -46 -2 --36 --67 --95 --62 -63 -87 -45 -1 --37 --68 --96 --60 -64 -89 -47 -2 --36 --67 --94 --60 -65 -89 -46 -2 --36 --68 --95 --60 -63 -87 -46 -2 --36 --68 --95 --60 -64 -89 -47 -2 --36 --67 --95 --59 -65 -88 -46 -1 --36 --68 --95 --60 -64 -88 -46 -3 --36 --67 --95 --100 --127 --51 -64 -88 -50 -7 --32 --63 --91 --97 --127 --39 -75 -99 -61 -17 --23 --56 --85 --108 --112 --33 -83 -107 -69 -24 --17 --51 --81 --104 --109 --29 -86 -110 -72 -27 --16 --49 --79 --103 --108 --28 -87 -111 -73 -26 --16 --50 --80 --33 -90 -113 -71 -24 --18 --52 --81 --42 -81 -105 -62 -16 --25 --57 --86 --49 -75 -98 -55 -10 --30 --62 --90 --53 -70 -94 -52 -7 --32 --64 --92 --56 -68 -92 -49 -5 --34 --66 --93 --57 -66 -91 -49 -4 --35 --66 --93 --59 -65 -89 -47 -3 --36 --67 --94 --59 -65 -88 -47 -3 --36 --67 --95 --60 -64 -89 -47 -3 --36 --67 --95 --60 -64 -88 -46 -2 --36 --67 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -64 -87 -46 -2 --37 --68 --95 --62 -63 -88 -46 -2 --36 --67 --95 --60 -65 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --63 -62 -87 -46 -2 --36 --67 --95 --60 -65 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --63 -62 -87 -45 -2 --36 --67 --95 --100 --127 --50 -65 -88 -50 -7 --32 --63 --91 --97 --127 --39 -76 -99 -62 -18 --23 --56 --85 --108 --112 --32 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -111 -72 -27 --15 --49 --79 --102 --107 --28 -88 -112 -74 -26 --16 --49 --79 --34 -89 -114 -72 -24 --18 --51 --81 --43 -81 -104 -62 -15 --25 --58 --86 --51 -73 -97 -55 -10 --30 --62 --90 --53 -70 -94 -52 -7 --32 --64 --92 --56 -68 -92 -50 -5 --34 --65 --93 --58 -66 -91 -49 -4 --35 --66 --94 --59 -65 -89 -47 -3 --36 --67 --95 --59 -65 -89 -47 -3 --36 --67 --95 --59 -65 -88 -46 -2 --36 --67 --95 --60 -63 -88 -47 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --60 -63 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --37 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --67 --95 --61 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -1 --37 --68 --95 --101 --50 -65 -83 -45 -1 --36 --68 --94 --101 --127 --45 -71 -93 -58 -12 --26 --60 --87 --111 --127 --37 -80 -102 -66 -20 --20 --54 --82 --107 --110 --31 -86 -107 -72 -24 --16 --51 --79 --104 --108 --29 -88 -110 -74 -26 --14 --49 --78 --103 --37 -86 -115 -75 -27 --16 --49 --79 --39 -85 -109 -66 -19 --22 --55 --84 --46 -76 -101 -59 -13 --27 --60 --88 --55 -70 -95 -53 -8 --31 --63 --91 --55 -69 -93 -51 -6 --33 --64 --92 --57 -67 -91 -48 -4 --35 --66 --94 --60 -64 -89 -48 -4 --35 --67 --94 --59 -65 -90 -48 -3 --35 --67 --94 --59 -65 -89 -47 -3 --35 --67 --94 --61 -63 -88 -46 -2 --36 --67 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -47 -3 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --60 -65 -88 -46 -2 --36 --67 --95 --60 -64 -89 -47 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -64 -88 -47 -2 --36 --67 --95 --61 -64 -88 -46 -2 --37 --68 --95 --60 -63 -88 -46 -2 --36 --68 --95 --101 --50 -64 -82 -44 -0 --37 --69 --95 --101 --127 --45 -71 -93 -58 -13 --26 --60 --87 --111 --127 --37 -80 -102 -68 -20 --19 --54 --81 --106 --110 --31 -86 -108 -72 -24 --16 --51 --79 --104 --108 --29 -88 -109 -75 -27 --14 --49 --78 --103 --37 -88 -115 -75 -27 --15 --49 --79 --39 -84 -109 -66 -19 --22 --55 --84 --48 -77 -101 -58 -12 --28 --61 --89 --53 -71 -95 -54 -8 --31 --63 --91 --56 -68 -93 -51 -6 --33 --65 --92 --57 -67 -91 -49 -4 --34 --66 --94 --60 -64 -89 -48 -3 --35 --67 --94 --59 -65 -89 -47 -3 --36 --67 --95 --60 -64 -89 -47 -3 --36 --67 --95 --63 -62 -88 -47 -2 --36 --67 --95 --60 -64 -89 -47 -2 --36 --67 --95 --60 -64 -89 -46 -2 --36 --67 --95 --63 -62 -87 -46 -2 --36 --68 --95 --60 -64 -89 -47 -3 --36 --67 --95 --60 -64 -89 -47 -3 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --60 -64 -89 -47 -3 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --62 -63 -88 -46 -3 --36 --67 --95 --100 --127 --51 -64 -88 -50 -7 --32 --64 --91 --97 --127 --40 -76 -100 -62 -18 --23 --55 --84 --107 --112 --33 -82 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -111 -72 -27 --15 --49 --79 --103 --108 --27 -88 -112 -74 -26 --16 --50 --80 --34 -89 -114 -72 -24 --18 --51 --81 --43 -81 -105 -62 -15 --25 --58 --86 --50 -74 -97 -55 -10 --30 --62 --90 --54 -70 -94 -52 -7 --32 --64 --92 --56 -68 -92 -50 -5 --33 --65 --93 --59 -66 -90 -48 -4 --35 --66 --94 --59 -65 -90 -48 -4 --35 --66 --94 --60 -65 -89 -47 -3 --36 --67 --95 --60 -64 -89 -46 -2 --36 --67 --95 --62 -63 -88 -47 -2 --36 --67 --95 --61 -64 -89 -47 -2 --36 --67 --95 --60 -64 -88 -47 -2 --36 --67 --95 --63 -62 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --64 -62 -87 -45 -1 --37 --68 --95 --60 -64 -89 -47 -3 --36 --67 --95 --61 -64 -88 -46 -1 --37 --68 --95 --63 -62 -87 -46 -3 --36 --67 --94 --100 --127 --50 -65 -89 -51 -8 --31 --63 --91 --97 --127 --39 -74 -99 -62 -18 --23 --56 --85 --108 --112 --33 -82 -107 -69 -24 --18 --52 --81 --105 --109 --29 -86 -110 -72 -27 --15 --49 --79 --103 --108 --28 -87 -112 -75 -27 --15 --49 --79 --35 -89 -114 -71 -23 --18 --52 --82 --43 -80 -105 -63 -16 --25 --58 --86 --51 -73 -98 -56 -10 --29 --62 --90 --53 -71 -94 -52 -7 --32 --64 --92 --57 -68 -92 -50 -5 --33 --65 --93 --59 -65 -90 -48 -3 --35 --67 --94 --59 -64 -89 -48 -4 --35 --67 --94 --60 -65 -89 -47 -3 --36 --67 --95 --60 -65 -89 -47 -3 --36 --67 --95 --61 -64 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --68 --95 --61 -63 -89 -47 -2 --36 --67 --95 --61 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -47 -2 --36 --67 --95 --61 -63 -88 -46 -2 --37 --68 --95 --62 -63 -88 -47 -2 --36 --68 --95 --61 -64 -88 -47 -2 --36 --67 --95 --61 -64 -88 -47 -2 --36 --68 --95 --101 --51 -65 -83 -45 -1 --36 --68 --95 --101 --127 --46 -72 -94 -59 -13 --26 --60 --87 --110 --127 --37 -80 -102 -66 -20 --19 --54 --82 --107 --110 --32 -86 -107 -72 -24 --16 --51 --80 --104 --108 --29 -89 -109 -75 -27 --14 --49 --78 --103 --38 -86 -115 -76 -27 --15 --49 --79 --39 -84 -109 -66 -19 --22 --55 --84 --48 -77 -101 -58 -13 --28 --60 --89 --55 -69 -94 -53 -8 --31 --63 --91 --56 -69 -93 -52 -7 --33 --65 --92 --58 -67 -91 -49 -5 --34 --65 --93 --61 -63 -89 -48 -3 --35 --67 --94 --59 -65 -90 -48 -3 --35 --67 --94 --61 -64 -89 -47 -3 --36 --67 --95 --62 -63 -89 -47 -3 --36 --67 --95 --60 -64 -89 -47 -3 --36 --67 --95 --61 -64 -88 -47 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --61 -64 -89 -47 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --61 -63 -89 -46 -2 --36 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --68 --95 --61 -64 -89 -47 -3 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -1 --37 --68 --95 --62 -63 -88 -47 -2 --36 --67 --95 --62 -63 -89 -47 -2 --36 --67 --95 --61 -64 -88 -47 -2 --36 --68 --95 --63 -62 -87 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -47 -2 --36 --67 --95 --64 -62 -88 -46 -2 --36 --68 --95 --61 -64 -89 -47 -3 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --63 -62 -87 -47 -2 --36 --68 --95 --61 -64 -89 -47 -2 --36 --67 --95 --60 -64 -89 -47 -3 --36 --67 --95 --62 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --61 -64 -88 -47 -3 --36 --67 --95 --62 -63 -88 -47 -2 --36 --68 --95 --61 -64 -88 -47 -3 --36 --67 --95 --61 -64 -88 -47 -2 --36 --67 --95 --61 -63 -87 -46 -2 --37 --68 --95 --61 -63 -89 -47 -3 --36 --67 --95 --61 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -46 -2 --36 --68 --95 --101 --50 -64 -82 -45 -0 --36 --69 --95 --101 --127 --46 -71 -93 -58 -13 --26 --60 --87 --111 --127 --38 -80 -102 -67 -20 --19 --54 --82 --107 --110 --31 -85 -107 -72 -24 --16 --51 --79 --104 --108 --29 -88 -109 -75 -27 --14 --49 --78 --103 --37 -87 -115 -75 -27 --15 --49 --79 --40 -84 -109 -67 -19 --22 --55 --84 --48 -76 -101 -58 -12 --28 --60 --89 --54 -70 -95 -54 -8 --31 --63 --91 --57 -68 -93 -52 -7 --33 --65 --92 --58 -66 -90 -49 -4 --34 --66 --94 --61 -64 -89 -48 -4 --35 --66 --94 --60 -65 -89 -48 -3 --35 --67 --95 --60 -64 -89 -48 -3 --36 --67 --95 --63 -62 -88 -47 -2 --36 --67 --95 --61 -63 -88 -47 -3 --36 --67 --95 --61 -64 -89 -47 -3 --36 --67 --95 --63 -62 -87 -46 -2 --36 --68 --95 --61 -64 -89 -47 -2 --36 --67 --95 --61 -64 -89 -47 -3 --36 --67 --95 --63 -62 -88 -47 -2 --36 --68 --95 --61 -64 -89 -47 -3 --36 --67 --95 --61 -64 -88 -47 -2 --36 --67 --95 --62 -63 -88 -47 -3 --36 --67 --94 --100 --127 --51 -65 -88 -50 -8 --31 --64 --91 --97 --127 --40 -75 -100 -62 -18 --23 --56 --85 --107 --112 --34 -82 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -111 -72 -27 --15 --49 --79 --103 --108 --28 -87 -112 -74 -28 --14 --48 --78 --102 --107 --26 -89 -113 -75 -29 --13 --47 --77 --101 --106 --26 -89 -113 -76 -30 --13 --47 --77 --101 --107 --26 -90 -115 -77 -31 --12 --47 --77 --101 --106 --25 -90 -114 -76 -30 --12 --46 --77 --101 --106 --25 -89 -114 -76 -30 --13 --47 --77 --101 --106 --25 -90 -115 -77 -30 --12 --47 --77 --101 --106 --25 -90 -114 -77 -30 --12 --47 --77 --101 --106 --25 -90 -115 -77 -31 --12 --46 --76 --101 --106 --25 -90 -114 -76 -30 --12 --47 --77 --101 --106 --25 -88 -114 -76 -28 --14 --49 --78 --34 -90 -116 -73 -25 --17 --51 --80 --43 -81 -105 -63 -16 --24 --57 --86 --50 -74 -99 -56 -11 --29 --61 --90 --55 -70 -94 -53 -7 --32 --64 --92 --57 -67 -92 -51 -5 --33 --65 --93 --59 -66 -90 -49 -4 --34 --66 --94 --99 --49 -66 -84 -46 -1 --36 --68 --94 --101 --127 --45 -72 -94 -59 -13 --25 --59 --86 --111 --127 --37 -81 -103 -68 -21 --19 --53 --81 --106 --110 --32 -86 -107 -72 -25 --15 --50 --79 --104 --108 --29 -88 -109 -74 -26 --14 --50 --78 --103 --107 --28 -90 -112 -77 -28 --13 --48 --77 --102 --106 --27 -90 -112 -77 -29 --12 --48 --77 --102 --106 --27 -91 -113 -78 -29 --11 --47 --76 --101 --106 --26 -91 -112 -77 -29 --12 --48 --77 --102 --106 --26 -92 -113 -78 -30 --11 --47 --76 --102 --36 -89 -117 -77 -29 --14 --48 --78 --39 -85 -110 -68 -20 --21 --55 --83 --47 -77 -102 -59 -13 --27 --60 --88 --54 -70 -95 -54 -9 --31 --63 --91 --56 -68 -93 -51 -6 --33 --65 --93 --58 -67 -91 -50 -5 --34 --66 --93 --61 -63 -89 -48 -4 --35 --67 --94 --60 -65 -90 -48 -3 --35 --67 --94 --61 -64 -89 -48 -3 --36 --67 --94 --64 -62 -88 -47 -2 --36 --67 --95 --61 -64 -88 -47 -3 --36 --67 --95 --61 -63 -89 -47 -3 --36 --67 --95 --63 -62 -87 -47 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --67 --95 --62 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --67 --95 --61 -64 -88 -47 -3 --36 --67 --95 --62 -63 -88 -47 -2 --36 --67 --95 --61 -64 -89 -47 -3 --36 --67 --95 --61 -63 -88 -47 -3 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --62 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --62 -63 -89 -47 -2 --36 --68 --95 --62 -63 -88 -47 -2 --36 --68 --95 --62 -63 -88 -46 -2 --36 --68 --95 --61 -64 -88 -47 -2 --36 --67 --95 --63 -63 -88 -46 -1 --37 --68 --95 --61 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --63 -62 -88 -47 -3 --36 --68 --95 --61 -64 -89 -47 -2 --36 --67 --95 --62 -63 -88 -46 -2 --37 --68 --95 --64 -60 -87 -46 -2 --36 --68 --95 --61 -64 -89 -47 -2 --36 --67 --95 --61 -64 -88 -47 -3 --36 --67 --95 --64 -61 -87 -46 -3 --36 --67 --95 --101 --127 --50 -65 -89 -51 -8 --31 --63 --91 --97 --127 --40 -76 -101 -62 -18 --23 --56 --84 --107 --112 --33 -83 -108 -70 -24 --17 --51 --81 --104 --109 --30 -85 -111 -72 -26 --16 --49 --79 --103 --108 --28 -88 -113 -74 -26 --16 --49 --79 --35 -88 -114 -72 -24 --18 --51 --81 --44 -80 -104 -62 -15 --25 --58 --87 --52 -72 -97 -56 -11 --29 --61 --90 --55 -70 -94 -52 -7 --32 --64 --92 --57 -67 -92 -50 -5 --34 --65 --93 --60 -65 -91 -49 -5 --34 --66 --93 --99 --127 --49 -66 -90 -52 -9 --31 --63 --91 --97 --127 --39 -76 -101 -63 -19 --22 --55 --84 --107 --112 --33 -83 -107 -69 -24 --17 --51 --81 --104 --109 --29 -86 -111 -72 -27 --15 --49 --79 --103 --108 --28 -87 -112 -74 -28 --14 --48 --78 --102 --107 --27 -89 -114 -75 -29 --14 --48 --78 --102 --107 --26 -89 -114 -76 -30 --13 --47 --77 --101 --106 --26 -90 -115 -77 -31 --12 --46 --77 --101 --106 --25 -90 -114 -76 -30 --12 --47 --77 --101 --106 --25 -89 -114 -75 -29 --13 --47 --77 --101 --107 --25 -90 -114 -76 -30 --12 --46 --77 --101 --106 --25 -90 -115 -77 -31 --12 --47 --77 --101 --106 --25 -90 -114 -77 -31 --12 --46 --77 --101 --106 --25 -90 -114 -76 -30 --13 --47 --77 --101 --106 --25 -89 -114 -76 -30 --12 --47 --77 --101 --106 --25 -90 -115 -77 -31 --12 --46 --77 --101 --106 --25 -90 -114 -76 -30 --12 --47 --77 --101 --106 --25 -90 -115 -77 -31 --12 --46 --77 --101 --106 --25 -90 -115 -76 -30 --12 --47 --77 --101 --106 --25 -89 -114 -76 -30 --12 --47 --77 --101 --106 --25 -89 -114 -76 -30 --13 --47 --77 --101 --106 --25 -89 -114 -76 -30 --12 --47 --77 --101 --106 --25 -90 -116 -77 -31 --12 --46 --77 --101 --106 --25 -90 -114 -76 -30 --12 --46 --77 --101 --106 --26 -89 -114 -76 -28 --14 --48 --78 --34 -90 -115 -73 -25 --17 --51 --81 --43 -81 -106 -63 -16 --24 --57 --86 --50 -74 -98 -56 -10 --29 --62 --90 --55 -70 -95 -53 -8 --32 --64 --91 --57 -67 -92 -50 -5 --34 --65 --93 --59 -66 -91 -49 -4 --35 --66 --94 --100 --49 -66 -85 -46 -2 --35 --68 --94 --101 --127 --45 -71 -94 -59 -13 --26 --60 --87 --110 --127 --37 -81 -103 -68 -21 --19 --53 --82 --106 --110 --31 -86 -107 -73 -25 --16 --51 --79 --104 --108 --29 -88 -109 -75 -27 --13 --49 --78 --103 --38 -87 -115 -75 -27 --15 --49 --79 --40 -84 -109 -67 -19 --22 --55 --84 --49 -76 -101 -58 -12 --28 --61 --89 --54 -70 -95 -54 -9 --31 --63 --91 --57 -68 -93 -51 -7 --33 --65 --92 --58 -66 -91 -49 -4 --34 --66 --94 --61 -63 -89 -48 -4 --35 --67 --94 --60 -65 -89 -48 -3 --36 --67 --95 --60 -65 -89 -48 -3 --36 --67 --94 --64 -62 -87 -47 -3 --36 --67 --95 --61 -64 -88 -47 -2 --36 --67 --95 --61 -64 -89 -47 -3 --36 --67 --95 --64 -62 -87 -46 -2 --37 --68 --95 --61 -63 -89 -47 -3 --36 --67 --95 --61 -63 -88 -47 -3 --36 --67 --95 --62 -62 -87 -46 -2 --36 --67 --95 --61 -64 -89 -46 -2 --36 --68 --95 --61 -64 -88 -47 -3 --36 --67 --95 --62 -63 -88 -47 -3 --35 --67 --94 --100 --127 --51 -64 -89 -50 -7 --32 --63 --91 --97 --127 --40 -75 -100 -62 -18 --22 --56 --85 --108 --112 --34 -82 -107 -69 -24 --18 --51 --81 --104 --109 --30 -85 -111 -73 -27 --15 --49 --79 --103 --108 --29 -87 -112 -74 -26 --16 --50 --80 --35 -88 -113 -72 -24 --18 --52 --81 --44 -80 -105 -63 -16 --25 --57 --86 --50 -74 -97 -56 -11 --29 --62 --90 --55 -70 -94 -53 -8 --32 --64 --92 --57 -68 -92 -50 -5 --34 --65 --93 --59 -65 -91 -49 -4 --35 --66 --94 --61 -65 -90 -48 -3 --35 --67 --94 --60 -64 -88 -47 -3 --36 --67 --95 --61 -63 -89 -47 -2 --36 --68 --95 --62 -63 -88 -47 -3 --36 --67 --95 --62 -63 -89 -47 -2 --36 --67 --95 --61 -64 -88 -47 -2 --36 --67 --95 --63 -62 -87 -47 -2 --36 --68 --95 --61 -64 -89 -47 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --64 -61 -87 -47 -2 --36 --67 --95 --61 -64 -89 -47 -3 --36 --67 --94 --61 -63 -88 -47 -3 --36 --67 --95 --64 -61 -87 -46 -3 --35 --67 --95 --100 --127 --50 -65 -88 -51 -8 --31 --63 --91 --97 --127 --40 -75 -100 -62 -18 --23 --56 --84 --108 --112 --33 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -72 -27 --15 --49 --79 --103 --108 --28 -87 -112 -75 -29 --14 --48 --78 --102 --107 --27 -88 -113 -75 -29 --13 --47 --78 --102 --107 --25 -89 -113 -75 -29 --13 --47 --77 --101 --107 --26 -89 -114 -77 -30 --12 --47 --77 --101 --106 --26 -89 -114 -76 -30 --12 --47 --77 --101 --106 --26 -89 -114 -76 -28 --14 --48 --78 --34 -90 -116 -73 -25 --17 --51 --81 --43 -80 -105 -63 -16 --24 --57 --86 --51 -73 -98 -56 -10 --30 --61 --90 --54 -70 -95 -53 -8 --32 --64 --91 --57 -67 -92 -50 -5 --34 --65 --93 --59 -66 -91 -49 -4 --35 --66 --94 --60 -64 -89 -48 -3 --35 --67 --94 --60 -64 -89 -47 -3 --36 --67 --95 --60 -63 -88 -47 -3 --36 --67 --95 --61 -64 -89 -47 -2 --36 --67 --95 --61 -64 -89 -47 -3 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --62 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --62 -63 -88 -47 -3 --36 --67 --95 --61 -63 -88 -46 -1 --37 --68 --95 --61 -63 -88 -47 -3 --36 --68 --95 --63 -62 -88 -47 -2 --36 --68 --95 --61 -64 -88 -47 -2 --36 --68 --95 --61 -63 -88 -47 -3 --36 --67 --95 --64 -61 -87 -46 -2 --37 --68 --95 --60 -63 -88 -47 -3 --36 --67 --95 --61 -64 -89 -47 -3 --36 --67 --95 --63 -62 -87 -46 -2 --36 --67 --95 --61 -64 -89 -47 -2 --36 --67 --95 --61 -63 -88 -47 -3 --36 --68 --95 --62 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --62 -63 -88 -46 -2 --37 --68 --95 --61 -64 -88 -47 -2 --36 --67 --95 --61 -64 -89 -47 -3 --36 --67 --95 --61 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -47 -2 --36 --67 --95 --61 -64 -88 -47 -2 --36 --68 --95 --61 -63 -88 -46 -2 --36 --67 --95 --101 --50 -65 -83 -45 -0 --37 --69 --95 --102 --127 --46 -71 -92 -58 -12 --26 --60 --87 --111 --127 --37 -79 -102 -67 -20 --19 --54 --82 --107 --110 --32 -84 -107 -72 -24 --16 --51 --79 --104 --108 --29 -88 -109 -75 -26 --14 --49 --78 --103 --37 -86 -115 -75 -27 --15 --49 --79 --40 -83 -109 -66 -19 --22 --55 --84 --48 -77 -101 -58 -13 --28 --60 --88 --54 -70 -95 -54 -8 --31 --63 --91 --57 -68 -93 -51 -6 --33 --65 --92 --58 -66 -91 -49 -5 --34 --66 --93 --99 --49 -66 -85 -47 -2 --35 --68 --94 --100 --127 --45 -72 -94 -59 -13 --25 --59 --86 --110 --127 --36 -81 -103 -68 -20 --19 --54 --81 --106 --110 --32 -86 -107 -72 -24 --16 --51 --79 --104 --108 --29 -88 -109 -75 -27 --14 --49 --78 --103 --107 --27 -90 -112 -77 -28 --12 --48 --77 --102 --106 --27 -90 -112 -77 -29 --12 --48 --77 --102 --106 --27 -89 -112 -77 -29 --12 --48 --77 --102 --106 --26 -91 -112 -77 -29 --12 --48 --77 --102 --106 --26 -91 -112 -78 -30 --11 --47 --76 --101 --105 --26 -91 -113 -78 -30 --11 --47 --76 --101 --105 --26 -90 -112 -77 -29 --12 --48 --77 --102 --106 --26 -90 -112 -77 -29 --12 --48 --76 --102 --106 --26 -91 -114 -78 -30 --11 --47 --76 --101 --105 --26 -91 -112 -78 -29 --12 --48 --76 --102 --36 -88 -115 -77 -29 --14 --48 --78 --39 -85 -110 -68 -20 --21 --54 --83 --47 -77 -101 -59 -13 --27 --60 --88 --55 -70 -95 -54 -8 --31 --63 --91 --56 -69 -93 -52 -6 --33 --65 --92 --58 -66 -91 -50 -5 --34 --66 --93 --61 -64 -89 -48 -3 --35 --67 --94 --59 -65 -89 -48 -3 --35 --67 --94 --60 -65 -89 -48 -3 --36 --67 --94 --62 -63 -87 -47 -2 --36 --67 --95 --60 -64 -89 -47 -3 --36 --67 --95 --60 -64 -89 -47 -3 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --67 --95 --61 -63 -88 -47 -3 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --68 --95 --101 --50 -64 -83 -45 -0 --37 --69 --95 --102 --127 --46 -71 -93 -58 -12 --26 --60 --87 --111 --127 --37 -81 -103 -67 -20 --19 --54 --82 --106 --110 --32 -86 -107 -71 -24 --16 --51 --80 --104 --108 --29 -88 -109 -74 -26 --14 --49 --78 --103 --37 -87 -115 -75 -27 --15 --49 --79 --40 -84 -108 -66 -19 --22 --55 --84 --47 -76 -101 -59 -13 --28 --60 --88 --53 -71 -96 -54 -9 --31 --63 --91 --56 -68 -92 -51 -6 --33 --65 --93 --58 -66 -91 -48 -4 --35 --66 --94 --61 -64 -89 -48 -4 --35 --66 --94 --60 -65 -89 -47 -3 --36 --67 --95 --60 -65 -89 -48 -3 --36 --67 --94 --63 -62 -87 -46 -2 --36 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -47 -3 --36 --67 --95 --63 -62 -87 -46 -2 --37 --68 --95 --60 -64 -89 -47 -3 --36 --67 --95 --61 -63 -88 -46 -2 --36 --67 --95 --62 -63 -87 -45 -1 --37 --68 --95 --61 -64 -89 -47 -3 --36 --67 --95 --61 -64 -88 -46 -2 --36 --67 --95 --61 -63 -88 -47 -3 --36 --67 --94 --100 --127 --51 -64 -88 -51 -8 --31 --63 --91 --97 --127 --40 -75 -99 -62 -18 --23 --56 --85 --108 --112 --33 -82 -107 -69 -24 --18 --51 --81 --104 --109 --30 -86 -110 -72 -27 --16 --49 --79 --103 --108 --28 -87 -111 -73 -25 --16 --50 --80 --35 -89 -113 -72 -24 --18 --52 --81 --44 -80 -105 -63 -16 --25 --57 --86 --50 -74 -97 -56 -10 --30 --62 --90 --54 -70 -94 -52 -7 --32 --64 --92 --57 -68 -92 -50 -5 --34 --65 --93 --58 -66 -90 -48 -4 --35 --66 --94 --60 -64 -89 -48 -3 --35 --67 --94 --59 -65 -88 -46 -2 --36 --67 --95 --60 -64 -89 -47 -3 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --60 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --63 -62 -87 -46 -2 --36 --68 --95 --61 -64 -89 -46 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --68 --95 --64 -61 -87 -46 -2 --37 --68 --95 --61 -64 -88 -47 -2 --36 --67 --95 --61 -63 -88 -47 -3 --36 --67 --95 --64 -60 -86 -46 -3 --36 --67 --95 --100 --127 --50 -65 -89 -51 -8 --31 --63 --91 --97 --127 --40 -76 -101 -63 -18 --23 --55 --84 --107 --112 --33 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -111 -72 -27 --15 --49 --79 --103 --108 --28 -88 -111 -74 -26 --16 --50 --79 --34 -88 -114 -72 -24 --18 --51 --81 --43 -80 -105 -62 -16 --25 --58 --86 --51 -73 -97 -55 -10 --30 --62 --90 --54 -70 -95 -52 -7 --32 --64 --92 --57 -68 -92 -50 -5 --34 --65 --93 --59 -65 -90 -48 -3 --35 --67 --94 --59 -65 -89 -48 -3 --35 --67 --94 --60 -64 -89 -47 -3 --36 --67 --95 --60 -65 -88 -47 -3 --36 --67 --95 --60 -64 -88 -46 -2 --36 --67 --95 --61 -64 -89 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -46 -1 --37 --68 --95 --61 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -46 -2 --37 --68 --95 --62 -63 -88 -46 -2 --36 --68 --95 --60 -63 -88 -46 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --101 --50 -65 -83 -45 -1 --36 --68 --95 --101 --127 --46 -71 -93 -58 -12 --26 --60 --87 --111 --127 --37 -80 -102 -66 -20 --20 --54 --82 --107 --110 --32 -86 -108 -72 -24 --16 --51 --79 --104 --108 --29 -88 -110 -74 -27 --14 --49 --78 --103 --38 -86 -115 -75 -27 --15 --49 --79 --39 -84 -109 -65 -19 --22 --55 --84 --47 -77 -100 -59 -13 --27 --60 --88 --55 -69 -95 -53 -8 --31 --63 --91 --55 -69 -93 -51 -6 --33 --65 --92 --57 -66 -91 -48 -4 --35 --66 --94 --61 -64 -88 -47 -3 --36 --67 --95 --59 -65 -90 -48 -3 --35 --66 --94 --60 -65 -89 -47 -3 --36 --67 --95 --60 -63 -88 -46 -2 --36 --67 --95 --60 -64 -89 -46 -2 --36 --67 --95 --60 -65 -88 -47 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -46 -1 --37 --68 --95 --61 -63 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --101 --50 -65 -82 -43 --1 --37 --69 --95 --102 --127 --45 -72 -94 -58 -12 --26 --60 --87 --111 --127 --37 -80 -101 -67 -20 --19 --54 --82 --106 --110 --31 -86 -108 -72 -24 --16 --51 --79 --104 --108 --28 -88 -109 -74 -27 --14 --49 --78 --103 --37 -87 -115 -74 -26 --16 --50 --79 --39 -84 -109 -66 -19 --22 --55 --84 --47 -77 -101 -58 -12 --28 --60 --88 --53 -71 -95 -53 -8 --31 --63 --91 --55 -68 -93 -50 -5 --33 --65 --93 --57 -67 -91 -48 -4 --35 --66 --93 --61 -64 -90 -48 -3 --35 --67 --94 --59 -65 -89 -47 -3 --36 --67 --94 --60 -65 -89 -47 -3 --36 --67 --95 --63 -62 -88 -47 -2 --36 --67 --95 --60 -65 -89 -47 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --67 --95 --62 -62 -87 -45 -1 --37 --68 --95 --60 -63 -88 -46 -2 --36 --67 --95 --60 -65 -89 -46 -2 --36 --67 --95 --62 -62 -87 -46 -1 --37 --68 --95 --60 -65 -89 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -45 -2 --36 --67 --95 --101 --127 --50 -65 -88 -50 -8 --31 --63 --91 --97 --127 --40 -75 -100 -62 -18 --23 --56 --85 --107 --112 --33 -82 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -72 -26 --16 --49 --79 --103 --108 --28 -88 -112 -73 -25 --16 --50 --80 --34 -89 -113 -71 -24 --18 --52 --81 --43 -81 -105 -62 -15 --25 --58 --86 --49 -74 -98 -56 -10 --29 --61 --90 --54 -70 -94 -52 -7 --32 --64 --92 --56 -68 -91 -50 -5 --34 --66 --93 --58 -65 -90 -48 -4 --35 --66 --94 --59 -65 -89 -47 -3 --36 --67 --95 --59 -64 -89 -47 -2 --36 --67 --95 --60 -64 -89 -46 -2 --36 --67 --95 --61 -63 -88 -47 -2 --36 --67 --95 --61 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --62 -63 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --63 -62 -87 -45 -1 --37 --68 --95 --59 -65 -88 -47 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --67 --95 --63 -62 -86 -45 -2 --36 --67 --95 --100 --127 --50 -65 -88 -51 -8 --31 --63 --91 --97 --127 --39 -75 -99 -62 -18 --23 --56 --85 --107 --112 --33 -82 -106 -69 -24 --18 --51 --81 --104 --109 --28 -86 -110 -72 -26 --16 --49 --79 --103 --108 --28 -87 -112 -74 -26 --16 --49 --79 --34 -89 -114 -71 -23 --18 --52 --81 --42 -81 -105 -62 -15 --25 --58 --86 --51 -73 -97 -55 -10 --30 --62 --90 --53 -71 -94 -52 -7 --32 --64 --92 --55 -68 -92 -50 -5 --34 --65 --93 --59 -66 -90 -47 -3 --36 --67 --94 --59 -65 -89 -48 -3 --35 --67 --94 --59 -65 -89 -46 -2 --36 --67 --95 --59 -65 -88 -46 -2 --36 --67 --95 --60 -64 -89 -47 -2 --36 --67 --95 --60 -64 -87 -45 -2 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -64 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -63 -87 -45 -2 --36 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --60 -64 -87 -46 -2 --37 --68 --95 --101 --50 -65 -82 -45 -0 --37 --68 --95 --101 --127 --45 -72 -94 -58 -12 --26 --60 --87 --111 --127 --37 -80 -102 -66 -20 --20 --54 --82 --107 --110 --31 -86 -107 -71 -24 --16 --51 --79 --104 --108 --29 -89 -109 -74 -26 --14 --49 --78 --103 --37 -88 -115 -75 -27 --15 --49 --79 --39 -85 -108 -65 -19 --22 --55 --84 --47 -77 -101 -58 -12 --28 --60 --88 --54 -70 -94 -53 -8 --31 --63 --91 --54 -69 -93 -50 -6 --33 --65 --92 --57 -67 -91 -48 -4 --35 --66 --94 --60 -63 -88 -47 -3 --36 --67 --94 --58 -66 -90 -48 -3 --35 --67 --94 --59 -65 -89 -47 -3 --36 --67 --95 --60 -64 -88 -45 -1 --36 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -64 -88 -46 -2 --36 --68 --95 --60 -65 -88 -45 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --60 -65 -89 -46 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --59 -65 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --37 --68 --95 --101 --49 -65 -82 -44 -0 --37 --69 --95 --101 --127 --45 -71 -93 -58 -12 --26 --60 --87 --110 --127 --37 -79 -102 -67 -20 --19 --54 --82 --106 --110 --31 -85 -107 -71 -24 --17 --51 --80 --104 --108 --28 -88 -110 -75 -26 --14 --49 --78 --103 --36 -88 -115 -75 -27 --15 --49 --79 --39 -84 -108 -65 -19 --22 --55 --84 --46 -77 -101 -58 -12 --28 --60 --88 --53 -71 -95 -53 -8 --31 --63 --91 --55 -69 -93 -50 -5 --34 --65 --93 --57 -67 -91 -49 -4 --34 --66 --93 --60 -64 -89 -47 -3 --36 --67 --95 --58 -66 -89 -47 -3 --35 --67 --94 --59 -65 -89 -46 -2 --36 --67 --95 --62 -63 -87 -46 -2 --36 --68 --95 --59 -64 -89 -47 -2 --36 --67 --94 --59 -65 -88 -45 -1 --37 --68 --95 --61 -62 -87 -46 -2 --36 --67 --95 --60 -64 -88 -46 -1 --36 --68 --95 --59 -65 -89 -46 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -2 --36 --67 --95 --100 --127 --50 -65 -88 -49 -7 --32 --64 --91 --97 --127 --39 -76 -100 -62 -18 --23 --56 --85 --107 --112 --33 -83 -107 -68 -24 --18 --51 --81 --104 --109 --29 -86 -109 -71 -26 --16 --50 --79 --103 --108 --27 -88 -111 -73 -25 --16 --50 --80 --33 -90 -114 -71 -24 --18 --51 --81 --42 -81 -105 -62 -15 --25 --58 --87 --49 -75 -98 -55 -10 --30 --62 --90 --54 -70 -94 -51 -6 --33 --64 --92 --55 -68 -92 -50 -5 --34 --65 --93 --57 -67 -91 -48 -4 --35 --66 --94 --59 -65 -89 -47 -3 --35 --67 --94 --58 -65 -89 -47 -3 --36 --67 --94 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --60 -65 -88 -45 -1 --37 --68 --95 --62 -63 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --68 --95 --60 -65 -88 -45 -1 --37 --67 --95 --63 -62 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --36 --68 --95 --59 -65 -88 -45 -2 --36 --68 --95 --63 -60 -86 -45 -2 --36 --67 --95 --100 --127 --49 -65 -89 -51 -8 --31 --63 --91 --97 --127 --39 -76 -101 -63 -18 --22 --55 --84 --107 --111 --33 -82 -106 -68 -23 --18 --52 --81 --104 --109 --29 -85 -110 -72 -26 --16 --49 --79 --103 --108 --27 -88 -112 -74 -26 --16 --49 --79 --34 -89 -114 -71 -23 --18 --52 --81 --42 -80 -104 -61 -15 --25 --58 --86 --50 -74 -98 -55 -10 --30 --62 --90 --52 -70 -94 -52 -7 --32 --64 --92 --55 -68 -92 -49 -5 --34 --65 --93 --57 -66 -89 -48 -3 --35 --67 --94 --58 -65 -89 -47 -3 --35 --67 --94 --58 -66 -89 -47 -3 --36 --67 --94 --59 -64 -88 -45 -2 --36 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --59 -64 -88 -45 -2 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --36 --68 --95 --62 -63 -87 -45 -1 --38 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --62 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -63 -87 -45 -2 --36 --68 --95 --59 -65 -88 -45 -2 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --60 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --60 -64 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -1 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -65 -88 -45 -2 --36 --67 --95 --61 -64 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --67 --95 --59 -65 -87 -45 -1 --37 --68 --95 --101 --50 -65 -82 -44 -0 --37 --69 --95 --101 --127 --45 -72 -93 -57 -12 --27 --60 --87 --111 --127 --37 -81 -102 -66 -20 --20 --54 --82 --106 --110 --31 -86 -107 -71 -24 --16 --51 --79 --104 --108 --28 -89 -110 -74 -26 --14 --49 --78 --103 --36 -88 -115 -74 -26 --16 --49 --79 --38 -85 -108 -65 -19 --22 --55 --84 --46 -77 -101 -58 -12 --28 --60 --88 --54 -70 -94 -52 -7 --32 --63 --91 --54 -69 -93 -51 -5 --33 --65 --93 --56 -68 -91 -48 -4 --35 --66 --93 --59 -64 -89 -47 -3 --36 --67 --94 --58 -66 -89 -47 -3 --36 --67 --94 --58 -65 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -65 -89 -47 -2 --36 --67 --94 --59 -64 -88 -46 -2 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -45 -2 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --101 --49 -65 -81 -43 -0 --37 --69 --95 --101 --127 --45 -71 -93 -58 -12 --26 --60 --87 --110 --127 --37 -80 -102 -67 -20 --19 --54 --81 --106 --109 --31 -85 -107 -71 -23 --17 --51 --80 --104 --108 --28 -88 -109 -74 -26 --14 --49 --78 --103 --107 --27 -90 -111 -75 -28 --13 --48 --77 --102 --106 --26 -90 -112 -76 -28 --13 --48 --77 --102 --105 --26 -91 -112 -77 -28 --13 --48 --77 --102 --106 --25 -91 -113 -77 -29 --12 --47 --76 --101 --105 --25 -91 -113 -77 -29 --12 --47 --76 --101 --105 --26 -91 -113 -77 -29 --12 --47 --76 --101 --105 --25 -91 -112 -76 -28 --13 --48 --77 --102 --105 --26 -92 -113 -77 -29 --12 --47 --76 --101 --105 --25 -92 -113 -77 -29 --12 --47 --76 --101 --105 --25 -92 -113 -77 -29 --12 --47 --76 --101 --34 -90 -117 -76 -28 --14 --48 --78 --36 -86 -110 -66 -19 --21 --54 --83 --45 -77 -101 -58 -12 --28 --60 --88 --51 -72 -96 -53 -8 --31 --63 --91 --53 -70 -92 -50 -5 --33 --65 --93 --56 -68 -91 -48 -4 --35 --66 --94 --99 --48 -66 -84 -46 -1 --35 --67 --93 --100 --127 --44 -72 -94 -58 -13 --26 --59 --86 --110 --127 --36 -81 -102 -67 -20 --19 --54 --82 --106 --109 --30 -86 -108 -72 -24 --16 --51 --79 --104 --107 --28 -89 -110 -74 -26 --14 --49 --78 --103 --106 --27 -90 -111 -75 -28 --13 --48 --77 --102 --106 --26 -91 -112 -75 -27 --13 --48 --77 --102 --106 --26 -91 -113 -76 -28 --13 --48 --76 --102 --106 --25 -92 -113 -77 -29 --12 --48 --76 --101 --105 --25 -91 -112 -77 -29 --12 --48 --76 --101 --35 -89 -117 -76 -28 --14 --48 --78 --36 -86 -110 -66 -19 --21 --55 --84 --45 -78 -101 -58 -13 --28 --60 --88 --53 -71 -95 -52 -8 --32 --63 --91 --53 -70 -92 -50 -6 --33 --65 --92 --56 -68 -91 -48 -4 --34 --66 --93 --59 -65 -88 -47 -3 --35 --67 --94 --58 -66 -89 -46 -2 --36 --67 --94 --58 -66 -88 -46 -2 --36 --67 --95 --60 -63 -88 -45 -1 --37 --68 --95 --58 -65 -89 -45 -2 --36 --68 --95 --58 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --37 --68 --95 --60 -64 -88 -45 -1 --36 --68 --95 --58 -66 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -63 -87 -45 -1 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --62 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --61 -63 -87 -45 -1 --37 --68 --95 --58 -65 -88 -46 -2 --36 --68 --95 --59 -65 -88 -45 -2 --37 --67 --95 --60 -64 -87 -45 -1 --37 --68 --95 --58 -65 -88 -45 -2 --36 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --59 -64 -87 -45 -2 --36 --67 --95 --100 --127 --50 -64 -88 -49 -7 --32 --64 --91 --97 --127 --40 -75 -99 -62 -17 --23 --56 --85 --107 --111 --33 -82 -107 -68 -23 --18 --52 --81 --104 --109 --28 -86 -111 -71 -26 --16 --49 --79 --103 --107 --27 -88 -112 -73 -25 --16 --50 --79 --33 -90 -114 -71 -23 --18 --52 --81 --41 -82 -105 -61 -15 --26 --58 --86 --48 -75 -97 -55 -9 --30 --62 --90 --52 -71 -94 -51 -6 --33 --64 --92 --55 -69 -92 -48 -4 --34 --66 --93 --57 -67 -90 -47 -3 --35 --67 --94 --100 --48 -67 -83 -45 -1 --36 --68 --94 --100 --127 --44 -73 -93 -58 -12 --26 --59 --86 --110 --127 --36 -81 -102 -67 -20 --19 --54 --81 --106 --109 --31 -86 -107 -71 -24 --16 --51 --79 --104 --108 --27 -89 -110 -74 -26 --14 --49 --77 --103 --106 --26 -91 -111 -76 -28 --13 --48 --77 --102 --105 --26 -90 -111 -76 -28 --13 --48 --77 --102 --106 --26 -91 -112 -76 -28 --13 --48 --76 --102 --105 --25 -91 -112 -77 -29 --12 --48 --76 --101 --105 --25 -91 -112 -77 -29 --12 --48 --76 --101 --105 --25 -92 -112 -77 -28 --12 --48 --76 --101 --105 --24 -91 -112 -77 -29 --12 --48 --76 --101 --105 --25 -92 -113 -77 -29 --12 --47 --76 --101 --105 --25 -92 -113 -77 -29 --12 --47 --76 --101 --105 --24 -92 -112 -76 -28 --12 --48 --77 --102 --105 --25 -92 -113 -77 -29 --12 --47 --76 --101 --105 --24 -92 -113 -76 -28 --12 --48 --76 --101 --105 --26 -92 -113 -76 -28 --12 --47 --76 --101 --105 --25 -92 -113 -76 -28 --12 --48 --76 --101 --105 --24 -92 -113 -77 -29 --12 --47 --76 --101 --105 --25 -93 -114 -78 -29 --11 --47 --76 --101 --105 --24 -92 -112 -76 -28 --12 --48 --76 --101 --105 --25 -92 -112 -77 -29 --12 --47 --76 --101 --105 --25 -92 -113 -77 -29 --12 --48 --76 --101 --105 --25 -92 -113 -77 -29 --12 --47 --76 --101 --34 -90 -117 -76 -28 --14 --48 --78 --36 -86 -109 -66 -19 --22 --55 --84 --45 -78 -101 -58 -12 --28 --60 --88 --51 -72 -95 -53 -8 --31 --63 --91 --53 -70 -93 -51 -6 --33 --65 --92 --56 -68 -91 -48 -4 --35 --66 --93 --99 --48 -67 -84 -46 -1 --36 --68 --94 --101 --127 --44 -73 -94 -57 -12 --26 --59 --87 --110 --127 --36 -81 -102 -66 -20 --19 --54 --82 --106 --109 --31 -86 -107 -71 -24 --16 --51 --79 --104 --107 --27 -90 -110 -74 -26 --14 --49 --78 --103 --36 -88 -115 -74 -27 --15 --49 --79 --37 -85 -109 -65 -18 --23 --55 --84 --45 -78 -101 -58 -12 --28 --60 --88 --53 -70 -95 -52 -7 --32 --64 --92 --53 -70 -93 -50 -5 --33 --65 --92 --56 -68 -92 -48 -4 --35 --66 --93 --59 -65 -89 -47 -3 --36 --67 --94 --57 -66 -89 -47 -3 --36 --67 --94 --58 -65 -88 -45 -1 --36 --68 --95 --59 -64 -88 -45 -1 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --36 --67 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --58 -65 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -89 -46 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --101 --49 -65 -81 -43 --1 --37 --69 --95 --101 --127 --45 -72 -92 -57 -12 --26 --60 --87 --110 --127 --36 -81 -102 -67 -20 --19 --54 --82 --106 --109 --31 -86 -107 -71 -24 --16 --51 --79 --104 --108 --28 -89 -109 -74 -26 --14 --49 --78 --103 --35 -88 -115 -74 -27 --15 --49 --79 --37 -85 -108 -65 -18 --22 --55 --84 --45 -78 -101 -57 -11 --28 --60 --89 --51 -72 -95 -52 -7 --32 --63 --91 --54 -70 -93 -50 -5 --34 --65 --93 --56 -68 -91 -48 -4 --35 --66 --93 --59 -65 -89 -47 -3 --36 --67 --94 --57 -66 -89 -46 -2 --36 --67 --94 --58 -65 -88 -45 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --58 -65 -88 -46 -2 --36 --67 --94 --59 -65 -88 -45 -1 --36 --68 --95 --60 -64 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --60 -63 -87 -45 -1 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -45 -2 --36 --67 --95 --59 -64 -87 -45 -1 --36 --68 --95 --100 --127 --50 -65 -88 -49 -7 --32 --64 --91 --97 --127 --39 -76 -100 -62 -17 --23 --56 --84 --107 --111 --33 -83 -107 -68 -23 --18 --51 --81 --104 --109 --29 -86 -110 -71 -25 --16 --50 --80 --103 --108 --26 -88 -112 -73 -28 --14 --49 --78 --102 --107 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --25 -90 -113 -75 -29 --13 --47 --77 --101 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --24 -90 -114 -75 -27 --15 --48 --78 --31 -92 -115 -72 -24 --17 --51 --80 --40 -83 -105 -62 -15 --25 --57 --86 --47 -75 -99 -56 -10 --30 --61 --90 --52 -72 -95 -51 -6 --33 --64 --92 --54 -68 -92 -49 -4 --34 --65 --93 --56 -67 -90 -47 -3 --35 --67 --94 --58 -66 -89 -47 -3 --36 --67 --94 --57 -66 -89 -46 -2 --36 --67 --95 --58 -66 -89 -45 -1 --36 --68 --95 --60 -64 -88 -45 -1 --37 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -46 -2 --37 --67 --95 --61 -63 -87 -45 -1 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -63 -86 -45 -1 --37 --68 --95 --58 -65 -89 -47 -2 --36 --67 --94 --58 -65 -88 -45 -1 --37 --68 --95 --60 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --67 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -63 -87 -45 -1 --37 --68 --95 --58 -66 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --100 --50 -65 -82 -43 --1 --37 --69 --95 --101 --127 --45 -72 -93 -57 -12 --27 --60 --87 --111 --127 --36 -81 -102 -66 -19 --20 --54 --82 --106 --109 --31 -86 -107 -71 -24 --16 --51 --79 --104 --107 --28 -88 -109 -74 -26 --14 --50 --78 --103 --36 -88 -115 -74 -26 --16 --49 --79 --37 -85 -109 -65 -19 --22 --55 --84 --45 -77 -101 -57 -11 --28 --61 --89 --53 -71 -94 -53 -8 --31 --63 --91 --53 -69 -93 -50 -5 --33 --65 --93 --55 -68 -91 -48 -4 --35 --66 --93 --59 -64 -88 -47 -3 --35 --66 --94 --99 --127 --49 -65 -89 -51 -8 --31 --63 --90 --97 --127 --38 -77 -101 -62 -18 --23 --56 --84 --107 --111 --32 -83 -107 -69 -24 --18 --51 --80 --104 --108 --28 -86 -110 -72 -26 --16 --49 --79 --103 --107 --27 -87 -112 -74 -28 --14 --48 --78 --102 --107 --25 -89 -113 -74 -29 --13 --47 --77 --101 --106 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --25 -90 -115 -76 -30 --12 --46 --77 --101 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --24 -90 -115 -76 -30 --12 --47 --77 --101 --106 --23 -91 -114 -76 -30 --12 --47 --77 --101 --106 --24 -90 -114 -76 -28 --14 --48 --78 --31 -92 -115 -72 -24 --17 --51 --80 --40 -82 -106 -62 -15 --25 --58 --86 --48 -75 -97 -55 -10 --30 --62 --90 --52 -72 -95 -52 -7 --32 --64 --91 --54 -70 -91 -49 -5 --34 --65 --93 --57 -66 -90 -48 -3 --35 --67 --94 --57 -66 -89 -46 -2 --36 --67 --94 --58 -65 -89 -46 -2 --36 --67 --95 --58 -65 -88 -45 -2 --36 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -45 -2 --36 --67 --95 --59 -65 -88 -45 -2 --36 --67 --95 --58 -65 -88 -45 -1 --37 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -87 -45 -1 --37 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --101 --49 -65 -82 -44 --1 --37 --69 --95 --101 --127 --45 -72 -93 -57 -12 --27 --60 --87 --111 --127 --36 -81 -102 -66 -19 --20 --54 --82 --106 --109 --31 -86 -107 -71 -24 --16 --51 --79 --104 --107 --28 -89 -109 -74 -26 --14 --49 --78 --103 --36 -88 -115 -75 -27 --15 --49 --79 --37 -85 -109 -65 -18 --22 --55 --84 --45 -77 -101 -58 -12 --28 --60 --88 --53 -70 -94 -51 -7 --32 --64 --92 --53 -70 -93 -50 -6 --33 --65 --92 --56 -68 -91 -48 -4 --35 --66 --93 --59 -65 -88 -47 -2 --36 --67 --94 --57 -66 -89 -47 -3 --36 --67 --94 --58 -66 -89 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -89 -46 -2 --36 --67 --94 --58 -65 -88 -45 -2 --36 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --58 -65 -87 -45 -1 --37 --68 --95 --58 -65 -88 -45 -2 --36 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --100 --49 -65 -82 -43 --1 --37 --69 --95 --101 --127 --45 -72 -92 -57 -12 --26 --60 --87 --110 --127 --37 -81 -102 -67 -20 --20 --54 --82 --106 --110 --31 -86 -107 -71 -24 --16 --51 --79 --104 --108 --28 -89 -110 -74 -27 --14 --49 --78 --102 --36 -88 -115 -74 -26 --16 --50 --79 --37 -85 -108 -65 -19 --22 --55 --84 --45 -77 -101 -58 -12 --28 --60 --88 --51 -72 -95 -52 -7 --32 --64 --91 --53 -70 -93 -50 -5 --33 --65 --92 --56 -68 -90 -48 -4 --35 --66 --94 --59 -65 -89 -47 -3 --36 --67 --94 --58 -66 -90 -47 -3 --36 --67 --94 --58 -65 -89 -46 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --58 -65 -88 -46 -2 --36 --67 --95 --59 -66 -89 -45 -1 --36 --67 --95 --61 -64 -87 -45 -1 --37 --68 --95 --58 -65 -88 -45 -2 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -64 -87 -45 -2 --36 --68 --95 --100 --127 --50 -65 -88 -50 -7 --32 --63 --91 --97 --127 --39 -76 -100 -61 -17 --23 --56 --85 --107 --112 --33 -83 -107 -68 -23 --18 --51 --81 --104 --109 --28 -86 -110 -71 -25 --16 --50 --80 --103 --108 --27 -88 -112 -74 -26 --16 --49 --79 --32 -90 -114 -71 -24 --18 --51 --81 --41 -82 -105 -61 -15 --26 --58 --86 --48 -75 -97 -55 -10 --29 --62 --90 --52 -71 -94 -51 -6 --33 --64 --92 --55 -69 -93 -49 -5 --34 --65 --93 --56 -67 -90 -48 -3 --35 --67 --94 --58 -66 -90 -46 -2 --36 --67 --94 --58 -65 -88 -46 -2 --36 --67 --94 --59 -65 -89 -46 -2 --36 --67 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --60 -63 -87 -45 -1 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --36 --67 --95 --62 -62 -87 -45 -1 --38 --68 --95 --59 -65 -88 -45 -2 --36 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --61 -63 -86 -45 -2 --36 --67 --95 --100 --127 --49 -65 -89 -50 -7 --31 --63 --91 --97 --127 --39 -76 -101 -62 -18 --23 --55 --84 --107 --111 --32 -83 -106 -68 -23 --18 --51 --81 --104 --109 --28 -87 -110 -71 -26 --16 --49 --79 --103 --107 --27 -88 -112 -74 -26 --16 --49 --79 --33 -90 -114 -71 -24 --18 --52 --81 --41 -82 -104 -61 -15 --25 --58 --86 --49 -74 -97 -55 -10 --30 --62 --90 --52 -71 -94 -51 -6 --33 --64 --92 --55 -68 -92 -49 -5 --34 --66 --93 --57 -67 -90 -47 -3 --35 --67 --94 --57 -66 -89 -47 -3 --36 --67 --94 --58 -66 -89 -46 -2 --36 --67 --95 --58 -65 -88 -45 -1 --36 --68 --95 --59 -65 -89 -46 -2 --36 --67 --95 --59 -65 -89 -46 -2 --36 --68 --95 --58 -65 -88 -45 -1 --36 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -64 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --36 --67 --95 --60 -64 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --101 --50 -65 -82 -43 -0 --37 --69 --95 --101 --127 --45 -72 -94 -57 -12 --27 --60 --87 --110 --127 --36 -81 -102 -66 -19 --20 --54 --82 --106 --110 --31 -86 -107 -71 -24 --16 --51 --79 --104 --107 --28 -89 -109 -74 -26 --14 --49 --78 --103 --36 -88 -115 -75 -27 --15 --49 --79 --38 -85 -108 -65 -18 --23 --56 --84 --45 -77 -101 -58 -12 --28 --60 --88 --54 -71 -95 -53 -8 --31 --63 --91 --53 -70 -93 -50 -6 --33 --65 --92 --56 -68 -91 -48 -4 --35 --66 --93 --59 -64 -88 -47 -3 --36 --67 --94 --58 -66 -90 -47 -3 --36 --67 --94 --58 -65 -89 -46 -2 --36 --67 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -2 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --101 --50 -64 -81 -43 --1 --37 --69 --95 --102 --127 --45 -72 -93 -58 -12 --26 --60 --87 --110 --127 --37 -81 -102 -67 -20 --19 --54 --81 --106 --109 --31 -86 -107 -71 -24 --16 --51 --79 --104 --108 --28 -88 -109 -74 -26 --14 --49 --78 --103 --35 -88 -115 -75 -27 --15 --49 --79 --37 -85 -109 -65 -18 --22 --55 --84 --46 -77 -101 -58 -12 --28 --60 --88 --52 -71 -96 -53 -8 --31 --63 --91 --54 -70 -93 -50 -5 --34 --65 --93 --56 -67 -91 -48 -4 --35 --66 --93 --59 -65 -89 -47 -3 --36 --67 --94 --58 -66 -90 -47 -3 --36 --67 --94 --58 -65 -89 -46 -2 --36 --67 --94 --61 -63 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -63 -87 -45 -2 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --58 -65 -88 -45 -1 --37 --68 --95 --60 -63 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -2 --36 --68 --95 --60 -64 -88 -45 -2 --36 --67 --95 --100 --127 --50 -65 -88 -50 -7 --32 --64 --91 --97 --127 --39 -76 -100 -62 -17 --23 --56 --84 --107 --112 --32 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -71 -26 --16 --49 --79 --103 --108 --27 -88 -112 -73 -25 --16 --50 --80 --33 -89 -114 -71 -24 --18 --51 --81 --42 -81 -105 -61 -15 --25 --58 --86 --48 -75 -98 -55 -10 --30 --62 --90 --53 -71 -94 -51 -6 --33 --64 --92 --55 -69 -91 -49 -5 --34 --66 --93 --57 -67 -91 -48 -4 --35 --66 --93 --59 -66 -89 -47 -2 --36 --67 --95 --58 -65 -89 -47 -3 --36 --67 --94 --59 -65 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --61 -63 -88 -46 -2 --36 --67 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --62 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --36 --67 --95 --59 -65 -89 -45 -1 --36 --68 --95 --62 -62 -87 -45 -2 --36 --67 --94 --100 --127 --50 -65 -88 -50 -7 --32 --63 --91 --97 --127 --39 -75 -100 -62 -18 --22 --55 --84 --107 --111 --32 -82 -107 -69 -24 --17 --51 --80 --104 --109 --29 -86 -110 -71 -26 --16 --50 --79 --103 --108 --27 -88 -113 -74 -26 --16 --49 --79 --33 -90 -114 -71 -24 --18 --52 --81 --42 -80 -104 -62 -15 --25 --58 --86 --50 -74 -97 -55 -10 --30 --62 --90 --53 -70 -94 -52 -7 --32 --64 --92 --55 -68 -91 -49 -5 --34 --65 --93 --58 -66 -91 -48 -3 --35 --67 --94 --58 -66 -89 -47 -3 --36 --67 --94 --59 -65 -89 -47 -3 --36 --67 --95 --59 -65 -88 -46 -2 --36 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -64 -88 -45 -1 --37 --68 --95 --60 -65 -89 -46 -2 --36 --67 --95 --59 -64 -88 -45 -2 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -87 -46 -2 --36 --67 --95 --60 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --100 --50 -65 -82 -44 --1 --37 --69 --95 --101 --127 --45 -72 -93 -57 -12 --26 --60 --87 --111 --127 --36 -81 -102 -67 -20 --20 --54 --82 --106 --110 --31 -86 -107 -72 -24 --16 --51 --79 --104 --107 --28 -89 -109 -74 -26 --14 --49 --78 --103 --37 -88 -115 -75 -27 --16 --49 --79 --38 -85 -109 -66 -19 --22 --55 --84 --46 -77 -101 -57 -11 --28 --61 --89 --53 -70 -95 -53 -8 --31 --63 --91 --54 -69 -93 -50 -5 --33 --65 --93 --56 -68 -91 -48 -4 --35 --66 --94 --59 -64 -89 -48 -3 --35 --66 --94 --58 -66 -89 -47 -3 --36 --67 --95 --58 -65 -89 -47 -3 --36 --67 --94 --60 -63 -88 -45 -2 --36 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --60 -64 -89 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --100 --50 -64 -82 -44 -0 --37 --69 --95 --101 --127 --45 -71 -93 -57 -12 --27 --60 --87 --111 --127 --36 -81 -103 -68 -21 --19 --53 --81 --106 --109 --31 -85 -107 -72 -24 --16 --51 --79 --104 --108 --29 -88 -110 -74 -26 --14 --49 --78 --103 --36 -88 -115 -75 -27 --15 --49 --79 --38 -85 -109 -66 -19 --22 --55 --84 --46 -77 -100 -57 -12 --28 --60 --89 --52 -71 -95 -54 -8 --31 --63 --91 --55 -69 -93 -50 -5 --33 --65 --93 --57 -67 -91 -48 -4 --35 --66 --94 --60 -65 -89 -47 -3 --36 --67 --94 --58 -65 -89 -47 -3 --36 --67 --95 --59 -65 -89 -46 -2 --36 --67 --95 --62 -63 -87 -46 -2 --37 --68 --95 --59 -65 -89 -47 -3 --36 --67 --95 --59 -65 -88 -46 -2 --36 --68 --95 --61 -62 -87 -45 -1 --37 --68 --95 --59 -65 -89 -46 -2 --36 --67 --95 --59 -64 -88 -46 -1 --36 --68 --95 --61 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --61 -64 -88 -45 -2 --36 --67 --95 --100 --127 --50 -65 -88 -50 -7 --31 --63 --91 --97 --127 --39 -76 -99 -62 -17 --23 --56 --85 --108 --112 --33 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -72 -27 --16 --49 --79 --103 --108 --27 -88 -111 -73 -26 --16 --50 --79 --34 -90 -114 -71 -24 --18 --52 --81 --42 -81 -105 -62 -16 --25 --58 --86 --49 -74 -97 -55 -10 --30 --62 --90 --53 -71 -93 -52 -7 --32 --64 --92 --56 -68 -92 -50 -5 --34 --66 --93 --57 -67 -91 -48 -4 --35 --66 --94 --59 -65 -89 -47 -3 --36 --67 --94 --59 -65 -88 -47 -2 --36 --67 --95 --59 -65 -88 -46 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --59 -65 -89 -46 -2 --36 --67 --95 --60 -63 -88 -45 -2 --36 --68 --95 --62 -63 -88 -45 -1 --37 --68 --95 --59 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --62 -63 -87 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --59 -64 -88 -45 -1 --37 --68 --95 --62 -62 -87 -46 -2 --36 --67 --95 --59 -65 -89 -47 -2 --36 --67 --95 --59 -64 -89 -47 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -45 -2 --36 --68 --95 --60 -64 -89 -46 -2 --36 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --61 -64 -87 -45 -2 --37 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --37 --68 --95 --61 -63 -87 -45 -1 --37 --68 --95 --60 -65 -88 -45 -1 --36 --68 --95 --60 -63 -88 -46 -2 --37 --68 --95 --62 -63 -88 -46 -2 --36 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --63 -62 -87 -45 -2 --36 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --60 -65 -89 -46 -2 --36 --67 --95 --63 -62 -87 -45 -2 --36 --67 --95 --100 --127 --50 -64 -88 -51 -8 --31 --63 --91 --97 --127 --39 -75 -100 -62 -18 --23 --56 --84 --107 --112 --33 -82 -107 -69 -24 --17 --51 --80 --104 --109 --29 -86 -110 -72 -26 --16 --50 --79 --103 --108 --28 -87 -112 -74 -26 --16 --50 --79 --34 -90 -114 -72 -24 --18 --52 --81 --42 -80 -104 -62 -15 --25 --58 --86 --50 -73 -97 -55 -10 --30 --62 --90 --53 -70 -94 -52 -7 --32 --64 --92 --56 -68 -92 -50 -5 --34 --65 --93 --58 -66 -91 -48 -4 --35 --66 --94 --59 -65 -89 -48 -3 --35 --67 --94 --59 -65 -89 -47 -2 --36 --67 --95 --59 -64 -88 -47 -2 --36 --67 --95 --60 -65 -89 -46 -2 --36 --67 --95 --59 -65 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -65 -88 -46 -2 --36 --67 --95 --62 -63 -88 -46 -1 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --101 --50 -65 -83 -45 -0 --36 --68 --95 --101 --127 --45 -72 -93 -57 -12 --27 --60 --87 --111 --127 --36 -81 -102 -67 -20 --19 --54 --82 --106 --110 --31 -86 -107 -72 -24 --16 --51 --79 --104 --108 --28 -89 -109 -75 -27 --14 --49 --78 --103 --107 --27 -90 -111 -76 -28 --13 --48 --77 --102 --106 --26 -91 -112 -76 -28 --12 --48 --77 --102 --106 --26 -91 -112 -77 -29 --12 --48 --76 --102 --105 --26 -91 -112 -77 -29 --12 --48 --76 --102 --106 --25 -91 -112 -77 -29 --12 --47 --76 --102 --106 --25 -92 -114 -79 -30 --11 --47 --76 --101 --105 --25 -91 -113 -78 -29 --12 --47 --76 --101 --105 --26 -91 -112 -77 -29 --12 --48 --77 --102 --106 --25 -92 -113 -77 -29 --12 --47 --76 --102 --106 --25 -91 -113 -78 -29 --12 --48 --76 --102 --35 -89 -116 -77 -29 --14 --48 --78 --38 -85 -110 -67 -20 --21 --54 --84 --46 -78 -101 -59 -13 --27 --59 --88 --54 -70 -95 -53 -8 --31 --63 --91 --55 -69 -93 -51 -6 --33 --65 --92 --57 -67 -91 -49 -5 --34 --66 --93 --61 -63 -89 -47 -4 --35 --66 --94 --100 --127 --49 -66 -90 -52 -9 --30 --62 --90 --112 --127 --39 -76 -101 -63 -19 --22 --55 --84 --107 --111 --33 -83 -107 -69 -24 --18 --51 --81 --104 --109 --28 -86 -110 -72 -27 --15 --49 --79 --103 --108 --27 -88 -112 -74 -29 --14 --48 --78 --102 --107 --26 -89 -113 -75 -29 --13 --47 --77 --101 --106 --25 -90 -113 -75 -29 --13 --47 --77 --101 --106 --24 -90 -115 -76 -30 --12 --47 --77 --101 --106 --25 -90 -114 -76 -30 --13 --47 --77 --101 --106 --25 -89 -114 -76 -28 --14 --48 --78 --33 -90 -115 -72 -24 --18 --51 --81 --42 -82 -105 -63 -17 --24 --57 --86 --50 -73 -98 -56 -10 --29 --62 --90 --53 -71 -95 -53 -8 --32 --64 --91 --56 -68 -92 -50 -5 --34 --65 --93 --58 -66 -90 -48 -3 --35 --67 --94 --59 -65 -90 -48 -3 --35 --67 --94 --59 -65 -89 -47 -2 --36 --67 --95 --59 -64 -89 -47 -3 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -65 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --61 -64 -88 -45 -1 --37 --68 --95 --61 -63 -88 -46 -2 --36 --68 --95 --61 -64 -89 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --62 -63 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --63 -62 -87 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --60 -65 -89 -46 -2 --36 --67 --95 --62 -63 -87 -46 -2 --36 --68 --95 --60 -65 -89 -47 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -46 -2 --36 --68 --95 --60 -64 -89 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -46 -2 --36 --68 --95 --61 -64 -89 -46 -2 --36 --68 --95 --60 -63 -88 -46 -2 --36 --67 --95 --101 --50 -65 -82 -44 -0 --37 --69 --95 --102 --127 --45 -72 -93 -59 -13 --26 --60 --87 --110 --127 --37 -80 -102 -67 -21 --19 --54 --82 --106 --109 --32 -85 -107 -72 -24 --16 --51 --79 --104 --108 --28 -88 -109 -74 -26 --14 --49 --78 --103 --37 -88 -116 -76 -27 --15 --49 --79 --39 -84 -108 -66 -19 --22 --55 --84 --47 -77 -101 -58 -12 --28 --60 --89 --54 -70 -95 -54 -8 --31 --63 --91 --56 -69 -93 -51 -6 --33 --65 --93 --57 -67 -91 -49 -5 --34 --66 --93 --99 --49 -66 -84 -46 -1 --36 --68 --94 --101 --127 --44 -73 -94 -59 -13 --25 --59 --87 --110 --127 --36 -81 -103 -68 -21 --19 --54 --81 --106 --109 --32 -86 -107 -72 -24 --16 --51 --79 --104 --108 --28 -89 -109 -74 -26 --14 --49 --78 --103 --107 --27 -90 -112 -76 -28 --13 --48 --77 --102 --106 --26 -91 -112 -76 -28 --13 --48 --77 --102 --106 --26 -91 -112 -77 -29 --12 --48 --76 --101 --106 --26 -91 -112 -77 -29 --12 --48 --77 --102 --106 --26 -92 -113 -78 -29 --12 --47 --76 --101 --106 --26 -92 -113 -78 -30 --11 --47 --76 --101 --105 --25 -91 -113 -77 -29 --12 --48 --76 --101 --105 --26 -91 -112 -77 -29 --12 --48 --76 --102 --106 --25 -91 -113 -78 -30 --12 --47 --76 --101 --105 --26 -91 -113 -77 -29 --12 --47 --76 --101 --105 --26 -91 -113 -78 -29 --11 --47 --76 --101 --105 --25 -91 -113 -77 -29 --12 --48 --76 --101 --106 --26 -91 -113 -78 -29 --12 --47 --76 --101 --105 --26 -91 -113 -78 -30 --12 --47 --76 --101 --105 --26 -91 -112 -77 -29 --12 --48 --77 --102 --105 --26 -91 -114 -78 -30 --11 --47 --76 --101 --105 --25 -91 -112 -77 -29 --12 --48 --77 --102 --106 --26 -91 -113 -78 -29 --12 --47 --76 --101 --105 --26 -91 -113 -77 -29 --12 --48 --77 --102 --105 --26 -92 -113 -78 -29 --12 --47 --76 --102 --35 -89 -117 -77 -29 --13 --48 --78 --38 -86 -110 -67 -19 --22 --55 --84 --46 -77 -101 -59 -13 --27 --60 --88 --55 -70 -95 -53 -8 --31 --63 --91 --55 -69 -93 -52 -7 --33 --65 --92 --57 -68 -92 -49 -5 --34 --66 --93 --62 -62 -88 -47 -3 --35 --66 --94 --100 --127 --49 -66 -90 -52 -9 --30 --62 --90 --112 --127 --38 -77 -101 -63 -19 --22 --55 --84 --107 --111 --32 -83 -107 -69 -24 --17 --51 --81 --104 --109 --29 -86 -110 -72 -27 --15 --49 --79 --103 --108 --28 -87 -112 -74 -26 --16 --49 --79 --35 -89 -114 -71 -23 --18 --52 --82 --43 -80 -104 -62 -16 --25 --58 --86 --50 -73 -97 -56 -11 --29 --61 --90 --54 -70 -93 -52 -7 --32 --64 --92 --56 -68 -92 -50 -5 --34 --65 --93 --59 -66 -90 -48 -4 --35 --66 --94 --59 -65 -89 -48 -3 --35 --67 --94 --59 -65 -89 -47 -3 --36 --67 --95 --59 -64 -88 -47 -2 --36 --67 --95 --60 -64 -89 -47 -2 --36 --67 --95 --60 -64 -89 -47 -2 --36 --68 --95 --61 -63 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --37 --68 --95 --61 -64 -88 -46 -1 --37 --68 --95 --62 -63 -87 -46 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -47 -2 --36 --67 --95 --100 --51 -65 -83 -45 -0 --36 --69 --95 --101 --127 --46 -71 -93 -57 -12 --26 --60 --87 --111 --127 --36 -81 -102 -67 -20 --19 --54 --82 --106 --110 --31 -86 -107 -72 -24 --16 --51 --79 --104 --108 --29 -88 -109 -74 -26 --14 --50 --78 --103 --37 -87 -115 -75 -27 --15 --49 --79 --39 -84 -109 -66 -19 --22 --55 --84 --47 -77 -101 -58 -12 --28 --60 --88 --55 -69 -95 -53 -8 --31 --64 --91 --55 -68 -93 -51 -6 --33 --65 --92 --57 -67 -91 -49 -4 --34 --66 --94 --60 -64 -89 -48 -3 --35 --67 --94 --59 -65 -89 -47 -3 --36 --67 --95 --59 -65 -89 -47 -3 --35 --67 --94 --61 -63 -88 -46 -2 --36 --68 --95 --60 -65 -89 -47 -2 --36 --67 --95 --60 -64 -89 -47 -3 --36 --67 --95 --61 -64 -88 -46 -2 --37 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --61 -64 -88 -45 -1 --37 --68 --95 --60 -63 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --36 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --100 --49 -65 -82 -44 -0 --37 --69 --95 --102 --127 --45 -71 -93 -58 -12 --26 --60 --87 --111 --127 --37 -80 -103 -68 -21 --19 --54 --81 --106 --110 --32 -85 -107 -72 -24 --16 --51 --79 --104 --108 --29 -88 -109 -74 -26 --14 --49 --78 --103 --107 --27 -89 -112 -76 -28 --13 --48 --77 --102 --106 --26 -90 -112 -77 -29 --12 --48 --77 --102 --106 --27 -90 -112 -77 -29 --12 --48 --76 --102 --106 --27 -91 -113 -77 -29 --12 --48 --77 --102 --106 --26 -91 -113 -77 -29 --12 --48 --77 --102 --35 -89 -117 -77 -29 --14 --48 --78 --39 -85 -110 -67 -20 --21 --54 --84 --46 -77 -101 -59 -13 --27 --60 --88 --53 -71 -96 -54 -9 --31 --63 --91 --55 -69 -93 -51 -6 --33 --65 --93 --57 -67 -91 -49 -4 --34 --66 --93 --61 -64 -89 -47 -3 --35 --67 --95 --59 -65 -90 -48 -3 --35 --67 --94 --60 -64 -89 -47 -2 --36 --67 --95 --62 -62 -87 -46 -2 --36 --67 --95 --60 -65 -89 -47 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --63 -62 -87 -46 -2 --36 --67 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -47 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -64 -89 -47 -2 --36 --67 --95 --61 -63 -87 -45 -1 --37 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --68 --95 --61 -64 -89 -47 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -64 -87 -45 -1 --36 --68 --95 --62 -63 -88 -47 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -46 -2 --36 --68 --95 --62 -62 -87 -46 -2 --37 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -63 -88 -46 -2 --36 --68 --95 --63 -62 -87 -45 -2 --36 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -65 -88 -46 -2 --36 --67 --95 --63 -61 -87 -46 -3 --36 --67 --95 --100 --127 --50 -64 -88 -51 -8 --31 --63 --91 --97 --127 --39 -76 -100 -62 -18 --23 --55 --84 --108 --112 --32 -82 -107 -69 -24 --18 --51 --81 --104 --109 --29 -85 -110 -72 -27 --16 --49 --79 --103 --108 --28 -88 -112 -74 -26 --16 --49 --79 --34 -89 -114 -72 -24 --18 --51 --81 --43 -80 -105 -62 -15 --25 --58 --86 --51 -73 -97 -55 -10 --30 --62 --90 --53 -70 -94 -52 -7 --32 --64 --92 --56 -67 -91 -50 -5 --34 --66 --93 --58 -66 -90 -48 -5 --34 --66 --93 --99 --127 --49 -66 -89 -51 -8 --31 --63 --90 --97 --127 --39 -76 -100 -62 -18 --22 --55 --84 --107 --112 --33 -83 -108 -69 -24 --17 --51 --80 --104 --109 --29 -86 -111 -72 -27 --15 --49 --79 --103 --108 --27 -87 -112 -74 -28 --14 --48 --78 --102 --107 --26 -88 -113 -75 -29 --13 --47 --77 --101 --106 --25 -89 -114 -75 -29 --13 --47 --77 --101 --106 --26 -90 -115 -77 -30 --12 --46 --77 --101 --106 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --26 -89 -114 -75 -29 --13 --47 --77 --101 --106 --24 -90 -114 -76 -30 --12 --47 --77 --101 --106 --24 -90 -115 -77 -30 --12 --46 --77 --101 --106 --25 -90 -115 -77 -30 --12 --46 --77 --101 --106 --25 -89 -114 -76 -30 --13 --47 --77 --101 --106 --26 -89 -114 -75 -27 --15 --49 --78 --33 -90 -115 -73 -25 --17 --50 --80 --42 -81 -106 -63 -16 --24 --57 --86 --49 -74 -98 -56 -11 --29 --62 --90 --54 -70 -94 -52 -7 --32 --64 --92 --56 -68 -92 -50 -5 --34 --65 --93 --58 -66 -91 -48 -4 --35 --66 --94 --60 -65 -90 -48 -3 --35 --67 --94 --59 -65 -89 -48 -3 --35 --67 --94 --60 -65 -89 -46 -2 --36 --67 --95 --61 -64 -89 -47 -2 --36 --67 --95 --60 -63 -88 -47 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --63 -63 -88 -47 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --64 -62 -87 -46 -2 --36 --68 --95 --60 -65 -88 -46 -2 --36 --67 --95 --60 -64 -89 -47 -2 --36 --67 --95 --63 -62 -87 -45 -2 --36 --68 --95 --101 --127 --50 -65 -89 -51 -8 --31 --63 --91 --97 --127 --39 -76 -100 -62 -18 --22 --55 --84 --107 --112 --33 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -85 -109 -72 -26 --16 --50 --79 --103 --108 --28 -88 -112 -74 -26 --16 --49 --79 --34 -89 -114 -72 -24 --18 --51 --81 --43 -80 -105 -62 -15 --25 --58 --87 --50 -72 -97 -56 -10 --30 --62 --90 --54 -70 -94 -52 -7 --32 --64 --92 --56 -68 -92 -50 -5 --33 --65 --93 --59 -66 -90 -48 -3 --35 --67 --94 --59 -65 -89 -48 -3 --36 --67 --94 --60 -65 -90 -48 -3 --35 --67 --94 --60 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -45 -1 --36 --68 --95 --60 -63 -88 -46 -2 --36 --67 --95 --61 -64 -89 -47 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --37 --68 --95 --61 -63 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --61 -64 -89 -46 -2 --36 --67 --95 --101 --50 -64 -82 -45 -0 --37 --69 --95 --102 --127 --46 -72 -94 -58 -12 --26 --60 --87 --111 --127 --37 -81 -102 -66 -20 --20 --54 --82 --107 --110 --32 -86 -107 -72 -24 --16 --51 --79 --104 --108 --29 -88 -109 -74 -26 --14 --49 --78 --103 --37 -87 -115 -76 -27 --15 --49 --79 --39 -84 -109 -66 -19 --22 --55 --84 --47 -76 -101 -58 -12 --28 --60 --88 --54 -70 -95 -53 -8 --31 --63 --91 --55 -68 -93 -51 -6 --33 --65 --93 --57 -68 -92 -49 -5 --34 --66 --93 --60 -64 -89 -47 -3 --36 --67 --94 --59 -65 -90 -48 -3 --35 --67 --94 --59 -65 -89 -47 -2 --36 --67 --95 --61 -63 -88 -46 -2 --36 --67 --95 --60 -65 -89 -47 -2 --36 --67 --95 --60 -64 -88 -47 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --61 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --61 -63 -88 -46 -2 --37 --68 --95 --60 -64 -88 -46 -2 --37 --68 --95 --60 -63 -88 -46 -2 --36 --68 --95 --101 --50 -65 -82 -44 -0 --37 --69 --95 --102 --127 --45 -72 -93 -58 -13 --26 --60 --87 --111 --127 --37 -81 -102 -67 -21 --19 --53 --81 --106 --110 --31 -86 -106 -71 -24 --16 --51 --79 --104 --108 --29 -88 -109 -74 -27 --14 --49 --78 --103 --37 -87 -115 -75 -27 --16 --49 --79 --39 -84 -108 -66 -19 --22 --55 --84 --47 -77 -101 -58 -12 --28 --60 --88 --53 -71 -95 -53 -8 --31 --63 --91 --56 -68 -93 -50 -5 --34 --65 --93 --57 -67 -91 -49 -5 --34 --66 --93 --60 -64 -89 -48 -3 --35 --67 --94 --59 -65 -89 -47 -3 --35 --67 --94 --59 -65 -89 -47 -2 --36 --67 --95 --63 -62 -87 -45 -1 --37 --68 --95 --60 -64 -89 -47 -3 --36 --67 --94 --60 -64 -89 -46 -2 --36 --67 --95 --62 -62 -87 -46 -2 --36 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --61 -63 -88 -46 -2 --36 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -65 -88 -46 -2 --36 --67 --95 --61 -63 -88 -45 -2 --36 --67 --95 --101 --127 --50 -64 -88 -50 -7 --32 --64 --91 --97 --127 --40 -76 -100 -62 -18 --23 --56 --84 --107 --112 --33 -83 -108 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -71 -26 --16 --49 --79 --103 --108 --28 -88 -111 -73 -26 --16 --50 --80 --34 -89 -114 -72 -24 --18 --51 --81 --43 -80 -104 -62 -15 --25 --58 --87 --49 -74 -98 -56 -10 --30 --62 --90 --54 -70 -94 -52 -7 --32 --64 --92 --56 -68 -92 -49 -5 --34 --66 --93 --57 -67 -90 -48 -4 --35 --66 --94 --60 -65 -90 -47 -3 --36 --67 --94 --59 -65 -89 -47 -3 --36 --67 --94 --60 -64 -88 -46 -2 --36 --67 --95 --61 -63 -87 -45 -2 --36 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --62 -62 -88 -46 -2 --36 --67 --95 --61 -64 -89 -47 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --63 -62 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --60 -65 -89 -47 -2 --36 --67 --95 --63 -62 -86 -45 -2 --36 --67 --95 --100 --127 --50 -64 -88 -50 -7 --32 --63 --91 --97 --127 --39 -77 -100 -62 -18 --23 --55 --84 --107 --112 --33 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -72 -26 --16 --49 --79 --103 --108 --28 -86 -112 -74 -26 --16 --49 --79 --34 -90 -114 -72 -24 --18 --51 --81 --42 -80 -104 -62 -15 --25 --58 --86 --50 -73 -97 -55 -10 --30 --62 --90 --53 -70 -93 -52 -7 --32 --64 --92 --56 -68 -91 -50 -5 --34 --66 --93 --58 -66 -90 -48 -4 --35 --66 --94 --59 -65 -89 -47 -3 --36 --67 --94 --59 -65 -89 -47 -2 --36 --67 --94 --59 -64 -89 -47 -3 --36 --67 --94 --60 -64 -88 -46 -2 --36 --67 --95 --59 -65 -89 -47 -2 --36 --67 --95 --60 -63 -88 -45 -1 --37 --68 --95 --61 -64 -88 -46 -2 --36 --68 --95 --60 -63 -88 -46 -2 --36 --68 --95 --60 -65 -88 -45 -2 --36 --68 --95 --61 -63 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --100 --50 -65 -83 -44 -0 --36 --69 --95 --101 --127 --46 -71 -93 -57 -12 --27 --60 --87 --111 --127 --36 -81 -102 -67 -20 --19 --54 --82 --106 --110 --31 -86 -107 -72 -24 --16 --51 --79 --104 --108 --29 -88 -109 -74 -26 --14 --49 --78 --103 --37 -87 -114 -75 -27 --16 --49 --79 --39 -85 -109 -66 -19 --22 --55 --84 --47 -77 -101 -58 -12 --28 --60 --88 --54 -70 -95 -53 -8 --31 --63 --91 --55 -69 -93 -51 -6 --33 --65 --92 --57 -67 -91 -48 -4 --35 --66 --94 --60 -63 -89 -48 -3 --35 --67 --94 --59 -66 -89 -47 -3 --36 --67 --95 --59 -65 -89 -47 -3 --35 --67 --94 --61 -63 -88 -46 -2 --36 --67 --95 --60 -65 -88 -47 -2 --36 --67 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -64 -87 -45 -1 --37 --68 --95 --60 -64 -88 -47 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -63 -88 -45 -1 --37 --68 --95 --60 -63 -88 -46 -2 --36 --67 --95 --60 -65 -88 -46 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --101 --50 -64 -82 -44 --1 --37 --69 --95 --102 --127 --45 -72 -93 -57 -12 --27 --60 --87 --111 --127 --37 -80 -102 -67 -20 --19 --54 --82 --106 --110 --31 -86 -107 -72 -24 --16 --51 --79 --104 --108 --28 -88 -109 -74 -26 --14 --49 --78 --103 --36 -88 -115 -75 -27 --16 --49 --79 --39 -84 -109 -66 -19 --22 --55 --84 --46 -77 -100 -58 -12 --28 --60 --89 --53 -71 -95 -54 -8 --31 --63 --91 --54 -69 -92 -50 -5 --33 --65 --93 --56 -67 -91 -49 -4 --34 --66 --93 --60 -65 -89 -48 -3 --35 --67 --94 --59 -65 -88 -47 -2 --36 --67 --95 --59 -65 -89 -47 -2 --36 --67 --94 --62 -62 -87 -45 -2 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -64 -88 -46 -2 --36 --68 --95 --62 -62 -87 -45 -1 --37 --68 --95 --60 -65 -89 -46 -2 --36 --67 --95 --60 -64 -88 -46 -1 --37 --68 --95 --61 -63 -87 -45 -2 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --37 --67 --95 --60 -64 -87 -46 -3 --36 --67 --95 --100 --127 --50 -65 -88 -50 -7 --32 --63 --91 --97 --127 --39 -76 -99 -62 -18 --23 --56 --85 --107 --112 --33 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -111 -72 -26 --16 --49 --79 --103 --108 --27 -87 -111 -73 -25 --16 --50 --80 --34 -89 -114 -72 -24 --18 --51 --81 --42 -80 -105 -62 -15 --25 --58 --86 --49 -74 -97 -55 -10 --30 --62 --90 --54 -70 -94 -52 -6 --32 --64 --92 --55 -67 -92 -50 -5 --34 --66 --93 --57 -67 -91 -48 -3 --35 --67 --94 --59 -65 -89 -48 -3 --35 --67 --94 --59 -65 -89 -47 -2 --36 --67 --95 --59 -65 -88 -46 -2 --36 --67 --95 --61 -63 -87 -45 -2 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --95 --62 -63 -88 -45 -1 --37 --68 --95 --60 -65 -88 -46 -2 --36 --67 --95 --60 -64 -88 -46 -2 --36 --68 --95 --63 -62 -87 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --37 --68 --95 --62 -61 -87 -45 -3 --36 --67 --95 --100 --127 --50 -65 -89 -50 -7 --31 --63 --91 --97 --127 --39 -75 -100 -62 -18 --23 --56 --84 --107 --112 --33 -82 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -72 -26 --16 --49 --79 --103 --108 --28 -88 -112 -74 -26 --16 --49 --79 --33 -90 -113 -71 -24 --18 --52 --81 --42 -81 -105 -62 -15 --25 --57 --86 --50 -74 -97 -55 -10 --30 --62 --90 --53 -70 -94 -52 -7 --32 --64 --92 --56 -68 -91 -49 -5 --34 --66 --93 --57 -67 -89 -47 -3 --35 --67 --94 --58 -66 -90 -48 -3 --35 --66 --94 --59 -65 -89 -46 -2 --36 --67 --95 --59 -65 -89 -46 -2 --36 --67 --95 --60 -64 -88 -46 -1 --36 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --60 -64 -87 -45 -2 --36 --68 --95 --60 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -63 -88 -45 -1 --36 --68 --95 --60 -64 -87 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --101 --49 -65 -82 -44 -0 --37 --69 --95 --101 --127 --45 -71 -93 -57 -12 --26 --60 --87 --110 --127 --36 -80 -101 -66 -19 --20 --54 --82 --107 --110 --31 -86 -107 -72 -24 --16 --51 --79 --104 --108 --28 -89 -109 -74 -27 --14 --49 --78 --103 --37 -87 -114 -74 -27 --16 --49 --79 --38 -84 -108 -65 -19 --22 --55 --84 --46 -77 -101 -58 -12 --28 --60 --89 --54 -70 -94 -53 -8 --31 --64 --91 --55 -69 -93 -50 -5 --33 --65 --93 --56 -68 -91 -48 -4 --34 --66 --93 --60 -64 -89 -47 -3 --35 --67 --94 --58 -66 -89 -47 -3 --36 --67 --94 --59 -65 -89 -47 -2 --36 --67 --95 --60 -64 -87 -46 -2 --36 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -89 -47 -2 --36 --67 --95 --60 -64 -87 -46 -2 --37 --68 --95 --59 -64 -88 -45 -1 --36 --68 --95 --59 -65 -88 -45 -1 --36 --67 --95 --60 -63 -88 -45 -1 --37 --68 --95 --60 -64 -88 -45 -1 --36 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --60 -65 -88 -45 -1 --37 --68 --95 --101 --49 -65 -82 -44 -0 --36 --68 --95 --101 --127 --45 -71 -93 -58 -12 --27 --60 --87 --111 --127 --38 -80 -102 -67 -20 --19 --54 --82 --106 --109 --31 -86 -107 -71 -23 --17 --51 --80 --104 --108 --28 -89 -110 -74 -27 --14 --49 --78 --103 --36 -88 -115 -75 -27 --16 --49 --79 --38 -85 -109 -65 -19 --22 --55 --84 --46 -77 -100 -58 -12 --28 --60 --88 --53 -71 -95 -53 -8 --31 --63 --91 --54 -69 -92 -50 -6 --33 --65 --92 --57 -67 -91 -48 -4 --35 --66 --94 --59 -65 -89 -47 -3 --35 --67 --94 --58 -65 -89 -47 -3 --36 --67 --94 --59 -65 -88 -46 -2 --36 --68 --95 --61 -63 -87 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --62 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -64 -88 -46 -2 --36 --67 --95 --61 -63 -87 -45 -1 --37 --68 --95 --59 -65 -89 -46 -2 --36 --67 --95 --60 -64 -88 -46 -1 --37 --68 --95 --60 -64 -87 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --60 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --60 -64 -88 -45 -1 --36 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --61 -64 -88 -46 -2 --36 --68 --95 --59 -64 -87 -45 -1 --37 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --62 -63 -88 -46 -2 --36 --67 --95 --59 -64 -87 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --62 -62 -86 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -2 --36 --67 --95 --62 -62 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --61 -63 -88 -45 -2 --36 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --60 -64 -88 -45 -1 --36 --68 --95 --60 -64 -87 -45 -2 --36 --67 --95 --100 --127 --50 -65 -88 -50 -7 --32 --63 --91 --97 --127 --39 -75 -99 -61 -17 --23 --56 --85 --108 --112 --32 -83 -107 -68 -23 --18 --51 --81 --105 --109 --28 -86 -110 -71 -26 --16 --49 --79 --103 --108 --27 -88 -111 -73 -25 --16 --50 --79 --34 -89 -114 -71 -24 --18 --52 --81 --42 -82 -105 -62 -15 --25 --58 --86 --49 -74 -97 -55 -10 --30 --62 --90 --53 -71 -94 -52 -7 --32 --64 --92 --55 -68 -92 -49 -5 --34 --65 --93 --57 -67 -90 -47 -3 --35 --67 --94 --58 -65 -89 -47 -3 --35 --67 --94 --59 -65 -89 -46 -2 --36 --67 --95 --59 -65 -89 -46 -2 --36 --67 --95 --60 -63 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --61 -63 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --36 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --62 -62 -86 -45 -1 --37 --68 --95 --59 -64 -89 -47 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --62 -62 -87 -45 -2 --36 --67 --95 --100 --127 --50 -64 -88 -51 -8 --31 --63 --91 --97 --127 --39 -75 -100 -62 -17 --23 --56 --85 --108 --112 --32 -83 -107 -69 -23 --18 --51 --81 --104 --109 --29 -86 -110 -72 -26 --16 --49 --79 --103 --107 --28 -88 -112 -74 -28 --14 --48 --78 --102 --106 --26 -89 -113 -74 -28 --14 --48 --78 --102 --106 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --25 -90 -115 -76 -30 --12 --46 --77 --101 --106 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --26 -90 -114 -76 -30 --13 --47 --77 --101 --106 --24 -91 -115 -75 -29 --13 --47 --77 --101 --106 --24 -91 -115 -76 -30 --12 --47 --77 --101 --106 --25 -90 -115 -76 -30 --13 --47 --77 --101 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --25 -91 -115 -77 -28 --14 --48 --78 --32 -91 -115 -72 -25 --17 --51 --80 --41 -82 -105 -62 -15 --25 --58 --86 --49 -74 -98 -56 -10 --29 --61 --89 --53 -71 -95 -52 -6 --32 --64 --92 --55 -69 -92 -49 -5 --34 --65 --93 --58 -66 -90 -47 -4 --35 --66 --94 --99 --127 --49 -66 -89 -52 -9 --31 --63 --90 --112 --127 --38 -77 -101 -62 -18 --23 --55 --84 --107 --111 --33 -83 -107 -69 -24 --18 --51 --80 --104 --109 --29 -86 -110 -71 -26 --16 --50 --79 --103 --108 --27 -88 -112 -73 -27 --14 --48 --78 --102 --107 --26 -90 -114 -74 -29 --13 --47 --78 --101 --106 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --24 -90 -114 -75 -28 --15 --49 --78 --32 -91 -115 -73 -25 --17 --50 --80 --41 -83 -106 -62 -16 --24 --57 --86 --48 -75 -98 -56 -10 --29 --61 --90 --53 -71 -94 -51 -7 --32 --64 --92 --55 -69 -92 -49 -5 --34 --65 --93 --57 -67 -91 -48 -4 --35 --66 --94 --58 -65 -89 -47 -3 --36 --67 --94 --58 -65 -89 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -63 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --61 -63 -88 -45 -1 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --67 --95 --62 -62 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -62 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -63 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --60 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -46 -2 --36 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -1 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -64 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -2 --36 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --101 --50 -64 -82 -44 -0 --36 --69 --95 --101 --127 --45 -71 -93 -57 -11 --27 --60 --87 --111 --127 --36 -81 -102 -66 -20 --20 --54 --82 --106 --110 --31 -86 -107 -71 -24 --16 --51 --79 --104 --107 --28 -89 -110 -74 -26 --14 --49 --78 --103 --37 -87 -115 -74 -27 --15 --49 --79 --38 -85 -108 -65 -19 --22 --55 --84 --46 -77 -101 -58 -12 --28 --60 --88 --54 -70 -94 -52 -7 --32 --64 --91 --54 -69 -93 -51 -6 --33 --65 --92 --56 -68 -91 -48 -4 --35 --66 --94 --59 -64 -88 -47 -4 --35 --66 --94 --99 --127 --49 -65 -89 -51 -8 --31 --63 --90 --112 --127 --38 -77 -100 -62 -18 --22 --55 --84 --107 --111 --32 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -72 -26 --16 --49 --79 --103 --107 --27 -87 -112 -74 -28 --14 --48 --78 --102 --106 --26 -88 -113 -75 -29 --13 --48 --77 --101 --106 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --25 -90 -115 -76 -30 --13 --47 --77 --101 --106 --25 -90 -114 -75 -29 --13 --47 --77 --101 --106 --26 -90 -114 -75 -29 --13 --47 --77 --101 --106 --24 -90 -115 -76 -30 --13 --47 --77 --101 --106 --24 -90 -115 -76 -30 --12 --47 --76 --101 --106 --24 -90 -114 -76 -30 --13 --46 --77 --101 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --25 -90 -114 -75 -30 --12 --47 --77 --101 --106 --24 -90 -115 -76 -30 --12 --47 --77 --101 --106 --24 -90 -115 -76 -30 --13 --47 --77 --101 --106 --24 -91 -115 -76 -30 --12 --47 --77 --101 --106 --24 -90 -114 -76 -30 --12 --47 --77 --101 --106 --25 -90 -114 -76 -30 --12 --47 --77 --100 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --24 -91 -114 -76 -30 --12 --47 --77 --101 --106 --24 -91 -115 -76 -30 --12 --46 --76 --101 --106 --24 -90 -114 -75 -29 --13 --47 --77 --101 --106 --25 -90 -114 -75 -27 --14 --48 --78 --31 -92 -115 -72 -25 --17 --51 --80 --41 -82 -106 -62 -16 --25 --57 --86 --49 -74 -98 -55 -10 --30 --62 --90 --52 -71 -94 -51 -7 --33 --64 --92 --55 -68 -91 -49 -5 --34 --66 --93 --57 -67 -90 -48 -4 --34 --66 --93 --99 --127 --49 -65 -89 -51 -8 --31 --63 --90 --97 --127 --38 -77 -101 -62 -18 --22 --55 --84 --107 --111 --32 -83 -107 -69 -24 --18 --51 --81 --104 --109 --29 -86 -110 -72 -26 --16 --49 --79 --103 --107 --27 -88 -111 -73 -26 --16 --50 --79 --33 -90 -114 -71 -24 --18 --51 --81 --41 -82 -104 -62 -15 --25 --58 --86 --48 -74 -97 -55 -10 --30 --62 --90 --53 -71 -94 -51 -7 --32 --64 --92 --55 -69 -91 -48 -4 --35 --66 --94 --56 -67 -91 -48 -3 --35 --66 --94 --59 -66 -89 -47 -3 --35 --67 --94 --58 -65 -89 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --36 --68 --95 --60 -63 -88 -45 -1 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --36 --68 --95 --61 -63 -87 -45 -1 --37 --68 --95 --58 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --62 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -62 -87 -45 -2 --36 --67 --95 --100 --127 --50 -64 -87 -50 -7 --32 --64 --91 --97 --127 --39 -76 -99 -62 -18 --23 --56 --84 --107 --112 --32 -83 -107 -69 -24 --18 --51 --80 --104 --109 --28 -85 -110 -72 -26 --16 --49 --79 --103 --107 --27 -88 -112 -74 -26 --16 --49 --79 --33 -90 -114 -70 -23 --19 --52 --81 --42 -80 -104 -62 -15 --25 --58 --86 --50 -74 -97 -54 -9 --30 --62 --90 --52 -71 -94 -52 -7 --32 --64 --91 --56 -68 -92 -49 -5 --34 --66 --93 --56 -67 -89 -48 -3 --35 --67 --94 --57 -66 -89 -47 -3 --35 --67 --94 --58 -65 -88 -46 -2 --36 --68 --95 --58 -65 -89 -46 -2 --36 --67 --94 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -2 --37 --68 --95 --59 -64 -88 -45 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -46 -1 --37 --68 --95 --59 -64 -87 -45 -1 --37 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --101 --49 -65 -82 -44 -0 --37 --68 --95 --101 --127 --45 -72 -92 -57 -12 --26 --60 --87 --111 --127 --36 -81 -101 -66 -20 --20 --54 --82 --106 --109 --31 -86 -107 -72 -24 --16 --51 --79 --104 --108 --28 -89 -109 -74 -26 --14 --49 --78 --103 --106 --27 -90 -111 -75 -28 --13 --48 --77 --102 --106 --26 -91 -111 -76 -28 --13 --48 --77 --102 --106 --25 -91 -112 -76 -28 --12 --48 --76 --102 --105 --25 -92 -112 -77 -29 --12 --47 --76 --101 --105 --25 -92 -112 -77 -29 --12 --48 --76 --102 --34 -90 -115 -76 -28 --14 --49 --78 --36 -86 -110 -67 -20 --21 --54 --83 --45 -78 -101 -58 -12 --28 --60 --88 --53 -70 -95 -53 -8 --31 --63 --91 --53 -70 -93 -50 -5 --33 --65 --93 --55 -68 -91 -48 -4 --35 --66 --93 --59 -65 -89 -47 -2 --36 --67 --94 --58 -66 -89 -47 -3 --36 --67 --94 --58 -65 -89 -47 -2 --36 --67 --94 --59 -64 -87 -45 -1 --37 --68 --95 --58 -65 -88 -45 -2 --36 --67 --95 --59 -65 -88 -45 -2 --36 --67 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --60 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --61 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -64 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -63 -86 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -65 -89 -46 -2 --36 --67 --95 --61 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --59 -64 -88 -45 -1 --36 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -46 -2 --36 --67 --95 --59 -64 -88 -45 -1 --36 --68 --95 --59 -65 -87 -45 -2 --36 --67 --95 --100 --127 --50 -65 -87 -50 -7 --32 --63 --91 --97 --127 --39 -76 -100 -62 -17 --23 --56 --84 --107 --111 --33 -82 -106 -68 -23 --18 --52 --81 --104 --109 --28 -86 -110 -72 -26 --16 --49 --79 --103 --107 --27 -88 -112 -74 -26 --16 --49 --79 --33 -90 -114 -71 -23 --18 --52 --81 --41 -82 -104 -61 -15 --25 --58 --87 --48 -75 -97 -55 -10 --30 --62 --90 --53 -71 -94 -51 -6 --33 --64 --92 --55 -69 -92 -49 -5 --34 --65 --93 --57 -67 -90 -47 -3 --36 --67 --94 --100 --48 -66 -83 -45 -1 --36 --68 --94 --101 --127 --45 -73 -94 -58 -13 --26 --59 --86 --110 --127 --36 -81 -102 -67 -20 --19 --54 --82 --106 --109 --31 -87 -107 -71 -24 --16 --51 --79 --104 --107 --28 -89 -110 -74 -26 --14 --49 --78 --103 --107 --27 -91 -111 -75 -28 --13 --48 --77 --102 --106 --26 -91 -112 -76 -28 --13 --48 --77 --102 --105 --26 -91 -112 -76 -28 --12 --48 --77 --102 --106 --25 -92 -113 -77 -29 --12 --47 --76 --101 --105 --25 -92 -113 -77 -29 --12 --47 --76 --101 --105 --25 -92 -112 -77 -29 --12 --48 --76 --101 --105 --25 -92 -112 -77 -29 --12 --48 --76 --101 --105 --25 -92 -112 -77 -29 --12 --47 --76 --101 --105 --24 -92 -112 -77 -29 --12 --47 --76 --101 --105 --25 -91 -112 -77 -29 --12 --48 --76 --101 --34 -90 -117 -76 -28 --14 --48 --78 --37 -86 -110 -66 -19 --22 --55 --84 --45 -78 -101 -58 -12 --28 --60 --88 --51 -72 -96 -54 -9 --31 --63 --91 --53 -69 -93 -50 -5 --33 --65 --92 --56 -68 -91 -48 -3 --35 --66 --94 --59 -65 -89 -47 -3 --36 --67 --94 --58 -65 -89 -46 -2 --36 --67 --95 --58 -66 -89 -46 -2 --36 --67 --95 --61 -63 -87 -45 -1 --37 --68 --95 --58 -65 -89 -46 -2 --36 --67 --95 --58 -65 -88 -46 -2 --36 --67 --95 --61 -63 -87 -45 -1 --37 --68 --95 --58 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -45 -2 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --60 -64 -88 -46 -2 --36 --67 --94 --100 --127 --50 -64 -88 -50 -7 --32 --64 --91 --97 --127 --39 -75 -100 -62 -17 --23 --56 --85 --107 --111 --33 -83 -107 -69 -24 --18 --51 --81 --104 --108 --29 -86 -111 -71 -26 --16 --49 --79 --103 --108 --27 -88 -111 -72 -25 --16 --50 --80 --33 -90 -114 -71 -24 --18 --51 --81 --42 -81 -105 -61 -15 --25 --58 --86 --48 -75 -97 -55 -10 --30 --62 --90 --53 -70 -94 -51 -7 --32 --64 --92 --55 -69 -91 -48 -4 --35 --66 --93 --56 -67 -90 -48 -3 --35 --66 --94 --58 -66 -89 -47 -3 --36 --67 --94 --58 -65 -89 -46 -2 --36 --67 --95 --59 -65 -89 -45 -2 --36 --68 --95 --60 -64 -88 -45 -1 --37 --68 --95 --59 -65 -89 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --61 -63 -87 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --62 -63 -87 -45 -1 --37 --68 --95 --58 -65 -88 -46 -2 --36 --67 --95 --59 -65 -88 -45 -1 --37 --68 --95 --62 -63 -86 -45 -2 --36 --67 --95 --100 --127 --49 -65 -88 -50 -7 --32 --64 --91 --97 --127 --39 -76 -99 -62 -17 --23 --56 --84 --107 --112 --32 -83 -107 -68 -23 --18 --51 --81 --104 --109 --29 -85 -110 -71 -26 --16 --49 --79 --103 --108 --27 -88 -112 -73 -26 --16 --49 --79 --33 -90 -114 -71 -24 --18 --51 --81 --42 -82 -104 -61 -15 --25 --58 --86 --49 -74 -97 -55 -10 --30 --62 --90 --52 -72 -95 -52 -7 --32 --64 --92 --55 -68 -91 -49 -5 --34 --66 --93 --57 -67 -90 -47 -3 --35 --67 --94 --57 -66 -89 -47 -3 --36 --67 --94 --58 -66 -89 -45 -2 --36 --67 --95 --58 -65 -88 -46 -2 --36 --67 --95 --59 -64 -88 -45 -2 --37 --68 --95 --58 -65 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --60 -64 -88 -45 -2 --36 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --101 --50 -65 -83 -44 -0 --37 --69 --95 --101 --127 --45 -72 -93 -57 -11 --27 --60 --87 --111 --127 --36 -81 -102 -66 -19 --20 --54 --82 --106 --110 --31 -86 -107 -72 -24 --16 --51 --79 --104 --107 --28 -89 -109 -74 -26 --14 --49 --78 --103 --37 -87 -115 -74 -26 --16 --49 --79 --37 -86 -109 -66 -19 --22 --55 --84 --45 -77 -101 -57 -12 --28 --60 --88 --53 -71 -94 -52 -7 --32 --64 --91 --54 -70 -93 -51 -6 --33 --65 --92 --56 -68 -91 -48 -4 --35 --66 --93 --59 -64 -89 -47 -3 --36 --67 --94 --57 -66 -89 -47 -2 --36 --67 --94 --58 -66 -88 -46 -2 --36 --67 --95 --59 -64 -88 -46 -2 --36 --67 --95 --58 -65 -88 -45 -1 --37 --68 --95 --58 -65 -88 -46 -2 --36 --67 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -64 -88 -45 -1 --37 --68 --95 --59 -65 -88 -45 -1 --37 --68 --95 --59 -65 -87 -45 -1 --37 --68 --95 --59 -65 -89 -46 -2 --36 --67 --95 --59 -64 -87 -45 -1 --37 --68 diff --git a/traces/EM4102-1.pm3 b/traces/EM4102-1.pm3 new file mode 100644 index 000000000..cad34276a --- /dev/null +++ b/traces/EM4102-1.pm3 @@ -0,0 +1,16000 @@ +85 +85 +78 +68 +59 +54 +56 +51 +44 +35 +35 +37 +33 +25 +-39 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-112 +-112 +-101 +-92 +-94 +-86 +-76 +-79 +-73 +-63 +-67 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +92 +91 +83 +73 +64 +63 +62 +55 +45 +40 +43 +41 +34 +26 +23 +-31 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-102 +-102 +-105 +-97 +-98 +-90 +-80 +-82 +-78 +-66 +-69 +-68 +-55 +-58 +-59 +-48 +-50 +-52 +-41 +-41 +-46 +-37 +-33 +-39 +-38 +-28 +-31 +-35 +-26 +-24 +-30 +-30 +-20 +-23 +-28 +-23 +-18 +-23 +-25 +-16 +-17 +-24 +-20 +-15 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +121 +111 +102 +90 +82 +81 +77 +70 +61 +52 +52 +51 +45 +36 +31 +35 +-27 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-108 +-114 +-103 +-104 +-97 +-85 +-87 +-81 +-70 +-73 +-70 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +115 +103 +90 +82 +81 +77 +70 +59 +53 +56 +52 +45 +36 +34 +37 +33 +24 +20 +25 +24 +17 +11 +14 +16 +11 +5 +4 +11 +7 +0 +-3 +4 +3 +-2 +-7 +-2 +1 +-2 +-8 +-6 +-1 +-4 +-10 +-8 +-3 +-6 +-13 +-8 +-4 +-68 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-107 +-104 +-104 +-102 +-101 +-87 +-85 +-86 +-73 +-70 +-74 +-64 +-58 +-62 +-58 +-49 +-51 +-52 +-41 +-40 +-46 +-39 +-33 +-37 +-39 +-29 +-28 +-34 +-31 +-24 +-27 +-31 +-23 +-20 +-26 +-27 +-18 +-18 +-25 +-22 +-15 +-18 +-24 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +111 +103 +94 +84 +74 +71 +71 +64 +54 +47 +49 +47 +39 +31 +30 +34 +29 +21 +18 +24 +21 +13 +10 +16 +14 +6 +4 +11 +7 +1 +-2 +5 +3 +-3 +-5 +2 +0 +-6 +-9 +-2 +-3 +-10 +-12 +-4 +-5 +-11 +-12 +-63 +-121 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-106 +-106 +-101 +-102 +-88 +-83 +-86 +-75 +-68 +-72 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +101 +89 +81 +79 +77 +70 +62 +53 +48 +50 +47 +41 +33 +28 +31 +30 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-104 +-106 +-95 +-86 +-89 +-82 +-71 +-74 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +104 +93 +83 +77 +79 +72 +64 +54 +49 +51 +48 +41 +33 +29 +34 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-111 +-112 +-104 +-106 +-94 +-87 +-89 +-80 +-72 +-75 +-69 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +93 +83 +79 +79 +72 +63 +53 +50 +52 +47 +39 +31 +30 +33 +28 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-114 +-104 +-106 +-95 +-87 +-89 +-81 +-72 +-75 +-70 +-60 +-63 +-60 +-50 +-54 +-53 +-42 +-45 +-47 +-35 +-38 +-42 +-31 +-31 +-36 +-31 +-25 +-30 +-31 +-21 +-23 +-29 +-24 +-18 +-23 +-25 +-16 +-18 +-24 +-18 +-14 +-20 +-21 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +103 +95 +91 +89 +82 +74 +64 +57 +56 +56 +49 +40 +35 +38 +36 +30 +21 +22 +26 +21 +13 +11 +17 +14 +6 +4 +10 +7 +-1 +-1 +6 +2 +-5 +-3 +3 +-1 +-8 +-4 +0 +-4 +-10 +-6 +-3 +-7 +-12 +-7 +-3 +-67 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-107 +-104 +-104 +-103 +-101 +-86 +-86 +-86 +-72 +-72 +-73 +-60 +-59 +-63 +-54 +-50 +-54 +-50 +-41 +-43 +-46 +-35 +-35 +-40 +-34 +-29 +-33 +-34 +-24 +-26 +-32 +-25 +-21 +-26 +-27 +-18 +-20 +-26 +-19 +-16 +-21 +-23 +-15 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +121 +111 +101 +90 +82 +80 +77 +70 +61 +52 +51 +51 +45 +36 +31 +35 +33 +26 +20 +20 +24 +19 +11 +10 +16 +13 +6 +3 +9 +8 +2 +-3 +3 +3 +-1 +-6 +-2 +1 +-3 +-10 +-4 +-2 +-8 +-11 +-3 +-4 +-11 +-11 +-62 +-121 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-97 +-114 +-103 +-93 +-94 +-88 +-77 +-80 +-75 +-64 +8 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +120 +112 +102 +91 +81 +75 +77 +71 +63 +54 +48 +49 +48 +41 +33 +28 +33 +30 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-104 +-106 +-95 +-86 +-89 +-82 +-72 +-75 +-70 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +90 +83 +83 +77 +69 +60 +53 +56 +52 +45 +36 +33 +37 +33 +26 +-40 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-100 +-103 +-104 +-98 +-85 +-87 +-83 +-71 +-73 +-72 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +91 +83 +81 +79 +71 +63 +54 +49 +51 +47 +41 +33 +28 +32 +30 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-109 +-99 +-103 +-105 +-97 +-86 +-88 +-82 +-71 +-75 +-69 +-59 +-63 +-59 +-49 +-55 +-50 +-42 +-47 +-45 +-35 +-41 +-40 +-31 +-35 +-36 +-26 +-30 +-33 +-25 +-26 +-32 +-24 +-21 +-26 +-26 +-17 +-20 +-25 +-17 +-15 +-22 +-21 +-13 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +112 +104 +104 +96 +87 +77 +69 +67 +66 +59 +49 +43 +46 +43 +37 +28 +27 +30 +27 +19 +14 +19 +19 +13 +6 +6 +11 +8 +1 +0 +7 +5 +-2 +-5 +3 +1 +-5 +-7 +0 +-1 +-7 +-10 +-2 +-3 +-8 +-11 +-4 +-4 +-68 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-103 +-104 +-106 +-98 +-101 +-90 +-81 +-84 +-78 +-68 +-72 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +110 +99 +88 +85 +83 +77 +67 +57 +53 +56 +50 +43 +34 +33 +36 +31 +23 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-110 +-112 +-102 +-92 +-94 +-87 +-76 +-79 +-73 +-63 +-67 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +104 +93 +83 +77 +77 +71 +63 +54 +48 +51 +47 +41 +32 +30 +34 +30 +-37 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-104 +-105 +-96 +-86 +-87 +-83 +-71 +-73 +-71 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +103 +91 +83 +84 +78 +70 +61 +53 +53 +52 +47 +38 +33 +35 +34 +28 +-39 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-99 +-104 +-106 +-95 +-86 +-89 +-79 +-72 +-76 +-67 +-61 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +102 +91 +83 +81 +79 +71 +62 +53 +52 +52 +47 +38 +31 +33 +33 +27 +-40 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-99 +-103 +-105 +-98 +-86 +-88 +-84 +-71 +-73 +-70 +-59 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +105 +95 +84 +75 +75 +71 +64 +54 +47 +48 +48 +41 +33 +28 +32 +30 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-112 +-105 +-107 +-93 +-87 +-90 +-79 +-72 +-76 +-68 +-60 +-64 +-60 +-50 +-54 +-52 +-42 +-45 +-46 +-35 +-39 +-42 +-32 +-32 +-37 +-30 +-26 +-31 +-31 +-22 +-26 +-29 +-19 +-21 +-27 +-20 +-17 +-22 +-24 +-15 +-16 +-22 +-20 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +105 +97 +90 +85 +81 +77 +71 +65 +59 +53 +47 +42 +38 +34 +32 +-29 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-100 +-101 +-107 +-96 +-98 +-90 +-79 +-82 +-78 +-67 +-69 +-67 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +98 +94 +92 +84 +76 +67 +59 +58 +57 +51 +43 +35 +35 +37 +32 +24 +-39 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-99 +-92 +-94 +-85 +-76 +-78 +-75 +-63 +-65 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +96 +91 +91 +83 +73 +64 +61 +62 +55 +45 +39 +41 +40 +34 +26 +24 +29 +24 +17 +12 +18 +17 +11 +5 +9 +10 +5 +-1 +3 +6 +1 +-5 +0 +3 +-1 +-7 +-1 +1 +-4 +-9 +-2 +-1 +-7 +-10 +-2 +-3 +-10 +-12 +-62 +-120 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-107 +-100 +-102 +-89 +-83 +-86 +-77 +-69 +-72 +5 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +100 +88 +82 +82 +77 +69 +60 +52 +53 +52 +45 +35 +31 +35 +32 +25 +-41 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-100 +-104 +-106 +-98 +-87 +-88 +-83 +-71 +-74 +-71 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +90 +82 +81 +78 +70 +62 +53 +50 +52 +48 +41 +33 +30 +34 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-102 +-103 +-104 +-98 +-100 +-87 +-81 +-84 +-77 +-67 +-69 +-68 +-56 +-58 +-59 +-48 +-46 +-52 +-45 +-39 +-43 +-43 +-33 +-34 +-39 +-30 +-27 +-33 +-32 +-23 +-25 +-30 +-23 +-20 +-24 +-27 +-18 +-18 +-24 +-22 +-15 +-19 +-24 +-16 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +103 +97 +91 +87 +82 +77 +71 +65 +59 +53 +45 +39 +35 +33 +32 +-28 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-100 +-99 +-111 +-96 +-96 +-94 +-80 +-79 +-80 +-66 +-65 +-67 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +95 +85 +75 +74 +72 +66 +57 +48 +45 +48 +43 +35 +28 +30 +31 +26 +18 +16 +21 +19 +12 +7 +12 +13 +7 +1 +4 +7 +2 +-4 +0 +2 +-3 +-8 +-3 +0 +-5 +-9 +-5 +-2 +-7 +-11 +-7 +-3 +-9 +-13 +-6 +-64 +-126 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-102 +-105 +-107 +-97 +-87 +-91 +-80 +-73 +-77 +-68 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +106 +104 +96 +88 +77 +69 +65 +66 +60 +53 +43 +40 +43 +40 +33 +26 +22 +-33 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-103 +-104 +-106 +-98 +-100 +-90 +-81 +-84 +-79 +-68 +-70 +-68 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +113 +106 +96 +85 +76 +73 +72 +66 +57 +48 +45 +48 +43 +35 +28 +30 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-112 +-97 +-99 +-92 +-95 +-83 +-77 +-80 +-73 +-64 +-67 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +90 +91 +83 +75 +65 +59 +60 +57 +50 +41 +36 +40 +37 +30 +22 +-37 +-90 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-101 +-103 +-105 +-97 +-99 +-91 +-80 +-82 +-78 +-67 +-70 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +105 +97 +87 +77 +70 +67 +67 +60 +52 +44 +42 +44 +40 +32 +26 +25 +-32 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-104 +-106 +-95 +-86 +-89 +-83 +-72 +-75 +-71 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +103 +91 +83 +81 +78 +70 +59 +52 +55 +51 +44 +35 +33 +37 +33 +24 +-39 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-111 +-111 +-103 +-91 +-92 +-88 +-75 +-77 +-76 +-63 +-65 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +107 +97 +95 +91 +83 +73 +64 +61 +62 +56 +47 +40 +41 +41 +35 +27 +24 +-31 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-104 +-105 +-96 +-86 +-89 +-82 +-71 +-75 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +101 +89 +84 +84 +78 +69 +60 +53 +56 +52 +45 +36 +35 +37 +32 +23 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-111 +-112 +-101 +-91 +-94 +-86 +-76 +-79 +-71 +-63 +-67 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +102 +90 +83 +82 +77 +70 +61 +52 +51 +51 +47 +38 +31 +31 +34 +29 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-111 +-106 +-106 +-92 +-88 +-90 +-78 +-72 +-76 +-69 +-60 +-63 +-61 +-50 +-52 +-53 +-42 +-44 +-47 +-37 +-35 +-41 +-37 +-30 +-34 +-36 +-26 +-26 +-32 +-26 +-21 +-27 +-28 +-18 +-21 +-26 +-19 +-16 +-23 +-23 +-14 +-17 +-23 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +113 +111 +104 +95 +86 +75 +69 +69 +65 +59 +51 +43 +41 +43 +39 +32 +-34 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-100 +-100 +-108 +-96 +-97 +-90 +-80 +-83 +-76 +-67 +-71 +-65 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +115 +106 +95 +85 +76 +76 +73 +66 +57 +49 +47 +48 +43 +35 +28 +30 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-105 +-107 +-95 +-87 +-89 +-82 +-71 +-74 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +114 +105 +95 +85 +75 +71 +71 +66 +58 +49 +44 +47 +44 +38 +30 +26 +30 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-110 +-105 +-106 +-91 +-86 +-89 +-78 +-71 +-74 +-69 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +118 +114 +105 +93 +83 +77 +77 +71 +64 +54 +49 +51 +47 +40 +32 +31 +35 +29 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-112 +-104 +-106 +-94 +-86 +-89 +-80 +-71 +-75 +-69 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +93 +83 +77 +78 +72 +65 +55 +49 +51 +48 +41 +33 +29 +33 +30 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-111 +-114 +-104 +-106 +-96 +-86 +-89 +-82 +-71 +-74 +-71 +-59 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +114 +105 +94 +83 +76 +78 +72 +63 +54 +50 +52 +47 +39 +32 +34 +34 +27 +-39 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-99 +-104 +-105 +-97 +-86 +-88 +-82 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +91 +83 +80 +79 +71 +64 +54 +49 +50 +48 +42 +33 +28 +32 +30 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-112 +-104 +-106 +-93 +-86 +-89 +-78 +-71 +-75 +-66 +-60 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +101 +89 +85 +84 +77 +67 +59 +56 +57 +51 +42 +34 +34 +36 +32 +24 +19 +22 +23 +18 +11 +9 +16 +13 +6 +2 +8 +8 +3 +-3 +2 +4 +-1 +-6 +-2 +1 +-3 +-9 +-4 +-2 +-7 +-12 +-6 +-4 +-8 +-13 +-8 +-4 +-67 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-102 +-106 +-107 +-98 +-88 +-91 +-81 +-73 +-77 +-69 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +111 +104 +94 +85 +75 +70 +71 +65 +57 +48 +45 +48 +43 +35 +28 +29 +30 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-104 +-106 +-96 +-86 +-88 +-82 +-71 +-74 +-70 +-59 +-63 +-61 +-50 +-54 +-52 +-43 +-47 +-47 +-36 +-41 +-40 +-31 +-36 +-36 +-27 +-33 +-32 +-23 +-29 +-29 +-20 +-25 +-27 +-17 +-22 +-25 +-16 +-19 +-24 +-15 +-15 +-22 +58 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +101 +89 +82 +81 +77 +69 +59 +52 +54 +51 +44 +35 +32 +36 +-28 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-110 +-113 +-103 +-105 +-96 +-86 +-88 +-83 +-71 +-73 +-70 +-59 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +102 +91 +87 +85 +77 +67 +59 +58 +57 +51 +42 +35 +39 +37 +31 +23 +-39 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-112 +-112 +-101 +-92 +-94 +-87 +-76 +-78 +-75 +-63 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +93 +92 +84 +75 +65 +61 +62 +57 +48 +40 +38 +41 +36 +28 +22 +-35 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-104 +-104 +-105 +-98 +-100 +-91 +-80 +-83 +-79 +-67 +-69 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +106 +96 +88 +77 +71 +71 +67 +59 +50 +45 +47 +44 +37 +29 +27 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-98 +-104 +-106 +-97 +-86 +-89 +-80 +-72 +-76 +-69 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +89 +82 +82 +77 +69 +59 +52 +55 +51 +45 +36 +33 +37 +34 +26 +20 +22 +24 +17 +11 +13 +16 +10 +3 +6 +9 +4 +-2 +2 +4 +-2 +-7 +0 +1 +-5 +-8 +-1 +-2 +-9 +-9 +-2 +-5 +-11 +-10 +-4 +-7 +-13 +-69 +-102 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-105 +-106 +-97 +-86 +-87 +-83 +-71 +-72 +-72 +-60 +-59 +-62 +-53 +-48 +-53 +-51 +-41 +-42 +-46 +-37 +-34 +-38 +-38 +-29 +-30 +-35 +-29 +-24 +-29 +-30 +-21 +-22 +-29 +-23 +-18 +-23 +-26 +-17 +-17 +-23 +-22 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +103 +94 +84 +76 +69 +63 +61 +59 +55 +50 +46 +42 +38 +34 +-30 +-90 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-107 +-101 +-102 +-103 +-98 +-85 +-87 +-83 +-71 +-73 +-69 +-59 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +88 +85 +77 +66 +59 +59 +57 +50 +41 +36 +41 +36 +29 +22 +-36 +-90 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-103 +-104 +-107 +-98 +-99 +-93 +-81 +-82 +-80 +-67 +-67 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +107 +105 +97 +89 +79 +70 +65 +67 +61 +54 +44 +41 +45 +40 +32 +26 +27 +29 +23 +15 +13 +19 +15 +9 +5 +11 +10 +4 +-1 +5 +6 +0 +-5 +2 +2 +-4 +-7 +0 +-1 +-7 +-10 +-2 +-3 +-9 +-12 +-5 +-4 +-10 +-14 +-65 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-107 +-101 +-103 +-90 +-84 +-86 +-78 +-69 +-72 +-67 +-57 +-60 +-60 +-47 +-49 +-51 +-41 +-40 +-45 +-37 +-33 +-37 +-36 +-27 +-30 +-34 +-24 +-24 +-30 +-26 +-21 +-25 +-28 +-18 +-19 +-25 +-21 +-16 +-21 +-24 +-16 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +97 +88 +81 +75 +73 +69 +65 +59 +55 +50 +44 +38 +33 +29 +27 +26 +26 +24 +22 +19 +17 +15 +12 +10 +8 +6 +5 +4 +4 +4 +3 +2 +1 +0 +-1 +-2 +-3 +-3 +-3 +-4 +-3 +-3 +-4 +-4 +-5 +-5 +-65 +-102 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-111 +-98 +-100 +-92 +-82 +-85 +-77 +-68 +-73 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +88 +83 +83 +77 +69 +60 +52 +53 +51 +45 +37 +31 +34 +33 +27 +-40 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-104 +-106 +-97 +-87 +-89 +-84 +-72 +-76 +-70 +-61 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +100 +89 +87 +85 +77 +67 +58 +55 +57 +50 +41 +35 +39 +37 +30 +22 +-38 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-106 +-99 +-101 +-89 +-81 +-85 +-77 +-68 +-71 +-66 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +118 +114 +105 +95 +85 +76 +76 +73 +66 +57 +49 +49 +49 +43 +35 +30 +34 +31 +-35 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-105 +-107 +-95 +-87 +-89 +-81 +-72 +-75 +-69 +-60 +-63 +-60 +-50 +-54 +-54 +-43 +-45 +-48 +-37 +-36 +-41 +-37 +-29 +-33 +-35 +-26 +-26 +-32 +-27 +-21 +-25 +-29 +-20 +-19 +-25 +-25 +-16 +-18 +-24 +-19 +-15 +-20 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +118 +112 +103 +91 +82 +80 +77 +70 +61 +52 +53 +51 +45 +36 +31 +35 +-27 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-111 +-104 +-106 +-95 +-86 +-88 +-82 +-70 +-73 +-70 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +115 +104 +92 +82 +80 +78 +70 +61 +53 +55 +52 +46 +37 +33 +37 +34 +27 +20 +20 +24 +19 +13 +9 +14 +14 +9 +2 +4 +9 +5 +-2 +-2 +4 +0 +-7 +-5 +1 +-3 +-9 +-5 +-1 +-5 +-11 +-5 +-3 +-8 +-13 +-6 +-5 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-128 +-98 +-107 +-108 +-94 +-89 +-92 +-80 +-73 +-76 +-71 +-61 +-64 +-62 +-51 +-52 +-56 +-44 +-43 +-48 +-42 +-35 +-39 +-40 +-31 +-31 +-36 +-29 +-25 +-30 +-31 +-21 +-23 +-29 +-22 +-18 +-25 +-25 +-16 +-19 +-25 +-18 +-15 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +106 +97 +93 +91 +83 +73 +63 +61 +61 +55 +45 +38 +40 +39 +33 +24 +21 +27 +24 +17 +11 +18 +16 +10 +4 +10 +10 +4 +-1 +5 +5 +-1 +-5 +3 +2 +-5 +-7 +0 +-1 +-8 +-11 +-3 +-4 +-9 +-12 +-5 +-4 +-68 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-97 +-98 +-105 +-93 +-93 +-90 +-76 +-76 +-77 +-65 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +98 +87 +83 +83 +77 +69 +59 +52 +54 +51 +45 +35 +33 +37 +33 +24 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-111 +-112 +-102 +-92 +-93 +-87 +-76 +-79 +-75 +-63 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +98 +91 +91 +84 +75 +65 +59 +61 +57 +49 +40 +37 +41 +35 +27 +23 +-32 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-105 +-107 +-94 +-87 +-90 +-80 +-72 +-76 +-71 +-61 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +105 +95 +84 +77 +77 +73 +65 +55 +48 +49 +47 +40 +32 +29 +34 +29 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-109 +-102 +-104 +-105 +-98 +-85 +-88 +-81 +-71 +-73 +-69 +-59 +-62 +-60 +-49 +-51 +-53 +-42 +-41 +-47 +-40 +-34 +-38 +-40 +-29 +-30 +-35 +-30 +-26 +-30 +-32 +-22 +-23 +-29 +-23 +-18 +-24 +-26 +-16 +-19 +-24 +-18 +-15 +-20 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +111 +103 +93 +81 +76 +77 +70 +61 +52 +53 +51 +45 +36 +31 +36 +33 +25 +20 +22 +24 +18 +11 +10 +15 +11 +4 +3 +10 +5 +-1 +1 +5 +0 +-5 +0 +2 +-3 +-8 +-2 +-1 +-6 +-10 +-4 +-3 +-8 +-12 +-6 +-63 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-104 +-105 +-106 +-99 +-87 +-90 +-82 +-73 +-77 +-70 +-61 +-65 +-61 +-51 +-54 +-54 +-43 +-47 +-46 +-36 +-40 +-41 +-31 +-34 +-37 +-27 +-28 +-34 +-26 +-23 +-29 +-29 +-19 +-23 +-28 +-21 +-18 +-23 +-25 +-16 +-17 +-23 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +109 +105 +95 +87 +77 +68 +65 +66 +59 +51 +43 +41 +44 +39 +31 +25 +27 +28 +22 +15 +16 +19 +13 +7 +9 +13 +7 +1 +4 +7 +1 +-5 +-1 +3 +-2 +-7 +-3 +0 +-5 +-10 +-5 +-2 +-7 +-12 +-5 +-4 +-10 +-72 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-107 +-108 +-95 +-88 +-91 +-82 +-73 +-75 +-72 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +97 +92 +91 +83 +74 +64 +60 +62 +56 +48 +40 +38 +41 +35 +28 +21 +-36 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-109 +-98 +-99 +-93 +-81 +-83 +-81 +-68 +-70 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +96 +85 +76 +74 +73 +66 +56 +48 +45 +48 +42 +34 +29 +32 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-104 +-106 +-97 +-87 +-89 +-81 +-72 +-75 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +103 +91 +83 +80 +79 +71 +63 +54 +51 +53 +48 +39 +32 +33 +35 +29 +-39 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-113 +-104 +-106 +-96 +-86 +-88 +-82 +-71 +-73 +-71 +-60 +-62 +-62 +-49 +-51 +-54 +-44 +-41 +-47 +-42 +-34 +-38 +-40 +-29 +-31 +-35 +-28 +-25 +-31 +-29 +-21 +-25 +-29 +-20 +-19 +-26 +-23 +-16 +-21 +-24 +-15 +-17 +-24 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +105 +96 +93 +90 +82 +74 +64 +58 +59 +56 +48 +40 +34 +37 +36 +30 +22 +21 +25 +22 +14 +11 +16 +15 +7 +3 +9 +9 +3 +-2 +3 +5 +-1 +-5 +1 +2 +-3 +-8 +-2 +-1 +-6 +-10 +-3 +-2 +-7 +-11 +-5 +-63 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-110 +-100 +-101 +-94 +-83 +-84 +-81 +-68 +-71 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +105 +95 +93 +90 +81 +72 +63 +62 +61 +55 +45 +39 +42 +40 +33 +25 +25 +-32 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-98 +-104 +-106 +-98 +-86 +-88 +-83 +-71 +-74 +-71 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +93 +83 +79 +79 +72 +63 +54 +52 +53 +47 +37 +33 +37 +34 +25 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-100 +-93 +-95 +-86 +-76 +-79 +-76 +-64 +-67 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +98 +93 +91 +83 +74 +64 +61 +62 +56 +47 +40 +38 +41 +35 +28 +22 +-36 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-105 +-105 +-106 +-99 +-101 +-90 +-82 +-85 +-77 +-68 +-71 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +106 +102 +97 +90 +80 +70 +65 +67 +61 +53 +44 +42 +45 +40 +31 +26 +29 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-104 +-106 +-97 +-86 +-88 +-83 +-71 +-74 +-71 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +112 +106 +96 +87 +77 +70 +70 +67 +60 +53 +44 +42 +44 +40 +33 +26 +26 +-31 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-110 +-105 +-91 +-93 +-88 +-76 +-79 +-76 +-64 +-67 +-65 +-54 +-57 +-56 +-44 +-48 +-49 +-38 +-39 +-43 +-33 +-33 +-38 +-33 +-27 +-31 +-33 +-23 +-24 +-30 +-23 +-20 +-25 +-27 +-18 +-19 +-26 +-20 +-16 +-21 +-23 +-15 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +105 +99 +93 +88 +82 +76 +70 +63 +56 +51 +45 +43 +39 +37 +35 +-28 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-101 +-102 +-107 +-97 +-99 +-88 +-80 +-84 +-74 +-67 +-71 +-65 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +106 +100 +98 +91 +83 +73 +65 +62 +63 +57 +48 +41 +40 +41 +35 +27 +24 +-31 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-112 +-107 +-108 +-93 +-89 +-91 +-78 +-73 +-77 +-68 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +94 +85 +77 +79 +74 +67 +58 +50 +48 +50 +44 +35 +29 +31 +31 +25 +17 +17 +21 +18 +11 +7 +12 +12 +6 +1 +3 +7 +3 +-3 +-2 +3 +-1 +-7 +-4 +0 +-5 +-10 +-4 +-3 +-9 +-12 +-5 +-4 +-10 +-13 +-7 +-65 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-106 +-107 +-101 +-103 +-90 +-83 +-86 +-78 +-69 +-71 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +96 +89 +90 +83 +74 +64 +59 +61 +56 +48 +40 +36 +40 +36 +29 +22 +-38 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-112 +-97 +-102 +-92 +-95 +-85 +-77 +-80 +-73 +-64 +-68 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +110 +98 +92 +92 +84 +75 +64 +61 +62 +57 +48 +40 +38 +41 +36 +29 +23 +-34 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-104 +-108 +-98 +-100 +-92 +-81 +-84 +-78 +-68 +-71 +-68 +-57 +-60 +-59 +-47 +-50 +-51 +-40 +-40 +-45 +-38 +-33 +-38 +-37 +-28 +-31 +-35 +-26 +-24 +-30 +-29 +-20 +-22 +-28 +-23 +-18 +-23 +-26 +-18 +-17 +-22 +-23 +-14 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +111 +105 +96 +87 +77 +69 +65 +65 +59 +53 +45 +39 +39 +40 +35 +-33 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-101 +-101 +-110 +-97 +-97 +-94 +-80 +-81 +-80 +-66 +-67 +-68 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +112 +106 +97 +89 +79 +71 +67 +68 +62 +54 +45 +41 +43 +41 +35 +27 +23 +27 +25 +21 +13 +12 +17 +14 +7 +3 +8 +9 +4 +-1 +0 +6 +2 +-5 +-6 +2 +0 +-6 +-9 +-1 +-2 +-7 +-11 +-4 +-3 +-8 +-12 +-6 +-4 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-109 +-99 +-101 +-94 +-82 +-85 +-81 +-69 +-72 +7 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +96 +90 +90 +83 +75 +65 +58 +58 +56 +49 +41 +34 +37 +36 +29 +22 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-105 +-105 +-105 +-100 +-101 +-88 +-82 +-85 +-75 +-68 +-72 +-65 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +106 +96 +87 +77 +70 +70 +67 +61 +52 +44 +43 +45 +40 +32 +26 +26 +-32 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-96 +-87 +-89 +-83 +-72 +-74 +-71 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +115 +105 +94 +84 +79 +79 +73 +63 +54 +53 +54 +47 +38 +34 +38 +35 +27 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-113 +-98 +-100 +-94 +-96 +-84 +-78 +-81 +-73 +-64 +-68 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +91 +83 +83 +79 +71 +63 +54 +51 +53 +48 +40 +32 +30 +34 +29 +-39 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-105 +-107 +-97 +-88 +-90 +-82 +-72 +-76 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +102 +91 +85 +85 +77 +69 +60 +53 +56 +52 +45 +36 +35 +37 +33 +24 +-40 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-99 +-93 +-95 +-86 +-76 +-79 +-74 +-63 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +108 +98 +96 +92 +83 +74 +65 +62 +62 +57 +48 +40 +38 +41 +36 +28 +23 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-109 +-98 +-99 +-94 +-81 +-82 +-80 +-67 +-67 +-70 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +106 +103 +98 +90 +80 +71 +67 +67 +61 +52 +45 +45 +45 +39 +31 +26 +29 +-31 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-105 +-105 +-107 +-100 +-101 +-93 +-82 +-84 +-80 +-68 +-70 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +98 +89 +78 +70 +66 +67 +61 +53 +44 +42 +44 +40 +31 +26 +29 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-95 +-87 +-90 +-81 +-72 +-76 +-69 +-60 +-64 +-61 +-50 +-55 +-51 +-42 +-45 +-46 +-36 +-40 +-42 +-32 +-33 +-37 +-28 +-27 +-33 +-29 +-22 +-27 +-29 +-20 +-21 +-27 +-21 +-17 +-22 +-24 +-15 +-16 +-22 +-20 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +105 +97 +94 +91 +83 +75 +65 +58 +59 +56 +49 +41 +35 +36 +35 +-30 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-107 +-102 +-103 +-103 +-98 +-86 +-88 +-83 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +92 +84 +81 +79 +71 +63 +53 +51 +52 +48 +40 +33 +31 +35 +30 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-97 +-87 +-89 +-83 +-72 +-73 +-72 +-60 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +113 +107 +98 +89 +79 +71 +71 +68 +61 +52 +45 +47 +45 +39 +31 +26 +29 +-31 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-98 +-105 +-107 +-97 +-87 +-89 +-84 +-72 +-73 +-73 +-61 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +103 +99 +91 +81 +72 +65 +67 +62 +54 +45 +42 +44 +39 +30 +25 +30 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-99 +-87 +-87 +-85 +-72 +-70 +-73 +-62 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +102 +98 +91 +83 +75 +65 +59 +58 +57 +51 +44 +36 +35 +38 +33 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-105 +-106 +-97 +-87 +-90 +-81 +-73 +-76 +-69 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +104 +92 +83 +80 +79 +73 +64 +55 +50 +52 +48 +41 +33 +30 +34 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-103 +-110 +-98 +-99 +-93 +-81 +-84 +-78 +-68 +-72 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +94 +84 +77 +78 +73 +66 +57 +49 +46 +48 +43 +36 +29 +27 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-99 +-105 +-108 +-96 +-88 +-91 +-81 +-73 +-77 +-70 +-61 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +89 +84 +84 +77 +69 +59 +54 +57 +51 +44 +35 +35 +37 +33 +24 +20 +24 +23 +17 +11 +13 +16 +11 +4 +6 +11 +6 +-1 +0 +5 +0 +-6 +-3 +2 +-3 +-8 +-3 +-1 +-7 +-10 +-2 +-3 +-10 +-11 +-3 +-5 +-12 +-72 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-107 +-109 +-96 +-89 +-92 +-82 +-73 +-76 +-73 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +102 +93 +84 +76 +74 +72 +66 +58 +49 +43 +47 +43 +37 +29 +26 +31 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-97 +-87 +-88 +-85 +-72 +-73 +-73 +-61 +-60 +-63 +-54 +-48 +-51 +-51 +-41 +-40 +-44 +-41 +-33 +-34 +-39 +-31 +-27 +-31 +-33 +-24 +-23 +-29 +-28 +-19 +-22 +-28 +-21 +-18 +-22 +-25 +-17 +-16 +-21 +-23 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +106 +100 +95 +89 +82 +76 +70 +63 +56 +50 +45 +41 +38 +37 +34 +-28 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-110 +-112 +-103 +-104 +-95 +-85 +-87 +-82 +-70 +-74 +-70 +-59 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +88 +85 +77 +67 +59 +57 +57 +51 +42 +37 +41 +37 +30 +23 +-37 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-105 +-105 +-105 +-100 +-101 +-90 +-82 +-85 +-77 +-68 +-71 +-67 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +100 +90 +88 +85 +78 +71 +62 +54 +52 +53 +48 +40 +32 +29 +33 +30 +-37 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-101 +-105 +-107 +-97 +-87 +-90 +-83 +-72 +-75 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +92 +83 +80 +79 +71 +64 +55 +49 +51 +49 +43 +35 +29 +31 +32 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-99 +-105 +-106 +-97 +-87 +-88 +-84 +-72 +-74 +-72 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +97 +87 +77 +71 +72 +67 +58 +49 +45 +48 +44 +37 +29 +27 +31 +28 +21 +15 +15 +19 +14 +7 +6 +13 +9 +2 +1 +8 +4 +-3 +-3 +3 +0 +-6 +-7 +1 +-2 +-8 +-9 +-1 +-3 +-10 +-10 +-3 +-5 +-10 +-13 +-65 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-102 +-99 +-99 +-100 +-97 +-84 +-85 +-83 +-69 +-71 +-70 +-58 +-60 +-61 +-49 +-51 +-53 +-41 +-43 +-47 +-36 +-35 +-41 +-35 +-29 +-34 +-34 +-25 +-27 +-32 +-23 +-23 +-29 +-26 +-19 +-23 +-26 +-16 +-18 +-24 +-18 +-15 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +89 +88 +83 +76 +65 +58 +57 +56 +50 +42 +35 +36 +37 +-29 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-112 +-104 +-105 +-96 +-86 +-88 +-83 +-71 +-73 +-71 +-59 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +102 +99 +92 +83 +73 +65 +66 +63 +56 +46 +40 +42 +41 +35 +28 +23 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-107 +-99 +-101 +-92 +-81 +-83 +-79 +-68 +-70 +-70 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +102 +91 +84 +84 +79 +71 +61 +54 +56 +52 +45 +36 +32 +36 +33 +27 +20 +19 +24 +20 +13 +9 +14 +14 +9 +2 +4 +8 +5 +-2 +-2 +4 +1 +-5 +-6 +1 +-1 +-9 +-8 +-2 +-5 +-11 +-8 +-3 +-6 +-12 +-8 +-5 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-105 +-107 +-98 +-87 +-91 +-82 +-74 +-77 +-71 +-62 +-66 +-61 +-52 +-56 +-54 +-43 +-48 +-46 +-37 +-43 +-40 +-32 +-38 +-37 +-28 +-33 +-34 +-24 +-28 +-31 +-21 +-23 +-29 +-20 +-19 +-26 +-23 +-16 +-20 +-24 +-15 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +102 +97 +90 +83 +77 +71 +64 +56 +50 +45 +42 +41 +39 +36 +33 +29 +26 +21 +17 +15 +14 +13 +13 +12 +11 +9 +8 +6 +5 +3 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-8 +-66 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-107 +-107 +-99 +-88 +-91 +-83 +-74 +-78 +-70 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +114 +105 +95 +85 +76 +72 +71 +65 +57 +48 +43 +47 +43 +37 +28 +27 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-95 +-87 +-89 +-83 +-72 +-74 +-72 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +98 +93 +91 +83 +74 +64 +63 +62 +56 +45 +41 +44 +40 +32 +25 +29 +-33 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-105 +-107 +-98 +-87 +-90 +-82 +-72 +-76 +-69 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +104 +91 +84 +84 +79 +71 +61 +54 +56 +52 +45 +35 +35 +37 +31 +23 +-41 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-101 +-97 +-98 +-98 +-96 +-82 +-83 +-81 +-68 +-69 +-69 +-56 +-57 +-59 +-48 +-46 +-51 +-44 +-38 +-42 +-42 +-32 +-34 +-39 +-29 +-27 +-34 +-30 +-23 +-27 +-30 +-21 +-22 +-28 +-23 +-17 +-23 +-24 +-15 +-17 +-23 +-17 +-14 +58 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +90 +90 +84 +77 +68 +59 +55 +57 +51 +44 +35 +34 +37 +-29 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-98 +-104 +-106 +-95 +-86 +-89 +-80 +-71 +-75 +-68 +-59 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +93 +84 +81 +79 +73 +64 +55 +51 +53 +48 +41 +33 +31 +35 +31 +23 +17 +20 +21 +16 +9 +8 +14 +11 +3 +1 +9 +6 +-1 +-3 +4 +2 +-5 +-6 +0 +0 +-6 +-9 +-3 +-2 +-7 +-11 +-6 +-4 +-10 +-14 +-7 +-66 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-107 +-109 +-97 +-89 +-92 +-83 +-74 +-76 +-72 +-61 +-64 +-62 +-51 +-54 +-54 +-43 +-46 +-48 +-37 +-39 +-42 +-32 +-31 +-37 +-32 +-25 +-29 +-31 +-22 +-23 +-30 +-24 +-19 +-23 +-26 +-16 +-18 +-24 +-20 +-15 +-19 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +109 +104 +94 +83 +75 +77 +71 +63 +52 +49 +52 +46 +37 +32 +36 +33 +26 +19 +21 +23 +18 +11 +9 +15 +12 +5 +2 +9 +6 +1 +-3 +3 +3 +-1 +-6 +-3 +1 +-2 +-9 +-6 +-1 +-5 +-11 +-8 +-3 +-6 +-12 +-70 +-102 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-97 +-109 +-109 +-93 +-91 +-92 +-78 +-75 +-78 +-69 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +102 +91 +83 +80 +79 +71 +63 +54 +49 +51 +47 +39 +32 +31 +33 +28 +-40 +-101 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-95 +-87 +-90 +-84 +-73 +-75 +-72 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +101 +99 +91 +82 +72 +65 +65 +61 +55 +45 +39 +42 +41 +34 +26 +23 +-32 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-105 +-111 +-99 +-99 +-94 +-81 +-83 +-80 +-67 +-70 +-68 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +113 +106 +97 +87 +77 +71 +71 +67 +61 +53 +44 +43 +45 +41 +33 +27 +28 +-31 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-108 +-97 +-88 +-90 +-82 +-73 +-76 +-71 +-61 +-64 +-62 +-50 +-54 +-54 +-43 +-46 +-48 +-36 +-39 +-41 +-31 +-33 +-37 +-27 +-27 +-33 +-26 +-23 +-28 +-29 +-20 +-21 +-27 +-20 +-17 +-22 +-24 +-15 +-17 +-23 +-19 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +105 +98 +92 +88 +83 +77 +71 +65 +59 +52 +46 +41 +37 +35 +33 +31 +29 +27 +24 +21 +18 +15 +13 +12 +10 +10 +9 +8 +7 +6 +4 +2 +0 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-66 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-102 +-107 +-108 +-96 +-89 +-91 +-80 +-73 +-77 +-70 +-61 +-64 +-62 +-51 +-53 +-55 +-43 +-43 +-48 +-41 +-35 +-39 +-40 +-30 +-32 +-37 +-29 +-26 +-31 +-31 +-22 +-24 +-29 +-22 +-19 +-25 +-25 +-16 +-19 +-25 +-16 +-15 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +106 +96 +92 +91 +83 +75 +65 +58 +58 +57 +50 +42 +35 +37 +37 +31 +23 +21 +26 +22 +14 +10 +16 +14 +7 +3 +8 +9 +3 +-2 +4 +4 +-2 +-5 +1 +2 +-4 +-8 +-2 +-1 +-6 +-10 +-6 +-2 +-7 +-12 +-6 +-64 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-105 +-106 +-101 +-102 +-89 +-83 +-86 +-80 +-70 +-72 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +88 +83 +83 +77 +69 +60 +52 +53 +51 +45 +36 +31 +33 +33 +27 +-41 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-106 +-108 +-96 +-88 +-90 +-83 +-73 +-75 +-72 +-61 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +107 +97 +87 +76 +73 +73 +67 +59 +49 +45 +49 +44 +37 +29 +28 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-97 +-87 +-89 +-84 +-72 +-74 +-72 +-60 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +99 +91 +80 +71 +66 +67 +62 +55 +45 +41 +44 +41 +33 +26 +24 +-32 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-103 +-105 +-105 +-100 +-87 +-88 +-85 +-72 +-74 +-73 +-61 +-63 +-63 +-50 +-53 +-54 +-43 +-43 +-47 +-38 +-35 +-41 +-38 +-29 +-32 +-35 +-26 +-25 +-32 +-28 +-21 +-25 +-29 +-19 +-19 +-25 +-25 +-17 +-20 +-25 +-20 +-15 +-19 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +104 +102 +98 +89 +80 +70 +63 +65 +61 +53 +44 +40 +43 +41 +35 +27 +23 +29 +26 +21 +14 +13 +18 +15 +9 +4 +7 +10 +5 +-1 +0 +5 +1 +-5 +-6 +1 +0 +-6 +-9 +-1 +-3 +-9 +-11 +-3 +-5 +-11 +-12 +-64 +-120 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-99 +-99 +-101 +-95 +-96 +-89 +-78 +-80 +-77 +-65 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +107 +105 +97 +89 +79 +70 +67 +67 +60 +51 +43 +45 +44 +38 +29 +26 +30 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-128 +-99 +-105 +-107 +-98 +-87 +-88 +-85 +-72 +-74 +-73 +-61 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +114 +107 +97 +87 +77 +73 +73 +67 +58 +50 +45 +48 +43 +37 +29 +26 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-106 +-108 +-98 +-88 +-91 +-82 +-72 +-76 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +103 +91 +84 +84 +78 +69 +60 +54 +57 +52 +45 +36 +34 +37 +33 +25 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-112 +-97 +-104 +-92 +-95 +-88 +-77 +-80 +-75 +-64 +-67 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +111 +100 +95 +94 +85 +75 +66 +64 +63 +57 +47 +41 +42 +42 +34 +26 +25 +-32 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-108 +-94 +-88 +-90 +-83 +-72 +-74 +-73 +-61 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +101 +99 +91 +82 +72 +65 +66 +62 +55 +46 +40 +42 +40 +34 +27 +23 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-109 +-99 +-101 +-93 +-82 +-84 +-79 +-68 +-70 +-67 +-56 +-60 +-58 +-47 +-51 +-50 +-40 +-45 +-43 +-34 +-38 +-39 +-29 +-33 +-35 +-25 +-27 +-33 +-25 +-22 +-27 +-29 +-19 +-20 +-26 +-23 +-16 +-20 +-24 +-16 +-15 +-21 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +90 +89 +84 +77 +67 +59 +55 +57 +51 +44 +35 +34 +37 +-29 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-112 +-104 +-106 +-94 +-86 +-89 +-81 +-71 +-74 +-70 +-59 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +107 +96 +86 +77 +77 +74 +66 +56 +49 +51 +49 +42 +33 +29 +33 +30 +-37 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-101 +-105 +-107 +-95 +-87 +-90 +-81 +-72 +-75 +-68 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +101 +90 +87 +85 +78 +67 +58 +57 +56 +50 +42 +35 +37 +37 +31 +23 +21 +26 +22 +15 +11 +16 +15 +10 +4 +4 +10 +6 +0 +-2 +5 +3 +-3 +-7 +0 +0 +-4 +-9 +-5 +-1 +-5 +-11 +-6 +-3 +-8 +-12 +-5 +-5 +-70 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-107 +-106 +-102 +-103 +-88 +-84 +-87 +-76 +-69 +-73 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +121 +114 +105 +94 +84 +76 +75 +72 +65 +56 +49 +46 +48 +43 +35 +29 +30 +31 +-35 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-105 +-107 +-98 +-87 +-89 +-85 +-72 +-74 +-73 +-61 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +98 +89 +78 +71 +71 +67 +60 +51 +44 +45 +44 +38 +30 +25 +29 +-33 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-106 +-108 +-97 +-88 +-90 +-84 +-72 +-74 +-72 +-60 +-62 +-63 +-50 +-52 +-54 +-43 +-43 +-47 +-38 +-35 +-40 +-38 +-29 +-32 +-35 +-26 +-25 +-31 +-29 +-22 +-25 +-30 +-21 +-19 +-25 +-26 +-17 +-19 +-25 +-19 +-14 +-19 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +109 +106 +97 +87 +76 +73 +73 +66 +55 +48 +49 +48 +41 +32 +30 +-27 +-89 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-105 +-106 +-97 +-86 +-88 +-84 +-71 +-73 +-72 +-59 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +107 +98 +88 +77 +73 +74 +67 +59 +50 +47 +49 +44 +37 +29 +29 +32 +27 +19 +14 +18 +19 +14 +8 +8 +13 +9 +2 +2 +8 +4 +-3 +0 +4 +-2 +-7 +-2 +1 +-4 +-9 +-4 +-1 +-7 +-11 +-5 +-3 +-9 +-13 +-7 +-65 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-107 +-109 +-96 +-90 +-92 +-83 +-74 +-76 +-73 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +92 +91 +84 +75 +65 +58 +58 +56 +50 +41 +35 +38 +37 +31 +23 +-40 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-98 +-98 +-100 +-94 +-96 +-86 +-77 +-80 +-75 +-64 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +110 +99 +91 +91 +85 +77 +68 +59 +57 +58 +52 +44 +36 +36 +37 +33 +24 +-41 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-113 +-98 +-101 +-93 +-95 +-86 +-76 +-79 +-73 +-63 +-67 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +90 +85 +78 +67 +59 +57 +57 +51 +42 +36 +39 +37 +30 +22 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-112 +-97 +-103 +-92 +-95 +-88 +-78 +-81 +-75 +-65 +-68 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +101 +90 +89 +86 +77 +67 +59 +58 +57 +51 +42 +36 +40 +37 +31 +23 +-38 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-105 +-105 +-103 +-101 +-87 +-85 +-86 +-73 +-70 +-73 +-63 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +102 +91 +83 +80 +79 +72 +64 +55 +50 +51 +49 +43 +34 +29 +33 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-107 +-98 +-87 +-89 +-84 +-72 +-74 +-72 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +113 +107 +98 +89 +78 +71 +71 +68 +60 +51 +44 +47 +44 +38 +29 +27 +31 +-35 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-105 +-107 +-97 +-87 +-89 +-85 +-73 +-74 +-73 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +116 +107 +96 +86 +77 +78 +73 +65 +55 +49 +51 +48 +40 +32 +31 +35 +30 +-38 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-106 +-105 +-101 +-102 +-88 +-83 +-86 +-76 +-69 +-72 +-67 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +105 +95 +86 +77 +73 +73 +67 +58 +49 +45 +48 +44 +37 +29 +27 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-109 +-104 +-104 +-103 +-101 +-86 +-86 +-85 +-71 +-72 +-72 +-60 +-60 +-63 +-51 +-50 +-55 +-46 +-41 +-46 +-43 +-34 +-38 +-40 +-29 +-32 +-36 +-26 +-26 +-32 +-26 +-21 +-27 +-28 +-19 +-21 +-26 +-18 +-17 +-24 +-21 +-14 +-19 +-24 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +94 +85 +75 +73 +72 +66 +58 +49 +43 +45 +43 +38 +30 +-36 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-101 +-104 +-105 +-99 +-86 +-87 +-83 +-71 +-74 +-70 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +103 +90 +83 +84 +79 +70 +60 +54 +57 +52 +45 +37 +34 +38 +34 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-101 +-104 +-104 +-99 +-85 +-86 +-84 +-70 +-71 +-72 +-59 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +92 +83 +79 +79 +72 +65 +55 +49 +49 +48 +42 +34 +29 +31 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-108 +-105 +-104 +-102 +-101 +-87 +-83 +-86 +-73 +-69 +-73 +-65 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +99 +97 +92 +84 +75 +65 +61 +62 +57 +49 +40 +37 +40 +35 +28 +22 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-103 +-97 +-99 +-99 +-95 +-81 +-81 +-81 +-67 +-67 +-69 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +99 +93 +91 +84 +77 +67 +59 +54 +57 +52 +47 +39 +33 +33 +35 +30 +-37 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-104 +-109 +-98 +-100 +-92 +-81 +-84 +-77 +-68 +-72 +-65 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +112 +99 +89 +89 +85 +77 +68 +59 +57 +58 +51 +43 +36 +37 +37 +32 +23 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-112 +-97 +-105 +-92 +-94 +-89 +-77 +-79 +-75 +-64 +-67 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +100 +99 +93 +84 +74 +65 +64 +63 +57 +47 +41 +41 +40 +33 +25 +23 +-33 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-111 +-99 +-100 +-95 +-82 +-83 +-81 +-68 +-69 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +108 +105 +99 +91 +80 +71 +66 +67 +62 +54 +45 +42 +45 +40 +32 +26 +27 +29 +23 +16 +14 +20 +15 +8 +7 +13 +9 +2 +2 +8 +3 +-3 +-3 +3 +-1 +-7 +-5 +1 +-4 +-9 +-4 +-1 +-7 +-11 +-4 +-4 +-10 +-12 +-4 +-67 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-105 +-106 +-106 +-101 +-88 +-90 +-84 +-73 +-77 +-70 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +101 +89 +83 +83 +78 +70 +62 +53 +51 +52 +47 +38 +32 +33 +34 +27 +-41 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-99 +-105 +-107 +-96 +-87 +-89 +-84 +-72 +-74 +-73 +-61 +-60 +-63 +-51 +-49 +-53 +-48 +-40 +-44 +-45 +-34 +-35 +-40 +-33 +-29 +-33 +-34 +-25 +-25 +-31 +-27 +-21 +-24 +-28 +-21 +-19 +-24 +-26 +-17 +-17 +-23 +-23 +-14 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +103 +91 +83 +78 +77 +71 +63 +54 +49 +52 +49 +42 +35 +30 +-28 +-86 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-104 +-104 +-105 +-99 +-101 +-89 +-81 +-84 +-77 +-67 +-69 +-68 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +102 +91 +84 +81 +79 +73 +65 +56 +49 +49 +49 +44 +36 +29 +30 +32 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-96 +-87 +-89 +-82 +-72 +-75 +-71 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +116 +106 +95 +85 +77 +79 +73 +67 +57 +50 +49 +49 +43 +35 +29 +32 +31 +-36 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-98 +-87 +-88 +-85 +-73 +-73 +-73 +-61 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +92 +84 +80 +80 +73 +64 +54 +49 +51 +47 +40 +32 +30 +34 +30 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-102 +-105 +-107 +-97 +-87 +-90 +-82 +-72 +-75 +-71 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +105 +95 +85 +76 +75 +73 +66 +56 +49 +49 +48 +42 +33 +29 +34 +31 +25 +17 +19 +22 +18 +10 +10 +16 +12 +3 +4 +9 +5 +-2 +2 +5 +0 +-5 +2 +1 +-5 +-8 +0 +-2 +-9 +-10 +-2 +-5 +-12 +-9 +-4 +-9 +-73 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-106 +-111 +-100 +-102 +-94 +-83 +-85 +-81 +-69 +-71 +-70 +-59 +-61 +-61 +-49 +-51 +-53 +-41 +-41 +-46 +-37 +-34 +-39 +-37 +-28 +-32 +-34 +-25 +-24 +-31 +-28 +-21 +-24 +-28 +-19 +-18 +-23 +-25 +-16 +-18 +-24 +-20 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +104 +95 +85 +77 +71 +64 +61 +58 +55 +51 +47 +43 +39 +34 +-31 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-107 +-104 +-104 +-100 +-101 +-88 +-81 +-84 +-77 +-67 +-70 +-68 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +94 +85 +78 +79 +74 +67 +57 +49 +49 +49 +43 +35 +29 +33 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-97 +-87 +-88 +-84 +-72 +-73 +-73 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +90 +90 +85 +77 +67 +59 +55 +57 +53 +46 +38 +33 +35 +34 +27 +20 +17 +23 +20 +13 +8 +14 +13 +7 +2 +8 +9 +3 +-2 +2 +5 +0 +-6 +-3 +2 +-1 +-8 +-5 +0 +-3 +-10 +-6 +-3 +-7 +-13 +-7 +-5 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-107 +-110 +-101 +-103 +-94 +-83 +-85 +-81 +-69 +-71 +-69 +-57 +-59 +-60 +-48 +-48 +-52 +-44 +-39 +-45 +-42 +-33 +-36 +-39 +-29 +-29 +-35 +-29 +-25 +-30 +-30 +-21 +-23 +-28 +-21 +-18 +-23 +-25 +-16 +-17 +-23 +-20 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +98 +90 +83 +77 +75 +71 +66 +60 +55 +49 +44 +38 +34 +31 +29 +27 +27 +24 +23 +20 +18 +15 +12 +9 +7 +7 +6 +5 +5 +4 +3 +1 +0 +-1 +-2 +-3 +-3 +-3 +-3 +-4 +-4 +-4 +-5 +-5 +-6 +-7 +-66 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-107 +-108 +-101 +-102 +-93 +-83 +-84 +-81 +-68 +-69 +5 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +108 +97 +91 +91 +83 +74 +64 +59 +61 +56 +48 +40 +37 +40 +35 +27 +22 +-35 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-105 +-108 +-100 +-102 +-94 +-83 +-84 +-81 +-68 +-70 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +105 +99 +90 +79 +70 +65 +67 +61 +52 +44 +43 +44 +40 +31 +26 +29 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-98 +-87 +-89 +-84 +-72 +-75 +-72 +-61 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +95 +84 +77 +79 +73 +64 +54 +50 +53 +48 +39 +33 +33 +35 +29 +-39 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-114 +-105 +-107 +-95 +-87 +-89 +-82 +-72 +-75 +-70 +-60 +-64 +-62 +-51 +-54 +-53 +-43 +-45 +-47 +-36 +-37 +-42 +-33 +-30 +-36 +-34 +-25 +-28 +-32 +-23 +-22 +-28 +-27 +-18 +-21 +-26 +-20 +-16 +-22 +-24 +-16 +-16 +-22 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +99 +89 +87 +84 +77 +66 +57 +55 +57 +50 +41 +35 +39 +36 +-32 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-105 +-106 +-94 +-86 +-88 +-82 +-71 +-73 +-71 +-59 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +107 +104 +98 +90 +81 +71 +65 +67 +62 +54 +45 +41 +45 +41 +33 +26 +25 +29 +24 +18 +13 +17 +17 +13 +6 +5 +10 +8 +1 +-1 +5 +4 +-2 +-6 +0 +2 +-4 +-8 +-3 +0 +-5 +-10 +-7 +-2 +-6 +-11 +-10 +-4 +-7 +-72 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-102 +-105 +-108 +-96 +-88 +-91 +-80 +-73 +-77 +-69 +-61 +-66 +-60 +-52 +-55 +-53 +-43 +-47 +-47 +-37 +-39 +-42 +-31 +-33 +-38 +-29 +-27 +-33 +-31 +-23 +-26 +-30 +-20 +-21 +-27 +-25 +-18 +-22 +-26 +-18 +-16 +-22 +54 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +104 +99 +97 +90 +80 +70 +63 +64 +60 +53 +44 +39 +43 +40 +33 +25 +24 +29 +25 +17 +13 +17 +17 +12 +5 +8 +11 +7 +0 +0 +7 +3 +-4 +-6 +1 +1 +-5 +-8 +-1 +-1 +-8 +-10 +-4 +-3 +-8 +-12 +-7 +-64 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-106 +-106 +-102 +-102 +-89 +-84 +-86 +-78 +-69 +-72 +8 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +90 +91 +84 +76 +65 +59 +59 +57 +50 +41 +36 +40 +37 +30 +22 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-104 +-110 +-98 +-100 +-92 +-82 +-85 +-76 +-68 +-72 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +108 +105 +99 +90 +80 +70 +66 +67 +61 +53 +44 +41 +43 +39 +31 +25 +25 +-33 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-110 +-108 +-92 +-93 +-90 +-77 +-77 +-77 +-63 +-64 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +112 +99 +91 +91 +85 +77 +67 +59 +55 +57 +51 +45 +36 +34 +37 +33 +26 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-99 +-105 +-107 +-96 +-87 +-89 +-82 +-72 +-76 +-69 +-60 +-63 +-60 +-50 +-53 +-53 +-42 +-44 +-47 +-37 +-37 +-42 +-37 +-30 +-33 +-36 +-27 +-25 +-31 +-30 +-21 +-23 +-29 +-21 +-18 +-23 +-25 +-16 +-17 +-24 +-19 +-14 +-18 +54 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +111 +105 +95 +85 +75 +72 +72 +65 +57 +48 +45 +48 +42 +35 +27 +30 +30 +24 +17 +17 +21 +17 +10 +7 +13 +12 +5 +1 +7 +7 +2 +-3 +1 +4 +-1 +-7 +-3 +1 +-3 +-9 +-6 +-1 +-6 +-12 +-8 +-3 +-8 +-72 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-112 +-100 +-101 +-95 +-83 +-84 +-81 +-69 +-70 +-70 +-57 +-58 +-60 +-49 +-48 +-52 +-45 +-39 +-43 +-43 +-33 +-34 +-39 +-31 +-28 +-33 +-33 +-24 +-25 +-31 +-26 +-20 +-25 +-27 +-18 +-19 +-25 +-20 +-15 +-20 +-23 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +103 +98 +93 +89 +83 +77 +70 +63 +56 +51 +45 +42 +39 +37 +35 +33 +29 +26 +23 +20 +17 +15 +13 +12 +10 +9 +8 +7 +6 +5 +3 +2 +1 +1 +0 +0 +0 +-1 +-1 +-2 +-2 +-3 +-4 +-5 +-6 +-6 +-6 +-65 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-106 +-106 +-107 +-101 +-88 +-90 +-84 +-73 +-76 +-71 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +121 +114 +104 +93 +83 +77 +78 +71 +63 +54 +48 +51 +48 +41 +32 +28 +33 +29 +-38 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-114 +-105 +-107 +-97 +-87 +-90 +-82 +-72 +-76 +-70 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +90 +84 +84 +77 +69 +60 +54 +57 +52 +44 +36 +37 +38 +32 +23 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-112 +-97 +-102 +-92 +-94 +-87 +-77 +-79 +-75 +-63 +-67 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +111 +99 +90 +90 +85 +77 +66 +59 +60 +57 +50 +41 +37 +41 +37 +31 +23 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-112 +-97 +-102 +-92 +-95 +-86 +-77 +-80 +-74 +-64 +-68 +-66 +-54 +-56 +-57 +-46 +-46 +-49 +-42 +-36 +-41 +-41 +-31 +-32 +-37 +-30 +-26 +-31 +-32 +-22 +-23 +-29 +-24 +-18 +-23 +-26 +-17 +-17 +-24 +-23 +-15 +-18 +-23 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +105 +97 +95 +91 +82 +73 +63 +57 +59 +55 +48 +40 +35 +38 +36 +31 +22 +20 +25 +22 +15 +10 +15 +15 +9 +3 +6 +9 +4 +-2 +0 +5 +1 +-6 +-4 +1 +-2 +-8 +-5 +-1 +-5 +-11 +-5 +-3 +-8 +-12 +-4 +-65 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-107 +-109 +-94 +-89 +-91 +-79 +-74 +-77 +-69 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +97 +89 +89 +83 +77 +67 +59 +54 +57 +51 +45 +37 +32 +35 +34 +28 +-39 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-103 +-105 +-106 +-99 +-87 +-89 +-82 +-72 +-76 +-69 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +91 +85 +77 +66 +59 +61 +57 +49 +41 +37 +41 +36 +28 +21 +-37 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-108 +-98 +-100 +-93 +-82 +-84 +-80 +-68 +-70 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +107 +99 +98 +91 +84 +74 +64 +59 +60 +56 +50 +42 +36 +38 +37 +33 +24 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-99 +-92 +-94 +-85 +-76 +-78 +-74 +-63 +-65 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +99 +89 +89 +84 +77 +67 +59 +55 +57 +51 +44 +35 +35 +37 +32 +23 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-112 +-97 +-103 +-92 +-94 +-88 +-76 +-79 +-75 +-63 +-66 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +99 +94 +93 +84 +74 +65 +65 +62 +55 +45 +42 +45 +41 +32 +25 +28 +-33 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-107 +-107 +-94 +-88 +-90 +-83 +-73 +-75 +-72 +-60 +-62 +-62 +-50 +-51 +-54 +-43 +-41 +-47 +-40 +-35 +-39 +-39 +-29 +-31 +-36 +-28 +-25 +-30 +-30 +-21 +-23 +-29 +-22 +-19 +-24 +-25 +-16 +-18 +-24 +-19 +-14 +-19 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +112 +103 +93 +83 +75 +77 +71 +64 +54 +48 +51 +48 +40 +32 +30 +-27 +-89 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-112 +-104 +-106 +-93 +-86 +-89 +-80 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +102 +90 +87 +86 +78 +68 +59 +59 +58 +51 +42 +37 +41 +37 +31 +23 +-39 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-112 +-112 +-104 +-92 +-93 +-89 +-76 +-76 +-77 +-63 +-63 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +98 +96 +92 +83 +73 +64 +64 +62 +56 +47 +40 +39 +41 +35 +27 +22 +26 +25 +19 +12 +14 +17 +14 +6 +6 +11 +8 +0 +1 +6 +2 +-5 +-3 +2 +-1 +-7 +-4 +0 +-4 +-11 +-6 +-3 +-8 +-12 +-5 +-4 +-10 +-13 +-63 +-122 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-106 +-106 +-103 +-102 +-87 +-86 +-87 +-73 +-71 +-74 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +107 +105 +96 +88 +77 +69 +69 +67 +59 +50 +43 +46 +44 +38 +29 +26 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-106 +-99 +-86 +-87 +-85 +-72 +-72 +-73 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +103 +99 +91 +80 +71 +66 +67 +61 +53 +44 +44 +45 +40 +31 +26 +30 +-32 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-104 +-106 +-98 +-86 +-88 +-83 +-72 +-76 +-72 +-61 +-63 +-62 +-50 +-53 +-54 +-43 +-45 +-47 +-36 +-37 +-41 +-32 +-30 +-36 +-32 +-24 +-28 +-31 +-21 +-21 +-27 +-25 +-18 +-22 +-27 +-19 +-17 +-23 +-23 +-15 +-17 +-23 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +105 +96 +92 +90 +83 +75 +67 +58 +54 +56 +51 +45 +36 +32 +36 +-27 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-111 +-98 +-104 +-105 +-95 +-86 +-88 +-81 +-71 +-74 +-69 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +106 +95 +85 +77 +77 +73 +67 +57 +49 +48 +49 +43 +35 +29 +33 +31 +26 +18 +18 +22 +18 +10 +7 +13 +11 +4 +1 +7 +7 +1 +-3 +2 +3 +-2 +-7 +-2 +1 +-4 +-9 +-4 +-2 +-7 +-11 +-7 +-3 +-8 +-13 +-8 +-65 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-104 +-105 +-107 +-99 +-88 +-91 +-84 +-74 +-77 +-71 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +117 +113 +105 +95 +85 +75 +71 +71 +66 +58 +49 +43 +44 +43 +38 +30 +25 +26 +-32 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-107 +-95 +-88 +-90 +-79 +-73 +-77 +-69 +-61 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +100 +89 +86 +85 +77 +67 +59 +59 +57 +49 +41 +38 +42 +37 +29 +24 +-32 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-108 +-99 +-101 +-91 +-81 +-84 +-78 +-68 +-71 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +106 +96 +87 +77 +71 +72 +67 +59 +50 +44 +48 +44 +38 +29 +28 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-113 +-105 +-106 +-96 +-86 +-89 +-83 +-72 +-75 +-72 +-61 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +93 +83 +81 +79 +71 +62 +53 +53 +51 +45 +35 +33 +37 +33 +25 +-41 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-98 +-98 +-100 +-93 +-95 +-86 +-76 +-78 +-75 +-63 +-65 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +106 +97 +87 +76 +72 +73 +67 +58 +49 +45 +48 +43 +36 +29 +29 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-104 +-105 +-99 +-86 +-87 +-85 +-71 +-73 +-73 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +98 +93 +92 +84 +75 +65 +60 +61 +56 +48 +40 +38 +41 +35 +27 +22 +-33 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-101 +-102 +-109 +-97 +-97 +-93 +-80 +-82 +-79 +-67 +-70 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +106 +97 +87 +77 +71 +71 +67 +59 +51 +44 +45 +43 +37 +29 +26 +30 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-107 +-108 +-95 +-88 +-90 +-81 +-72 +-74 +-72 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +105 +98 +89 +78 +70 +68 +67 +60 +51 +44 +46 +45 +38 +29 +27 +31 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-98 +-104 +-106 +-98 +-86 +-88 +-84 +-71 +-74 +-71 +-60 +-64 +-60 +-50 +-54 +-52 +-42 +-46 +-46 +-36 +-40 +-42 +-31 +-34 +-37 +-27 +-28 +-33 +-27 +-22 +-27 +-29 +-19 +-20 +-27 +-21 +-16 +-20 +-24 +-17 +-15 +-20 +-23 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +106 +98 +90 +83 +79 +76 +71 +66 +60 +55 +50 +45 +38 +33 +29 +-34 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-104 +-105 +-96 +-86 +-87 +-85 +-71 +-71 +-72 +-61 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +98 +90 +81 +71 +64 +65 +61 +55 +46 +40 +43 +41 +35 +27 +27 +-30 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-98 +-105 +-107 +-96 +-87 +-89 +-82 +-72 +-75 +-71 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +122 +115 +104 +92 +83 +80 +79 +71 +62 +54 +53 +53 +47 +38 +33 +36 +34 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-99 +-104 +-107 +-95 +-87 +-90 +-80 +-72 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +93 +83 +80 +79 +71 +63 +53 +52 +53 +47 +37 +32 +36 +33 +25 +-41 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-107 +-106 +-93 +-87 +-90 +-81 +-72 +-75 +-71 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +116 +105 +93 +84 +82 +79 +71 +61 +53 +54 +52 +45 +36 +33 +37 +33 +25 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-107 +-97 +-87 +-89 +-83 +-72 +-75 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +101 +89 +86 +85 +78 +67 +59 +58 +58 +51 +42 +35 +38 +37 +31 +22 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-103 +-103 +-104 +-98 +-100 +-90 +-81 +-83 +-78 +-67 +-69 +-68 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +90 +89 +85 +77 +67 +59 +56 +57 +51 +43 +35 +36 +37 +32 +23 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-112 +-97 +-99 +-92 +-95 +-86 +-77 +-79 +-76 +-64 +-65 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +90 +89 +85 +77 +68 +59 +54 +56 +52 +45 +36 +33 +37 +34 +28 +21 +19 +24 +21 +14 +9 +13 +14 +9 +2 +4 +9 +5 +-3 +0 +5 +-1 +-7 +-4 +0 +-4 +-10 +-5 +-1 +-6 +-11 +-5 +-3 +-9 +-13 +-5 +-5 +-70 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-108 +-106 +-105 +-103 +-102 +-87 +-86 +-86 +-73 +-72 +-74 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +105 +99 +97 +90 +81 +71 +63 +63 +61 +55 +45 +39 +41 +40 +34 +26 +23 +-32 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-113 +-106 +-107 +-94 +-88 +-90 +-80 +-72 +-77 +-70 +-61 +-65 +-62 +-50 +-53 +-54 +-43 +-42 +-47 +-40 +-35 +-39 +-40 +-30 +-31 +-36 +-28 +-25 +-31 +-30 +-21 +-22 +-28 +-24 +-18 +-21 +-26 +-18 +-16 +-21 +-23 +-14 +-14 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +104 +97 +96 +90 +81 +70 +62 +63 +60 +53 +44 +38 +42 +39 +32 +-36 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-109 +-99 +-103 +-105 +-95 +-85 +-89 +-79 +-71 +-76 +-66 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +93 +83 +79 +79 +72 +63 +54 +51 +53 +48 +41 +33 +31 +35 +30 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-107 +-106 +-91 +-89 +-90 +-76 +-73 +-77 +-66 +-61 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +96 +86 +77 +73 +73 +67 +59 +50 +45 +47 +43 +37 +28 +27 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-105 +-106 +-98 +-87 +-89 +-83 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +91 +83 +80 +79 +71 +62 +53 +53 +53 +47 +37 +33 +37 +34 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-100 +-104 +-106 +-98 +-86 +-89 +-82 +-71 +-74 +-71 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +102 +91 +86 +85 +78 +69 +60 +57 +58 +51 +43 +36 +40 +37 +31 +23 +23 +26 +21 +12 +12 +16 +13 +6 +4 +11 +8 +0 +-1 +6 +4 +-3 +-5 +2 +0 +-6 +-7 +0 +-2 +-9 +-10 +-2 +-4 +-11 +-11 +-3 +-6 +-13 +-73 +-104 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-106 +-107 +-98 +-88 +-90 +-86 +-73 +-75 +-73 +-61 +-62 +-63 +-51 +-51 +-55 +-45 +-41 +-46 +-43 +-34 +-38 +-40 +-30 +-31 +-36 +-28 +-25 +-31 +-30 +-21 +-24 +-29 +-24 +-19 +-24 +-26 +-17 +-18 +-24 +-19 +-15 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +107 +96 +88 +88 +83 +75 +65 +57 +56 +56 +50 +41 +35 +38 +37 +-31 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 diff --git a/traces/HID-weak-fob-11647.pm3 b/traces/HID-weak-fob-11647.pm3 deleted file mode 100644 index 214ed2186..000000000 --- a/traces/HID-weak-fob-11647.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --21 --25 --14 --8 --4 --3 --6 --14 --20 --25 --14 --8 --4 --5 --7 --15 --21 --25 --24 --10 --1 -3 -4 -1 --4 --13 --22 --27 --27 --13 --3 -0 -1 --1 --5 --14 --22 --27 --26 --13 --3 -0 -1 --1 --6 --15 --23 --28 --27 --14 --4 --1 -1 --1 --6 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --15 --23 --28 --17 --12 --8 --7 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --26 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --25 --14 --9 --4 --4 --6 --14 --20 --24 --14 --8 --4 --4 --6 --14 --20 --25 --23 --9 -0 -3 -4 -0 --4 --14 --22 --28 --27 --13 --3 -0 -2 -0 --5 --14 --22 --28 --27 --13 --3 -0 -1 --1 --6 --15 --23 --28 --27 --14 --4 --1 -1 --1 --6 --15 --23 --28 --27 --14 --3 -0 -1 --1 --6 --15 --23 --28 --17 --12 --7 --7 --9 --16 --22 --27 --15 --9 --5 --5 --7 --15 --22 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --25 --14 --8 --4 --3 --6 --15 --21 --25 --15 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --3 --9 --15 --23 --25 --25 --10 --1 -3 -3 -2 --5 --13 --22 --28 --28 --12 --4 -0 -0 -0 --6 --14 --23 --27 --28 --13 --4 -0 -0 -0 --6 --14 --23 --27 --28 --12 --4 -0 -0 -0 --7 --15 --24 --28 --28 --13 --4 -0 -0 -0 --7 --15 --24 --28 --28 --13 --5 -0 -0 -0 --7 --14 --23 --28 --28 --13 --5 -0 -0 --1 --7 --14 --23 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --12 --5 -0 -1 --1 --6 --14 --23 --28 --28 --13 --5 -0 -0 --4 --12 --19 --26 --16 --10 --7 --7 --10 --17 --23 --27 --16 --10 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --20 --25 --15 --9 --4 --5 --7 --15 --21 --25 --13 --8 --4 --4 --4 --8 --15 --23 --25 --25 --10 --1 -3 -3 -3 --4 --13 --22 --27 --28 --12 --4 -0 -0 -0 --5 --14 --22 --27 --28 --12 --4 -0 -0 -0 --7 --15 --23 --27 --27 --12 --4 -0 -0 -0 --7 --15 --24 --29 --28 --13 --5 -0 -0 --3 --13 --21 --26 --17 --11 --8 --8 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --25 --15 --9 --5 --4 --7 --15 --20 --25 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --23 --10 -0 -3 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --13 --3 -0 -1 --2 --6 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --16 --24 --29 --18 --12 --8 --7 --10 --17 --22 --26 --15 --9 --5 --5 --7 --15 --22 --26 --14 --9 --5 --5 --7 --15 --21 --25 --15 --9 --5 --4 --7 --14 --21 --25 --13 --8 --4 --3 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --3 --3 --6 --14 --20 --25 --14 --8 --5 --4 --7 --14 --21 --24 --13 --8 --4 --3 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --13 --8 --4 --4 --7 --14 --20 --25 --13 --8 --4 --4 --3 --8 --15 --23 --26 --25 --10 --2 -3 -3 -1 --4 --13 --22 --26 --26 --12 --4 -1 -0 -0 --6 --14 --23 --27 --27 --12 --4 -1 -0 --1 --6 --14 --24 --28 --28 --13 --4 -1 -1 -1 --5 --15 --23 --27 --28 --13 --5 -0 --1 --4 --13 --21 --26 --16 --11 --7 --7 --10 --17 --23 --27 --16 --9 --5 --5 --7 --15 --21 --26 --14 --8 --5 --4 --7 --16 --21 --25 --14 --8 --4 --4 --6 --14 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --13 --8 --4 --4 --4 --8 --15 --23 --25 --25 --10 --2 -3 -3 -2 --4 --13 --23 --27 --27 --13 --4 -0 -0 -0 --6 --14 --23 --27 --27 --13 --4 -0 -0 --1 --7 --14 --23 --28 --28 --12 --4 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -0 -0 --3 --12 --20 --26 --16 --10 --8 --8 --10 --18 --23 --27 --15 --9 --4 --4 --7 --14 --20 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --15 --20 --25 --24 --10 -0 -2 -4 -1 --4 --14 --22 --28 --27 --13 --3 --1 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -1 --1 --7 --16 --23 --29 --27 --13 --4 -0 -1 --1 --6 --15 --23 --29 --28 --14 --4 --1 -0 --1 --6 --15 --23 --28 --28 --13 --4 --1 -0 --1 --7 --16 --23 --28 --28 --13 --4 --1 -1 --1 --6 --16 --23 --29 --28 --14 --4 --1 -1 --1 --6 --16 --23 --29 --28 --14 --5 --1 -0 --1 --6 --15 --23 --29 --17 --11 --8 --8 --9 --17 --23 --27 --15 --8 --4 --4 --7 --14 --21 --26 --15 --9 --5 --5 --7 --15 --21 --25 --13 --9 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --3 --4 --6 --14 --21 --25 --13 --8 --4 --3 --6 --15 --20 --25 --14 --7 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --15 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --3 --9 --15 --23 --26 --25 --10 --2 -3 -3 -2 --5 --13 --22 --27 --27 --12 --4 -1 -1 -0 --6 --14 --23 --27 --28 --12 --4 -0 -1 --1 --6 --14 --23 --27 --28 --13 --5 -0 -0 --1 --6 --15 --23 --27 --28 --12 --4 -0 -1 --1 --6 --15 --25 --28 --28 --13 --5 -0 -1 --1 --7 --14 --24 --28 --28 --14 --5 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -0 --1 --1 --7 --15 --24 --28 --28 --13 --4 -1 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --3 --12 --20 --27 --16 --11 --8 --8 --10 --17 --24 --27 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --25 --14 --9 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --3 --9 --15 --22 --25 --25 --9 --2 -3 -3 -2 --4 --13 --22 --27 --27 --12 --4 -0 -1 -0 --6 --14 --23 --27 --28 --13 --4 -1 -1 -0 --6 --14 --23 --27 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --4 --13 --20 --27 --16 --10 --8 --7 --10 --17 --23 --27 --15 --10 --5 --5 --8 --15 --21 --26 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --5 --5 --7 --15 --21 --25 --13 --8 --4 --4 --7 --14 --21 --26 --14 --8 --4 --4 --6 --14 --21 --25 --13 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --24 --14 --8 --4 --4 --6 --14 --21 --26 --14 --8 --4 --4 --6 --14 --20 --24 --14 --8 --4 --4 --6 --14 --20 --25 --23 --10 --1 -2 -4 -1 --4 --14 --21 --27 --27 --13 --4 -0 -1 --1 --5 --14 --23 --28 --27 --13 --3 -0 -1 --1 --5 --14 --23 --28 --27 --13 --4 --1 -0 --1 --6 --16 --23 --28 --27 --13 --3 -0 -0 --1 --5 --15 --23 --29 --28 --14 --4 --1 -1 --2 --6 --15 --23 --28 --27 --13 --4 --1 -1 --1 --6 --15 --23 --28 --27 --14 --4 --1 -1 --1 --6 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --16 --23 --28 --18 --13 --8 --8 --10 --17 --23 --28 --15 --9 --5 --4 --7 --14 --21 --26 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --5 --4 --6 --15 --20 --25 --14 --8 --4 --5 --7 --14 --20 --25 --13 --8 --4 --3 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --4 --3 --6 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --24 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --4 --3 --8 --14 --22 --25 --25 --10 --1 -3 -2 -1 --5 --13 --22 --27 --27 --12 --3 -1 -0 -0 --6 --14 --23 --27 --27 --13 --4 -1 -0 -0 --6 --15 --23 --27 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 -0 --6 --15 --24 --28 --28 --13 --4 -0 -0 -0 --6 --15 --24 --28 --29 --13 --5 --1 --1 --1 --7 --15 --24 --28 --28 --13 --5 --1 -0 --1 --7 --15 --24 --28 --28 --12 --4 --1 -0 --1 --7 --15 --24 --29 --29 --13 --4 -0 -0 --3 --12 --20 --26 --16 --12 --8 --8 --10 --17 --23 --27 --16 --9 --5 --4 --7 --14 --21 --26 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --5 --4 --6 --14 --21 --25 --15 --8 --4 --4 --7 --14 --20 --25 --23 --10 --1 -3 -4 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --27 --13 --4 --1 -1 --1 --6 --15 --23 --28 --27 --13 --3 -0 -1 --2 --6 --15 --24 --29 --27 --14 --4 -0 -1 --1 --5 --15 --23 --28 --17 --12 --8 --7 --10 --17 --22 --26 --15 --9 --4 --4 --7 --14 --21 --26 --14 --9 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --13 --20 --25 --14 --9 --4 --4 --7 --14 --20 --25 --24 --10 --1 -2 -3 -1 --5 --14 --22 --28 --27 --12 --3 -0 -2 -0 --5 --15 --22 --29 --27 --13 --4 -0 -1 -0 --5 --15 --22 --28 --27 --14 --5 --1 -0 --2 --6 --15 --22 --28 --27 --13 --4 --1 -1 --1 --6 --16 --23 --29 --18 --12 --8 --7 --9 --17 --23 --27 --16 --9 --5 --5 --8 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --14 --20 --26 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --3 --7 --14 --20 --25 --13 --8 --4 --4 --4 --8 --15 --23 --25 --25 --10 --2 -3 -3 -2 --4 --13 --23 --27 --27 --13 --4 -1 -1 -0 --6 --14 --23 --27 --28 --13 --4 -1 -0 -0 --6 --15 --24 --27 --28 --13 --4 -0 -0 --1 --6 --15 --24 --28 --29 --13 --4 -1 -0 --3 --12 --21 --26 --16 --11 --8 --7 --10 --17 --23 --27 --16 --10 --5 --6 --7 --15 --21 --26 --14 --8 --5 --4 --7 --15 --20 --25 --15 --9 --5 --4 --7 --14 --20 --25 --13 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --3 --8 --14 --22 --25 --24 --10 --1 -3 -3 -2 --4 --13 --22 --27 --27 --12 --4 -1 -0 -0 --6 --14 --23 --27 --28 --12 --4 -1 -1 -0 --6 --14 --24 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --13 --5 -0 -0 --4 --13 --21 --27 --16 --11 --8 --7 --9 --17 --23 --28 --16 --10 --5 --4 --8 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --3 --6 --14 --20 --25 --24 --10 --1 -1 -3 -1 --4 --13 --21 --27 --27 --12 --3 -0 -1 -0 --6 --15 --22 --28 --27 --13 --3 -0 -1 --1 --6 --15 --22 --29 --27 --13 --4 --1 -1 --1 --6 --16 --23 --29 --27 --14 --5 --1 -1 --1 --5 --15 --22 --28 --17 --12 --8 --8 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --25 --15 --8 --5 --5 --7 --15 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --5 --4 --7 --14 --20 --25 --14 --7 --5 --4 --6 --15 --21 --25 --24 --10 -0 -2 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 -0 --5 --15 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --28 --13 --4 --1 -1 --1 --6 --16 --23 --29 --28 --13 --3 --1 -1 --1 --5 --15 --22 --28 --18 --12 --8 --8 --10 --16 --23 --27 --15 --9 --5 --4 --7 --15 --21 --25 --15 --8 --4 --5 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --7 --4 --4 --6 --15 --21 --26 --14 --8 --4 --3 --6 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --24 --13 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --3 --8 --15 --22 --25 --26 --10 --1 -3 -2 -2 --4 --13 --22 --27 --27 --12 --3 -0 -0 -0 --6 --14 --23 --27 --28 --12 --4 -0 -1 -0 --7 --15 --24 --28 --28 --13 --5 --1 -0 -0 --7 --14 --23 --28 --28 --13 --4 -0 -0 --3 --13 --20 --26 --16 --11 --7 --7 --10 --17 --23 --27 --16 --9 --5 --4 --7 --14 --21 --25 --13 --9 --5 --4 --7 --15 --21 --25 --15 --9 --5 --5 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --26 --15 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --4 --4 --6 --14 --21 --25 --14 --9 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --3 --6 --14 --20 --24 --13 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --3 --8 --14 --22 --25 --25 --9 --2 -3 -3 -2 --5 --13 --22 --27 --27 --12 --4 -1 -1 --1 --6 --14 --23 --27 --28 --12 --4 -1 -1 --1 --6 --14 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --25 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 -0 --6 --14 --24 --28 --28 --13 --5 -0 --1 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 -0 --7 --15 --24 --28 --29 --14 --5 -0 -1 -0 --6 --14 --24 --28 --28 --13 --5 -0 --1 --1 --7 --15 --24 --27 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -1 -0 --1 --6 --15 --24 --28 --29 --13 --5 -0 -0 --3 --12 --20 --26 --16 --11 --7 --7 --11 --18 --23 --27 --16 --9 --5 --5 --7 --15 --21 --26 --14 --8 --5 --5 --7 --15 --21 --25 --15 --8 --4 --5 --7 --14 --21 --26 --14 --8 --5 --4 --6 --14 --21 --25 --14 --8 --4 --4 --4 --8 --15 --23 --25 --25 --10 --1 -3 -3 -2 --4 --13 --23 --27 --27 --13 --4 -1 -0 -0 --6 --14 --23 --28 --28 --13 --4 -0 -0 --1 --6 --14 --24 --28 --28 --12 --4 -0 -0 --1 --7 --14 --24 --28 --28 --13 --4 -0 -0 --3 --12 --20 --27 --16 --11 --8 --7 --10 --18 --23 --27 --15 --9 --5 --4 --8 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --26 --14 --8 --4 --4 --6 --14 --21 --26 --14 --8 --4 --4 --7 --14 --20 --25 --24 --10 -0 -2 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 -0 --6 --15 --22 --28 --27 --13 --3 --1 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -1 --1 --6 --15 --23 --28 --27 --13 --4 --1 -1 --1 --6 --16 --24 --29 --18 --12 --8 --8 --9 --16 --23 --27 --15 --9 --5 --5 --7 --15 --21 --25 --14 --8 --4 --5 --7 --15 --21 --26 --14 --8 --5 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --15 --21 --26 --14 --8 --5 --4 --6 --15 --21 --25 --23 --10 -0 -3 -3 -1 --4 --14 --21 --28 --27 --13 --3 -0 -1 --1 --5 --16 --23 --28 --28 --14 --3 -0 -1 -0 --5 --15 --23 --28 --28 --14 --4 --1 -1 --1 --6 --15 --23 --28 --28 --13 --4 --1 -0 --1 --7 --16 --23 --29 --17 --11 --7 --7 --9 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --15 --21 --26 --14 --8 --4 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --3 --9 --15 --22 --25 --24 --9 --2 -3 -3 -1 --5 --13 --22 --27 --27 --12 --4 -1 -1 -0 --6 --14 --23 --27 --28 --12 --5 -0 -1 -0 --6 --14 --24 --28 --28 --13 --5 -0 -0 --1 --7 --14 --24 --28 --28 --13 --4 -0 -0 --4 --13 --20 --27 --16 --11 --8 --7 --9 --17 --23 --27 --15 --10 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --26 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --26 --14 --8 --4 --4 --3 --8 --15 --23 --26 --26 --10 --2 -2 -2 -1 --4 --13 --22 --26 --28 --12 --4 -0 -1 -0 --7 --14 --23 --27 --27 --12 --4 -0 -0 -0 --7 --14 --23 --29 --28 --13 --4 -0 -1 -0 --6 --15 --24 --28 --28 --13 --5 -0 -0 --3 --12 --20 --26 --16 --11 --7 --8 --10 --18 --24 --28 --16 --10 --5 --4 --6 --15 --21 --26 --15 --9 --5 --5 --7 --15 --21 --26 --14 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --26 --24 --11 --1 -3 -3 -1 --4 --14 --22 --27 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --27 --12 --3 -0 -1 --1 --6 --16 --23 --28 --27 --14 --4 --1 -1 --1 --6 --15 --23 --29 --28 --14 --3 -0 -0 --1 --6 --15 --23 --28 --17 --12 --8 --8 --10 --17 --22 --27 --15 --9 --5 --4 --7 --15 --21 --26 --14 --9 --5 --4 --8 --15 --21 --25 --14 --8 --4 --5 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --23 --9 --1 -3 -4 -1 --4 --14 --22 --28 --27 --13 --4 -0 -1 --1 --5 --14 --23 --28 --27 --14 --4 -0 -1 --1 --5 --15 --23 --28 --27 --14 --4 --1 -0 --2 --6 --16 --23 --28 --27 --14 --4 -0 -1 --1 --6 --16 --23 --29 --28 --14 --4 --1 -1 --2 --6 --15 --24 --29 --28 --14 --4 --1 -1 --1 --6 --15 --23 --28 --27 --14 --4 --1 -0 --2 --6 --16 --24 --29 --27 --14 --4 --1 -0 --2 --6 --15 --23 --28 --28 --14 --4 --1 -0 --1 --5 --16 --23 --29 --18 --12 --8 --8 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --15 --22 --26 --14 --9 --4 --4 --7 --14 --20 --25 --15 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --3 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --5 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --15 --9 --5 --4 --4 --8 --15 --23 --25 --24 --10 --1 -3 -2 -2 --5 --13 --22 --27 --27 --13 --4 -1 -1 -0 --6 --15 --23 --28 --28 --13 --4 -0 -0 -0 --6 --15 --23 --28 --29 --13 --5 -0 -0 --1 --6 --15 --24 --28 --29 --13 --4 -0 -0 --3 --12 --21 --27 --15 --11 --7 --7 --10 --17 --23 --27 --16 --9 --5 --6 --8 --15 --21 --26 --14 --9 --4 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --24 --10 --1 -2 -3 -1 --5 --14 --21 --27 --27 --12 --3 -0 -2 -0 --5 --15 --22 --28 --27 --13 --3 -0 -2 --1 --5 --15 --23 --28 --27 --14 --5 --1 -1 --1 --5 --15 --23 --29 --27 --13 --4 --1 -0 --2 --6 --16 --23 --29 --17 --12 --8 --8 --9 --17 --23 --27 --16 --9 --5 --5 --7 --14 --21 --26 --15 --8 --5 --5 --7 --15 --21 --25 --14 --9 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --13 --8 --4 --4 --7 --15 --21 --25 --24 --10 -0 -2 -4 -2 --4 --13 --21 --28 --27 --13 --3 -0 -1 --1 --6 --15 --22 --28 --27 --13 --3 -0 -1 --1 --6 --16 --23 --28 --28 --14 --4 --1 -1 --1 --6 --15 --23 --29 --28 --14 --4 --1 -0 --1 --7 --16 --23 --29 --18 --12 --8 --8 --10 --17 --23 --27 --15 --10 --5 --4 --7 --15 --21 --26 --15 --9 --5 --5 --7 --15 --22 --26 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --13 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --3 --3 --8 --15 --23 --25 --25 --10 --2 -3 -3 -2 --4 --13 --22 --27 --27 --13 --4 -0 -0 --1 --6 --14 --23 --27 --28 --13 --4 -1 -0 -0 --6 --15 --24 --28 --28 --13 --4 -0 -0 -0 --6 --15 --24 --28 --28 --13 --5 -0 -0 -0 --6 --15 --24 --28 --28 --13 --5 -0 -0 --1 --6 --15 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --6 --15 --24 --28 --29 --13 --5 --1 --1 --1 --7 --15 --24 --28 --29 --13 --5 -0 -0 --4 --13 --21 --27 --16 --11 --7 --7 --10 --17 --23 --28 --16 --9 --5 --5 --7 --15 --21 --26 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --26 --15 --8 --4 --4 --6 --14 --20 --26 --14 --8 --5 --4 --7 --15 --21 --25 --13 --8 --4 --3 --7 --14 --20 --26 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --14 --21 --25 --23 --10 -0 -3 -4 -1 --3 --14 --22 --28 --27 --13 --3 -0 -1 -0 --5 --15 --22 --28 --27 --14 --3 -0 -1 --1 --5 --15 --23 --28 --27 --13 --4 --1 -0 --2 --6 --16 --23 --29 --28 --14 --4 -0 -1 --1 --6 --16 --23 --28 --18 --12 --8 --7 --10 --17 --22 --27 --15 --9 --6 --5 --7 --15 --21 --26 --14 --9 --5 --4 --7 --15 --21 --26 --14 --8 --5 --5 --7 --15 --21 --26 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --23 --10 --1 -2 -3 -1 --4 --14 --22 --27 --27 --13 --3 -0 -2 --1 --5 --15 --23 --28 --27 --14 --3 -0 -1 --1 --5 --15 --23 --28 --27 --14 --4 --1 -0 --2 --6 --16 --23 --28 --27 --13 --3 -0 -0 --1 --6 --16 --23 --29 --18 --12 --8 --7 --10 --17 --23 --27 --15 --9 --6 --5 --7 --15 --21 --25 --14 --9 --5 --4 --8 --15 --21 --26 --15 --9 --5 --5 --7 --14 --20 --24 --14 --9 --5 --4 --7 --15 --21 --25 --15 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --4 --9 --15 --22 --25 --24 --9 --2 -3 -3 -2 --5 --13 --22 --27 --27 --12 --4 -1 -1 -0 --6 --14 --23 --27 --28 --13 --4 -0 -0 -0 --7 --14 --23 --27 --28 --13 --4 -0 -0 --1 --7 --15 --24 --29 --28 --13 --5 -0 -0 --1 --7 --14 --24 --28 --28 --13 --5 --1 -0 --1 --7 --15 --24 --29 --29 --13 --5 -0 -0 --1 --7 --15 --24 --28 --29 --13 --5 -0 -0 --1 --7 --14 --24 --27 --28 --13 --4 -0 -0 --1 --7 --15 --25 --29 --29 --13 --5 -0 -0 --4 --13 --20 --26 --16 --11 --8 --8 --10 --17 --23 --27 --16 --10 --5 --4 --7 --15 --21 --26 --15 --9 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --8 --15 --21 --26 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --4 --9 --15 --23 --25 --26 --10 --1 -3 -3 -2 --5 --13 --22 --27 --27 --12 --4 -1 -1 -0 --6 --14 --23 --28 --28 --13 --5 -0 -0 -0 --6 --14 --23 --28 --28 --13 --5 -0 -0 --1 --7 --14 --23 --28 --28 --13 --5 -0 -0 --4 --13 --21 --27 --17 --11 --7 --8 --10 --17 --24 --27 --16 --10 --5 --5 --7 --16 --21 --25 --15 --9 --5 --4 --7 --14 --21 --26 --14 --9 --5 --4 --7 --15 --21 --25 --13 --8 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --6 --14 --20 --25 --23 --10 --1 -2 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --13 --3 -0 -1 --1 --6 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --16 --23 --28 --17 --12 --8 --8 --10 --17 --22 --27 --16 --9 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --8 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --9 --5 --4 --8 --15 --21 --25 --15 --8 --4 --5 --7 --14 --21 --25 --14 --8 --5 --4 --6 --14 --20 --24 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --6 --15 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --13 --7 --5 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --4 --9 --15 --23 --26 --25 --10 --1 -3 -3 -2 --4 --12 --22 --26 --27 --13 --4 -1 -0 -0 --6 --14 --23 --27 --27 --13 --4 -0 -0 -0 --6 --15 --23 --27 --28 --12 --4 -0 -0 -0 --6 --15 --24 --28 --29 --13 --4 -0 -0 --3 --12 --20 --26 --16 --11 --7 --8 --10 --17 --23 --28 --16 --9 --5 --5 --7 --15 --22 --26 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --6 --7 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --3 --8 --15 --23 --25 --25 --9 --1 -3 -2 -2 --4 --13 --22 --27 --27 --13 --4 -1 -0 -0 --6 --14 --23 --27 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --4 --13 --21 --27 --16 --11 --8 --7 --10 --18 --23 --27 --16 --10 --5 --5 --7 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --14 --20 --26 --14 --8 --5 --4 --6 --14 --21 --25 --14 --9 --5 --4 --7 --14 --20 --25 --24 --10 --1 -2 -3 -1 --5 --14 --22 --28 --27 --13 --3 --1 -1 --1 --5 --15 --23 --29 --27 --13 --4 -0 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -0 --1 --6 --15 --23 --29 --27 --13 --4 --1 -1 --1 --6 --16 --23 --28 --17 --12 --8 --8 --10 --17 --23 --27 --15 --10 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --15 --22 --26 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --8 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --24 --10 --1 -2 -3 -1 --4 --14 --21 --27 --27 --13 --3 --1 -1 --1 --6 --16 --23 --28 --28 --13 --3 -0 -1 --1 --5 --16 --23 --28 --27 --13 --3 --1 -1 --1 --6 --15 --23 --28 --28 --14 --4 --1 -1 --1 --7 --16 --23 --28 --17 --12 --8 --8 --10 --17 --23 --27 --15 --10 --5 --4 --7 --15 --21 --26 --15 --9 --5 --5 --8 --15 --21 --26 --15 --8 --4 --4 --7 --14 --21 --25 --14 --9 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --9 --4 --4 --3 --8 --15 --22 --26 --25 --10 --2 -3 -3 -1 --5 --13 --22 --27 --27 --12 --5 -0 -1 --1 --7 --14 --24 --28 --28 --12 --4 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -0 -0 -0 --6 --14 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --27 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -1 -0 --1 --6 --15 --24 --28 --28 --14 --5 -0 -0 --1 --6 --15 --24 --28 --28 --13 --5 -0 --1 --1 --6 --15 --24 --28 --28 --13 --5 -0 -0 --4 --13 --21 --27 --17 --11 --8 --7 --9 --17 --23 --27 --16 --10 --5 --5 --8 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --26 --14 --9 --5 --4 --7 --15 --21 --26 --14 --8 --4 --4 --7 --15 --21 --25 --14 --9 --4 --4 --4 --9 --15 --23 --26 --25 --10 --2 -3 -3 -1 --4 --13 --22 --26 --27 --12 --4 -1 -1 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --14 --5 -0 -0 --4 --12 --20 --27 --16 --10 --8 --7 --9 --18 --23 --28 --16 --10 --5 --5 --8 --15 --21 --26 --14 --8 --4 --4 --7 --15 --21 --26 --15 --9 --5 --4 --6 --15 --21 --25 --15 --9 --5 --4 --7 --14 --20 --26 --14 --8 --4 --4 --7 --15 --21 --25 --24 --10 --1 -2 -3 -1 --4 --14 --22 --27 --27 --13 --3 -0 -1 --1 --6 --16 --23 --28 --27 --13 --3 --1 -1 --1 --5 --15 --23 --28 --27 --13 --3 --1 -1 --1 --6 --15 --22 --29 --28 --14 --4 --1 -0 --1 --6 --16 --23 --28 --18 --12 --8 --8 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --26 --15 --9 --5 --6 --8 --15 --21 --26 --14 --8 --5 --5 --7 --16 --21 --26 --15 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --5 --4 --6 --14 --20 --25 --14 --8 --4 --5 --7 --14 --21 --25 --13 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --4 --9 --15 --23 --25 --26 --10 --1 -3 -3 -2 --5 --13 --22 --27 --28 --12 --3 -0 -1 -0 --6 --14 --23 --27 --28 --13 --4 -0 -0 -0 --7 --15 --24 --28 --28 --13 --5 --1 -0 --1 --7 --15 --23 --29 --28 --13 --5 -0 -0 --3 --13 --20 --26 --17 --11 --7 --8 --10 --17 --23 --27 --16 --9 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --15 --9 --5 --5 --7 --14 --21 --25 --14 --8 --4 --3 --7 --15 --21 --25 --14 --8 --4 --4 --3 --8 --15 --22 --25 --25 --11 --2 -3 -2 -2 --5 --14 --22 --27 --27 --12 --4 -1 -0 -0 --6 --15 --23 --27 --28 --13 --4 -0 -1 -0 --6 --15 --24 --27 --29 --13 --4 --1 -0 --1 --7 --15 --23 --27 --29 --13 --4 --1 -0 --4 --13 --21 --27 --16 --11 --7 --7 --10 --17 --23 --28 --16 --10 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --8 --15 --21 --25 --15 --9 --5 --4 --6 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --15 --8 --4 --4 --7 --14 --20 --25 --24 --10 --1 -2 -3 -1 --4 --14 --21 --28 --27 --13 --3 -0 -1 --1 --6 --15 --22 --28 --27 --13 --4 -0 -1 --1 --6 --16 --23 --29 --28 --14 --5 --1 -1 --2 --6 --15 --23 --29 --28 --14 --5 --1 -1 --1 --6 --15 --23 --28 --27 --13 --4 --1 -0 --2 --6 --15 --24 --29 --27 --14 --4 --1 -1 --2 --6 --15 --24 --29 --28 --14 --5 --1 -0 --2 --6 --15 --23 --28 --27 --14 --5 --1 -0 --2 --6 --16 --23 --28 --27 --14 --4 --1 -0 --1 --6 --16 --24 --29 --18 --12 --8 --8 --10 --17 --23 --27 --16 --9 --6 --5 --7 --15 --21 --25 --14 --9 --5 --4 --7 --15 --21 --26 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --5 --4 --7 --15 --21 --25 --14 --9 --4 --4 --7 --14 --20 --26 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --26 --14 --8 --4 --4 --7 --14 --21 --25 --13 --9 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --3 --8 --15 --23 --26 --25 --10 --1 -3 -2 -2 --4 --13 --22 --27 --27 --13 --4 -0 -0 -0 --6 --15 --23 --27 --27 --12 --4 -0 -0 --1 --7 --16 --24 --28 --29 --13 --4 -0 --1 --1 --6 --15 --24 --28 --28 --13 --5 -0 -0 -0 --6 --14 --24 --28 --28 --13 --5 -0 --1 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --1 --7 --16 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --30 --14 --5 -0 -0 -0 --6 --15 --24 --28 --29 --13 --5 --1 --1 --3 --12 --20 --26 --16 --11 --7 --8 --10 --17 --23 --28 --17 --10 --5 --5 --7 --15 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --15 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --4 --9 --15 --23 --26 --25 --10 --2 -3 -2 -2 --4 --13 --22 --27 --27 --12 --4 -0 -0 --1 --6 --14 --23 --27 --27 --12 --4 -0 -0 --1 --6 --15 --24 --27 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --14 --5 -0 --1 --4 --12 --20 --26 --16 --11 --8 --7 --10 --18 --23 --27 --16 --10 --5 --5 --7 --14 --21 --26 --14 --8 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --6 --14 --21 --24 --13 --8 --4 --4 --7 --15 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --9 --5 --5 --7 --15 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --14 --21 --25 --14 --8 --5 --4 --6 --14 --20 --25 --24 --10 --1 -2 -3 -0 --4 --14 --22 --27 --27 --14 --4 --1 -1 --1 --5 --15 --23 --28 --27 --13 --3 -0 -1 --1 --6 --15 --23 --28 --28 --14 --4 --1 -0 --1 --6 --16 --23 --28 --27 --13 --4 --1 -0 --2 --6 --16 --23 --28 --28 --14 --4 --1 -1 --1 --6 --16 --23 --28 --28 --13 --3 --1 -1 --1 --6 --16 --23 --29 --29 --14 --4 --1 -0 --1 --6 --15 --22 --28 --28 --14 --4 --1 -0 --2 --7 --16 --23 --29 --28 --13 --4 --1 -1 --1 --7 --16 --23 --29 --18 --12 --8 --8 --9 --16 --23 --26 --15 --9 --5 --5 --8 --15 --21 --26 --14 --8 --5 --5 --7 --15 --21 --25 --15 --9 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --8 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --9 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --6 --15 --20 --25 --14 --8 --5 --4 --7 --15 --21 --26 --14 --8 --5 --4 --3 --8 --15 --23 --25 --25 --10 --1 -3 -3 -2 --5 --13 --22 --27 --27 --12 --4 -0 -0 -0 --6 --14 --23 --28 --28 --12 --4 -0 -0 -0 --7 --15 --24 --28 --28 --12 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --29 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --29 --29 --13 --5 -0 -0 --1 --7 --15 --23 --28 --28 --13 --6 --1 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --5 --13 --21 --27 --17 --11 --7 --8 --10 --17 --24 --28 --16 --10 --6 --5 --7 --15 --21 --25 --14 --8 --4 --5 --7 --15 --21 --26 --14 --8 --5 --4 --7 --15 --20 --25 --15 --8 --4 --4 --7 --15 --21 --26 --14 --8 --4 --4 --6 --15 --21 --25 --23 --10 --1 -2 -3 -1 --4 --14 --22 --27 --27 --13 --3 -0 -1 --1 --5 --16 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --15 --23 --29 --28 --14 --4 --1 -0 --1 --6 --16 --23 --28 --18 --12 --8 --8 --10 --17 --23 --27 --16 --9 --6 --5 --7 --15 --21 --25 --14 --9 --5 --5 --8 --15 --21 --26 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --24 --10 --1 -3 -4 -1 --4 --14 --22 --27 --27 --14 --4 -0 -1 --1 --5 --15 --22 --27 --26 --13 --3 -0 -0 --1 --6 --16 --24 --29 --27 --14 --4 --1 -0 --1 --6 --16 --23 --29 --27 --14 --4 --1 -0 --1 --5 --15 --23 --29 --18 --12 --8 --8 --10 --17 --23 --27 --15 --9 --4 --5 --7 --14 --21 --26 --14 --9 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --26 --14 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --4 --4 --3 --8 --15 --22 --25 --25 --10 --2 -3 -3 -2 --5 --13 --22 --26 --27 --12 --4 -0 -0 -0 --7 --14 --23 --27 --28 --12 --4 -0 -0 --1 --7 --14 --23 --28 --28 --13 --4 -0 -0 -0 --7 --14 --24 --28 --28 --13 --5 --1 -0 --4 --13 --20 --26 --16 --11 --8 --8 --10 --17 --24 --28 --16 --10 --5 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --15 --21 --26 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --4 --9 --16 --23 --25 --25 --10 --1 -3 -3 -2 --4 --14 --22 --27 --28 --13 --4 -0 -0 -0 --6 --15 --23 --27 --28 --13 --5 --1 -0 --1 --7 --15 --23 --27 --28 --12 --4 -0 -0 --1 --7 --16 --24 --28 --28 --13 --4 --1 -0 --4 --12 --21 --26 --16 --12 --8 --7 --10 --17 --23 --28 --16 --9 --5 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --15 --21 --25 --14 --9 --5 --4 --6 --14 --21 --25 --15 --8 --5 --4 --7 --14 --20 --25 --24 --10 --1 -2 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 -0 --5 --14 --22 --28 --27 --13 --4 --1 -1 --1 --6 --15 --23 --28 --27 --13 --4 --1 -1 --2 --6 --15 --23 --28 --27 --13 --4 --1 -1 --2 --6 --15 --24 --29 --18 --12 --8 --7 --9 --17 --22 --26 --16 --9 --5 --5 --7 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --4 --4 --7 --14 --20 --25 --24 --10 --1 -2 -3 -1 --5 --14 --21 --27 --26 --13 --4 --1 -1 --1 --6 --15 --23 --29 --27 --13 --3 -0 -2 --1 --5 --15 --23 --28 --28 --13 --4 --1 -0 --1 --6 --16 --23 --29 --27 --13 --4 --1 -1 --1 --7 --16 --23 --29 --17 --12 --8 --8 --10 --17 --23 --27 --15 --9 --5 --4 --8 --15 --21 --26 --15 --9 --5 --5 --7 --15 --22 --26 --14 --9 --5 --4 --7 --14 --20 --25 --14 --8 --5 --5 --7 --14 --21 --25 --13 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --3 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --15 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --4 --9 --15 --23 --25 --25 --9 --1 -3 -3 -2 --5 --13 --22 --27 --28 --12 --4 -0 -1 -0 --6 --14 --23 --27 --28 --13 --5 -0 -0 --1 --7 --14 --24 --28 --28 --12 --5 -0 -0 --1 --6 --15 --24 --28 --28 --13 --5 -0 -1 --4 --12 --20 --27 --16 --11 --8 --8 --10 --17 --24 --27 --16 --10 --5 --5 --7 --16 --21 --26 --15 --9 --5 --5 --7 --14 --21 --25 --14 --8 --5 --5 --7 --15 --21 --26 --15 --9 --5 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --26 --14 --8 --5 --4 --6 --14 --20 --24 --13 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --3 --7 --14 --21 --26 --14 --8 --5 --4 --6 --14 --21 --25 --13 --8 --4 --4 --7 --14 --21 --26 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --13 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --14 --20 --24 --14 --8 --4 --4 --4 --9 --15 --23 --25 --25 --10 --1 -3 -2 -2 --4 --13 --23 --27 --27 --13 --5 -0 -0 -0 --6 --15 --23 --27 --27 --13 --4 -0 --1 --1 --7 --15 --23 --27 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 --1 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 -0 --6 --15 --23 --27 --28 --13 --4 -0 -0 --1 --6 --15 --24 --28 --29 --13 --4 --1 -0 --1 --7 --15 --24 --28 --29 --13 --5 --1 -0 --1 --7 --15 --24 --28 --28 --13 --5 --1 -0 --1 --8 --15 --24 --28 --29 --13 --4 -0 -0 --1 --8 --15 --24 --28 --29 --13 --5 --1 -0 --1 --7 --14 --23 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 --1 -0 --4 --13 --20 --27 --17 --11 --7 --7 --10 --17 --24 --27 --16 --10 --6 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --3 --8 --15 --23 --25 --25 --10 --2 -2 -2 -2 --4 --13 --22 --27 --28 --12 --4 -0 -0 -0 --6 --15 --23 --27 --28 --12 --4 -0 -0 -0 --6 --15 --23 --27 --28 --12 --4 -0 -0 -0 --6 --15 --24 --28 --28 --13 --4 --1 --1 --4 --13 --20 --26 --16 --11 --8 --7 --10 --17 --24 --28 --16 --9 --6 --5 --7 --14 --21 --25 --14 --8 --5 --4 --8 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --24 --10 --1 -2 -3 -1 --4 --14 --22 --28 --27 --13 --4 --1 -1 --1 --5 --14 --22 --28 --27 --13 --4 -0 -1 --1 --6 --15 --23 --28 --27 --13 --4 --1 -1 --2 --6 --15 --24 --29 --28 --14 --4 --1 -1 --2 --6 --15 --23 --29 --18 --13 --8 --8 --10 --17 --23 --27 --16 --9 --5 --5 --7 --15 --21 --26 --15 --9 --6 --5 --7 --15 --21 --25 --14 --8 --4 --4 --8 --15 --21 --25 --14 --8 --5 --4 --7 --14 --20 --25 --14 --9 --4 --4 --7 --14 --20 --26 --24 --10 -0 -3 -4 -2 --4 --14 --21 --28 --27 --13 --4 -0 -1 --1 --5 --15 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --27 --13 --3 --1 -0 --2 --7 --15 --23 --29 --28 --13 --3 --1 -1 --1 --6 --16 --23 --29 --18 --12 --9 --8 --10 --17 --22 --26 --15 --9 --5 --4 --8 --15 --21 --26 --15 --9 --5 --4 --7 --15 --22 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --5 --4 --6 --15 --21 --24 --14 --8 --4 --4 --4 --8 --16 --23 --25 --25 --10 --1 -3 -3 -2 --4 --13 --22 --26 --27 --13 --4 -1 -0 -0 --6 --15 --23 --27 --28 --13 --5 -0 -0 -0 --6 --15 --23 --27 --28 --12 --4 -0 -0 -0 --6 --15 --24 --28 --28 --13 --5 --1 -0 --3 --13 --20 --27 --16 --11 --8 --8 --10 --18 --23 --27 --16 --9 --5 --5 --7 --15 --21 --26 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --9 --5 --4 --4 --9 --15 --23 --25 --25 --10 --2 -3 -3 -1 --5 --13 --23 --27 --27 --12 --4 -0 -1 -0 --6 --14 --24 --27 --28 --13 --5 -0 -1 -0 --6 --14 --23 --27 --28 --13 --5 -0 --1 --1 --7 --15 --24 --27 --28 --13 --4 -0 -0 --3 --13 --21 --26 --16 --11 --8 --8 --10 --17 --23 --27 --16 --9 --5 --5 --7 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --26 --14 --9 --5 --4 --6 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --26 --14 --8 --4 --4 --6 --14 --20 --25 --24 --10 --1 -2 -3 -1 --4 --14 --21 --27 --26 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --13 --3 -0 -1 -0 --5 --16 --23 --28 --27 --13 --4 -0 -0 --1 --6 --15 --22 --28 --28 --14 --4 --1 -0 --1 --6 --16 --23 --28 --17 --11 --8 --8 --10 --17 --23 --27 --15 --9 --6 --5 --7 --15 --21 --25 --15 --8 --5 --5 --7 --15 --21 --26 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --5 --4 --6 --14 --20 --25 --23 --10 --1 -2 -3 -1 --4 --14 --22 --27 --26 --13 --3 -0 -0 --1 --5 --15 --22 --28 --27 --13 --3 -0 -1 --1 --5 --16 --23 --28 --27 --13 --4 --1 -0 --1 --5 --15 --23 --28 --28 --14 --4 --1 -1 --1 --6 --16 --22 --28 --28 --13 --4 --1 -0 --1 --6 --16 --23 --28 --28 --13 --4 --1 -1 --1 --6 --16 --23 --29 --28 --14 --4 --1 -0 --1 --6 --16 --23 --28 --28 --14 --5 --2 -0 --1 --7 --16 --23 --28 --27 --13 --4 --1 -1 --2 --7 --16 --23 --29 --18 --12 --8 --8 --9 --17 --23 --26 --15 --9 --5 --5 --8 --15 --21 --26 --14 --8 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --13 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --25 --14 --9 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --15 --20 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --3 --9 --15 --22 --25 --25 --9 --1 -3 -3 -2 --4 --13 --22 --27 --27 --12 --4 -0 -1 -0 --7 --14 --23 --27 --27 --12 --5 -0 -0 -0 --7 --14 --23 --28 --28 --12 --4 -0 -0 --1 --7 --15 --24 --29 --28 --13 --5 -0 -0 --3 --12 --20 --26 --16 --11 --8 --7 --10 --18 --23 --27 --15 --9 --5 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --3 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --23 --11 --1 -3 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --15 --23 --28 --27 --13 --3 -0 -0 --1 --6 --16 --23 --28 --27 --13 --4 -0 -1 --1 --5 --16 --23 --28 --18 --12 --8 --7 --10 --17 --22 --27 --15 --9 --6 --5 --7 --16 --22 --26 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --23 --10 --1 -2 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -2 --1 --5 --15 --23 --28 --27 --14 --4 -0 -1 --1 --5 --15 --23 --28 --27 --14 --4 --1 -0 --2 --6 --15 --23 --28 --27 --13 --4 --1 -0 --2 --6 --15 --23 --28 --18 --12 --8 --7 --9 --17 --22 --27 --16 --9 --5 --5 --7 --15 --22 --26 --14 --9 --5 --4 --7 --16 --21 --25 --15 --9 --5 --5 --7 --14 --20 --24 --13 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --4 --8 --15 --22 --25 --24 --10 --1 -3 -2 -1 --4 --14 --23 --27 --27 --12 --4 -1 -1 -0 --6 --14 --23 --27 --28 --13 --4 -0 -0 -0 --6 --15 --24 --28 --28 --13 --5 --1 --1 --1 --7 --15 --23 --27 --28 --13 --4 -0 -0 -0 --7 --15 --24 --28 --28 --12 --4 -0 -0 -0 --7 --14 --23 --28 --28 --13 --5 --1 -0 --1 --7 --15 --23 --28 --28 --13 --5 --1 -0 --1 --7 --15 --24 --28 --28 --12 --5 -0 -0 --1 --7 --15 --24 --29 --28 --13 --5 -0 -1 --3 --12 --20 --26 --16 --10 --7 --8 --10 --17 --23 --27 --16 --10 --5 --4 --7 --15 --21 --26 --14 --8 --5 --5 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --25 --14 --9 --4 --4 --7 --14 --20 --25 --14 --8 --5 --5 --7 --15 --21 --25 --14 --8 --4 --3 --6 --14 --21 --25 --14 --8 --4 --5 --7 --14 --20 --25 --13 --8 --4 --4 --7 --15 --21 --25 --15 --9 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --26 --24 --10 -0 -2 -4 -1 --4 --13 --21 --27 --26 --12 --4 -0 -1 --1 --5 --15 --22 --28 --27 --13 --4 -0 -1 --1 --6 --16 --23 --28 --27 --14 --5 --1 -1 --2 --6 --15 --23 --28 --27 --14 --4 --1 -1 --1 --6 --15 --22 --28 --17 --12 --8 --8 --10 --17 --23 --27 --15 --10 --5 --4 --8 --15 --21 --26 --14 --8 --5 --5 --7 --15 --21 --25 --13 --9 --4 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --15 --21 --25 --24 --10 -0 -2 -4 -1 --4 --14 --21 --27 --27 --13 --3 --1 -1 -0 --5 --14 --22 --28 --27 --13 --3 --1 -1 --1 --7 --16 --23 --28 --27 --13 --3 --1 -1 --1 --7 --16 --23 --29 --28 --14 --4 -0 -1 --1 --6 --15 --23 --28 --17 --12 --9 --8 --10 --17 --23 --27 --15 --9 --5 --4 --7 --14 --21 --26 --15 --8 --5 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --13 --8 --4 --3 --7 --14 --21 --26 --14 --9 --5 --5 --7 --14 --21 --25 --13 --8 --4 --4 --4 --9 --15 --23 --26 --25 --10 --2 -3 -3 -2 --4 --13 --22 --27 --28 --13 --4 -0 -0 --1 --6 --14 --23 --27 --27 --13 --4 -0 -0 -0 --6 --14 --24 --27 --28 --13 --4 -1 -0 -0 --6 --15 --24 --28 --28 --13 --4 -0 -0 --1 --6 --14 --24 --27 --28 --13 --5 -0 -0 -0 --6 --15 --23 --27 --28 --13 --4 -0 -0 --1 --7 --16 --24 --28 --28 --13 --4 -0 -0 -0 --6 --15 --24 --28 --29 --13 --5 --1 --1 --1 --7 --15 --24 --28 --28 --13 --5 --1 --1 --4 --13 --21 --27 --16 --11 --8 --7 --10 --18 --23 --27 --17 --10 --5 --5 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --5 --4 --6 --14 --21 --25 --13 --8 --4 --4 --4 --8 --15 --23 --26 --25 --10 --1 -3 -3 -1 --4 --13 --22 --26 --27 --12 --4 -0 -0 --1 --7 --14 --23 --27 --27 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -1 -0 -0 --6 --14 --23 --27 --28 --13 --4 -0 -0 --3 --12 --21 --26 --16 --11 --8 --8 --10 --18 --23 --27 --16 --9 --5 --5 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --5 --5 --7 --15 --21 --25 --14 --8 --5 --5 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --20 --25 --24 --10 -0 -3 -4 -1 --4 --14 --22 --28 --27 --13 --3 --1 -1 -0 --5 --14 --22 --27 --27 --13 --3 --1 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -1 --1 --6 --16 --23 --28 --27 --13 --4 --1 -1 --1 --6 --15 --23 --29 --18 --12 --8 --7 --9 --17 --23 --26 --15 --9 --5 --4 --8 --15 --21 --26 --14 --8 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --7 --14 --20 --24 --14 --8 --4 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --13 --8 --4 --4 --7 --14 --20 --24 --14 --8 --4 --4 --6 --14 --20 --25 --13 --8 --5 --4 --3 --8 --15 --22 --25 --25 --10 --2 -2 -3 -2 --5 --13 --22 --26 --27 --12 --4 -0 -0 -0 --6 --14 --23 --28 --28 --12 --4 -0 -1 -0 --7 --14 --23 --28 --28 --13 --5 -0 -0 -0 --6 --14 --23 --28 --28 --13 --5 -0 -0 --4 --13 --20 --26 --16 --10 --7 --8 --10 --17 --23 --27 --16 --10 --6 --5 --7 --15 --20 --25 --14 --8 --5 --4 --7 --15 --21 --26 --14 --8 --4 --4 --6 --14 --21 --25 --13 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --3 --8 --16 --23 --25 --25 --10 --1 -3 -3 -2 --4 --13 --22 --27 --28 --12 --4 -0 -0 --1 --6 --15 --23 --27 --28 --13 --4 -0 -0 -0 --7 --15 --23 --27 --28 --13 --4 -0 -0 -0 --6 --15 --23 --28 --29 --13 --5 -0 -0 --3 --13 --20 --26 --16 --10 --7 --7 --10 --17 --23 --28 --16 --9 --6 --5 --7 --15 --21 --25 --14 --9 --5 --4 --7 --14 --21 --26 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --24 --10 --1 -2 -4 -1 --4 --13 --22 --28 --26 --13 --4 -0 -1 --1 --5 --15 --22 --28 --27 --13 --4 -0 -1 --1 --6 --15 --23 --28 --27 --13 --4 --1 -1 --2 --6 --15 --23 --28 --27 --14 --4 -0 -1 --1 --5 --15 --23 --28 --17 --13 --8 --8 --10 --17 --22 --26 --15 --8 --5 --5 --7 --14 --21 --26 --15 --9 --5 --5 --7 --15 --21 --25 --15 --8 --5 --4 --7 --15 --21 --26 --14 --8 --4 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --23 --9 --1 -2 -4 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --27 --13 --4 --1 -0 --1 --6 --15 --23 --29 --27 --13 --4 --1 -1 --1 --6 --16 --23 --29 --17 --12 --8 --7 --9 --17 --23 --27 --15 --9 --5 --5 --8 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --9 --5 --4 --8 --15 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --5 --4 --8 --15 --22 --25 --25 --10 --1 -3 -3 -2 --4 --14 --22 --27 --27 --12 --4 -1 -1 -0 --6 --14 --23 --27 --28 --13 --4 -0 -0 -0 --6 --15 --23 --27 --28 --13 --4 --1 -0 --1 --7 --15 --23 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 -0 --6 --15 --24 --28 --29 --13 --5 -0 -0 --1 --6 --15 --23 --27 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --29 --13 --4 -0 -0 -0 --7 --15 --23 --28 --28 --13 --4 --1 -0 --3 --13 --20 --26 --16 --11 --8 --8 --10 --17 --24 --28 --16 --9 --5 --5 --7 --15 --21 --26 --14 --9 --5 --4 --8 --15 --21 --24 --14 --8 --4 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --4 --8 --16 --23 --25 --25 --9 --1 -3 -3 -2 --4 --13 --22 --27 --28 --12 --4 -1 -1 -0 --5 --14 --23 --27 --28 --13 --4 -0 --1 --1 --6 --14 --23 --27 --28 --13 --4 -0 -0 -0 --6 --15 --24 --28 --28 --13 --4 -1 -0 --3 --12 --21 --26 --16 --12 --8 --7 --10 --17 --23 --27 --16 --9 --5 --5 --7 --15 --21 --26 --14 --8 --4 --4 --7 --15 --21 --25 --15 --8 --4 --5 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --5 --4 --7 --14 --20 --25 --23 --9 -0 -3 -4 -1 --4 --14 --21 --27 --26 --12 --4 -0 -1 -0 --5 --15 --22 --28 --27 --13 --4 -0 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -0 --2 --6 --16 --24 --29 --28 --14 --4 --1 -0 --1 --6 --15 --23 --28 --17 --12 --8 --8 --9 --16 --22 --26 --15 --9 --5 --4 --8 --15 --20 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --15 --21 --25 --13 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --7 --5 --4 --6 --14 --21 --25 --14 --8 --4 --3 --6 --14 --20 --25 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --3 --4 --8 --15 --23 --25 --25 --10 --2 -3 -3 -2 --4 --12 --23 --27 --27 --12 --4 -1 -1 -0 --6 --14 --23 --27 --27 --12 --4 -0 -1 -0 --7 --15 --24 --28 --28 --13 --5 -0 -1 --1 --6 --14 --23 --27 --28 --13 --5 -0 -0 --4 --12 --20 --27 --16 --10 --7 --8 --10 --18 --24 --28 --16 --10 --5 --4 --7 --14 --21 --25 --14 --8 --5 --5 --7 --15 --21 --25 --14 --9 --5 --4 --7 --14 --21 --25 --15 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --4 --10 --16 --23 --26 --25 --9 --1 -3 -3 -2 --5 --13 --22 --27 --28 --12 --4 -0 -1 -0 --6 --14 --23 --27 --28 --12 --5 -0 -0 --1 --6 --14 --23 --27 --27 --12 --4 -0 -1 --1 --6 --14 --24 --28 --28 --13 --4 -0 -0 --3 --12 --20 --26 --17 --11 --7 --7 --9 --17 --22 --27 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --26 --14 --8 --4 --4 --6 --14 --20 --25 --23 --10 -0 -3 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --14 --4 --1 -0 --1 --5 --15 --23 --28 --27 --14 --4 --1 -1 --1 --6 --16 --23 --28 --27 --13 --3 -0 -1 --1 --6 --16 --23 --29 --28 --14 --4 --1 -1 --1 --6 --15 --23 --28 --28 --14 --3 --1 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -0 --1 --6 --16 --23 --28 --27 --13 --3 -0 -0 --1 --6 --16 --23 --28 --28 --13 --4 --1 -1 --1 --6 --16 --23 --28 --18 --12 --8 --8 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --26 --15 --9 --5 --4 --7 --14 --20 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --6 --15 --20 --24 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --4 --8 --15 --22 --25 --25 --9 --1 -3 -2 -2 --4 --13 --22 --26 --28 --12 --3 -1 -1 -0 --6 --14 --23 --27 --28 --12 --4 -0 -1 -0 --6 --14 --23 --27 --28 --13 --4 --1 -0 -0 --7 --15 --23 --27 --28 --13 --4 -0 -0 -0 --7 --15 --24 --28 --28 --13 --4 -0 -0 -0 --7 --15 --24 --28 --29 --13 --4 -0 -0 -0 --7 --14 --23 --28 --28 --13 --5 --1 --1 --1 --7 --15 --24 --28 --28 --12 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -1 -1 --3 --12 --20 --27 --16 --11 --8 --8 --10 --17 --23 --27 --15 --10 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --26 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --4 --8 --15 --22 --25 --25 --10 --1 -3 -3 -2 --5 --14 --22 --26 --27 --12 --3 -0 -1 -0 --6 --14 --23 --27 --28 --13 --4 -0 -1 -0 --7 --15 --23 --28 --28 --12 --4 -0 -0 -0 --6 --15 --23 --27 --28 --13 --4 -0 -0 --3 --13 --21 --26 --17 --11 --7 --7 --10 --17 --23 --28 --16 --9 --6 --5 --7 --15 --21 --26 --14 --8 --4 --4 --8 --15 --21 --26 --15 --8 --5 --4 --6 --14 --20 --24 --13 --8 --4 --4 --7 --14 --21 --26 --14 --8 --4 --3 --6 --14 --20 --25 --14 --8 --5 --5 --7 --14 --21 --25 --13 --8 --4 --3 --6 --14 --20 --26 --14 --8 --4 --4 --7 --14 --21 --25 --13 --8 --4 --3 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --13 --8 --4 --4 --7 --14 --20 --25 --24 --10 -0 -2 -4 -2 --4 --14 --22 --28 --27 --13 --3 --1 -1 -0 --5 --15 --22 --28 --27 --13 --3 --1 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -1 --2 --7 --16 --23 --29 --28 --13 --4 --1 -1 --1 --6 --15 --23 --29 --28 --13 --4 --1 -1 --1 --5 --15 --23 --28 --28 --13 --4 --1 -1 --2 --6 --15 --23 --28 --27 --13 --4 --1 -1 --1 --6 --16 --23 --29 --28 --13 --4 --1 -1 --1 --6 --16 --23 --29 --28 --13 --5 --1 -1 --1 --5 --15 --23 --29 --17 --12 --9 --8 --10 --18 --23 --27 --15 --8 --5 --4 --7 --14 --21 --26 --14 --8 --5 --5 --7 --14 --21 --25 --13 --8 --4 --4 --7 --14 --20 --26 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --3 --6 --14 --20 --24 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --5 --4 --6 --14 --20 --24 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --3 --6 --15 --21 --25 --14 --8 --5 --4 --4 --9 --16 --23 --26 --25 --10 --2 -3 -3 -2 --5 --13 --22 --27 --27 --11 --4 -1 -1 -0 --6 --14 --23 --27 --28 --13 --4 -0 -1 --1 --6 --14 --23 --27 --27 --12 --4 -0 -0 --1 --7 --14 --24 --28 --28 --12 --4 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -0 -0 -0 --6 --14 --24 --28 --28 --13 --5 -0 -0 --1 --7 --14 --24 --27 --27 --13 --5 -0 --1 --1 --7 --15 --24 --27 --28 --13 --4 -1 -0 -0 --6 --15 --24 --28 --28 --13 --4 -1 -0 --3 --12 --21 --26 --16 --12 --8 --8 --10 --18 --23 --27 --16 --9 --5 --5 --7 --14 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --15 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --3 --6 --14 --20 --25 --23 --9 -0 -2 -3 -1 --4 --14 --21 --27 --27 --12 --3 -0 -2 -0 --5 --15 --22 --28 --27 --13 --3 -0 -1 --1 --6 --15 --22 --29 --27 --13 --4 --1 -0 --2 --7 --16 --23 --29 --28 --13 --3 --1 -1 --1 --6 --15 --23 --29 --18 --12 --8 --8 --9 --17 --22 --26 --15 --9 --5 --4 --7 --15 --21 --26 --15 --9 --5 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --24 --13 --8 --4 --4 --6 --14 --21 --25 --14 --9 --5 --4 --6 --14 --20 --24 --23 --9 --1 -2 -3 -1 --4 --14 --22 --27 --27 --13 --3 -0 -1 --1 --5 --16 --23 --28 --27 --13 --3 -0 -1 -0 --5 --15 --22 --28 --28 --14 --4 -0 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -0 --1 --6 --16 --23 --28 --18 --12 --8 --8 --9 --16 --23 --27 --15 --9 --5 --5 --7 --15 --21 --25 --15 --9 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --6 --14 --20 --24 --13 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --14 --21 --25 --14 --9 --4 --4 --4 --8 --15 --23 --25 --25 --9 --2 -3 -3 -1 --4 --13 --22 --26 --27 --12 --4 -1 -1 -0 --6 --14 --23 --28 --28 --13 --5 -0 -1 -0 --6 --14 --23 --28 --28 --13 --5 -0 -0 --1 --6 --14 --23 --27 --28 --12 --4 -0 -0 --4 --13 --20 --27 --17 --11 --8 --7 --10 --17 --23 --27 --15 --9 --5 --4 --8 --15 --21 --26 --14 --8 --4 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --3 --8 --15 --22 --26 --25 --10 --2 -2 -3 -2 --5 --13 --22 --27 --27 --12 --4 -0 -0 -0 --6 --14 --23 --28 --28 --12 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -0 --1 --4 --13 --20 --26 --17 --11 --7 --7 --10 --17 --23 --27 --15 --9 --5 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --6 --14 --21 --25 --13 --8 --4 --4 --7 --14 --20 --26 --14 --8 --4 --4 --7 --14 --21 --25 --23 --10 --1 -3 -3 -1 --3 --14 --22 --27 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --26 --13 --3 -0 -1 --1 --5 --16 --22 --28 --27 --13 --3 -0 -1 --1 --6 --16 --23 --28 --28 --14 --4 -0 -1 --1 --5 --15 --23 --28 --18 --12 --8 --8 --10 --17 --22 --26 --15 --8 --5 --4 --7 --15 --21 --26 --15 --9 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --5 --7 --15 --21 --25 --24 --10 -0 -3 -4 -1 --4 --14 --22 --28 --27 --13 --4 -0 -1 --1 --5 --14 --23 --28 --27 --13 --4 -0 -1 --1 --6 --15 --23 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --14 --3 -0 -1 --1 --5 --15 --23 --28 --17 --12 --8 --7 --10 --17 --22 --26 --15 --9 --5 --5 --7 --15 --22 --26 --14 --9 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --4 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --13 --8 --4 --3 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --4 --4 --6 --15 --21 --25 --14 --8 --4 --4 --3 --8 --15 --23 --25 --25 --10 --2 -3 -2 -1 --4 --13 --22 --26 --27 --13 --4 -1 -1 -0 --6 --14 --24 --27 --28 --13 --4 -1 -0 -0 --6 --14 --24 --27 --28 --13 --4 -0 -0 -0 --6 --15 --24 --27 --28 --13 --4 -0 -0 --3 --12 --20 --26 --15 --11 --7 --7 --10 --17 --23 --27 --16 --10 --5 --5 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --5 --4 --6 --15 --20 --25 --14 --8 --4 --4 --7 --15 --21 --26 --14 --8 --4 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --14 --21 --25 --13 --8 --4 --3 --6 --14 --20 --24 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --13 --7 --4 --3 --6 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --13 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --3 --7 --14 --20 --25 --14 --8 --5 --4 --6 --15 --21 --25 --13 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --3 --8 --15 --23 --25 --25 --10 --2 -3 -3 -2 --4 --13 --22 --26 --27 --12 --3 -1 -1 -0 --6 --15 --23 --27 --28 --12 --4 -0 -1 -0 --7 --14 --23 --27 --28 --13 --4 --1 -0 -0 --7 --14 --23 --28 --28 --13 --4 -0 -0 -0 --7 --14 --24 --28 --28 --12 --5 -0 -0 --1 --7 --15 --24 --29 --28 --13 --4 -1 -1 -0 --7 --15 --23 --28 --29 --13 --6 --1 -0 --1 --7 --15 --23 --28 --28 --13 --5 -0 -1 --1 --7 --15 --23 --28 --28 --12 --5 -0 -0 --1 --7 --15 --25 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --14 --5 -0 -0 -0 --6 --14 --24 --27 --28 --13 --5 --1 -0 --2 --7 --15 --24 --28 --28 --13 --5 -0 -1 --1 --6 --15 --24 --29 --28 --13 --5 -0 -0 --3 --12 --20 --27 --16 --11 --8 --8 --10 --18 --24 --27 --15 --10 --5 --4 --7 --15 --21 --26 --15 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --13 --8 --4 --4 --4 --9 --15 --22 --26 --25 --9 --2 -3 -3 -2 --5 --13 --22 --27 --27 --12 --5 -0 -1 -0 --6 --14 --23 --28 --28 --13 --5 -0 -0 --1 --7 --14 --23 --27 --28 --12 --4 -0 -0 --1 --6 --14 --24 --28 --28 --12 --4 -0 -0 --3 --12 --20 --27 --17 --11 --7 --8 --10 --17 --23 --28 --16 --9 --6 --5 --7 --16 --22 --26 --15 --9 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --6 --14 --20 --24 --23 --10 --1 -3 -3 -1 --4 --14 --22 --27 --26 --13 --3 -0 -1 --1 --6 --15 --23 --28 --27 --14 --3 -0 -1 --1 --5 --16 --23 --28 --27 --14 --4 --1 -0 --1 --6 --15 --23 --28 --28 --13 --3 --1 -1 --1 --6 --16 --23 --28 --17 --11 --7 --8 --9 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --25 --15 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --24 --10 --1 -2 -3 -1 --4 --14 --22 --28 --26 --13 --3 -0 -1 --1 --5 --14 --23 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --29 --27 --14 --4 --1 -0 --1 --5 --15 --23 --28 --27 --14 --4 --1 -1 --1 --5 --15 --23 --28 --17 --12 --8 --8 --10 --17 --23 --27 --16 --9 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --26 --14 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --3 --8 --15 --22 --25 --25 --10 --2 -3 -2 -2 --4 --14 --22 --26 --27 --12 --3 -0 -1 -0 --6 --14 --23 --27 --28 --12 --4 -0 -1 -0 --6 --14 --23 --27 --28 --13 --4 --1 -0 -0 --7 --14 --23 --28 --28 --13 --4 -0 -0 --3 --13 --20 --26 --16 --11 --7 --8 --10 --17 --23 --28 --16 --10 --6 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --15 --21 --26 --14 --8 --4 --3 --6 --14 --21 --25 --14 --9 --4 --4 --8 --15 --21 --25 --14 --8 --4 --4 --3 --8 --15 --23 --25 --26 --10 --2 -3 -3 -2 --4 --13 --22 --26 --27 --12 --4 -0 -0 -0 --6 --14 --23 --27 --27 --12 --4 -0 -0 -0 --6 --15 --23 --27 --28 --13 --4 -1 -0 -0 --6 --15 --24 --28 --29 --13 --5 -0 -0 --4 --12 --21 --26 --16 --11 --8 --7 --11 --18 --23 --28 --16 --9 --5 --5 --7 --15 --21 --26 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --23 --10 --1 -3 -4 -1 --4 --13 --21 --28 --27 --13 --3 -0 -2 --1 --5 --15 --22 --28 --27 --13 --4 --1 -1 --1 --6 --15 --23 --28 --27 --13 --4 -0 -1 --1 --5 --15 --23 --28 --27 --14 --4 --1 -1 --1 --6 --16 --23 --29 --18 --12 --9 --8 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --26 --14 --8 --5 --5 --7 --14 --21 --25 --14 --9 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --13 --8 --4 --4 --7 --14 --20 --25 --24 --9 -0 -2 -3 -1 --4 --14 --21 --28 --27 --13 --3 -1 -2 -0 --6 --15 --22 --29 --28 --13 --3 --1 -1 --1 --6 --15 --22 --29 --27 --13 --4 --1 -0 --1 --6 --15 --23 --29 --27 --13 --4 --1 -1 --1 --6 --16 --23 --29 --28 --13 --4 --1 -1 --1 --6 --15 --23 --29 --28 --14 --4 --1 -1 --2 --6 --15 --23 --28 --28 --13 --4 --1 -1 --2 --6 --16 --23 --29 --27 --13 --5 --1 -0 --2 --7 --16 --23 --29 --28 --14 --4 --1 -1 --2 --6 --15 --23 --28 --18 --12 --9 --8 --10 --17 --23 --26 --15 --9 --5 --4 --7 --15 --21 --26 --14 --8 --5 --4 --6 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --5 --4 --6 --14 --21 --25 --14 --9 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --24 --13 --7 --4 --4 --7 --14 --21 --26 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --5 --5 --7 --14 --21 --25 --14 --7 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --3 --8 --15 --22 --25 --24 --9 --2 -3 -3 -2 --5 --13 --22 --27 --27 --12 --4 -0 -1 --1 --7 --15 --24 --27 --28 --12 --5 -0 -1 --1 --6 --14 --24 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --27 --28 --13 --4 -0 -0 --4 --12 --20 --27 --16 --11 --7 --7 --9 --18 --23 --27 --16 --9 --5 --4 --7 --15 --21 --26 --14 --8 --5 --5 --7 --15 --22 --26 --14 --9 --5 --4 --7 --15 --20 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --24 --10 --1 -2 -3 -1 --4 --13 --21 --27 --27 --13 --3 -0 -1 -0 --6 --15 --23 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --28 --14 --3 --1 -1 --1 --5 --15 --22 --28 --27 --13 --4 --1 -1 --1 --6 --15 --22 --28 --18 --12 --8 --8 --10 --17 --24 --27 --16 --10 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --15 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --15 --9 --4 --4 --6 --14 --20 --25 --13 --8 --4 --4 --7 --14 --21 --25 --24 --10 -0 -3 -3 -1 --4 --14 --22 --27 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --28 --13 --3 -0 -1 --1 --5 --15 --23 --28 --28 --13 --3 --1 -1 --1 --6 --16 --23 --29 --28 --14 --4 --1 -1 --1 --6 --16 --23 --29 --18 --12 --9 --8 --10 --17 --23 --27 --15 --8 --5 --4 --7 --14 --22 --26 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --3 --3 --9 --15 --23 --26 --25 --10 --2 -3 -3 -2 --4 --13 --22 --27 --28 --12 --5 -0 -0 -0 --6 --14 --23 --28 --28 --12 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -1 --1 --6 --15 --24 --28 --28 --13 --4 -1 -1 -0 --6 --14 --24 --27 --28 --13 --5 -0 -0 --1 --6 --15 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --6 --15 --24 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -0 -0 --4 --13 --20 --27 --16 --11 --8 --7 --10 --17 --23 --27 --16 --10 --6 --5 --8 --15 --21 --26 --14 --8 --5 --4 --7 --15 --22 --26 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --5 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --7 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --25 --13 --8 --4 --3 --6 --14 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --23 --10 --1 -2 -4 -1 --4 --14 --22 --28 --27 --13 --4 -0 -2 --1 --5 --14 --23 --28 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --27 --14 --4 --1 -0 --2 --6 --15 --23 --29 --27 --13 --4 -0 -0 --1 --6 --16 --23 --28 --18 --12 --8 --7 --10 --17 --23 --28 --16 --9 --5 --5 --7 --15 --22 --26 --14 --8 --4 --4 --7 --14 --20 --25 --15 --9 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --6 --15 --21 --25 --15 --8 --4 --4 --6 --14 --20 --25 --23 --10 --1 -2 -3 -1 --4 --13 --22 --27 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --29 --27 --13 --5 --1 -1 --1 --6 --15 --23 --29 --27 --13 --4 -0 -1 --2 --6 --16 --23 --28 --17 --12 --8 --8 --9 --17 --23 --27 --16 --9 --5 --5 --7 --14 --21 --26 --14 --8 --5 --5 --7 --16 --21 --26 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --25 --13 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --3 --8 --15 --22 --25 --25 --10 --2 -3 -2 -2 --4 --13 --22 --26 --27 --12 --3 -0 -0 -0 --6 --15 --24 --28 --28 --13 --4 -0 -1 -0 --6 --14 --23 --28 --28 --13 --5 --1 -0 --1 --7 --14 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --29 --13 --4 -0 -0 --1 --6 --15 --24 --28 --29 --13 --4 --1 -0 -0 --7 --15 --24 --28 --29 --13 --5 --1 -0 -0 --7 --15 --23 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --29 --28 --13 --4 -0 -0 --3 --13 --20 --26 --17 --11 --8 --8 --10 --18 --24 --28 --16 --10 --6 --5 --8 --16 --22 --26 --14 --9 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --4 --5 --4 --8 --16 --22 --25 --25 --9 --1 -2 -2 -1 --5 --14 --22 --27 --28 --12 --4 -0 -1 -0 --6 --15 --23 --28 --28 --12 --4 -0 -0 -0 --6 --15 --23 --27 --28 --13 --5 -0 --1 -0 --6 --14 --23 --28 --29 --13 --4 -0 -0 --3 --12 --21 --26 --16 --11 --7 --7 --11 --18 --23 --28 --16 --10 --6 --5 --7 --15 --21 --25 --14 --9 --5 --4 --7 --15 --21 --26 --15 --8 --4 --5 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --24 --10 --1 -2 -3 -0 --4 --14 --22 --28 --26 --13 --4 -0 -1 --1 --5 --15 --23 --28 --27 --13 --3 -0 -2 --1 --6 --15 --23 --28 --27 --14 --4 --1 -1 --1 --5 --15 --23 --29 --28 --14 --4 --1 -0 --2 --6 --16 --23 --29 --18 --12 --8 --7 --10 --18 --23 --27 --15 --9 --5 --4 --7 --15 --21 --26 --14 --9 --6 --5 --8 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --3 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --6 --14 --20 --25 --14 --8 --4 --4 --4 --9 --15 --23 --26 --25 --10 --1 -3 -3 -2 --4 --13 --23 --27 --28 --13 --4 -1 -1 -0 --6 --14 --23 --27 --28 --12 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -0 -1 --3 --12 --20 --27 --16 --11 --9 --8 --10 --18 --24 --28 --16 --10 --5 --5 --8 --15 --21 --26 --15 --8 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --8 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --13 --8 --4 --4 --3 --9 --15 --22 --25 --25 --10 --2 -3 -2 -2 --5 --13 --22 --27 --27 --12 --4 -1 -1 --1 --6 --14 --24 --28 --28 --12 --5 -0 -1 -0 --6 --14 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --3 --12 --20 --26 --17 --11 --7 --8 --10 --17 --23 --27 --16 --10 --6 --5 --7 --16 --21 --25 --15 --8 --4 --4 --7 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --6 --14 --21 --25 --24 --10 --1 -2 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 --1 --5 --16 --23 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --28 --14 --4 --1 -1 --1 --6 --16 --23 --28 --28 --13 --4 --1 -0 --1 --6 --16 --23 --28 --18 --12 --8 --8 --9 --16 --23 --27 --15 --9 --5 --5 --7 --16 --21 --25 --14 --8 --5 --4 --7 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --24 --10 --1 -2 -4 -1 --4 --13 --22 --28 --27 --13 --3 -0 -1 --1 --5 --14 --22 --28 --27 --13 --4 -0 -1 --1 --6 --16 --24 --28 --27 --14 --4 -0 -0 --1 --5 --16 --23 --29 --28 --14 --4 --1 -0 --1 --5 --15 --23 --28 --17 --12 --8 --7 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --26 --14 --9 --5 --4 --8 --15 --21 --25 --14 --8 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --3 --9 --16 --23 --26 --26 --10 --1 -3 -3 -2 --4 --13 --22 --26 --28 --12 --4 -0 -0 --1 --7 --14 --23 --27 --28 --12 --4 -0 -1 -0 --7 --15 --24 --28 --28 --13 --4 -0 -0 -0 --7 --14 --23 --29 --29 --13 --5 -0 -0 -0 --7 --14 --24 --28 --28 --13 --5 --1 -0 --1 --7 --15 --24 --29 --28 --13 --5 -0 -0 -0 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --4 --13 --20 --27 --16 --10 --8 --7 --10 --17 --23 --27 --16 --10 --5 --5 --8 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --26 --14 --8 --5 --4 --6 --15 --21 --25 --13 --8 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --3 --8 --15 --22 --26 --26 --10 --1 -2 -2 -2 --5 --13 --22 --27 --28 --12 --4 -0 -0 -0 --6 --14 --23 --28 --28 --13 --4 -0 -1 -0 --7 --14 --23 --28 --28 --12 --5 -0 -1 -0 --7 --15 --24 --29 --29 --13 --5 -0 -0 --3 --13 --20 --26 --16 --11 --7 --8 --10 --17 --23 --27 --16 --10 --6 --5 --7 --15 --21 --25 --15 --9 --5 --5 --7 --15 --21 --26 --14 --8 --4 --4 --7 --15 --21 --26 --14 --8 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --24 --10 --1 -2 -3 -1 --4 --14 --22 --28 --27 --13 --4 --1 -1 --1 --5 --14 --23 --28 --27 --13 --3 -0 -1 --1 --6 --15 --23 --28 --27 --14 --4 -0 -1 --1 --6 --15 --23 --28 --28 --14 --4 --1 -0 --1 --6 --16 --23 --28 --18 --12 --8 --7 --10 --17 --23 --27 --15 --9 --5 --5 --7 --15 --21 --26 --14 --10 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --22 --26 --14 --8 --5 --4 --6 --15 --21 --25 --14 --8 --5 --5 --7 --15 --21 --25 --14 --8 --5 --4 --6 --14 --21 --25 --15 --8 --4 --4 --6 --14 --21 --26 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --5 --5 --7 --14 --21 --25 --13 --8 --4 --3 --6 --14 --20 --25 --14 --8 --4 --4 --4 --8 --15 --23 --25 --24 --10 --2 -3 -2 -1 --5 --13 --23 --27 --28 --13 --4 -1 -0 -0 --6 --15 --23 --27 --28 --13 --4 -1 -0 -0 --6 --15 --23 --28 --29 --13 --4 -0 -0 -0 --6 --15 --24 --28 --28 --13 --4 -0 -0 --4 --13 --21 --26 --16 --12 --7 --7 --10 --17 --23 --27 --16 --10 --6 --5 --7 --15 --22 --26 --14 --8 --4 --4 --7 --15 --21 --25 --15 --9 --5 --5 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --5 --4 --4 --9 --16 --23 --26 --25 --10 --2 -3 -3 -1 --5 --13 --22 --27 --27 --12 --4 -0 -0 --1 --7 --14 --24 --28 --28 --13 --4 -0 -0 --1 --6 --14 --24 --28 --28 --13 --5 -0 -1 -0 --6 --14 --24 --28 --28 --13 --5 -0 -0 --4 --12 --20 --26 --16 --10 --8 --7 --9 --17 --23 --28 --17 --10 --5 --4 --7 --15 --21 --26 --14 --9 --5 --5 --7 --15 --21 --26 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --15 --21 --26 --14 --9 --5 --4 --7 --14 --21 --25 --24 --10 -0 -2 -4 -1 --4 --14 --21 --27 --27 --13 --3 --1 -1 --1 --6 --15 --22 --28 --27 --13 --3 -0 -1 --1 --6 --16 --23 --28 --27 --14 --4 --1 -1 --1 --6 --16 --23 --29 --28 --14 --4 --1 -0 --1 --6 --16 --23 --29 --28 --14 --4 --1 -0 --1 --7 --16 --23 --29 --27 --13 --4 --1 -1 --1 --6 --16 --23 --29 --28 --13 --4 --1 -1 --1 --6 --15 --23 --29 --28 --14 --5 --1 -0 --2 --6 --15 --23 --28 --27 --13 --4 --1 -0 --1 --6 --15 --23 --29 --18 --12 --8 --8 --10 --18 --23 --27 --16 --9 --5 --4 --7 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --4 --4 --7 --14 --20 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --3 --6 --14 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --4 --4 --6 --14 --21 --25 --13 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --5 --7 --14 --21 --25 --13 --8 --4 --4 --3 --8 --15 --23 --26 --25 --9 --1 -3 -3 -1 --4 --13 --22 --27 --28 --12 --5 -0 -0 -0 --6 --14 --23 --28 --28 --12 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --1 --6 --15 --24 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --29 --14 --5 --1 --1 --4 --13 --20 --27 --16 --11 --8 --8 --10 --18 --24 --28 --16 --10 --5 --4 --7 --15 --21 --26 --14 --8 --5 --5 --7 --15 --21 --25 --14 --9 --5 --4 --7 --14 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --3 --9 --15 --23 --26 --25 --9 --2 -3 -3 -2 --5 --13 --22 --27 --27 --12 --4 -0 -1 -0 --6 --14 --23 --27 --27 --12 --5 -0 -0 --1 --7 --15 --25 --28 --28 --13 --4 -1 -0 --1 --6 --15 --24 --28 --28 --13 --5 -0 -0 --3 --13 --20 --26 --17 --11 --8 --8 --10 --18 --24 --28 --16 --9 --5 --4 --7 --15 --21 --26 --15 --9 --5 --5 --7 --15 --21 --25 --14 --8 --5 --4 --7 --15 --21 --26 --15 --9 --5 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --13 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --13 --21 --25 --13 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --24 --10 --1 -2 -3 -1 --4 --13 --22 --27 --27 --13 --3 -0 -1 --1 --6 --15 --23 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --29 --27 --13 --4 -0 -1 --2 --6 --16 --23 --29 --28 --14 --5 --1 -0 --2 --6 --15 --24 --29 --28 --14 --4 --1 -1 --2 --6 --16 --23 --29 --28 --15 --4 --1 -1 --2 --6 --16 --23 --29 --28 --14 --4 --1 -0 --1 --6 --16 --23 --28 --27 --14 --4 --1 -0 --2 --6 --16 --23 --28 --27 --14 --4 -0 -0 --1 --6 --16 --23 --29 --18 --12 --8 --7 --10 --17 --23 --27 --15 --9 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --26 --15 --9 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --8 --15 --21 --26 --15 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --3 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --13 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --6 --15 --21 --25 --14 --8 --4 --5 --4 --8 --15 --23 --26 --25 --10 --2 -3 -2 -2 --4 --13 --22 --27 --27 --13 --4 -1 -0 -0 --6 --14 --23 --27 --28 --13 --4 -0 -0 --1 --6 --15 --24 --28 --28 --13 --4 -0 -0 -0 --6 --15 --24 --28 --29 --13 --4 -0 -0 --1 --6 --15 --23 --27 --29 --13 --4 --1 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 --1 --1 --7 --15 --24 --28 --28 --14 --5 -0 --1 --1 --7 --15 --24 --28 --29 --13 --5 --1 --1 --4 --13 --21 --27 --16 --11 --7 --7 --10 --18 --23 --27 --16 --10 --5 --5 --7 --15 --22 --26 --14 --8 --5 --4 --7 --16 --22 --26 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --5 --7 --15 --21 --25 --14 --8 --4 --3 --7 --14 --20 --26 --24 --10 --1 -2 -4 -1 --4 --14 --21 --28 --27 --13 --4 -0 -1 --1 --6 --15 --23 --28 --27 --13 --4 -0 -1 --2 --6 --15 --23 --28 --27 --13 --4 --1 -1 --2 --6 --15 --24 --29 --28 --14 --4 --1 -0 --1 --6 --15 --23 --29 --18 --12 --9 --8 --10 --17 --23 --27 --16 --9 --5 --5 --7 --14 --21 --26 --14 --8 --5 --4 --7 --16 --21 --25 --14 --8 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --9 --4 --4 --7 --15 --21 --26 --24 --10 -0 -2 -4 -1 --4 --14 --22 --28 --27 --13 --4 --1 -1 --1 --6 --14 --22 --28 --27 --13 --4 --1 -0 --1 --6 --15 --23 --28 --27 --13 --4 --1 -1 --2 --6 --16 --23 --29 --27 --13 --5 --1 -1 --1 --6 --15 --24 --29 --18 --12 --9 --8 --10 --17 --23 --26 --15 --9 --4 --5 --7 --14 --21 --26 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --6 --15 --20 --25 --14 --8 --4 --4 --3 --8 --15 --24 --26 --25 --10 --2 -3 -2 -2 --5 --13 --22 --27 --28 --13 --4 -0 -1 -0 --6 --15 --23 --27 --28 --13 --4 -0 --1 --1 --7 --15 --23 --27 --28 --13 --4 -0 --1 --1 --6 --15 --24 --28 --29 --13 --5 -0 --1 --3 --12 --21 --26 --16 --11 --8 --8 --11 --18 --23 --27 --15 --9 --5 --5 --7 --14 --21 --26 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --14 --8 --5 --4 --4 --9 --16 --23 --26 --25 --9 --2 -3 -3 -1 --5 --14 --23 --27 --27 --12 --4 -0 -1 -0 --6 --14 --24 --28 --28 --13 --4 -0 -0 --1 --6 --14 --24 --27 --28 --13 --5 -0 -0 --1 --6 --14 --24 --27 --28 --13 --4 -0 -0 --3 --12 --21 --27 --17 --11 --8 --8 --10 --18 --23 --27 --16 --10 --6 --5 --8 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --14 --21 --26 --14 --8 --4 --4 --6 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --24 --10 --1 -2 -3 -1 --5 --14 --22 --28 --27 --12 --3 -0 -2 -0 --5 --15 --22 --28 --27 --13 --4 -0 -1 --1 --5 --15 --23 --28 --27 --13 --4 --2 -0 --1 --6 --15 --23 --28 --28 --13 --4 --1 -1 --1 --7 --16 --23 --29 --18 --12 --8 --8 --10 --17 --23 --27 --16 --11 --6 --5 --8 --15 --21 --26 --15 --8 --5 --5 --7 --15 --22 --26 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --15 --21 --25 --14 --8 --4 --4 --6 --15 --21 --25 --24 --10 --1 -2 -3 -1 --4 --14 --22 --27 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --27 --13 --3 --1 -1 --1 --6 --16 --23 --28 --28 --14 --4 --1 -1 --1 --7 --16 --23 --28 --27 --13 --4 --1 -0 --1 --6 --15 --23 --28 --17 --12 --8 --7 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --15 --21 --26 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --4 --6 --14 --21 --25 --13 --8 --4 --4 --6 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --15 --21 --26 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --4 --8 --15 --23 --25 --25 --10 --1 -2 -3 -1 --5 --14 --22 --27 --28 --12 --4 -0 -1 -0 --6 --14 --23 --27 --27 --13 --4 -0 -0 -0 --6 --15 --23 --27 --28 --13 --4 -0 --1 --1 --7 --15 --24 --28 --29 --13 --5 --1 -0 --3 --13 --21 --26 --16 --11 --8 --8 --10 --17 --23 --28 --16 --9 --5 --5 --7 --15 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --15 --21 --25 --13 --7 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --7 --14 --20 --24 --13 --8 --4 --3 --6 --14 --21 --25 --14 --9 --5 --4 --7 --14 --20 --25 --13 --8 --5 --4 --7 --15 --21 --25 --13 --8 --4 --3 --6 --14 --20 --25 --14 --8 --5 --4 --7 --14 --21 --25 --13 --8 --4 --3 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --13 --9 --5 --4 --4 --9 --16 --23 --26 --25 --9 --2 -3 -3 -1 --5 --13 --22 --27 --28 --12 --4 -0 -1 --1 --6 --14 --23 --27 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --12 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 --1 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --14 --5 -0 --1 --1 --7 --15 --24 --28 --28 --13 --5 -0 --1 --1 --7 --15 --24 --28 --28 --13 --4 -0 --1 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --16 --24 --28 --29 --13 --4 -0 -0 --1 --6 --15 --24 --28 --29 --13 --5 --1 -0 --3 --12 --21 --26 --16 --11 --7 --7 --11 --17 --23 --28 --16 --9 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --15 --9 --5 --5 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --3 --8 --15 --23 --26 --25 --10 --2 -3 -3 -1 --4 --13 --22 --27 --27 --12 --5 -0 -1 --1 --6 --14 --24 --27 --27 --13 --4 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -1 -0 -0 --6 --14 --24 --28 --28 --13 --5 -0 -0 --3 --12 --21 --26 --16 --11 --8 --7 --10 --18 --24 --28 --17 --10 --5 --5 --7 --15 --21 --26 --14 --9 --5 --5 --7 --15 --21 --25 --14 --9 --4 --4 --7 --15 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --8 --15 --21 --25 --24 --9 -0 -2 -4 -1 --4 --13 --21 --28 --27 --13 --3 -0 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -0 --1 --6 --16 --23 --28 --28 --13 --3 --1 -1 --1 --6 --15 --23 --28 --28 --13 --3 --1 -1 --1 --6 --15 --23 --29 --18 --12 --8 --8 --10 --17 --23 --27 --15 --9 --5 --4 --8 --15 --21 --26 --15 --9 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --26 --14 --8 --5 --4 --7 --15 --21 --25 --23 --10 -0 -2 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --13 --3 --1 -1 --1 --5 --15 --23 --28 --27 --13 --4 --1 -0 --1 --7 --16 --23 --29 --27 --13 --3 --1 -1 --1 --6 --16 --23 --29 --18 --12 --8 --8 --10 --17 --22 --27 --15 --9 --6 --5 --7 --16 --21 --26 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --5 --7 --14 --21 --24 --13 --8 --4 --4 --7 --14 --21 --26 --15 --8 --4 --4 --6 --14 --21 --25 --14 --9 --5 --4 --4 --9 --15 --23 --26 --25 --10 --2 -3 -3 -1 --4 --13 --22 --27 --28 --12 --4 -1 -0 --1 --6 --14 --23 --28 --28 --13 --5 -0 -0 --1 --6 --14 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --3 --13 --20 --27 --17 --11 --8 --8 --10 --18 --23 --27 --15 --9 --5 --4 --8 --15 --21 --26 --14 --9 --5 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --26 --14 --8 --5 --5 --4 --9 --15 --22 --25 --25 --9 --1 -3 -3 -2 --5 --13 --22 --27 --27 --12 --4 -0 -1 -0 --7 --15 --23 --28 --28 --13 --5 -0 -0 -0 --6 --14 --23 --28 --28 --13 --5 -0 -0 -0 --7 --14 --23 --27 --28 --13 --5 -0 -0 --4 --13 --20 --26 --17 --11 --8 --8 --10 --17 --24 --28 --16 --10 --5 --5 --8 --16 --21 --25 --14 --8 --5 --5 --7 --15 --21 --26 --14 --8 --5 --5 --7 --15 --20 --25 --15 --8 --5 --4 --7 --15 --21 --26 --14 --8 --4 --4 --6 --14 --20 --25 --23 --10 --1 -2 -3 -0 --4 --14 --22 --27 --26 --13 --3 -0 -1 --1 --5 --15 --23 --28 --27 --13 --3 -0 -1 --1 --6 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --15 --23 --28 --27 --14 --4 --1 -0 --1 --6 --16 --23 --28 --18 --12 --8 --8 --10 --17 --23 --27 --15 --9 --5 --5 --7 --14 --21 --26 --14 --9 --5 --4 --8 --15 --21 --25 --14 --8 --5 --4 --6 --14 --21 --25 --14 --9 --5 --5 --7 --15 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --24 --10 --1 -3 -3 -1 --4 --14 --21 --27 --26 --13 --4 -0 -1 --1 --5 --15 --23 --28 --27 --13 --3 -0 -1 --1 --6 --15 --23 --28 --27 --13 --4 --1 -1 --1 --6 --15 --23 --29 --28 --14 --4 --1 -1 --1 --6 --15 --23 --28 --28 --14 --4 --1 -1 --2 --6 --15 --23 --29 --28 --14 --4 --1 -0 --2 --6 --16 --23 --28 --27 --14 --4 --1 -0 --1 --6 --16 --23 --28 --28 --14 --4 --1 -0 --1 --6 --16 --23 --28 --27 --14 --4 --1 -0 --1 --6 --16 --23 --28 --18 --12 --8 --7 --10 --17 --22 --27 --15 --9 --5 --4 --7 --15 --21 --25 --14 --9 --5 --5 --7 --15 --21 --26 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --4 --8 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --9 --5 --4 --7 --15 --20 --24 --13 --7 --3 --4 --6 --14 --21 --25 --14 --9 --5 --4 --6 --14 --20 --24 --14 --8 --4 --4 --3 --8 --15 --23 --25 --25 --10 --1 -3 -3 -2 --4 --13 --22 --27 --27 --13 --4 -0 -0 -0 --6 --15 --23 --27 --27 --12 --4 -0 -0 -0 --6 --15 --24 --27 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --29 --13 --4 -0 -0 --3 --13 --20 --26 --16 --11 --8 --8 --10 --18 --23 --28 --16 --9 --5 --5 --7 --15 --22 --26 --14 --9 --5 --5 --7 --15 --21 --25 --14 --9 --5 --5 --7 --14 --21 --26 --14 --8 --5 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --21 --26 --24 --10 --1 -2 -4 -1 --4 --14 --21 --28 --27 --13 --4 -0 -1 -0 --5 --14 --22 --28 --27 --13 --4 --1 -1 --1 --5 --15 --22 --28 --27 --13 --4 --1 -1 --1 --6 --16 --23 --29 --27 --13 --4 --1 -1 --2 --6 --16 --23 --29 --17 --12 --8 --7 --9 --17 --22 --26 --16 --9 --5 --5 --7 --15 --21 --26 --14 --8 --4 --4 --7 --15 --21 --25 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --5 --4 --7 --14 --21 --25 --24 --10 --1 -2 -3 -1 --4 --14 --21 --27 --27 --13 --3 --1 -1 --1 --5 --15 --23 --28 --28 --13 --3 --1 -1 --1 --6 --15 --23 --28 --27 --13 --4 --1 -1 --1 --6 --15 --22 --28 --27 --13 --4 --1 -0 --2 --7 --16 --23 --29 --17 --11 --8 --8 --10 --17 --23 --27 --16 --10 --5 --5 --8 --15 --21 --25 --15 --8 --5 --5 --7 --15 --22 --26 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --5 --7 --14 --21 --25 --13 --7 --4 --4 --6 --15 --21 --25 --15 --9 --5 --5 --4 --8 --15 --22 --25 --24 --9 --1 -3 -2 -1 --5 --13 --22 --26 --27 --12 --3 -1 -1 -0 --6 --14 --23 --27 --27 --12 --4 -0 -0 --1 --6 --14 --24 --27 --28 --13 --5 -0 -0 --1 --6 --15 --24 --28 --28 --13 --4 -0 --1 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --16 --24 --28 --29 --13 --4 -0 --1 --1 --6 --15 --23 --28 --29 --13 --5 --1 --1 --1 --7 --15 --24 --27 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --29 --13 --4 -0 -0 --3 --12 --21 --26 --16 --12 --8 --8 --11 --18 --23 --28 --16 --9 --5 --5 --7 --15 --21 --26 --14 --9 --5 --4 --7 --15 --20 --25 --14 --8 --5 --5 --7 --15 --22 --25 --14 --8 --5 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --9 --5 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --15 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --15 --20 --25 --24 --10 --1 -3 -4 -1 --3 --14 --21 --27 --27 --13 --3 -0 -1 --1 --5 --15 --22 --28 --27 --13 --3 --1 -1 --1 --6 --16 --23 --28 --27 --13 --4 --1 -1 --1 --7 --16 --23 --29 --28 --14 --4 --1 -1 --1 --6 --16 --23 --29 --18 --12 --8 --8 --10 --17 --23 --27 --15 --9 --5 --4 --7 --15 --21 --25 --15 --9 --5 --5 --7 --15 --21 --25 --14 --8 --5 --4 --7 --14 --21 --25 --14 --8 --4 --3 --7 --14 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --23 --10 -0 -3 -4 -1 --4 --14 --22 --28 --27 --13 --4 -0 -0 --1 --5 --15 --22 --28 --27 --14 --4 -0 -0 --1 --5 --16 --23 --28 --27 --13 --3 -0 -0 --1 --6 --16 --23 --28 --27 --14 --4 --1 -0 --1 --6 --16 --23 --29 --18 --12 --8 --7 --10 --16 --22 --27 --15 --9 --5 --4 --7 --15 --21 --25 --15 --9 --5 --4 --7 --14 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --9 --4 --4 --7 --14 --21 --26 --14 --8 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --4 --9 --16 --23 --25 --26 --10 --1 -3 -3 -2 --5 --13 --22 --27 --28 --12 --4 -0 -0 -0 --6 --14 --23 --28 --28 --13 --4 -0 -0 -0 --7 --14 --23 --27 --28 --12 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --1 --7 --14 --24 --28 --28 --13 --6 --1 -0 --1 --7 --14 --23 --28 --28 --13 --5 -0 -0 --1 --7 --14 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --1 --7 --15 --24 --28 --28 --14 --5 -0 --1 --4 --12 --20 --26 --16 --11 --8 --8 --10 --18 --24 --27 --17 --10 --5 --5 --7 --15 --21 --25 --14 --9 --5 --5 --7 --14 --21 --25 --14 --8 --4 --4 --6 --15 --21 --25 --15 --9 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --3 --9 --16 --23 --25 --25 --9 --1 -3 -3 -2 --5 --13 --22 --27 --28 --12 --4 -0 -1 -0 --6 --14 --23 --27 --27 --12 --5 -0 -0 --1 --7 --15 --24 --28 --28 --12 --5 -0 -0 --1 --7 --15 --24 --29 --28 --13 --5 -0 -1 --3 --12 --19 --26 --16 --10 --7 --8 --10 --17 --23 --27 --15 --10 --5 --5 --7 --15 --21 --25 --15 --9 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --9 --5 --5 --7 --14 --21 --25 --14 --8 --4 --5 --7 --15 --21 --25 --24 --10 --1 -3 -4 -1 --4 --14 --22 --27 --27 --13 --3 -0 -2 -0 --5 --14 --22 --28 --27 --14 --3 --1 -0 --1 --6 --15 --22 --28 --27 --14 --4 --1 -0 --1 --6 --16 --23 --28 --27 --13 --3 -0 -1 --1 --6 --16 --23 --28 --18 --12 --8 --8 --9 --17 --22 --27 --15 --9 --5 --5 --7 --15 --21 --25 --14 --9 --5 --4 --8 --15 --21 --26 --15 --9 --5 --5 --7 --14 --21 --25 --14 --8 --4 --3 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --9 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --20 --25 --13 --8 --4 --3 --6 --14 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --13 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --4 --4 --8 --15 --23 --25 --25 --10 --2 -3 -2 -2 --4 --13 --22 --27 --27 --12 --4 -1 -0 -0 --6 --14 --23 --27 --28 --13 --4 -0 -0 -0 --6 --15 --23 --28 --28 --13 --4 -0 -0 -0 --7 --15 --24 --28 --29 --13 --5 --1 --1 --3 --13 --20 --26 --16 --11 --7 --7 --10 --17 --23 --28 --16 --10 --5 --5 --7 --15 --21 --25 --14 --9 --5 --4 --8 --15 --21 --25 --15 --8 --5 --4 --6 --14 --21 --25 --14 --9 --5 --4 --7 --14 --20 --25 --14 --8 --4 --4 --4 --9 --15 --23 --26 --25 --10 --2 -3 -3 -2 --4 --12 --22 --27 --27 --12 --4 -0 -1 -0 --6 --14 --23 --27 --27 --13 --4 -0 -0 --1 --6 --14 --24 --27 --28 --13 --4 -0 -0 --1 --6 --15 --24 --28 --28 --13 --4 -0 -0 --3 --12 --20 --26 --16 --11 --7 --8 --10 --17 --23 --27 --16 --9 --5 --4 --7 --15 --21 --26 --15 --9 --6 --5 --7 --15 --21 --25 --14 --8 --5 --4 --8 --15 --21 --26 --15 --9 --5 --4 --6 --14 --20 --25 --14 --8 --4 --4 --7 --15 --20 --25 --23 --10 --1 -2 -4 -1 --4 --14 --21 --28 --27 --12 --3 -0 -2 -0 --5 --14 --22 --28 --27 --13 --4 --1 -0 --1 --6 --15 --22 --28 --27 --13 --3 -0 -1 --1 --7 --16 --23 --28 --27 --13 --4 --1 -1 --1 --6 --15 --23 --29 --18 --12 --8 --7 --9 --17 --22 --26 --15 --9 --5 --4 --8 --15 --21 --26 --14 --8 --5 --5 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --20 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --5 --4 --6 --14 --20 --24 --24 --10 -0 -3 -3 -1 --4 --14 --22 --27 --27 --13 --3 -0 -1 --1 --5 --15 --23 --28 --28 --13 --4 --1 -1 --1 --6 --16 --23 --28 --27 --13 --4 --1 -0 --1 --7 --16 --23 --29 --27 --13 --4 --1 -1 --1 --6 --15 --23 --28 --17 --12 --8 --7 --10 --17 --22 --27 --15 --9 --6 --5 --7 --16 --22 --26 --14 --9 --5 --4 --7 --15 --21 --26 --14 --8 --5 --4 --6 --14 --20 --24 --13 --8 --4 --4 --7 --14 --21 --26 --14 --8 --4 --4 --6 --14 --20 --24 --13 --8 --4 --4 --4 --9 --15 --23 --25 --24 --9 --1 -3 -3 -1 --5 --13 --22 --27 --27 --12 --4 -1 -1 -0 --6 --14 --23 --27 --27 --12 --4 -0 -0 --1 --6 --14 --24 --27 --28 --13 --5 -0 -0 --1 --7 --14 --24 --28 --28 --13 --4 -0 --1 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --1 --6 --15 --24 --28 --28 --13 --4 -0 -0 -0 --6 --14 --23 --27 --28 --14 --5 -0 -0 --1 --7 --15 --24 --28 --28 --13 --4 -0 -0 --1 --7 --15 --24 --28 --28 --13 --5 -0 -0 --3 --12 --20 --26 --15 --11 --8 --7 --9 --17 --23 --27 --16 --9 --5 --5 --7 --15 --21 --26 --15 --9 --5 --4 --7 --15 --21 --25 --14 --8 --5 --4 --7 --15 --21 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --9 --5 --4 --4 --9 --15 --22 --25 --24 --9 --2 -3 -3 -1 --4 --13 --23 --27 --27 --12 --4 -1 -1 -0 --6 --14 --23 --27 --27 --13 --5 -0 -0 -0 --6 --14 --24 --27 --28 --13 --4 -0 --1 --1 --7 --15 --23 --27 --28 --12 --4 -0 -0 --3 --13 --20 --27 --17 --11 --8 --7 --9 --17 --23 --27 --15 --10 --5 --5 --8 --15 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --9 --5 --4 --7 --15 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --3 --6 --14 --20 --24 --24 --10 -0 -2 -3 -1 --4 --14 --22 --28 --27 --13 --3 -0 -1 -0 --5 --15 --23 --28 --28 --13 --3 --1 -1 --1 --5 --15 --23 --28 --28 --13 --4 --1 -1 --1 --6 --16 --23 --28 --27 --13 --4 --1 -1 --1 --6 --15 --22 --29 --17 --12 --8 --8 --10 --17 --23 --27 --15 --10 --5 --5 --8 --15 --21 --25 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --5 --4 --7 --14 --20 --25 --13 --8 --4 --4 --7 --15 --20 --25 --14 --8 --4 --4 --6 --14 --21 --25 --14 --9 --5 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --6 --14 --20 --24 --14 --8 --4 --4 --7 --15 --21 --25 --14 --8 --4 --3 --6 --14 --21 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --5 --4 --3 --8 --15 --23 --25 --25 --10 --1 -3 -3 -3 --5 --13 --22 --27 --27 --12 --4 -0 -0 -0 --6 --14 --22 --27 --27 --12 --4 -0 -0 -0 --7 --15 --24 --28 --28 --12 --5 -0 -1 -0 --6 --14 --23 --28 --28 --13 --5 -0 -0 --3 --13 --20 --26 --16 --11 --8 --7 --11 --17 --23 --27 --15 --9 --5 --5 --7 --15 --22 --26 --14 --9 --5 --4 --7 --15 --20 --25 --14 --8 --4 --4 --7 --14 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --14 --8 --4 --4 --4 --8 --15 --22 --25 --25 --10 --1 -3 -2 -2 --4 --13 --23 --27 --27 --12 --4 -0 -0 -0 --6 --14 --23 --27 --28 --13 --4 -0 -0 -0 --6 --15 --23 --27 --28 --12 --4 --1 -0 --1 --7 --15 --24 --27 --28 --13 --4 -0 -0 --3 --13 --21 --26 --17 --11 --7 --7 --10 --17 --23 --27 --16 --9 --6 --5 --7 --15 --21 --25 --14 --8 --4 --4 --7 --14 --20 --25 --15 --9 --4 --4 --7 --14 diff --git a/traces/Paradox-96_40426-APJN08.pm3 b/traces/Paradox-96_40426-APJN08.pm3 deleted file mode 100644 index c24bee372..000000000 --- a/traces/Paradox-96_40426-APJN08.pm3 +++ /dev/null @@ -1,16000 +0,0 @@ --4 --41 --72 --98 --46 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -92 -40 --5 --42 --72 --98 --120 --85 -34 -78 -75 -26 --16 --51 --80 --104 --125 --80 -41 -86 -84 -33 --10 --46 --75 --100 --121 --73 -47 -92 -91 -39 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -95 -43 --2 --38 --69 --95 --116 --67 -52 -97 -96 -44 --1 --38 --69 --94 --116 --67 -53 -98 -97 -44 --1 --38 --68 --94 --116 --66 -53 -98 -98 -45 -0 --37 --68 --94 --115 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --24 -86 -115 -59 -12 --27 --60 --88 --30 -80 -109 -54 -7 --31 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --39 -71 -99 -45 -0 --38 --68 --95 --42 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -94 -41 --4 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -94 -41 --4 --41 --72 --98 --46 -64 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -65 -93 -40 --4 --41 --72 --98 --46 -64 -92 -78 -27 --15 --50 --80 --104 --125 --91 -29 -72 -72 -23 --19 --53 --82 --106 --126 --81 -39 -83 -84 -32 --11 --46 --76 --101 --121 --74 -46 -90 -89 -37 --6 --42 --73 --98 --119 --71 -50 -94 -93 -40 --3 --40 --71 --96 --118 --69 -52 -96 -95 -42 --2 --39 --69 --95 --117 --67 -53 -98 -97 -43 --1 --38 --69 --95 --116 --66 -54 -98 -97 -44 --1 --38 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -99 -46 -1 --36 --67 --93 --20 -92 -121 -64 -17 --23 --57 --85 --26 -84 -112 -57 -10 --29 --62 --89 --33 -77 -104 -50 -4 --34 --66 --93 --38 -72 -101 -47 -1 --36 --68 --94 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -96 -42 --2 --40 --71 --97 --118 --83 -36 -79 -78 -27 --15 --50 --79 --103 --124 --79 -41 -86 -86 -35 --9 --45 --75 --99 --120 --73 -47 -92 -92 -40 --5 --41 --72 --97 --118 --69 -50 -95 -94 -42 --3 --39 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --26 -84 -113 -58 -11 --28 --61 --88 --30 -79 -107 -52 -6 --32 --65 --91 --36 -74 -102 -48 -2 --35 --67 --94 --40 -70 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --44 -66 -95 -42 --3 --40 --71 --97 --44 -66 -94 -41 --3 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -65 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -78 -27 --15 --51 --80 --104 --125 --90 -29 -73 -73 -23 --18 --53 --82 --105 --126 --81 -40 -85 -85 -33 --10 --46 --75 --100 --121 --74 -47 -91 -90 -38 --5 --42 --72 --97 --119 --70 -50 -95 -93 -41 --3 --40 --70 --96 --117 --68 -52 -96 -44 --1 --38 --68 --94 --22 -90 -120 -63 -15 --24 --58 --85 --26 -83 -111 -56 -9 --30 --62 --89 --34 -76 -105 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -98 -44 --1 --38 --70 --96 --43 -67 -95 -80 -29 --13 --49 --79 --103 --124 --89 -31 -75 -74 -24 --17 --52 --81 --105 --125 --79 -41 -86 -85 -33 --10 --45 --75 --100 --121 --73 -47 -92 -90 -38 --5 --42 --72 --97 --119 --69 -50 -95 -94 -42 --2 --39 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --116 --67 -53 -97 -97 -44 --1 --38 --68 --94 --116 --66 -53 -98 -97 -44 -0 --37 --68 --94 --116 --66 -54 -98 -98 -45 -0 --37 --68 --94 --116 --66 -54 -98 -98 -45 -0 --37 --68 --94 --115 --65 -54 -98 -45 -1 --36 --67 --94 --20 -92 -121 -64 -17 --23 --57 --85 --26 -84 -112 -57 -10 --29 --62 --89 --33 -77 -105 -50 -4 --34 --65 --93 --38 -72 -101 -47 -1 --36 --68 --94 --40 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -43 --2 --39 --71 --97 --44 -66 -95 -41 --3 --40 --71 --97 --45 -66 -94 -41 --3 --41 --71 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -40 --5 --41 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --119 --85 -34 -78 -76 -26 --16 --51 --80 --104 --124 --80 -40 -85 -84 -33 --10 --46 --75 --100 --121 --74 -46 -91 -90 -38 --5 --42 --72 --97 --118 --70 -50 -94 -93 -41 --3 --40 --70 --96 --117 --68 -52 -97 -95 -43 --2 --38 --69 --95 --116 --67 -53 -98 -96 -43 --1 --38 --69 --95 --116 --66 -54 -99 -97 -44 --1 --38 --68 --94 --116 --65 -55 -99 -97 -45 -0 --37 --68 --94 --116 --65 -55 -99 -97 -45 -0 --37 --68 --94 --116 --65 -54 -99 -98 -45 -0 --37 --68 --94 --24 -86 -115 -59 -12 --27 --60 --88 --30 -80 -109 -53 -7 --31 --63 --90 --35 -74 -103 -49 -3 --35 --67 --93 --39 -71 -99 -45 -0 --37 --69 --95 --42 -68 -97 -44 --1 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --45 -66 -95 -79 -28 --14 --50 --79 --104 --125 --90 -30 -75 -74 -24 --18 --52 --81 --105 --125 --80 -40 -85 -85 -33 --10 --45 --75 --100 --121 --73 -46 -91 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -44 --1 --38 --68 --95 --22 -90 -120 -63 -15 --24 --57 --85 --27 -84 -111 -56 -9 --30 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -42 --2 --40 --71 --97 --44 -66 -95 -41 --3 --40 --71 --97 --45 -65 -94 -41 --3 --41 --72 --97 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -63 -93 -40 --4 --42 --72 --98 --46 -64 -93 -40 --5 --42 --72 --98 --46 -64 -92 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -39 --5 --42 --73 --99 --46 -64 -93 -40 --5 --42 --72 --98 --46 -63 -92 -39 --5 --42 --73 --99 --46 -64 -93 -40 --5 --41 --72 --98 --46 -63 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --47 -64 -93 -40 --5 --42 --73 --98 --46 -64 -92 -40 --5 --42 --73 --98 --46 -64 -93 -78 -27 --15 --51 --80 --104 --125 --91 -29 -74 -73 -23 --18 --53 --82 --105 --126 --81 -40 -84 -84 -33 --10 --46 --76 --100 --121 --74 -46 -91 -90 -38 --5 --42 --72 --97 --119 --70 -49 -94 -94 -41 --3 --40 --70 --96 --117 --68 -51 -96 -96 -43 --1 --39 --69 --95 --116 --67 -53 -97 -97 -44 --1 --38 --69 --94 --116 --66 -54 -97 -97 -44 -0 --38 --69 --94 --116 --65 -54 -98 -97 -44 -0 --37 --68 --94 --116 --65 -54 -98 -97 -44 -0 --37 --68 --94 --116 --65 -54 -99 -97 -44 -0 --37 --68 --94 --116 --65 -55 -99 -97 -44 -0 --37 --68 --94 --116 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -99 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -1 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -98 -98 -44 -0 --37 --68 --94 --116 --66 -54 -98 -45 -1 --37 --68 --94 --20 -92 -121 -64 -16 --23 --57 --85 --26 -83 -112 -56 -10 --29 --62 --89 --33 -77 -105 -50 -4 --34 --66 --93 --38 -72 -100 -47 -1 --37 --68 --95 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -43 --2 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -42 -87 -86 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -95 -42 --2 --39 --70 --95 --117 --68 -52 -97 -96 -43 --2 --38 --69 --95 --26 -84 -113 -57 -11 --29 --61 --88 --31 -79 -107 -53 -6 --32 --64 --91 --36 -73 -102 -48 -2 --35 --67 --94 --39 -70 -99 -45 -0 --38 --69 --96 --42 -68 -97 -43 --1 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -42 --3 --39 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --25 -85 -113 -58 -11 --28 --61 --88 --31 -79 -108 -53 -7 --32 --64 --91 --36 -74 -102 -48 -2 --35 --67 --94 --40 -70 -99 -45 -0 --38 --69 --95 --42 -68 -97 -43 --2 --39 --70 --97 --43 -66 -95 -41 --3 --40 --71 --97 --45 -65 -94 -79 -28 --14 --50 --79 --104 --124 --90 -30 -74 -74 -24 --17 --52 --81 --105 --125 --80 -40 -85 -85 -34 --9 --45 --75 --100 --121 --73 -46 -91 -91 -39 --5 --42 --72 --97 --118 --70 -50 -94 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -43 --1 --38 --69 --95 --22 -90 -120 -63 -15 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --89 --34 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -98 -44 --1 --38 --70 --96 --43 -67 -95 -80 -30 --13 --49 --78 --103 --124 --89 -31 -74 -75 -25 --17 --52 --81 --105 --125 --79 -40 -85 -85 -34 --9 --45 --75 --100 --121 --73 -47 -91 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --67 -52 -96 -44 --1 --38 --68 --94 --22 -90 -120 -64 -16 --24 --57 --85 --26 -83 -111 -56 -9 --30 --62 --90 --34 -76 -105 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -43 --2 --39 --71 --96 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -42 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --39 --70 --96 --117 --68 -52 -97 -96 -43 --2 --38 --69 --95 --26 -84 -113 -58 -11 --28 --61 --88 --30 -79 -108 -53 -6 --32 --64 --91 --36 -73 -102 -48 -3 --35 --67 --94 --39 -70 -98 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --44 -67 -95 -42 --3 --40 --71 --97 --118 --84 -35 -79 -77 -27 --15 --50 --79 --104 --124 --79 -40 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -91 -91 -39 --5 --41 --72 --97 --118 --69 -50 -95 -94 -42 --2 --39 --70 --95 --117 --67 -52 -97 -96 -43 --1 --38 --69 --95 --26 -85 -113 -58 -11 --28 --61 --88 --31 -79 -108 -53 -7 --32 --64 --91 --36 -74 -102 -48 -2 --36 --67 --94 --40 -71 -99 -45 -0 --37 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --44 -65 -94 -79 -29 --14 --49 --79 --103 --124 --89 -29 -74 -74 -24 --18 --52 --81 --105 --125 --80 -40 -84 -85 -33 --10 --46 --75 --100 --121 --73 -46 -91 -91 -38 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -90 -119 -63 -15 --24 --58 --85 --27 -83 -111 -56 -9 --30 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -68 -97 -44 --1 --39 --70 --96 --43 -67 -95 -80 -29 --13 --49 --79 --103 --124 --88 -31 -75 -74 -24 --17 --52 --81 --105 --125 --79 -41 -86 -85 -33 --9 --45 --75 --100 --121 --73 -47 -92 -91 -38 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --22 -90 -119 -63 -15 --24 --58 --86 --27 -83 -111 -56 -9 --30 --62 --89 --34 -76 -104 -50 -4 --34 --66 --93 --39 -72 -100 -46 -1 --37 --68 --95 --41 -68 -97 -44 --1 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --118 --83 -36 -80 -77 -27 --15 --50 --79 --103 --124 --79 -41 -87 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -42 --3 --39 --70 --96 --117 --68 -51 -97 -96 -43 --1 --38 --69 --95 --26 -84 -113 -57 -11 --28 --61 --88 --31 -80 -108 -53 -6 --32 --64 --91 --36 -74 -102 -47 -2 --36 --67 --94 --40 -71 -99 -45 -0 --38 --69 --96 --41 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --118 --83 -35 -78 -77 -27 --15 --50 --79 --104 --124 --79 -40 -86 -86 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -94 -94 -41 --3 --39 --70 --96 --117 --68 -52 -96 -95 -43 --1 --38 --69 --95 --26 -85 -113 -58 -11 --28 --61 --88 --31 -79 -107 -53 -6 --32 --64 --91 --36 -74 -102 -48 -2 --35 --67 --94 --40 -70 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --44 -67 -95 -42 --3 --40 --71 --97 --44 -66 -94 -79 -28 --14 --49 --79 --104 --124 --89 -30 -74 -73 -24 --18 --53 --81 --105 --126 --80 -40 -85 -85 -33 --9 --45 --75 --100 --121 --74 -47 -92 -91 -38 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --117 --67 -53 -98 -97 -43 --1 --38 --69 --94 --116 --66 -53 -98 -97 -44 --1 --38 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -98 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -46 -1 --36 --67 --93 --20 -92 -122 -64 -17 --23 --56 --85 --25 -83 -112 -57 -10 --29 --62 --89 --33 -77 -105 -50 -4 --33 --65 --92 --38 -72 -100 -47 -1 --36 --68 --94 --41 -69 -98 -44 --1 --38 --70 --96 --43 -67 -95 -80 -30 --13 --49 --79 --103 --124 --88 -31 -75 -75 -25 --17 --52 --81 --105 --125 --79 -41 -85 -85 -34 --9 --45 --75 --100 --121 --73 -47 -91 -91 -39 --5 --42 --72 --97 --118 --70 -50 -94 -94 -41 --3 --39 --70 --96 --117 --67 -52 -96 -44 --1 --38 --68 --95 --22 -90 -120 -64 -16 --24 --57 --85 --27 -83 -111 -55 -9 --30 --63 --90 --34 -76 -104 -50 -4 --34 --66 --93 --38 -71 -99 -45 -0 --37 --69 --95 --41 -69 -97 -43 --1 --39 --70 --96 --43 -66 -95 -42 --2 --40 --71 --97 --44 -66 -94 -41 --3 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -41 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --119 --85 -34 -78 -75 -25 --16 --51 --81 --105 --125 --80 -40 -85 -84 -33 --10 --46 --76 --100 --121 --73 -47 -92 -90 -38 --6 --42 --72 --98 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -96 -43 --2 --38 --69 --95 --26 -84 -114 -58 -11 --28 --61 --88 --30 -80 -107 -53 -6 --32 --64 --91 --36 -74 -103 -48 -3 --35 --67 --93 --39 -70 -98 -45 -0 --38 --69 --96 --42 -68 -97 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --45 -66 -95 -79 -28 --14 --50 --79 --104 --124 --90 -30 -75 -74 -24 --18 --52 --81 --105 --125 --80 -41 -86 -85 -33 --9 --45 --75 --100 --121 --74 -47 -92 -91 -38 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -44 --1 --38 --68 --94 --22 -90 -119 -63 -15 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --89 --33 -76 -104 -49 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -96 -80 -29 --13 --49 --78 --103 --124 --89 -31 -75 -75 -25 --17 --52 --81 --105 --125 --80 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -91 -91 -38 --5 --42 --72 --97 --118 --70 -50 -94 -94 -41 --3 --40 --70 --96 --117 --67 -52 -96 -44 --1 --38 --68 --95 --21 -91 -120 -63 -16 --24 --57 --85 --26 -83 -111 -56 -9 --30 --62 --90 --33 -77 -105 -50 -4 --34 --66 --93 --38 -72 -100 -47 -1 --37 --68 --95 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -43 --2 --40 --71 --97 --118 --83 -36 -79 -78 -27 --15 --50 --79 --104 --124 --79 -41 -86 -86 -34 --9 --45 --75 --100 --120 --73 -47 -91 -91 -39 --5 --41 --72 --97 --118 --69 -50 -95 -94 -41 --3 --40 --70 --96 --117 --67 -52 -97 -96 -43 --1 --38 --69 --95 --26 -84 -113 -58 -11 --28 --61 --88 --30 -80 -108 -53 -6 --32 --64 --91 --36 -74 -102 -48 -3 --35 --67 --93 --39 -70 -98 -45 --1 --38 --69 --95 --42 -68 -97 -43 --2 --39 --70 --96 --43 -66 -94 -41 --3 --40 --71 --97 --119 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -42 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -42 --3 --39 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --116 --67 -53 -98 -97 -44 --1 --38 --68 --95 --116 --67 -53 -98 -97 -44 -0 --37 --68 --94 --116 --66 -54 -98 -97 -44 -0 --37 --68 --94 --116 --65 -54 -98 -97 -44 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --24 -86 -115 -59 -12 --27 --60 --88 --30 -80 -109 -54 -7 --31 --64 --91 --35 -75 -102 -48 -3 --35 --67 --94 --40 -71 -99 -46 -0 --37 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --43 -67 -96 -42 --2 --40 --71 --97 --44 -66 -94 -41 --4 --40 --72 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --45 -64 -92 -77 -27 --15 --51 --80 --104 --125 --90 -29 -73 -73 -23 --18 --53 --82 --106 --126 --81 -40 -84 -84 -33 --10 --46 --76 --100 --121 --74 -46 -90 -90 -38 --5 --42 --72 --97 --119 --70 -50 -94 -93 -41 --3 --40 --70 --96 --117 --68 -52 -96 -44 --1 --38 --68 --94 --22 -90 -120 -63 -15 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --90 --34 -76 -105 -50 -4 --34 --66 --93 --38 -71 -100 -46 -1 --37 --68 --95 --41 -69 -98 -44 --1 --38 --70 --96 --43 -67 -95 -42 --2 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --80 --104 --124 --79 -41 -86 -86 -34 --9 --45 --75 --100 --120 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --39 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --116 --67 -53 -98 -97 -44 --1 --38 --68 --94 --116 --66 -53 -98 -97 -44 -0 --37 --68 --94 --115 --66 -53 -99 -98 -44 -0 --37 --68 --94 --115 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --24 -86 -114 -58 -12 --28 --60 --88 --30 -80 -109 -54 -7 --31 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --39 -71 -99 -46 -0 --37 --69 --95 --41 -68 -96 -43 --2 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --120 --73 -47 -91 -91 -39 --5 --41 --72 --97 --118 --69 -50 -95 -94 -41 --3 --40 --70 --96 --117 --67 -52 -97 -95 -43 --1 --38 --69 --95 --26 -85 -114 -58 -11 --28 --61 --88 --30 -79 -107 -53 -7 --32 --64 --91 --36 -74 -102 -48 -2 --35 --67 --94 --40 -70 -98 -45 -0 --38 --69 --96 --42 -68 -96 -43 --2 --39 --70 --97 --44 -66 -95 -42 --3 --40 --71 --97 --44 -66 -94 -78 -28 --14 --50 --80 --104 --125 --89 -30 -74 -73 -24 --18 --53 --81 --105 --126 --80 -40 -85 -85 -33 --10 --45 --75 --100 --121 --74 -46 -91 -91 -38 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -90 -120 -63 -15 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -96 -42 --2 --40 --71 --97 --44 -66 -95 -42 --3 --40 --71 --97 --44 -66 -94 -41 --4 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --119 --85 -34 -78 -76 -26 --16 --51 --80 --104 --125 --80 -40 -86 -85 -33 --10 --45 --75 --100 --121 --74 -47 -92 -91 -39 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -51 -96 -95 -43 --2 --39 --69 --95 --116 --67 -52 -97 -96 -44 --1 --38 --69 --95 --116 --67 -53 -97 -97 -44 --1 --38 --69 --94 --116 --66 -53 -98 -97 -44 --1 --38 --68 --94 --116 --66 -54 -98 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -97 -44 -0 --37 --68 --94 --25 -86 -115 -59 -12 --27 --60 --88 --30 -80 -107 -53 -6 --32 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --39 -71 -99 -45 -0 --38 --69 --95 --42 -68 -97 -43 --1 --39 --70 --96 --43 -66 -95 -42 --3 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -91 -91 -39 --5 --42 --72 --97 --118 --69 -50 -95 -94 -41 --2 --39 --70 --96 --117 --67 -52 -96 -96 -43 --1 --38 --69 --95 --26 -85 -114 -58 -11 --28 --61 --88 --31 -79 -108 -53 -7 --32 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --40 -70 -99 -45 -0 --38 --69 --95 --41 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -94 -79 -28 --14 --50 --79 --104 --125 --89 -31 -75 -74 -25 --17 --52 --81 --105 --125 --79 -40 -85 -85 -34 --9 --45 --75 --100 --121 --72 -47 -92 -91 -39 --5 --41 --72 --97 --118 --69 -50 -95 -93 -41 --3 --40 --71 --96 --117 --68 -52 -97 -44 --1 --37 --68 --94 --22 -90 -120 -63 -16 --24 --57 --85 --27 -83 -111 -55 -9 --30 --62 --90 --34 -76 -105 -50 -4 --34 --66 --93 --38 -72 -99 -46 -1 --37 --68 --95 --41 -69 -98 -44 --1 --38 --70 --96 --43 -67 -95 -80 -30 --13 --49 --79 --103 --124 --88 -31 -74 -74 -25 --17 --52 --81 --105 --125 --80 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -93 -92 -40 --4 --41 --71 --97 --118 --69 -50 -95 -95 -42 --2 --40 --70 --96 --117 --68 -51 -97 -44 --1 --38 --68 --94 --21 -90 -120 -63 -15 --24 --57 --85 --27 -82 -111 -56 -9 --30 --62 --90 --34 -76 -104 -49 -4 --34 --66 --93 --39 -72 -100 -46 -1 --37 --68 --95 --41 -69 -96 -43 --1 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -94 -41 --4 --41 --72 --98 --45 -65 -94 -41 --4 --41 --72 --97 --45 -64 -93 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --119 --84 -35 -79 -77 -27 --15 --50 --79 --104 --124 --80 -40 -86 -85 -33 --10 --45 --75 --100 --121 --74 -46 -91 -91 -39 --5 --42 --72 --97 --119 --70 -49 -95 -94 -41 --3 --40 --70 --96 --117 --68 -51 -96 -95 -43 --2 --39 --69 --95 --116 --67 -53 -97 -96 -44 --1 --38 --69 --95 --116 --66 -53 -97 -97 -44 --1 --38 --69 --94 --116 --66 -54 -98 -97 -44 --1 --37 --68 --94 --116 --66 -54 -98 -97 -44 -0 --38 --68 --95 --116 --65 -54 -99 -97 -44 -0 --37 --68 --95 --24 -86 -115 -59 -12 --27 --60 --87 --29 -80 -108 -53 -7 --32 --64 --91 --35 -75 -103 -49 -3 --35 --67 --93 --39 -71 -100 -46 -1 --37 --68 --95 --41 -69 -98 -44 --1 --38 --69 --96 --43 -66 -95 -42 --3 --40 --71 --97 --44 -66 -95 -41 --3 --40 --71 --97 --45 -64 -94 -41 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -92 -77 -27 --15 --51 --80 --105 --125 --90 -29 -73 -72 -23 --18 --53 --82 --106 --126 --80 -40 -85 -84 -32 --10 --46 --76 --100 --121 --73 -47 -91 -90 -38 --6 --42 --72 --98 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -96 -43 --1 --39 --69 --95 --116 --66 -54 -98 -98 -45 -0 --37 --68 --94 --115 --66 -54 -98 -97 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -98 -98 -44 -0 --37 --68 --94 --116 --66 -54 -98 -45 -1 --36 --68 --94 --20 -92 -121 -64 -16 --23 --57 --85 --26 -83 -112 -56 -10 --29 --62 --89 --33 -77 -105 -50 -4 --34 --66 --93 --38 -72 -100 -47 -1 --37 --68 --95 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -95 -42 --2 --40 --71 --97 --44 -66 -94 -41 --3 --40 --71 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -94 -41 --4 --41 --72 --98 --44 -65 -94 -41 --3 --40 --71 --97 --45 -65 -93 -41 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --119 --85 -33 -77 -76 -26 --16 --51 --80 --104 --124 --80 -39 -84 -84 -33 --10 --46 --76 --100 --121 --74 -46 -91 -90 -38 --5 --42 --72 --97 --118 --70 -50 -94 -93 -41 --3 --40 --71 --96 --117 --68 -52 -96 -95 -43 --2 --38 --69 --95 --116 --67 -53 -97 -96 -43 --1 --38 --69 --95 --116 --66 -54 -98 -96 -44 --1 --38 --68 --95 --116 --66 -54 -99 -97 -44 -0 --37 --68 --94 --116 --65 -55 -99 -97 -45 -0 --37 --68 --94 --116 --65 -54 -99 -98 -45 -0 --37 --68 --94 --24 -87 -115 -59 -12 --27 --60 --87 --29 -81 -110 -54 -8 --31 --63 --90 --35 -74 -103 -49 -3 --35 --67 --93 --39 -71 -99 -45 -0 --37 --69 --95 --42 -68 -97 -44 --2 --39 --70 --96 --43 -66 -95 -42 --3 --40 --71 --97 --45 -65 -94 -41 --3 --41 --71 --97 --45 -65 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -77 -27 --16 --51 --80 --105 --125 --90 -29 -74 -73 -23 --18 --53 --82 --105 --126 --81 -40 -85 -84 -33 --10 --46 --76 --100 --121 --73 -47 -92 -92 -40 --4 --41 --71 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -51 -96 -96 -43 --2 --39 --69 --95 --116 --67 -53 -97 -97 -44 --1 --38 --69 --94 --116 --66 -53 -97 -97 -44 --1 --38 --69 --95 --116 --66 -54 -98 -97 -44 -0 --37 --68 --94 --116 --66 -54 -98 -97 -44 -0 --37 --68 --94 --116 --65 -54 -98 -45 -1 --36 --67 --93 --20 -92 -121 -65 -17 --23 --57 --84 --26 -84 -111 -56 -10 --29 --62 --89 --33 -77 -105 -50 -4 --34 --65 --92 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -98 -44 --1 --38 --69 --96 --42 -67 -96 -43 --2 --39 --70 --97 --118 --82 -37 -81 -79 -29 --14 --49 --79 --103 --123 --78 -42 -87 -86 -35 --9 --45 --75 --100 --120 --72 -48 -93 -91 -39 --4 --41 --72 --97 --118 --69 -51 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -95 -43 --2 --38 --69 --95 --27 -84 -113 -58 -11 --29 --61 --88 --31 -78 -106 -52 -6 --33 --65 --92 --36 -74 -102 -47 -2 --36 --67 --94 --40 -69 -98 -44 --1 --38 --70 --96 --42 -68 -96 -43 --2 --39 --70 --97 --44 -66 -95 -42 --3 --40 --71 --97 --44 -65 -94 -41 --4 --41 --72 --97 --45 -64 -93 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -94 -41 --4 --40 --71 --97 --45 -64 -92 -40 --5 --42 --72 --98 --46 -64 -93 -78 -27 --15 --50 --80 --104 --125 --91 -29 -73 -73 -23 --18 --53 --82 --105 --126 --81 -39 -84 -84 -33 --10 --46 --76 --100 --122 --74 -46 -91 -90 -38 --6 --42 --72 --97 --119 --70 -49 -94 -94 -41 --3 --40 --70 --96 --117 --68 -51 -96 -43 --1 --38 --69 --95 --22 -90 -120 -63 -15 --24 --57 --85 --27 -82 -111 -56 -9 --30 --62 --90 --33 -76 -104 -50 -4 --34 --66 --93 --39 -71 -100 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -95 -80 -29 --14 --49 --79 --103 --124 --88 -31 -75 -74 -25 --17 --52 --81 --105 --125 --79 -41 -85 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -90 -38 --5 --42 --72 --97 --119 --69 -51 -95 -94 -41 --3 --40 --70 --96 --117 --67 -53 -97 -96 -43 --1 --38 --69 --95 --116 --66 -54 -98 -97 -44 --1 --37 --68 --94 --116 --66 -54 -98 -97 -44 -0 --38 --68 --94 --116 --66 -54 -99 -97 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --116 --66 -54 -99 -46 -1 --36 --67 --93 --20 -92 -121 -64 -17 --23 --57 --85 --26 -84 -112 -57 -10 --29 --62 --89 --33 -77 -105 -51 -5 --33 --65 --92 --38 -72 -100 -47 -1 --36 --68 --94 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -43 --2 --40 --70 --97 --44 -66 -94 -41 --3 --41 --71 --98 --45 -65 -94 -41 --4 --41 --72 --97 --45 -64 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --119 --85 -34 -78 -76 -26 --16 --51 --80 --104 --125 --81 -40 -85 -84 -33 --10 --46 --75 --100 --121 --74 -46 -92 -91 -39 --6 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -95 -43 --1 --38 --69 --95 --116 --66 -54 -98 -96 -43 --1 --38 --69 --95 --116 --66 -54 -98 -97 -44 -0 --37 --68 --94 --116 --65 -54 -99 -97 -44 -0 --37 --68 --94 --116 --65 -54 -99 -97 -44 -0 --37 --68 --94 --115 --65 -55 -99 -97 -44 -0 --37 --68 --94 --25 -86 -115 -59 -12 --27 --60 --88 --30 -80 -108 -53 -7 --32 --64 --91 --35 -75 -103 -49 -3 --35 --67 --93 --39 -70 -99 -45 -0 --38 --69 --96 --42 -68 -97 -43 --2 --39 --70 --96 --43 -66 -95 -42 --3 --40 --71 --97 --44 -66 -94 -79 -28 --14 --50 --79 --104 --125 --89 -30 -74 -74 -24 --18 --53 --81 --105 --125 --80 -40 -85 -85 -34 --9 --45 --75 --100 --121 --73 -46 -91 -91 -39 --5 --41 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -44 --1 --38 --68 --94 --21 -90 -120 -63 -15 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --90 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -96 -43 --2 --39 --71 --97 --44 -66 -94 -41 --3 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -40 --5 --42 --73 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --45 -64 -92 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -92 -39 --5 --42 --73 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -92 -40 --5 --42 --73 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -63 -93 -40 --4 --41 --73 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -92 -39 --5 --42 --73 --99 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -92 -77 -26 --16 --51 --80 --105 --125 --90 -29 -73 -73 -23 --18 --53 --82 --106 --126 --80 -40 -85 -84 -32 --10 --46 --76 --100 --121 --73 -47 -91 -90 -38 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -96 -43 --2 --38 --69 --95 --117 --67 -53 -98 -96 -43 --1 --38 --69 --94 --116 --67 -54 -98 -97 -44 --1 --38 --68 --94 --116 --66 -54 -98 -98 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --116 --65 -55 -99 -97 -44 -0 --37 --68 --94 --116 --65 -55 -99 -98 -44 -0 --37 --68 --94 --116 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --116 --67 -53 -96 -95 -42 --2 --38 --69 --95 --116 --67 -53 -97 -96 -43 --1 --38 --69 --94 --116 --66 -54 -98 -97 -44 --1 --38 --68 --94 --116 --66 -54 -98 -97 -44 -0 --37 --68 --94 --115 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -46 -1 --36 --67 --93 --19 -92 -121 -65 -17 --23 --56 --84 --26 -84 -112 -57 -10 --29 --62 --89 --33 -77 -105 -51 -5 --33 --65 --92 --37 -72 -100 -46 -1 --37 --68 --95 --40 -69 -97 -44 --1 --38 --69 --96 --42 -67 -96 -43 --2 --39 --70 --96 --118 --83 -35 -79 -77 -27 --15 --50 --79 --103 --124 --79 -41 -86 -85 -34 --9 --45 --75 --99 --120 --73 -47 -91 -91 -39 --5 --41 --72 --97 --118 --69 -50 -95 -94 -42 --2 --39 --70 --96 --117 --67 -52 -96 -95 -43 --2 --38 --69 --95 --26 -85 -114 -58 -11 --28 --60 --88 --30 -79 -108 -53 -7 --32 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --39 -70 -99 -45 -0 --37 --69 --95 --41 -68 -97 -43 --2 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --103 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -90 -39 --5 --41 --72 --97 --118 --70 -51 -95 -94 -41 --3 --39 --70 --96 --117 --68 -52 -97 -95 -43 --1 --38 --69 --95 --27 -84 -113 -58 -11 --28 --61 --88 --31 -79 -107 -52 -6 --32 --64 --92 --36 -74 -103 -48 -3 --35 --67 --93 --40 -70 -98 -44 -0 --38 --69 --96 --42 -68 -97 -43 --2 --39 --70 --96 --43 -66 -95 -42 --2 --40 --71 --97 --44 -66 -94 -79 -28 --14 --49 --79 --104 --124 --89 -30 -75 -74 -24 --17 --52 --81 --105 --125 --80 -40 -85 -85 -34 --9 --45 --75 --100 --121 --73 -47 -91 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -95 -42 --2 --40 --70 --96 --117 --68 -52 -97 -44 -0 --37 --68 --94 --21 -91 -120 -63 -16 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --89 --33 -77 -105 -50 -4 --34 --66 --93 --38 -72 -101 -47 -1 --36 --68 --95 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -81 -30 --13 --49 --78 --103 --124 --88 -31 -75 -75 -25 --17 --51 --81 --105 --125 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -38 --5 --42 --72 --97 --119 --69 -51 -95 -95 -42 --2 --39 --70 --95 --117 --67 -53 -97 -44 -0 --37 --68 --94 --22 -90 -121 -64 -16 --24 --57 --85 --26 -83 -112 -56 -9 --29 --62 --89 --33 -77 -105 -51 -4 --34 --65 --92 --38 -72 -100 -47 -1 --37 --68 --95 --41 -70 -98 -44 --1 --38 --69 --96 --43 -67 -96 -43 --2 --40 --71 --97 --118 --83 -36 -79 -78 -27 --15 --50 --79 --104 --124 --79 -42 -86 -86 -34 --9 --45 --75 --100 --121 --72 -48 -92 -91 -39 --5 --41 --72 --97 --118 --69 -51 -95 -94 -41 --3 --40 --70 --96 --117 --67 -53 -97 -96 -43 --1 --38 --69 --95 --26 -85 -114 -58 -11 --28 --61 --88 --30 -79 -107 -52 -6 --32 --64 --91 --36 -74 -103 -49 -3 --35 --67 --94 --39 -71 -99 -45 -0 --38 --69 --96 --42 -68 -97 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --119 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -42 -87 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --42 --72 --97 --119 --70 -51 -95 -94 -42 --3 --39 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --26 -84 -113 -58 -11 --28 --61 --88 --31 -79 -108 -53 -6 --32 --64 --91 --36 -74 -102 -48 -3 --35 --67 --94 --39 -70 -99 -45 -0 --38 --69 --96 --42 -68 -97 -43 --2 --39 --70 --97 --43 -66 -95 -42 --3 --40 --71 --97 --45 -65 -94 -79 -28 --14 --50 --79 --104 --125 --89 -30 -75 -74 -24 --18 --53 --81 --105 --126 --80 -40 -85 -85 -33 --10 --45 --75 --100 --121 --73 -46 -91 -91 -38 --5 --42 --72 --97 --119 --70 -50 -94 -94 -41 --3 --40 --71 --96 --117 --68 -52 -96 -43 --1 --38 --69 --95 --22 -90 -120 -63 -15 --24 --58 --85 --27 -83 -111 -55 -9 --30 --63 --90 --33 -76 -104 -50 -4 --34 --66 --93 --38 -71 -100 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -96 -80 -29 --13 --49 --79 --103 --124 --89 -30 -75 -75 -25 --17 --52 --81 --105 --125 --80 -40 -85 -85 -33 --10 --45 --75 --100 --121 --73 -47 -92 -90 -38 --6 --42 --72 --98 --119 --70 -50 -94 -93 -40 --3 --40 --71 --96 --118 --68 -52 -96 -44 --1 --38 --68 --94 --22 -90 -120 -63 -16 --24 --57 --85 --27 -83 -111 -55 -9 --30 --62 --90 --34 -76 -104 -50 -4 --35 --66 --93 --38 -72 -99 -46 -0 --37 --69 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --118 --83 -36 -79 -76 -26 --16 --51 --80 --104 --124 --79 -41 -86 -85 -33 --9 --45 --75 --100 --121 --73 -47 -92 -90 -38 --5 --42 --72 --97 --119 --70 -50 -95 -93 -41 --3 --40 --70 --96 --117 --67 -52 -97 -95 -43 --1 --38 --69 --95 --26 -84 -113 -57 -10 --29 --61 --89 --30 -79 -107 -52 -6 --32 --64 --91 --35 -73 -101 -47 -2 --36 --68 --94 --40 -70 -98 -45 --1 --38 --69 --95 --42 -67 -95 -42 --2 --39 --71 --97 --43 -67 -95 -41 --3 --40 --71 --97 --119 --84 -35 -79 -77 -27 --15 --51 --79 --104 --124 --80 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -46 -91 -90 -39 --5 --42 --72 --97 --118 --70 -49 -94 -94 -41 --3 --40 --70 --96 --117 --68 -51 -96 -95 -43 --2 --39 --69 --95 --26 -84 -113 -57 -11 --28 --61 --88 --31 -79 -108 -53 -6 --32 --64 --91 --36 -74 -102 -48 -2 --35 --67 --94 --40 -70 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -95 -80 -29 --13 --49 --79 --103 --124 --88 -31 -75 -75 -25 --17 --51 --81 --104 --125 --79 -41 -86 -85 -34 --9 --45 --75 --100 --120 --73 -47 -91 -91 -39 --5 --41 --72 --97 --118 --69 -50 -95 -94 -41 --3 --40 --70 --96 --117 --67 -52 -97 -95 -43 --1 --38 --69 --95 --116 --66 -54 -98 -96 -43 --1 --38 --69 --95 --116 --66 -54 -98 -97 -44 -0 --38 --68 --94 --116 --65 -55 -99 -98 -44 -0 --37 --68 --94 --116 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -46 -1 --36 --67 --93 --20 -92 -122 -65 -17 --23 --56 --84 --26 -84 -112 -57 -10 --29 --62 --89 --33 -77 -104 -50 -4 --34 --66 --93 --38 -72 -101 -47 -1 --36 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -96 -80 -29 --13 --49 --78 --103 --124 --89 -31 -75 -75 -24 --17 --52 --81 --105 --125 --80 -41 -86 -85 -34 --9 --45 --75 --100 --121 --74 -47 -92 -91 -39 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -44 --1 --38 --68 --94 --21 -90 -120 -63 -15 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --90 --33 -76 -105 -50 -4 --34 --66 --93 --38 -71 -99 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -43 --2 --40 --71 --97 --44 -66 -94 -41 --3 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --45 -65 -94 -40 --4 --41 --72 --98 --45 -64 -92 -40 --5 --41 --73 --98 --46 -65 -93 -40 --4 --41 --72 --98 --120 --85 -34 -78 -76 -26 --16 --51 --80 --104 --124 --80 -40 -85 -85 -33 --10 --45 --75 --100 --121 --74 -46 -91 -91 -38 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --26 -85 -114 -58 -11 --28 --61 --88 --30 -79 -108 -53 -7 --32 --64 --91 --36 -74 -102 -48 -2 --35 --67 --94 --40 -70 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --44 -66 -95 -42 --3 --40 --71 --97 --45 -65 -93 -78 -28 --15 --50 --80 --104 --125 --90 -29 -73 -73 -23 --18 --53 --82 --106 --126 --80 -40 -85 -84 -32 --10 --46 --76 --101 --121 --73 -47 -91 -90 -38 --6 --42 --72 --98 --119 --70 -50 -95 -93 -41 --3 --40 --70 --96 --117 --68 -52 -96 -44 --1 --38 --68 --95 --22 -90 -120 -63 -15 --24 --57 --85 --26 -83 -111 -56 -9 --30 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --39 -72 -100 -46 -1 --37 --68 --95 --41 -68 -97 -44 --1 --39 --70 --96 --43 -67 -96 -80 -29 --14 --49 --79 --103 --124 --89 -31 -75 -74 -25 --17 --52 --81 --105 --125 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -91 -119 -63 -15 --24 --57 --85 --26 -84 -112 -56 -9 --29 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -47 -1 --37 --68 --95 --41 -69 -97 -43 --1 --39 --70 --96 --43 -67 -95 -42 --2 --40 --71 --97 --118 --83 -36 -78 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --69 -50 -95 -94 -42 --2 --39 --70 --96 --117 --67 -52 -97 -96 -43 --1 --38 --69 --95 --26 -85 -113 -58 -11 --28 --61 --88 --31 -79 -108 -53 -7 --32 --64 --91 --35 -74 -102 -48 -2 --35 --67 --94 --40 -70 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --44 -67 -95 -42 --2 --40 --71 --97 --118 --83 -35 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -90 -38 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --39 --70 --96 --117 --68 -52 -97 -95 -43 --2 --38 --69 --95 --117 --67 -53 -98 -96 -44 --1 --38 --68 --95 --116 --66 -54 -99 -97 -44 -0 --37 --68 --94 --116 --66 -54 -99 -97 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --24 -85 -114 -59 -12 --27 --60 --88 --29 -80 -109 -54 -7 --31 --64 --91 --35 -74 -103 -48 -3 --35 --67 --93 --39 -71 -99 -45 -0 --37 --69 --95 --42 -68 -97 -44 --1 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --44 -65 -94 -41 --4 --40 --72 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -92 -40 --5 --41 --72 --98 --46 -64 -93 -77 -27 --16 --51 --80 --104 --125 --91 -29 -73 -73 -23 --18 --53 --82 --105 --126 --81 -39 -85 -84 -33 --10 --46 --76 --100 --121 --73 -46 -91 -91 -38 --5 --42 --72 --97 --119 --70 -50 -94 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -43 --1 --38 --68 --95 --21 -91 -120 -63 -16 --24 --57 --85 --26 -83 -111 -56 -9 --30 --62 --89 --33 -76 -105 -50 -4 --34 --66 --92 --38 -72 -99 -46 -0 --37 --68 --95 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -95 -42 --2 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -90 -39 --5 --42 --72 --97 --118 --69 -51 -95 -94 -41 --3 --39 --70 --96 --117 --67 -52 -97 -96 -43 --1 --38 --69 --95 --116 --66 -54 -98 -97 -44 --1 --38 --68 --94 --116 --66 -54 -99 -97 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --24 -86 -115 -59 -12 --28 --60 --88 --30 -80 -109 -53 -7 --31 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --39 -71 -99 -45 -0 --37 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --119 --84 -36 -79 -77 -27 --15 --50 --79 --104 --124 --80 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --26 -84 -113 -57 -11 --28 --61 --88 --31 -79 -108 -53 -6 --32 --64 --91 --36 -74 -102 -48 -2 --35 --67 --94 --40 -70 -98 -45 -0 --38 --69 --96 --42 -67 -95 -42 --2 --40 --71 --97 --44 -66 -94 -41 --4 --41 --71 --97 --45 -65 -93 -78 -28 --15 --50 --80 --104 --125 --90 -29 -73 -73 -23 --18 --53 --82 --105 --125 --80 -40 -84 -84 -33 --10 --46 --76 --100 --121 --73 -46 -91 -90 -38 --6 --42 --72 --97 --119 --70 -50 -94 -93 -40 --3 --40 --71 --96 --117 --68 -52 -96 -44 --1 --38 --68 --94 --22 -90 -120 -63 -16 --24 --57 --85 --26 -83 -111 -56 -9 --30 --62 --90 --34 -76 -105 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --40 -69 -98 -44 --1 --38 --70 --96 --42 -67 -95 -42 --2 --40 --71 --97 --44 -66 -95 -42 --3 --40 --71 --97 --45 -65 -93 -40 --4 --41 --72 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -64 -92 -40 --5 --42 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -40 --5 --42 --73 --98 --120 --85 -34 -77 -75 -25 --17 --51 --81 --105 --125 --80 -40 -85 -84 -33 --10 --46 --76 --100 --121 --73 -47 -92 -90 -38 --5 --42 --72 --98 --118 --70 -50 -95 -94 -41 --3 --39 --70 --96 --117 --67 -52 -97 -96 -43 --1 --38 --69 --95 --116 --67 -53 -98 -96 -44 --1 --38 --69 --94 --116 --66 -54 -99 -97 -44 -0 --37 --68 --94 --115 --66 -54 -98 -97 -44 -0 --37 --68 --94 --116 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --24 -86 -115 -59 -12 --27 --60 --88 --30 -80 -109 -54 -7 --31 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --39 -71 -99 -46 -0 --37 --69 --95 --41 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --118 --84 -35 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --120 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -42 --3 --39 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --26 -85 -114 -58 -11 --28 --61 --88 --30 -79 -107 -53 -6 --32 --64 --91 --35 -74 -102 -48 -3 --35 --67 --93 --39 -70 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --44 -66 -95 -42 --3 --40 --71 --97 --45 -65 -94 -78 -27 --15 --50 --80 --104 --125 --90 -30 -74 -73 -23 --18 --53 --82 --106 --126 --80 -41 -85 -85 -33 --10 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --69 -51 -95 -95 -42 --2 --39 --70 --95 --117 --67 -53 -97 -44 -0 --37 --68 --94 --21 -90 -120 -63 -16 --24 --57 --85 --26 -84 -112 -56 -9 --29 --62 --89 --33 -76 -105 -50 -4 --34 --66 --93 --38 -72 -100 -47 -1 --37 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -96 -80 -29 --13 --49 --79 --103 --124 --89 -31 -75 -75 -25 --17 --52 --81 --105 --125 --80 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -42 --3 --39 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -90 -120 -63 -15 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --89 --33 -76 -103 -49 -4 --34 --66 --93 --39 -72 -100 -46 -1 --37 --68 --95 --41 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --2 --40 --71 --97 --44 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -39 --5 --42 --72 --99 --45 -64 -93 -40 --5 --42 --72 --98 --119 --85 -34 -78 -76 -26 --16 --51 --80 --104 --124 --80 -40 -85 -84 -33 --10 --46 --75 --100 --121 --74 -46 -91 -90 -38 --6 --42 --72 --97 --118 --70 -49 -95 -94 -41 --3 --40 --70 --96 --117 --68 -51 -97 -96 -43 --1 --38 --69 --95 --116 --66 -53 -97 -97 -44 --1 --38 --69 --94 --116 --66 -53 -99 -97 -44 -0 --37 --68 --94 --116 --66 -54 -98 -97 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --116 --66 -54 -99 -97 -44 -0 --37 --68 --94 --25 -86 -115 -59 -12 --27 --60 --87 --29 -80 -108 -53 -7 --32 --64 --91 --35 -75 -103 -49 -3 --35 --67 --93 --39 -71 -98 -45 -0 --38 --69 --95 --41 -68 -97 -44 --2 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -94 -41 --3 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -94 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -78 -27 --15 --50 --80 --104 --125 --91 -29 -74 -73 -23 --18 --53 --82 --105 --126 --80 -40 -85 -84 -33 --10 --46 --75 --100 --121 --74 -47 -91 -90 -38 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -95 -42 --2 --39 --69 --95 --116 --67 -53 -98 -97 -44 --1 --38 --69 --94 --116 --66 -53 -98 -97 -44 -0 --37 --68 --94 --116 --66 -54 -98 -98 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --116 --65 -54 -98 -45 -1 --36 --67 --94 --20 -92 -121 -64 -17 --23 --56 --84 --25 -84 -113 -57 -10 --29 --62 --89 --33 -77 -105 -51 -5 --34 --65 --92 --37 -72 -100 -46 -1 --37 --68 --95 --41 -70 -97 -44 --1 --38 --70 --96 --43 -67 -96 -43 --2 --39 --71 --97 --44 -66 -95 -41 --3 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --119 --85 -34 -77 -76 -26 --16 --51 --80 --104 --125 --80 -40 -85 -84 -33 --10 --46 --75 --100 --121 --73 -46 -91 -90 -39 --5 --42 --72 --97 --118 --70 -50 -94 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -95 -43 --2 --38 --69 --95 --116 --67 -53 -98 -96 -44 --1 --38 --69 --95 --116 --66 -54 -98 -96 -44 --1 --38 --68 --94 --116 --66 -54 -99 -97 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -44 -0 --37 --68 --94 --115 --66 -54 -99 -98 -44 -0 --37 --68 --94 --24 -85 -114 -58 -11 --28 --60 --88 --30 -80 -109 -54 -7 --31 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --39 -71 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -95 -42 --3 --40 --71 --97 --44 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -92 -40 --5 --42 --73 --98 --46 -64 -93 -78 -27 --15 --50 --80 --104 --125 --90 -29 -74 -73 -23 --18 --53 --81 --105 --126 --81 -40 -85 -84 -33 --10 --46 --75 --100 --121 --74 -46 -91 -90 -38 --6 --42 --72 --97 --119 --70 -49 -94 -94 -41 --3 --40 --70 --96 --117 --68 -51 -96 -96 -43 --2 --39 --69 --95 --116 --67 -52 -97 -97 -44 --1 --38 --69 --94 --116 --66 -53 -98 -97 -44 -0 --37 --68 --94 --116 --66 -54 -98 -97 -45 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --116 --65 -54 -99 -46 -1 --36 --67 --93 --20 -92 -121 -64 -16 --24 --57 --85 --25 -84 -112 -56 -10 --29 --62 --89 --33 -77 -105 -51 -5 --34 --65 --92 --37 -72 -100 -46 -1 --37 --68 --95 --41 -69 -98 -44 --1 --38 --70 --96 --42 -67 -95 -42 --2 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --69 -51 -95 -94 -41 --3 --39 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --26 -84 -113 -58 -11 --28 --61 --88 --30 -79 -107 -52 -6 --32 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --40 -70 -99 -45 -0 --38 --69 --95 --42 -67 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --45 -65 -94 -41 --3 --41 --71 --97 --45 -65 -93 -40 --4 --41 --72 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -64 -92 -40 --5 --41 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -92 -40 --4 --42 --72 --98 --46 -64 -93 -77 -27 --15 --51 --80 --104 --125 --91 -29 -73 -73 -23 --18 --53 --82 --105 --126 --81 -39 -84 -84 -33 --10 --46 --76 --100 --121 --74 -46 -91 -90 -38 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --67 -53 -97 -44 --1 --37 --68 --94 --21 -91 -121 -64 -16 --24 --57 --85 --26 -84 -111 -56 -9 --30 --62 --90 --33 -77 -105 -51 -4 --34 --66 --92 --37 -72 -100 -46 -1 --37 --68 --95 --40 -70 -98 -44 --1 --38 --69 --96 --42 -67 -96 -81 -30 --13 --48 --78 --103 --124 --88 -31 -75 -75 -25 --17 --52 --81 --105 --125 --79 -40 -85 -85 -33 --9 --45 --75 --100 --121 --73 -47 -91 -91 -38 --5 --42 --72 --97 --119 --70 -50 -94 -93 -41 --3 --40 --71 --96 --117 --68 -52 -96 -95 -42 --2 --39 --69 --95 --117 --66 -54 -98 -96 -43 --1 --38 --69 --95 --116 --66 -54 -99 -98 -44 -0 --37 --68 --94 --116 --64 -56 -100 -99 -46 -1 --36 --67 --93 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --116 --65 -54 -99 -46 -1 --36 --67 --93 --20 -92 -121 -65 -17 --23 --57 --84 --26 -84 -111 -56 -9 --29 --62 --89 --34 -77 -105 -50 -4 --34 --65 --92 --38 -72 -99 -45 -0 --37 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -66 -95 -42 --3 --40 --71 --97 --44 -66 -94 -41 --4 --41 --71 --97 --45 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --5 --42 --72 --98 --120 --84 -35 -79 -76 -27 --15 --50 --80 --104 --124 --79 -40 -85 -85 -33 --9 --46 --75 --100 --121 --74 -46 -91 -90 -38 --5 --42 --72 --97 --118 --70 -50 -94 -93 -41 --3 --40 --70 --96 --117 --68 -51 -96 -95 -42 --2 --39 --70 --95 --117 --67 -53 -97 -96 -43 --1 --38 --69 --95 --116 --66 -54 -98 -97 -44 --1 --38 --68 --95 --116 --65 -54 -99 -97 -44 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --25 -86 -115 -59 -12 --27 --60 --87 --29 -80 -108 -53 -7 --32 --64 --91 --35 -75 -103 -49 -3 --35 --66 --93 --39 -71 -99 -45 -0 --37 --69 --95 --41 -69 -96 -43 --2 --39 --70 --96 --44 -66 -95 -42 --3 --40 --71 --97 --44 -66 -94 -78 -28 --14 --50 --80 --104 --125 --90 -30 -74 -73 -23 --18 --53 --82 --105 --126 --80 -40 -85 -84 -33 --10 --46 --75 --100 --121 --73 -47 -91 -90 -38 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -90 -120 -63 -16 --24 --57 --85 --26 -84 -111 -56 -9 --29 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -95 -42 --2 --40 --71 --97 --44 -65 -94 -41 --4 --41 --72 --98 --44 -65 -94 -41 --4 --41 --72 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -65 -93 -40 --4 --41 --72 --98 --45 -64 -92 -40 --5 --42 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -92 -40 --5 --42 --73 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -63 -93 -40 --4 --42 --73 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -92 -40 --5 --42 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -40 --5 --41 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -92 -39 --5 --42 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -39 --5 --42 --73 --98 --46 -64 -93 -40 --5 --42 --72 --98 --46 -64 -92 -40 --5 --42 --73 --98 --46 -65 -93 -40 --4 --41 --72 --98 --46 -63 -93 -77 -27 --15 --51 --80 --104 --125 --90 -29 -73 -73 -23 --18 --53 --82 --105 --126 --81 -40 -84 -84 -33 --10 --46 --76 --100 --121 --74 -46 -90 -90 -38 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -95 -42 --2 --39 --69 --95 --117 --67 -53 -98 -97 -43 --1 --38 --69 --94 --116 --67 -54 -98 -97 -44 --1 --37 --68 --94 --116 --66 -54 -99 -98 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -98 -98 -45 -0 --37 --68 --94 --115 --65 -55 -98 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --116 --65 -55 -99 -98 -45 -0 --37 --68 --94 --116 --66 -54 -99 -46 -1 --36 --67 --93 --20 -92 -121 -64 -17 --23 --57 --85 --26 -84 -112 -57 -10 --29 --62 --89 --33 -76 -105 -50 -4 --34 --66 --93 --37 -72 -100 -47 -1 --36 --68 --94 --41 -69 -97 -44 --1 --38 --70 --96 --42 -68 -96 -43 --2 --39 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --74 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --39 --70 --96 --117 --67 -52 -97 -95 -43 --1 --38 --69 --95 --26 -85 -114 -58 -11 --28 --61 --88 --30 -80 -108 -53 -6 --32 --64 --91 --35 -74 -103 -48 -3 --35 --67 --94 --40 -70 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --44 -67 -95 -42 --3 --40 --71 --97 --118 --83 -35 -78 -77 -27 --15 --50 --79 --104 --124 --79 -41 -85 -85 -34 --9 --45 --75 --100 --121 --73 -47 -91 -91 -39 --5 --41 --72 --97 --118 --69 -50 -95 -94 -41 --3 --40 --70 --96 --117 --67 -52 -97 -95 -43 --1 --38 --69 --95 --26 -85 -114 -58 -11 --28 --61 --88 --30 -79 -108 -53 -7 --32 --64 --91 --36 -74 -102 -48 -2 --35 --67 --94 --39 -70 -98 -45 -0 --38 --69 --96 --42 -68 -96 -43 --2 --39 --70 --96 --43 -66 -95 -42 --3 --40 --71 --97 --44 -66 -94 -78 -28 --15 --50 --80 --104 --125 --89 -30 -74 -73 -24 --18 --52 --81 --105 --125 --80 -40 -85 -84 -33 --10 --46 --75 --100 --121 --73 -47 -91 -91 -38 --5 --41 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -90 -119 -63 -15 --24 --58 --85 --26 -83 -111 -56 -9 --29 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --37 -73 -101 -47 -1 --36 --68 --94 --40 -70 -98 -45 -0 --38 --69 --96 --42 -68 -97 -81 -30 --13 --48 --78 --103 --123 --88 -32 -76 -75 -25 --16 --51 --80 --104 --125 --79 -41 -86 -86 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -51 -97 -44 --1 --38 --68 --94 --21 -90 -120 -63 -15 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --89 --34 -76 -104 -49 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -97 -43 --1 --39 --70 --96 --43 -67 -96 -43 --2 --39 --70 --96 --118 --83 -36 -79 -77 -27 --15 --50 --79 --103 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --74 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -93 -41 --3 --40 --70 --96 --117 --69 -51 -96 -95 -42 --2 --39 --70 --95 --27 -83 -112 -57 -10 --29 --62 --89 --31 -79 -107 -52 -6 --33 --65 --92 --36 -73 -102 -48 -2 --36 --67 --94 --39 -70 -98 -45 -0 --38 --69 --96 --42 -68 -96 -43 --2 --39 --70 --96 --43 -66 -94 -41 --3 --40 --71 --97 --119 --84 -36 -79 -76 -26 --16 --50 --80 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -95 -43 --2 --38 --69 --95 --26 -84 -113 -58 -11 --28 --61 --88 --30 -79 -107 -52 -6 --32 --64 --92 --36 -74 -102 -48 -2 --35 --67 --94 --39 -70 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --39 --70 --97 --44 -67 -95 -42 --3 --40 --71 --97 --44 -66 -93 -78 -28 --14 --50 --80 --104 --125 --90 -29 -73 -73 -24 --18 --52 --81 --105 --126 --80 -40 -85 -84 -33 --10 --46 --75 --100 --121 --73 -47 -91 -91 -38 --5 --42 --72 --97 --119 --69 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -90 -120 -63 -16 --24 --57 --85 --26 -83 -111 -56 -9 --30 --62 --89 --33 -76 -105 -50 -4 --34 --66 --92 --38 -72 -100 -46 -1 --37 --68 --95 --40 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -80 -29 --13 --49 --78 --103 --124 --89 -31 -75 -74 -25 --17 --52 --81 --105 --125 --80 -40 -85 -85 -33 --9 --45 --75 --100 --121 --73 -46 -91 -91 -38 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -43 --1 --38 --69 --95 --21 -91 -120 -63 -16 --24 --57 --85 --26 -83 -111 -56 -9 --29 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -47 -1 --37 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -96 -42 --2 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -90 -38 --5 --42 --72 --97 --118 --69 -51 -95 -94 -41 --3 --39 --70 --96 --117 --67 -52 -97 -95 -43 --1 --38 --69 --95 --26 -85 -114 -58 -11 --28 --61 --88 --30 -79 -107 -52 -6 --32 --64 --91 --36 -74 -102 -48 -3 --35 --67 --93 --39 -70 -98 -45 -0 --38 --69 --96 --42 -68 -97 -43 --2 --39 --70 --96 --43 -66 -95 -42 --3 --40 --71 --97 --118 --83 -36 -79 -76 -27 --15 --50 --80 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --99 --121 --73 -47 -92 -91 -39 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --26 -84 -113 -58 -11 --28 --61 --88 --30 -79 -108 -53 -6 --32 --64 --91 --36 -74 -102 -48 -2 --36 --67 --94 --39 -70 -99 -45 -0 --38 --69 --96 --42 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --45 -66 -94 -79 -28 --14 --50 --79 --104 --124 --90 -30 -74 -74 -24 --18 --52 --81 --105 --125 --80 -40 -85 -85 -33 --10 --45 --75 --100 --121 --74 -46 -92 -91 -39 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -95 -42 --2 --39 --69 --95 --116 --67 -54 -98 -97 -44 --1 --38 --68 --94 --116 --66 -54 -98 -97 -44 --1 --38 --68 --94 --116 --66 -54 -99 -97 -44 -0 --37 --68 --94 --116 --66 -54 -99 -98 -44 -0 --37 --68 --94 --116 --66 -54 -99 -46 -1 --36 --67 --93 --20 -92 -121 -64 -16 --23 --57 --85 --26 -84 -112 -56 -10 --29 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --37 -73 -101 -47 -1 --36 --68 --94 --41 -69 -97 -44 --1 --38 --70 --96 --42 -67 -95 -80 -29 --13 --49 --79 --103 --124 --88 -31 -75 -74 -25 --17 --52 --81 --105 --125 --79 -41 -86 -85 -34 --9 --45 --75 --99 --121 --73 -47 -92 -91 -39 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -91 -120 -63 -15 --24 --57 --85 --27 -83 -111 -56 -9 --30 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -68 -97 -44 --1 --38 --70 --96 --43 -67 -95 -42 --2 --40 --71 --97 --44 -66 -95 -42 --3 --40 --71 --97 --44 -65 -94 -41 --4 --41 --71 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --119 --85 -34 -78 -76 -26 --16 --51 --80 --104 --124 --80 -40 -85 -84 -33 --10 --45 --75 --100 --121 --74 -46 -92 -90 -38 --6 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --26 -84 -113 -57 -10 --29 --61 --89 --30 -79 -108 -53 -6 --32 --64 --91 --35 -74 -102 -48 -2 --35 --67 --94 --39 -71 -99 -45 -0 --37 --69 --95 --42 -68 -97 -43 --1 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --45 -65 -94 -79 -28 --14 --49 --79 --104 --124 --90 -29 -74 -74 -24 --18 --52 --81 --105 --125 --80 -40 -85 -85 -33 --10 --45 --75 --100 --121 --73 -47 -92 -91 -38 --5 --41 --72 --97 --119 --70 -50 -95 -93 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --37 --68 --94 --22 -90 -120 -64 -16 --24 --57 --85 --26 -83 -111 -56 -9 --30 --62 --90 --34 -77 -105 -50 -4 --34 --66 --93 --37 -72 -100 -46 -1 --37 --68 --95 --40 -70 -98 -45 --1 --38 --69 --96 --42 -68 -96 -81 -30 --12 --48 --78 --103 --123 --88 -32 -75 -75 -25 --16 --51 --81 --105 --125 --79 -41 -86 -86 -34 --9 --45 --75 --100 --121 --73 -47 -91 -91 -38 --5 --41 --72 --97 --119 --70 -50 -95 -94 -41 --3 --39 --70 --96 --117 --68 -52 -96 -44 --1 --38 --68 --94 --21 -90 -120 -63 -15 --24 --58 --85 --26 -83 -111 -56 -9 --30 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -68 -98 -44 --1 --38 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --80 -41 -86 -85 -33 --9 --45 --75 --100 --121 --74 -47 -92 -90 -38 --5 --42 --72 --97 --118 --71 -50 -95 -93 -41 --3 --40 --70 --96 --117 --69 -51 -96 -95 -43 --2 --39 --69 --95 --26 -83 -112 -57 -10 --29 --62 --89 --31 -79 -107 -52 -6 --32 --65 --92 --36 -74 -102 -47 -2 --36 --67 --94 --40 -69 -98 -44 --1 --38 --69 --96 --42 -67 -95 -42 --2 --40 --71 --97 --44 -67 -95 -42 --3 --40 --71 --97 --119 --84 -35 -79 -77 -27 --15 --50 --79 --104 --124 --80 -40 -86 -85 -34 --9 --45 --75 --100 --121 --73 -46 -91 -91 -38 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -95 -43 --2 --38 --69 --95 --116 --66 -53 -97 -97 -44 --1 --38 --69 --95 --116 --66 -54 -98 -97 -44 --1 --38 --68 --94 --116 --65 -54 -98 -97 -44 -0 --37 --68 --94 --116 --65 -54 -99 -97 -44 -0 --37 --68 --94 --116 --65 -54 -99 -98 -45 -0 --37 --68 --94 --24 -86 -115 -59 -12 --27 --60 --88 --29 -81 -108 -53 -7 --31 --64 --91 --35 -75 -103 -49 -3 --35 --67 --93 --39 -71 -99 -45 -0 --38 --69 --95 --42 -68 -97 -44 --2 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -94 -41 --4 --41 --71 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --73 --98 --46 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -78 -27 --15 --50 --80 --104 --125 --90 -29 -74 -73 -24 --18 --53 --82 --105 --126 --81 -40 -85 -84 -33 --10 --46 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -90 -120 -64 -16 --24 --57 --85 --26 -83 -111 -56 -9 --30 --62 --89 --34 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -68 -97 -44 --1 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --67 -52 -97 -96 -43 --1 --39 --69 --95 --116 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -99 -97 -45 -0 --37 --68 --94 --116 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -98 -97 -45 -0 --37 --68 --94 --24 -85 -114 -58 -11 --28 --60 --88 --30 -80 -108 -53 -7 --32 --64 --91 --35 -74 -102 -48 -2 --35 --67 --94 --40 -71 -99 -45 -0 --38 --69 --95 --42 -68 -96 -43 --2 --40 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --118 --84 -35 -79 -77 -27 --15 --50 --79 --104 --124 --79 -40 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --42 --72 --97 --118 --69 -52 -96 -95 -42 --2 --39 --69 --95 --117 --67 -52 -97 -95 -43 --2 --38 --69 --95 --26 -85 -114 -58 -11 --28 --61 --88 --30 -80 -107 -52 -6 --32 --64 --92 --36 -74 -102 -48 -2 --36 --67 --94 --40 -70 -98 -44 --1 --38 --69 --96 --42 -68 -96 -43 --2 --39 --70 --96 --43 -66 -94 -42 --3 --40 --71 --97 --44 -66 -94 -78 -28 --14 --50 --79 --104 --125 --90 -30 -74 -73 -24 --18 --52 --81 --105 --126 --80 -40 -85 -84 -33 --10 --45 --75 --100 --121 --73 -47 -92 -90 -38 --5 --42 --72 --97 --119 --70 -50 -94 -94 -41 --3 --40 --70 --96 --117 --67 -52 -96 -44 --1 --37 --68 --94 --20 -92 -121 -64 -17 --23 --56 --84 --26 -83 -111 -56 -9 --30 --62 --90 --33 -76 -105 -50 -4 --34 --66 --93 --39 -71 -100 -46 -1 --37 --68 --95 --41 -69 -97 -43 --1 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -94 -41 --4 --41 --72 --98 --45 -65 -94 -41 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --73 --98 --46 -64 -93 -40 --4 --41 --72 --98 --119 --85 -34 -78 -76 -26 --16 --51 --80 --104 --125 --80 -40 -85 -84 -33 --10 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --69 -51 -95 -94 -42 --2 --39 --70 --95 --117 --67 -52 -96 -95 -43 --1 --38 --69 --95 --116 --66 -53 -97 -96 -44 --1 --38 --69 --95 --116 --66 -54 -98 -97 -44 --1 --38 --69 --94 --116 --65 -54 -99 -97 -44 --1 --37 --68 --94 --116 --65 -54 -99 -97 -44 -0 --37 --68 --94 --116 --65 -55 -99 -97 -44 -0 --37 --68 --94 --25 -86 -115 -59 -12 --28 --60 --88 --29 -80 -107 -53 -7 --32 --64 --91 --35 -75 -103 -49 -3 --35 --67 --93 --39 -70 -99 -45 -0 --37 --69 --95 --42 -68 -97 -43 --2 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --119 --83 -37 -80 -79 -28 --14 --49 --79 --103 --123 --79 -42 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -95 -42 --2 --39 --69 --95 --26 -84 -113 -58 -11 --28 --61 --88 --30 -79 -107 -52 -6 --32 --64 --91 --36 -73 -102 -48 -2 --35 --67 --94 --40 -70 -98 -45 --1 --38 --69 --96 --42 -68 -96 -43 --2 --39 --70 --97 --43 -66 -95 -41 --3 --40 --71 --97 --44 -66 -94 -79 -28 --14 --50 --79 --104 --125 --90 -30 -74 -74 -24 --18 --52 --81 --105 --125 --80 -41 -85 -85 -33 --10 --45 --75 --100 --121 --72 -48 -92 -92 -39 --4 --41 --71 --97 --118 --69 -51 -95 -95 -42 --2 --39 --70 --95 --117 --67 -53 -97 -44 -0 --37 --68 --94 --21 -91 -121 -64 -16 --24 --57 --85 --26 -83 -111 -56 -9 --30 --62 --90 --33 -76 -105 -50 -4 --34 --66 --93 --38 -71 -100 -46 -1 --37 --68 --95 --40 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -80 -29 --13 --49 --78 --103 --124 --89 -30 -75 -75 -25 --17 --52 --81 --105 --125 --79 -40 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -91 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --2 --39 --70 --96 --117 --68 -52 -97 -44 --1 --37 --68 --94 --20 -91 -121 -64 -16 --24 --57 --85 --26 -84 -112 -56 -9 --29 --62 --89 --34 -76 -105 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --42 -68 -96 -43 --2 --39 --70 --96 --44 -66 -93 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -63 -92 -39 --5 --42 --73 --98 --46 -64 -92 -39 --5 --42 --72 --98 --46 -63 -92 -40 --5 --42 --73 --98 --46 -64 -92 -39 --5 --42 --72 --98 --46 -63 -93 -40 --5 --42 --73 --98 --119 --85 -33 -77 -75 -25 --17 --51 --81 --104 --125 --80 -40 -85 -84 -33 --10 --46 --75 --100 --121 --74 -47 -92 -91 -38 --5 --42 --72 --97 --118 --69 -51 -96 -94 -42 --2 --39 --70 --95 --117 --68 -52 -97 -95 -43 --2 --38 --69 --95 --116 --67 -53 -98 -96 -43 --1 --38 --68 --95 --116 --67 -54 -98 -97 -44 --1 --38 --68 --94 --116 --67 -54 -98 -97 -44 --1 --37 --68 --94 --116 --66 -54 -99 -97 -45 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --24 -86 -114 -58 -11 --28 --60 --88 --30 -80 -108 -53 -7 --32 --64 --91 --35 -74 -102 -48 -3 --35 --67 --94 --39 -71 -99 -45 -0 --37 --69 --95 --41 -68 -97 -44 --2 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --43 -66 -95 -41 --3 --40 --71 --97 --44 -66 -95 -42 --3 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -92 -39 --5 --42 --73 --98 --46 -64 -93 -77 -27 --15 --51 --80 --104 --125 --90 -29 -73 -72 -23 --18 --53 --82 --106 --126 --81 -40 -84 -84 -32 --10 --46 --76 --100 --121 --74 -46 -91 -90 -38 --6 --42 --72 --97 --119 --71 -49 -94 -93 -41 --3 --40 --71 --96 --117 --69 -51 -96 -96 -43 --2 --39 --69 --95 --116 --67 -53 -97 -97 -44 --1 --38 --69 --94 --116 --66 -54 -98 -97 -44 -0 --38 --68 --94 --116 --66 -54 -98 -98 -45 -0 --37 --68 --94 --116 --66 -54 -99 -98 -45 -0 --37 --68 --94 --115 --66 -54 -99 -46 -1 --36 --67 --93 --19 -92 -121 -65 -17 --23 --56 --84 --26 -84 -112 -57 -10 --29 --62 --89 --33 -77 -105 -50 -4 --34 --65 --93 --38 -72 -101 -47 -1 --37 --68 --95 --40 -69 -97 -44 --1 --39 --70 --96 --42 -67 -96 -43 --2 --39 --71 --97 --44 -66 -94 -41 --3 --40 --72 --98 --45 -66 -94 -41 --4 --41 --72 --97 --45 -64 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --119 --85 -33 -77 -76 -26 --16 --51 --80 --104 --125 --80 -40 -85 -84 -33 --10 --46 --75 --100 --121 --74 -46 -91 -91 -38 --5 --42 --72 --97 --118 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -95 -43 --1 --38 --69 --95 --116 --67 -53 -97 -96 -44 --1 --38 --69 --94 --116 --66 -54 -98 -97 -44 --1 --38 --68 --94 --116 --66 -54 -98 -97 -44 -0 --37 --68 --94 --115 --65 -55 -99 -97 -44 -0 --37 --68 --94 --116 --65 -55 -99 -97 -44 -0 --37 --68 --94 --24 -86 -115 -59 -12 --27 --60 --87 --29 -80 -108 -53 -7 --32 --64 --91 --35 -75 -103 -49 -3 --35 --66 --93 --38 -71 -99 -45 -0 --37 --68 --95 --42 -68 -97 -44 --2 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -95 -41 --3 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -94 -40 --4 --41 --72 --98 --46 -64 -94 -41 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -77 -27 --16 --51 --80 --105 --125 --90 -29 -73 -72 -23 --18 --53 --82 --106 --126 --80 -40 -85 -84 -32 --10 --46 --76 --100 --121 --73 -47 -91 -90 -38 --5 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -51 -96 -96 -43 --1 --38 --69 --95 --116 --67 -53 -97 -97 -44 --1 --38 --69 --94 --116 --66 -53 -98 -97 -44 --1 --38 --68 --94 --116 --66 -53 -98 -98 -45 -0 --37 --68 --94 --115 --66 -54 -98 -98 -45 -0 --37 --68 --94 --115 --65 -54 -98 -45 -1 --36 --67 --94 --20 -92 -122 -64 -17 --23 --56 --84 --25 -84 -112 -57 -10 --29 --62 --89 --33 -77 -105 -51 -4 --33 --65 --92 --38 -72 -100 -47 -1 --36 --68 --94 --41 -69 -97 -44 --1 --38 --70 --96 --43 -67 -96 -43 --2 --40 --71 --97 --118 --83 -35 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -51 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -95 -43 --2 --38 --69 --95 --26 -84 -114 -58 -11 --28 --61 --88 --30 -79 -107 -52 -6 --32 --64 --91 --36 -74 -102 -48 -2 --35 --67 --94 --39 -70 -98 -44 --1 --38 --69 --96 --42 -68 -96 -43 --2 --39 --70 --97 --43 -66 -95 -42 --3 --40 --71 --97 --44 -66 -94 -41 --3 --40 --71 --97 --45 -65 -93 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --5 --42 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -93 -78 -27 --15 --51 --80 --104 --125 --91 -29 -73 -72 -23 --18 --53 --82 --106 --126 --81 -40 -85 -84 -33 --10 --46 --76 --100 --121 --74 -46 -91 -90 -38 --6 --42 --72 --97 --119 --70 -50 -95 -94 -41 --3 --40 --70 --96 --117 --68 -52 -97 -44 --1 --38 --68 --94 --21 -90 -119 -63 -15 --24 --58 --85 --27 -83 -111 -56 -9 --30 --62 --89 --33 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --40 -69 -98 -44 --1 --38 --70 --96 --42 -68 -96 -81 -30 --13 --49 --78 --103 --124 --88 -32 -76 -75 -25 --17 --51 --81 --105 --125 --79 -41 -86 -86 -34 --9 --45 --75 --99 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -95 -42 --2 --39 --70 --95 --117 --68 -52 -97 -96 -43 --1 --38 --69 --95 --116 --66 -53 -97 -97 -44 --1 --38 --69 --94 --116 --66 -54 -98 -97 -44 -0 --37 --68 --94 --116 --66 -54 -98 -98 -45 -0 --37 --68 --94 --115 --65 -54 -98 -98 -44 -0 --37 --68 --94 --116 --65 -54 -99 -46 -1 --36 --67 --93 --20 -92 -122 -65 -17 --23 --56 --84 --25 -84 -111 -56 -9 --29 --62 --89 --33 -77 -105 -51 -5 --34 --65 --92 --37 -72 -100 -46 -1 --37 --68 --95 --41 -69 -98 -44 --1 --38 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --45 -65 -94 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -92 -40 --5 --42 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -92 -39 --5 --42 --73 --98 --120 --85 -34 -77 -75 -25 --17 --51 --81 --105 --125 --80 -40 -85 -84 -32 --10 --46 --76 --101 --121 --74 -46 -91 -90 -38 --6 --42 --72 --98 --119 --71 -49 -94 -93 -41 --3 --40 --71 --96 --118 --68 -51 -96 -95 -42 --2 --39 --69 --95 --117 --67 -53 -98 -96 -43 --1 --38 --69 --95 --116 --66 -54 -98 -98 -44 -0 --37 --68 --94 --115 --66 -53 -98 -97 -45 -0 --37 --68 --94 --115 --65 -54 -98 -98 -45 -0 --37 --68 --94 --115 --66 -54 -98 -98 -45 -0 --37 --68 --94 --24 -86 -114 -58 -12 --28 --60 --88 --30 -80 -109 -54 -7 --32 --64 --91 --35 -74 -102 -48 -2 --35 --67 --94 --39 -71 -99 -45 -0 --37 --69 --95 --41 -68 -96 -43 --2 --39 --70 --97 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -95 -79 -29 --14 --49 --79 --103 --124 --89 -30 -74 -74 -24 --17 --52 --81 --105 --125 --80 -40 -85 -85 -33 --9 --45 --75 --100 --121 --73 -47 -91 -91 -38 --5 --41 --72 --97 --119 --70 -51 -95 -94 -41 --3 --39 --70 --96 --117 --68 -53 -97 -44 -0 --37 --68 --94 --21 -90 -119 -63 -15 --24 --58 --85 --26 -83 -111 -56 -9 --30 --62 --89 --34 -76 -104 -50 -4 --34 --66 --93 --38 -72 -100 -46 -1 --37 --68 --95 --41 -69 -97 -44 --1 --39 --70 --96 --43 -67 -95 -42 --3 --40 --71 --97 --44 -66 -95 -42 --3 --40 --71 --97 --44 -65 -93 -41 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --45 -65 -93 -40 --4 --41 --72 --98 --46 -63 -93 -40 --4 --41 --72 --98 --46 -64 -92 -40 --5 --41 --72 --98 --46 -64 -93 -40 --5 --42 --73 --98 --46 -64 -93 -40 --5 --42 --72 --98 --46 -64 -92 -40 --5 --42 --72 --98 --45 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --45 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -92 -40 --5 --42 --73 --98 --46 -65 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -93 -40 --5 --41 --72 --98 --46 -64 -93 -40 --4 --42 --72 --98 --46 -64 -92 -40 --5 --42 --72 --98 --46 -64 -93 -40 --5 --42 --72 --98 --46 -64 -92 -39 --5 --42 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -93 -40 --4 --41 --72 --98 --46 -64 -92 -78 -27 --15 --51 --80 --105 --125 --90 -29 -73 -73 -24 --18 --53 --82 --105 --126 --81 -39 -84 -84 -33 --10 --46 --76 --100 --121 --74 -46 -91 -90 -38 --5 --42 --72 --97 --119 --70 -50 -94 -94 -41 --3 --40 --70 --96 --117 --68 -52 -96 -95 -42 --1 --39 --69 --95 --116 --67 -53 -97 -96 -43 --1 --38 --69 --94 --116 --66 -54 -98 -97 -44 --1 --37 --69 --94 --116 --65 -54 -98 -97 -44 -0 --37 --68 --94 --116 --65 -55 -99 -97 -44 -0 --37 --68 --94 --116 --65 -55 -99 -98 -45 -0 --37 --68 --94 --116 --65 -55 -99 -98 -45 -0 --37 --68 --94 --116 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -98 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -54 -98 -98 -45 -0 --37 --68 --94 --115 --65 -54 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -98 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -98 -45 -0 --37 --68 --94 --115 --65 -55 -99 -46 -1 --36 --67 --93 --20 -92 -122 -65 -17 --23 --56 --84 --25 -84 -112 -56 -10 --29 --62 --89 --33 -77 -105 -51 -5 --33 --65 --92 --37 -72 -100 -46 -1 --37 --68 --95 --41 -70 -98 -44 --1 --38 --69 --96 --42 -68 -96 -43 --2 --39 --70 --97 --118 --83 -36 -79 -77 -27 --15 --50 --79 --104 --124 --79 -41 -86 -85 -34 --9 --45 --75 --100 --121 --73 -47 -92 -91 -39 --5 --41 --72 --97 --118 --70 -50 -95 -94 -41 --3 --39 --70 --96 --117 --68 -52 -97 -96 -43 --2 --38 --69 --95 --26 -84 -113 -58 -11 --28 --61 --88 --30 -80 -108 -53 diff --git a/traces/README.txt b/traces/README.txt index 95b09761e..424092dc5 100644 --- a/traces/README.txt +++ b/traces/README.txt @@ -21,6 +21,4 @@ casi-12ed825c29.pm3: casi rusco 40 bit (EM410x ID: 12ed825c29) EM4102-Fob.pm3: (ID: 0400193cbe) ioprox-XSF-01-3B-44725.pm3: IO Prox FSK RF/64 ID in name ioprox-XSF-01-BE-03011.pm3: IO Prox FSK RF/64 ID in name -indala-504278295.pm3: PSK 26 bit indala -AWID-15-259.pm3: AWID FSK RF/50 FC: 15 Card: 259 -HID-weak-fob-11647.pm3: HID 32bit Prox Card#: 11647. very weak tag/read but just readable. \ No newline at end of file +indala-504278295.pm3: PSK 26 bit indala \ No newline at end of file diff --git a/traces/modulation-ask-biph-50.pm3 b/traces/modulation-ask-biph-50.pm3 deleted file mode 100644 index 389860de2..000000000 --- a/traces/modulation-ask-biph-50.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ -61 -58 -53 -49 -44 -42 -38 -35 -31 -30 -26 -25 -22 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -7 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --79 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -42 -37 -35 -32 -30 -27 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -105 -97 -92 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -36 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --54 --50 --48 --44 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -78 -72 -68 -61 -28 --2 --26 --47 --64 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -86 -81 -74 -69 -63 -60 -54 -51 -46 -43 -39 -37 -33 -31 -27 -26 -23 -22 -19 -18 -16 -16 -13 -12 -11 -11 -8 -8 -7 -7 -5 -5 -4 -3 -3 -3 --24 --45 --63 --78 --92 --102 --111 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --91 --84 --79 --73 --69 --64 --60 --55 --53 --49 --46 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -70 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -30 -26 -24 -22 -21 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -5 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -77 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -26 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --86 --81 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --39 --37 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -91 -84 -79 -71 -68 -62 -28 --2 --25 --46 --63 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -39 -9 --18 --40 --59 --74 --87 --98 --108 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -96 -91 -82 -78 -71 -66 -60 -57 -52 -48 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -17 -14 -15 -13 -12 -10 -10 -8 -8 -6 -6 -4 -5 -3 -3 -2 -2 --24 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --74 --69 --64 --61 --56 --53 --49 --46 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -112 -106 -97 -91 -83 -78 -71 -66 -61 -57 -51 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -17 -15 -15 -13 -12 -10 -10 -7 -8 -6 -6 --21 --42 --61 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --69 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -112 -106 -97 -91 -83 -78 -72 -67 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -27 -25 -22 -21 -19 -17 -15 -14 -12 -12 -10 -10 -8 -8 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --69 --63 --60 --56 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -58 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -23 -21 -18 -18 -15 -14 -13 -12 -10 -9 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -48 -44 -42 -37 -35 -32 -30 -26 -25 -22 -21 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -66 -61 -57 -51 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -17 -15 -15 -13 -12 -10 -10 -7 -8 -6 -6 --21 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -84 -79 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -31 -30 -27 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -9 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --38 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -67 -61 -58 -52 -49 -45 -42 -38 -36 -31 -30 -27 -25 -22 -21 -19 -17 -15 -15 -12 -12 -11 -10 -8 -8 -6 -6 --20 --42 --61 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -70 -67 -61 -57 -52 -49 -44 -42 -37 -35 -32 -30 -26 -25 -22 -21 -18 -18 -16 -15 -12 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -41 -37 -35 -32 -30 -26 -26 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -72 -67 -60 -57 -52 -49 -43 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --54 --50 --48 --44 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -72 -67 -61 -57 -52 -50 -44 -42 -37 -36 -32 -30 -27 -25 -23 -21 -18 -18 -16 -15 -12 -12 -10 -10 -8 -8 -6 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --108 --102 --95 --90 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -20 -19 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 --20 --42 --61 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -41 -37 -35 -31 -30 -26 -25 -23 -22 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --72 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -77 -71 -67 -60 -27 --3 --26 --47 --64 --78 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -63 -60 -54 -51 -45 -43 -39 -9 --18 --40 --59 --74 --87 --98 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -106 -97 -90 -83 -78 -71 -67 -60 -57 -51 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -9 -8 -8 -6 -6 -5 -5 -3 -4 -2 -2 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --74 --69 --64 --60 --56 --53 --49 --46 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -56 -52 -49 -44 -41 -37 -35 -31 -30 -27 -25 -22 -21 -18 -17 -15 -15 -13 -12 -10 -10 -9 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -66 -60 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 --20 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --44 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --86 --81 --75 --71 --66 --62 --58 --55 --50 --48 --44 --42 --38 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -72 -68 -61 -57 -52 -50 -44 -42 -38 -35 -32 -30 -27 -25 -23 -22 -18 -18 -16 -15 -12 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --45 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -42 -37 -35 -32 -30 -26 -25 -22 -21 -18 -18 -15 -15 -12 -12 -10 -10 -8 -8 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -42 -38 -35 -31 -30 -27 -25 -22 -21 -18 -18 -16 -14 -13 -12 -10 -9 -8 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --94 --89 --83 --78 --72 --69 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --79 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -86 -81 -74 -70 -63 -59 -53 -51 -45 -43 -38 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 -10 -9 -9 -7 -6 -5 -5 -4 -3 -2 -3 --23 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -0 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -96 -91 -83 -77 -70 -66 -60 -57 -52 -48 -43 -42 -37 -34 -4 --22 --44 --61 --77 --89 --100 --109 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --86 --81 --76 --71 --66 --63 --58 --55 --50 --48 --44 --42 --38 --36 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -92 -84 -79 -72 -68 -61 -57 -52 -50 -44 -42 -38 -35 -32 -30 -27 -25 -23 -22 -18 -18 -16 -15 -12 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -92 -83 -79 -71 -66 -61 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --64 --60 --55 --53 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --78 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -70 -63 -60 -54 -51 -45 -43 -39 -9 --18 --40 --59 --74 --88 --98 --108 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -82 -78 -70 -66 -60 -57 -51 -48 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -14 -13 -11 -10 -10 -7 -7 -6 -6 -4 -5 -3 -3 -2 -2 --24 --45 --64 --78 --92 --102 --111 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -66 -61 -57 -51 -49 -44 -41 -37 -35 -32 -30 -27 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 --21 --43 --62 --77 --91 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --98 --108 --101 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -43 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -66 -61 -28 --2 --26 --47 --64 --78 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -86 -81 -73 -70 -63 -59 -54 -51 -46 -43 -39 -9 --18 --39 --59 --74 --87 --98 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -105 -96 -91 -83 -78 -70 -67 -61 -57 -51 -48 -43 -41 -37 -7 --20 --41 --60 --75 --88 --98 --108 --99 --106 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -12 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -105 -95 -90 -82 -77 -70 -66 -60 -57 -51 -48 -43 -41 -37 -34 -31 -29 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -7 -6 -6 -4 -5 -4 -4 -2 -2 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --74 --69 --64 --61 --56 --53 --49 --46 --43 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -66 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --45 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -84 -79 -71 -67 -61 -28 --2 --26 --47 --64 --79 --90 --101 --109 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -80 -74 -69 -63 -59 -54 -51 -45 -43 -39 -36 -33 -31 -27 -26 -23 -22 -19 -18 -16 -15 -13 -13 -11 -11 -8 -8 -7 -6 -5 -5 -4 -4 -2 -3 --23 --44 --63 --78 --92 --102 --111 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --60 --56 --52 --49 --46 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -79 -71 -66 -61 -57 -52 -49 -43 -42 -37 -35 -31 -30 -27 -26 -22 -20 -18 -18 -15 -15 -12 -12 -10 -10 -8 -8 -7 -6 --20 --42 --62 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -56 -52 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --94 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -72 -67 -60 -57 -52 -49 -44 -41 -37 -35 -32 -30 -26 -25 -22 -21 -19 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --76 --71 --66 --62 --58 --54 --50 --48 --44 --42 --39 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -71 -68 -61 -57 -52 -49 -44 -42 -38 -35 -32 -31 -27 -25 -22 -22 -18 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -92 -83 -78 -71 -67 -61 -57 -51 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --87 --81 --76 --71 --67 --62 --58 --54 --50 --48 --44 --42 --38 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -72 -68 -61 -57 -52 -49 -45 -42 -37 -35 -32 -30 -27 -25 -22 -21 -19 -17 -14 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --94 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -56 -52 -49 -44 -42 -37 -35 -32 -30 -26 -25 -22 -22 -18 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --86 --81 --76 --71 --66 --62 --58 --55 --50 --48 --44 --42 --38 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -97 -92 -83 -79 -72 -67 -62 -28 --2 --26 --47 --63 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -86 -81 -73 -69 -63 -59 -54 -51 -45 -43 -39 -37 -32 -31 -28 -25 -24 -22 -19 -19 -16 -15 -13 -13 -11 -10 -8 -8 -6 -7 -5 -5 -4 -4 -2 -2 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --108 --102 --95 --90 --84 --79 --73 --69 --64 --60 --56 --53 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -43 -42 -37 -35 -31 -29 -26 -25 -22 -22 -18 -18 -15 -14 -13 -11 -10 -10 -8 -8 -6 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -107 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -43 -41 -37 -35 -31 -30 -27 -26 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -38 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --82 --75 --71 --66 --63 --58 --54 --50 --48 --44 --42 --38 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -72 -68 -61 -28 --2 --26 --47 --64 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -22 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -86 -81 -74 -69 -63 -60 -54 -51 -46 -43 -38 -9 --18 --40 --59 --74 --88 --98 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -96 -90 -83 -78 -70 -66 -60 -57 -51 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -10 -7 -8 -6 -6 -4 -4 -3 -4 -2 -2 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -79 -71 -67 -60 -57 -52 -49 -43 -42 -38 -35 -31 -30 -27 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -72 -67 -60 -57 -52 -49 -44 -41 -37 -35 -32 -30 -26 -25 -22 -21 -19 -18 -14 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -79 -71 -67 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -27 -25 -22 -22 -18 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -32 -30 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --101 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -48 -43 -42 -37 -35 -31 -30 -27 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --94 --89 --83 --78 --73 --68 --63 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -42 -38 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --76 --71 --66 --63 --58 --54 --51 --48 --44 --42 --38 --36 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -83 -79 -72 -68 -61 -57 -53 -50 -43 -42 -38 -35 -32 -30 -27 -25 -23 -22 -19 -18 -16 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -72 -67 -60 -57 -52 -48 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -19 -17 -14 -15 -13 -12 -10 -10 -8 -8 -7 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --36 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -16 -15 -12 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -79 -71 -66 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --76 --71 --66 --63 --58 --55 --50 --48 --44 --42 --38 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -106 -97 -92 -84 -79 -72 -68 -61 -58 -52 -49 -45 -42 -37 -35 -32 -30 -27 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -14 -12 -12 -10 -10 -8 -8 -6 -6 --20 --42 --62 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --94 --89 --83 --78 --72 --68 --63 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -86 -81 -73 -69 -63 -59 -54 -50 -45 -43 -39 -9 --18 --40 --59 --74 --88 --98 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -95 -91 -83 -78 -71 -66 -60 -57 -52 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -13 -11 -9 -10 -8 -7 -6 -6 -4 -5 -4 -3 -2 -3 --24 --45 --64 --78 --92 --102 --111 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --61 --56 --53 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -71 -67 -61 -58 -52 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -11 -10 -10 -8 -8 -6 -6 --20 --42 --61 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -27 -25 -22 -21 -18 -18 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -66 -61 -57 -51 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --87 --82 --76 --71 --67 --62 --58 --54 --50 --48 --44 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -72 -67 -61 -58 -52 -49 -44 -42 -37 -36 -32 -30 -27 -26 -22 -21 -18 -18 -15 -15 -12 -11 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -112 -106 -97 -90 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -18 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -92 -83 -78 -71 -67 -61 -57 -52 -49 -43 -42 -37 -34 -32 -30 -26 -25 -22 -21 -19 -18 -15 -14 -13 -12 -9 -10 -8 -8 -6 -6 --20 --42 --61 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --56 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --78 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -94 -86 -81 -74 -70 -63 -59 -54 -51 -46 -43 -38 -37 -33 -31 -27 -26 -24 -22 -19 -19 -16 -15 -13 -13 -11 -10 -9 -8 -6 -6 -5 -5 -4 -4 -3 -3 --23 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -0 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -96 -91 -83 -78 -70 -66 -61 -57 -51 -49 -44 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --97 --106 --99 --93 --87 --82 --76 --71 --67 --63 --58 --54 --50 --48 --44 --42 --38 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -78 -72 -68 -61 -57 -52 -49 -45 -42 -37 -36 -32 -30 -27 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -70 -67 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -16 -15 -12 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --79 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -9 --18 --40 --59 --74 --87 --98 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -106 -96 -91 -83 -78 -70 -67 -60 -56 -51 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 -5 -4 -3 -3 -2 -2 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --61 --56 --53 --49 --46 --43 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -96 -91 -83 -78 -71 -67 -61 -57 -52 -48 -43 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -16 -14 -12 -12 -9 -10 -8 -7 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --53 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -12 -12 -11 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --53 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -90 -83 -79 -71 -67 -61 -28 --2 --26 --47 --64 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -69 -62 -60 -54 -51 -45 -43 -39 -9 --18 --40 --59 --74 --87 --98 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -96 -91 -83 -78 -70 -67 -60 -57 -51 -48 -44 -42 -37 -7 --20 --41 --60 --75 --88 --99 --108 --99 --106 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -12 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -105 -96 -91 -82 -77 -70 -66 -61 -56 -51 -48 -44 -41 -36 -35 -31 -29 -26 -25 -21 -21 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -5 -5 -5 -3 -3 -2 -2 --24 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --91 --84 --79 --73 --69 --64 --60 --56 --53 --49 --47 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -90 -83 -79 -70 -67 -61 -57 -52 -49 -44 -41 -38 -35 -31 -30 -27 -25 -22 -21 -18 -18 -15 -14 -12 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -82 -74 -69 -63 -60 -54 -50 -45 -43 -38 -36 -33 -31 -28 -27 -23 -22 -20 -19 -15 -15 -13 -12 -10 -10 -8 -9 -7 -6 -5 -5 -4 -3 -3 -3 --24 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --102 --96 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -16 -15 -12 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --108 --102 --95 --90 --83 --78 --73 --69 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -35 -32 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -7 --20 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --56 --53 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -12 -11 -10 -10 -7 -8 -6 -6 --20 --42 --61 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -58 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --76 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --112 --106 --99 --93 --86 --81 --76 --71 --66 --62 --58 --55 --51 --48 --44 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -97 -92 -84 -78 -72 -67 -61 -58 -52 -50 -44 -42 -38 -35 -32 -30 -26 -25 -22 -22 -19 -18 -15 -15 -13 -13 -10 -10 -8 -7 -6 -6 --21 --42 --62 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -0 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --38 --36 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -71 -68 -61 -58 -52 -50 -44 -42 -38 -35 -31 -30 -27 -25 -23 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -35 -32 -30 -26 -26 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -7 -6 -6 --21 --42 --62 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -84 -79 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --97 --106 --99 --93 --87 --82 --76 --72 --66 --62 --58 --54 --50 --48 --44 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -108 -98 -91 -84 -79 -71 -67 -61 -28 --2 --25 --47 --63 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -95 -86 -81 -74 -69 -62 -60 -54 -51 -45 -43 -39 -37 -33 -31 -28 -27 -23 -21 -19 -19 -16 -15 -13 -13 -11 -10 -8 -8 -7 -6 -4 -5 -4 -3 -2 -3 --23 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --101 --109 --103 --96 --90 --84 --79 --74 --69 --64 --61 --56 --53 --49 --47 --43 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -36 -32 -29 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -7 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -22 -18 -18 -15 -15 -13 -12 -10 -9 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -79 -71 -67 -61 -57 -51 -49 -44 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --112 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --38 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -83 -79 -72 -68 -61 -28 --2 --25 --47 --63 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -100 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -39 -9 --18 --40 --59 --74 --87 --98 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -105 -96 -91 -83 -78 -70 -67 -61 -57 -51 -48 -43 -42 -37 -34 -31 -30 -26 -25 -22 -21 -18 -17 -15 -14 -13 -12 -10 -10 -8 -8 -6 -7 -5 -4 -3 -3 -2 -2 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --101 --109 --103 --96 --91 --84 --79 --73 --69 --64 --61 --56 --53 --49 --46 --43 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -72 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 --21 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -32 -29 -26 -25 -22 -21 -18 -17 -15 -15 -12 -11 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -14 -13 -12 -10 -10 -8 -7 -6 -6 --20 --42 --62 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --52 --48 --45 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -72 -67 -61 -57 -51 -49 -44 -41 -36 -35 -32 -29 -27 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -7 -8 -7 -6 --21 --42 --62 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -70 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -29 -26 -24 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -9 -10 -8 -7 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --79 --72 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -70 -67 -61 -57 -52 -49 -44 -42 -37 -35 -32 -29 -27 -26 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -7 -8 -6 -6 --21 --42 --62 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -52 -48 -44 -42 -37 -35 -4 --21 --43 --61 --76 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --97 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --45 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -93 -84 -79 -72 -67 -61 -57 -52 -49 -44 -42 -38 -35 -32 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -13 -10 -10 -8 -8 -6 -6 --21 --42 --61 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --53 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -70 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -16 -15 -12 -12 -10 -10 -7 -8 -6 -6 --21 --42 --62 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --69 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -61 -57 -52 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -14 -13 -12 -10 -10 -8 -8 -7 -6 --21 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -112 -107 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -41 -38 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --97 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --54 --50 --48 --44 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -71 -68 -61 -57 -52 -49 -44 -42 -38 -36 -32 -29 -27 -26 -22 -21 -19 -18 -16 -15 -12 -12 -11 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -77 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -29 -27 -25 -22 -21 -18 -17 -15 -15 -13 -11 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -70 -67 -61 -27 --2 --26 --47 --64 --79 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -63 -60 -54 -50 -45 -43 -39 -9 --18 --40 --59 --74 --88 --98 --108 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -96 -91 -83 -78 -70 -67 -60 -57 -51 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -5 -5 -3 -3 -2 -2 --24 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -70 -67 -61 -57 -52 -49 -44 -41 -37 -35 -32 -30 -26 -25 -22 -21 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -5 --21 --43 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -96 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -38 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 --21 --42 --61 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --86 --81 --76 --72 --66 --63 --58 --55 --51 --48 --44 --42 --38 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -71 -68 -61 -58 -52 -49 -44 -42 -38 -36 -31 -30 -27 -26 -22 -21 -19 -18 -16 -15 -12 -12 -10 -10 -7 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --59 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -92 -84 -78 -71 -67 -60 -57 -52 -48 -44 -42 -38 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -112 -106 -97 -91 -82 -78 -71 -67 -61 -57 -52 -49 -45 -41 -37 -35 -32 -29 -26 -25 -22 -21 -19 -17 -15 -15 -13 -12 -10 -10 -7 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --98 --108 --102 --95 --89 --83 --79 --73 --68 --63 --60 --55 --52 --48 --45 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -92 -84 -78 -71 -67 -61 -28 --2 --26 --47 --63 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -69 -63 -60 -53 -50 -46 -43 -38 -37 -33 -31 -28 -26 -23 -22 -19 -18 -15 -15 -13 -12 -11 -11 -8 -8 -7 -7 -5 -5 -4 -3 -2 -2 --24 --45 --64 --78 --92 --102 --111 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -0 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -96 -90 -83 -78 -71 -66 -60 -57 -51 -49 -44 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --97 --106 --99 --93 --86 --81 --76 --72 --67 --63 --58 --55 --50 --48 --44 --42 --39 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -71 -68 -61 -58 -52 -49 -44 -42 -38 -36 -31 -29 -27 -26 -22 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -5 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -43 -42 -37 -35 -31 -30 -26 -25 -22 -20 -18 -18 -15 -14 -12 -12 -10 -10 -8 -8 -7 -6 --21 --42 --62 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --78 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -100 -94 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -39 -9 --18 --40 --59 --74 --88 --98 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -95 -90 -83 -78 -70 -66 -60 -57 -52 -48 -43 -42 -37 -34 -31 -29 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 -5 -4 -4 -4 -2 -3 --24 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --61 --56 --53 --49 --46 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -35 -32 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -27 -25 -21 -21 -19 -18 -15 -14 -12 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -60 -27 --3 --27 --47 --64 --79 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -81 -74 -69 -63 -60 -54 -51 -46 -43 -38 -8 --19 --40 --59 --74 --88 --98 --108 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -96 -90 -83 -78 -70 -66 -60 -57 -51 -48 -44 -41 -37 -7 --19 --41 --60 --74 --88 --98 --108 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -12 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -95 -91 -82 -78 -71 -66 -60 -57 -51 -48 -43 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -9 -8 -8 -6 -6 -5 -5 -3 -3 -2 -2 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --102 --96 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -66 -61 -28 --2 --26 --47 --64 --79 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -27 -26 -23 -22 -19 -18 -16 -15 -12 -13 -11 -10 -8 -8 -6 -7 -5 -5 -3 -4 -3 -2 --24 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --102 --96 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -84 -78 -70 -67 -60 -57 -52 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -20 -19 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --101 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -22 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -5 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --101 --94 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -79 -71 -67 -60 -56 -52 -49 -43 -41 -37 -35 -32 -30 -27 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -51 -49 -44 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --87 --82 --76 --72 --66 --62 --58 --55 --50 --48 --44 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -67 -61 -58 -52 -49 -45 -42 -37 -36 -32 -30 -27 -25 -22 -22 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -5 --21 --43 --62 --77 --91 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -92 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --76 --71 --66 --62 --58 --54 --51 --48 --44 --42 --38 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -93 -84 -78 -71 -67 -61 -58 -52 -49 -45 -42 -38 -35 -32 -30 -27 -26 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --101 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --48 --45 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -22 -19 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -5 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -92 -83 -78 -72 -67 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --82 --76 --72 --66 --62 --58 --54 --50 --48 --44 --42 --38 --36 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -97 -92 -84 -79 -72 -67 -61 -28 --2 --26 --47 --64 --78 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -82 -74 -69 -63 -59 -54 -51 -46 -43 -38 -37 -33 -31 -28 -27 -23 -22 -19 -18 -16 -15 -13 -12 -11 -10 -8 -8 -7 -7 -5 -5 -4 -3 -2 -3 --24 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --43 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -19 -17 -15 -14 -12 -12 -10 -10 -8 -8 -7 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -66 -60 -57 -52 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -107 -97 -91 -83 -78 -70 -67 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --109 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --86 --81 --76 --72 --66 --62 --58 --54 --50 --48 --44 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -71 -68 -61 -28 --2 --26 --47 --64 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -80 -74 -70 -63 -59 -54 -51 -46 -43 -38 -8 --19 --40 --59 --74 --88 --98 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -82 -78 -71 -66 -60 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -12 -12 -10 -10 -7 -8 -6 -6 -4 -5 -3 -3 -2 -2 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --60 --55 --53 --49 --46 --42 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -66 -60 -57 -51 -49 -44 -41 -37 -35 -32 -30 -26 -25 -22 -21 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -5 --21 --42 --62 --77 --91 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --94 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --45 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -23 -21 -18 -18 -15 -14 -12 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --101 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -51 -48 -44 -42 -37 -35 -32 -30 -26 -26 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -8 -8 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -19 -17 -16 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -72 -67 -61 -57 -51 -48 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -19 -18 -14 -15 -13 -12 -10 -10 -8 -8 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -79 -71 -66 -60 -57 -51 -49 -44 -41 -37 -36 -32 -30 -27 -25 -22 -21 -18 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -5 --21 --42 --62 --77 --90 --101 --111 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --98 --107 --101 --94 --89 --82 --78 --73 --68 --63 --60 --55 --52 --48 --45 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -22 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -90 -83 -79 -71 -67 -61 -57 -52 -49 -44 -41 -38 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --87 --81 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --38 --36 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -92 -84 -79 -72 -67 -62 -58 -52 -49 -44 -42 -38 -35 -31 -30 -27 -26 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -7 -6 --21 --42 --61 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --89 --83 --78 --72 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -77 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --76 --71 --66 --63 --58 --54 --50 --48 --44 --41 --38 --36 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -92 -84 -79 -72 -68 -61 -57 -52 -49 -44 -42 -38 -35 -32 -30 -27 -25 -23 -22 -19 -18 -16 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -48 -44 -42 -37 -35 -32 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -7 -6 --21 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -29 -27 -25 -22 -21 -18 -17 -16 -15 -12 -12 -10 -10 -8 -8 -6 -6 --20 --42 --62 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -67 -60 -27 --2 --26 --47 --64 --79 --90 --101 --109 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -22 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -69 -63 -59 -53 -51 -46 -43 -39 -9 --18 --40 --59 --74 --88 --98 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -96 -90 -83 -78 -70 -67 -60 -57 -51 -48 -44 -41 -37 -35 -30 -30 -27 -25 -22 -21 -19 -18 -15 -14 -12 -12 -10 -9 -8 -8 -6 -6 -4 -5 -3 -4 -2 -1 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --102 --95 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --43 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -71 -67 -61 -57 -52 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -106 -96 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -7 -7 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -0 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -79 -71 -67 -60 -57 -52 -49 -43 -42 -38 -35 -4 --21 --43 --61 --76 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --87 --82 --76 --71 --66 --62 --58 --55 --50 --48 --44 --42 --39 --37 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -92 -84 -79 -72 -67 -61 -57 -52 -49 -44 -42 -37 -35 -32 -30 -27 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -9 -8 -6 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --101 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --48 --45 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -36 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -11 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -27 -25 -22 -22 -19 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -106 -97 -91 -83 -78 -71 -67 -61 -27 --2 --26 --47 --64 --79 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -38 -37 -33 -30 -28 -26 -23 -22 -19 -19 -16 -15 -13 -13 -11 -10 -8 -8 -7 -6 -5 -5 -4 -4 -2 -3 --24 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -0 -127 -127 -127 -127 -127 -127 -127 -122 -112 -106 -96 -91 -83 -77 -71 -67 -60 -57 -51 -49 -43 -41 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --97 --106 --99 --93 --86 --82 --76 --71 --66 --63 --58 --54 --50 --48 --44 --42 --39 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -92 -84 -79 -72 -67 -61 -58 -53 -49 -44 -42 -38 -35 -32 -30 -27 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --101 --95 --89 --83 --78 --73 --69 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -36 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -12 -11 -10 -10 -8 -8 -6 -6 --21 --42 --61 --77 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --79 --90 --101 --109 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -80 -74 -70 -63 -59 -54 -51 -46 -43 -38 -9 --18 --40 --59 --74 --88 --98 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -82 -78 -71 -66 -60 -57 -51 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -17 -15 -14 -12 -12 -10 -10 -7 -8 -6 -6 -4 -4 -3 -3 -2 -2 --24 --45 --64 --79 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --42 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -27 -25 -22 -22 -19 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 --21 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --53 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -44 -42 -37 -34 -32 -30 -27 -25 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --79 --90 --101 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -73 -70 -63 -59 -53 -51 -45 -43 -38 -8 --18 --40 --59 --74 --88 --98 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -96 -91 -83 -78 -71 -67 -60 -57 -52 -48 -44 -42 -37 -7 --20 --41 --60 --75 --88 --98 --108 --99 --106 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -12 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -95 -90 -82 -77 -70 -65 -59 -57 -52 -48 -43 -41 -37 -35 -31 -29 -26 -25 -22 -20 -18 -18 -15 -15 -12 -12 -10 -10 -8 -7 -6 -6 -5 -4 -3 -4 -2 -3 --23 --45 --63 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --103 --96 --90 --84 --79 --73 --69 --64 --60 --56 --53 --49 --46 --43 --41 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -48 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -11 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --95 --89 --83 --78 --73 --68 --63 --60 --56 --52 --48 --45 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -71 -67 -61 -28 --2 --26 --47 --64 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -70 -63 -59 -53 -50 -45 -43 -38 -36 -33 -31 -28 -26 -23 -22 -20 -18 -16 -15 -13 -13 -10 -11 -8 -8 -7 -7 -5 -5 -4 -4 -2 -3 --23 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --91 --84 --79 --73 --70 --64 --61 --56 --53 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -11 -10 -10 -8 -8 -6 -6 --21 --42 --61 --77 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --63 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -36 -31 -30 -27 -25 -22 -21 -18 -18 -15 -14 -12 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --86 --82 --76 --71 --66 --63 --58 --55 --50 --48 --44 --42 --39 --36 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -92 -84 -79 -72 -68 -61 -58 -52 -49 -45 -42 -37 -36 -31 -30 -27 -25 -22 -22 -19 -18 -15 -15 -12 -12 -10 -9 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -4 --21 --43 --61 --77 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --38 --36 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -91 -83 -79 -72 -68 -62 -58 -52 -49 -45 -42 -37 -36 -32 -30 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --89 --83 --78 --72 --68 --64 --60 --55 --52 --49 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -9 -8 -8 -6 -6 --21 --42 --62 --77 --90 --101 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -124 -113 -107 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -42 -37 -36 -4 --21 --43 --60 --76 --89 --100 --108 --100 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --97 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --51 --48 --44 --42 --39 --37 --33 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -83 -79 -72 -68 -61 -28 --2 --26 --47 --63 --78 --90 --100 --108 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -94 -86 -81 -74 -70 -63 -59 -54 -51 -46 -43 -39 -36 -33 -31 -28 -25 -23 -22 -19 -19 -16 -15 -13 -13 -11 -10 -8 -8 -6 -7 -5 -5 -4 -4 -3 -3 --23 --45 --64 --78 --92 --102 --111 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --61 --56 --53 --49 --46 --43 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 -6 --20 --42 --61 --76 --90 --101 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --108 --102 --95 --89 --83 --78 --73 --68 --64 --60 --55 --52 --48 --46 --42 --40 --37 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -82 -78 -72 -67 -61 -57 -52 -49 -44 -42 -37 -35 -32 -29 -27 -25 -22 -21 -19 -18 -15 -15 -13 -11 -10 -10 -7 -8 -6 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -1 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -41 -37 -35 -4 --21 --43 --61 --76 --89 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --104 --112 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --39 --37 --34 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -72 -68 -61 -28 --2 --26 --47 --63 --78 --90 --100 --108 --99 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -95 -86 -81 -74 -69 -63 -59 -53 -51 -46 -43 -39 -9 --18 --40 --59 --74 --87 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 -13 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -106 -96 -90 -83 -78 -71 -66 -60 -57 -51 -48 -44 -41 -37 -35 -31 -30 -27 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 -5 -5 -3 -3 -2 -2 --24 --45 --64 --78 --92 --102 --112 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 diff --git a/traces/modulation-ask-man-100.pm3 b/traces/modulation-ask-man-100.pm3 deleted file mode 100644 index 5a84b549e..000000000 --- a/traces/modulation-ask-man-100.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --79 --74 --69 --65 --60 --57 --53 --49 --45 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -40 -39 -34 -33 -29 -27 -24 -24 -20 -19 -17 -16 -14 -13 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -54 -47 -45 -41 -39 -34 -32 -29 -28 -25 -23 -20 -20 -17 -15 -14 -13 -11 -11 -10 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -39 -35 -32 -29 -28 -24 -23 -20 -19 -16 -17 -14 -14 -11 -11 -9 -9 -8 -7 -5 --20 --43 --61 --78 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -91 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -34 -33 -29 -28 -24 -23 -20 -20 -17 -16 -14 -14 -11 -11 -9 -9 -8 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -39 -35 -33 -28 -28 -25 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --78 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --45 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -67 -62 -56 -54 -48 -45 -40 -39 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -12 -11 -9 -9 -7 -6 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -74 -66 -61 -56 -53 -47 -45 -41 -38 -35 -33 -29 -27 -25 -23 -20 -19 -17 -15 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -63 -57 -53 -48 -46 -41 -38 -34 -32 -29 -28 -24 -23 -20 -20 -16 -17 -14 -13 -11 -11 -9 -9 -7 -7 -5 --21 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -74 -66 -62 -56 -53 -48 -45 -41 -39 -34 -33 -29 -28 -24 -23 -20 -20 -17 -16 -13 -14 -11 -11 -9 -9 -8 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -84 -77 -73 -66 -62 -56 -53 -48 -46 -41 -38 -35 -33 -29 -28 -24 -22 -20 -19 -16 -16 -14 -13 -12 -11 -9 -8 -7 -7 -5 -5 -4 -3 -3 -3 -2 -2 -1 -1 -0 -0 --1 --1 --1 --1 --2 --2 --2 --1 --3 --2 --3 --2 --3 --2 --4 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --4 --5 --29 --50 --68 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --48 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --20 --19 --18 --16 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -98 -93 -85 -80 -72 -67 -62 -59 -52 -50 -45 -42 -38 -36 -32 -30 -27 -26 -22 -21 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --61 --77 --90 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --109 --102 --96 --90 --85 --78 --74 --69 --65 --60 --56 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -53 -48 -46 -41 -39 -34 -32 -29 -28 -24 -23 -20 -20 -16 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 --21 --43 --61 --78 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -85 -77 -74 -66 -62 -56 -53 -48 -46 -41 -38 -34 -33 -29 -27 -25 -24 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --42 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -65 -62 -56 -53 -48 -46 -41 -39 -35 -32 -29 -28 -24 -23 -20 -19 -16 -16 -14 -14 -12 -11 -9 -9 -7 -7 -5 --21 --43 --61 --78 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -67 -63 -56 -53 -48 -45 -41 -38 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -12 -11 -8 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -47 -46 -41 -38 -34 -33 -29 -28 -24 -23 -20 -20 -17 -15 -14 -13 -11 -11 -9 -9 -7 -7 -6 -5 -4 -4 -2 -3 -2 -2 -1 -1 -0 -0 --1 -0 --2 --1 --2 --2 --2 --1 --3 --2 --2 --2 --4 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --3 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --21 --19 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -80 -72 -68 -62 -59 -52 -50 -45 -42 -38 -36 -32 -31 -28 -25 -22 -22 -19 -18 -15 -15 -13 -13 -10 -10 -8 -8 -7 --19 --42 --60 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -35 -32 -29 -28 -24 -23 -20 -20 -16 -16 -14 -14 -12 -11 -9 -9 -7 -7 -5 --20 --43 --61 --78 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -63 -56 -53 -48 -45 -41 -38 -34 -33 -29 -28 -24 -24 -21 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -86 -77 -73 -66 -62 -57 -53 -47 -46 -41 -38 -35 -32 -29 -28 -25 -23 -20 -19 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -56 -54 -48 -46 -41 -38 -35 -33 -28 -28 -24 -23 -21 -19 -17 -16 -14 -14 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --91 --85 --79 --74 --69 --65 --60 --56 --52 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -91 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -34 -33 -29 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --19 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --103 --97 --90 --85 --79 --74 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -65 -62 -57 -53 -48 -45 -41 -39 -35 -32 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 -5 -4 -3 -3 -3 -2 -2 -1 -1 -0 -1 --1 --1 --1 --1 --2 --2 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --5 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --113 --106 --100 --93 --88 --81 --77 --72 --67 --62 --59 --54 --51 --47 --45 --41 --39 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -47 -46 -41 -38 -34 -33 -29 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --23 --22 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -79 -72 -69 -62 -58 -53 -50 -45 -42 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -16 -14 -13 -13 -10 -10 -8 -8 -6 --19 --42 --60 --77 --89 --101 --109 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -85 -77 -73 -66 -62 -56 -53 -47 -45 -41 -38 -35 -33 -29 -28 -25 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -57 -53 -48 -46 -41 -39 -34 -33 -29 -27 -24 -23 -21 -19 -16 -17 -14 -13 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -91 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -33 -32 -29 -28 -24 -23 -21 -19 -17 -16 -13 -13 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -104 -99 -91 -85 -77 -73 -66 -62 -56 -53 -47 -46 -41 -38 -34 -33 -29 -28 -24 -23 -20 -20 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 -5 -4 -4 -2 -3 -2 -1 -1 -1 -0 -0 --1 -0 --2 --1 --2 --2 --2 --1 --3 --2 --3 --2 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --4 --4 --5 --29 --50 --68 --83 --95 --106 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --21 --19 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -93 -85 -80 -72 -68 -62 -59 -52 -50 -45 -42 -38 -36 -32 -31 -27 -25 -22 -22 -19 -18 -15 -15 -13 -12 -10 -10 -9 -8 -6 --19 --42 --61 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --84 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -57 -53 -48 -45 -40 -39 -35 -33 -29 -27 -24 -23 -21 -19 -16 -17 -14 -13 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -91 -85 -77 -73 -66 -63 -56 -53 -47 -45 -41 -39 -34 -32 -29 -28 -25 -24 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -104 -99 -90 -85 -77 -73 -66 -62 -57 -53 -48 -45 -41 -38 -35 -33 -29 -27 -25 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -63 -56 -53 -48 -46 -40 -38 -34 -32 -29 -28 -24 -23 -20 -20 -17 -16 -14 -13 -12 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -38 -35 -33 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --84 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -105 -99 -90 -85 -77 -73 -66 -62 -57 -53 -48 -45 -40 -39 -34 -32 -29 -28 -24 -23 -20 -20 -17 -16 -14 -13 -12 -11 -9 -9 -7 -7 -5 -5 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 --1 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --2 --4 --3 --3 --3 --4 --3 --4 --3 --4 --3 --5 --4 --4 --4 --5 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --29 --50 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --48 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --21 --18 --18 --17 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --8 --7 --8 --7 --7 --6 --7 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -108 -99 -93 -84 -79 -72 -68 -62 -58 -52 -50 -45 -42 -38 -36 -32 -30 -27 -25 -22 -22 -19 -18 -16 -15 -12 -13 -11 -10 -8 -8 -6 -6 -5 -5 -3 -4 -2 -2 -2 -2 -0 -1 -0 -0 --1 --1 --2 --2 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --4 --4 --4 --5 --4 --5 --5 --4 --4 --5 --4 --4 --4 --5 --29 --50 --67 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --31 --30 --28 --27 --24 --23 --21 --21 --19 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --6 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -109 -99 -93 -84 -79 -72 -68 -62 -58 -52 -50 -45 -42 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -15 -15 -13 -13 -10 -10 -8 -8 -6 --19 --42 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --96 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -56 -53 -48 -46 -40 -39 -35 -33 -29 -27 -25 -23 -20 -19 -17 -17 -14 -13 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -98 -91 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -34 -33 -29 -28 -25 -23 -20 -19 -17 -16 -13 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -54 -48 -46 -40 -38 -35 -33 -28 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -57 -53 -48 -45 -40 -39 -34 -32 -29 -28 -25 -23 -21 -19 -17 -17 -13 -13 -11 -11 -9 -9 -7 -7 -5 -6 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --1 --2 --1 --2 --2 --3 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --3 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --58 --54 --51 --47 --45 --41 --39 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -99 -90 -85 -77 -72 -66 -62 -56 -53 -47 -45 -41 -38 -34 -32 -29 -28 -25 -23 -20 -19 -16 -16 -14 -13 -10 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --23 --23 --21 --20 --18 --18 --16 --16 --14 --13 --12 --12 --10 --11 --10 --10 --8 --8 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --5 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -80 -72 -68 -62 -58 -53 -50 -45 -42 -37 -36 -32 -30 -27 -26 -23 -21 -18 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --60 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --97 --90 --84 --79 --74 --68 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -53 -48 -46 -41 -38 -34 -33 -29 -27 -24 -23 -20 -19 -17 -16 -14 -14 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -63 -56 -53 -48 -45 -40 -38 -34 -32 -29 -28 -24 -23 -21 -19 -17 -16 -14 -13 -11 -11 -8 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -38 -35 -33 -29 -28 -24 -23 -20 -20 -16 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -56 -53 -48 -46 -40 -38 -34 -32 -29 -28 -24 -24 -21 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -34 -33 -29 -28 -24 -23 -20 -19 -17 -16 -13 -14 -11 -11 -9 -9 -7 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --1 --2 --1 --3 --2 --3 --3 --3 --2 --3 --3 --3 --3 --4 --3 --4 --4 --4 --3 --4 --4 --4 --3 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --76 --71 --67 --62 --58 --54 --51 --47 --45 --41 --39 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -105 -99 -89 -85 -77 -73 -65 -62 -56 -53 -48 -45 -40 -39 -34 -32 -29 -28 -24 -23 -21 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -66 -63 -56 -53 -48 -46 -41 -38 -34 -33 -29 -27 -24 -24 -21 -19 -17 -16 -14 -14 -11 -10 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 --35 --33 --31 --30 --27 --26 --23 --22 --20 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -84 -80 -73 -69 -62 -58 -53 -50 -44 -42 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --61 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --78 --74 --69 --64 --60 --56 --52 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -116 -106 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -40 -38 -34 -33 -29 -27 -24 -24 -20 -19 -17 -16 -13 -13 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --84 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -104 -99 -90 -84 -77 -73 -66 -62 -57 -54 -48 -46 -40 -38 -35 -33 -28 -27 -24 -23 -20 -19 -16 -16 -14 -14 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --45 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -38 -35 -33 -29 -28 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 -6 -4 -3 -3 -3 -2 -1 -1 -1 -0 -0 --1 -0 --1 --1 --3 --2 --2 --2 --3 --3 --3 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --4 --4 --4 --5 --3 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --5 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --87 --81 --77 --71 --67 --62 --58 --54 --51 --47 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --20 --18 --18 --17 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --4 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -85 -80 -72 -69 -62 -58 -53 -50 -45 -42 -38 -35 -32 -30 -27 -26 -23 -22 -19 -19 -15 -14 -13 -12 -10 -10 -8 -8 -6 --19 --42 --61 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --78 --74 --68 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -35 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -11 -10 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -54 -48 -46 -41 -38 -35 -32 -28 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -38 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -8 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --78 --75 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -54 -48 -46 -41 -38 -35 -32 -28 -28 -24 -23 -20 -19 -17 -17 -14 -13 -11 -11 -10 -9 -6 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -89 -85 -77 -73 -66 -63 -57 -53 -48 -45 -40 -39 -34 -32 -29 -28 -24 -23 -21 -20 -17 -16 -14 -13 -12 -11 -8 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -85 -76 -73 -66 -62 -56 -53 -48 -46 -41 -38 -34 -33 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -12 -10 -9 -9 -7 -7 -5 -5 -4 -4 -3 -2 -2 -2 -0 -1 -0 -0 --1 -0 --1 --1 --2 --1 --3 --2 --2 --3 --3 --2 --3 --3 --4 --3 --4 --3 --4 --4 --4 --3 --5 --3 --4 --4 --4 --3 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --29 --50 --67 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --87 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --20 --19 --18 --16 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -79 -72 -68 -62 -58 -52 -50 -45 -42 -38 -36 -32 -31 -27 -26 -23 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --61 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --102 --96 --90 --84 --78 --74 --68 --65 --60 --57 --52 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -54 -48 -46 -41 -38 -35 -32 -28 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -6 -7 -6 -5 -4 -4 -3 -3 -2 -2 -0 -1 -0 -0 --1 -0 --1 --1 --2 --2 --2 --1 --2 --3 --3 --2 --3 --3 --4 --3 --4 --3 --4 --4 --4 --3 --4 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --99 --93 --87 --81 --76 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --31 --31 --28 --27 --24 --23 --21 --20 --19 --18 --16 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --6 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --3 --3 --3 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -80 -72 -67 -62 -58 -53 -50 -45 -42 -38 -36 -32 -30 -27 -26 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --102 --96 --89 --84 --78 --74 --68 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -53 -48 -46 -40 -38 -35 -33 -29 -27 -24 -23 -21 -20 -16 -16 -14 -13 -11 -11 -9 -8 -7 -7 -5 --21 --43 --61 --78 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --78 --74 --69 --65 --60 --56 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -39 -34 -32 -29 -28 -24 -23 -21 -19 -17 -16 -14 -13 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --84 --78 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -53 -48 -46 -41 -38 -34 -32 -28 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -6 -7 -6 -5 -4 -4 -3 -3 -2 -2 -0 -1 -0 -0 --1 --1 --1 --1 --2 --2 --2 --1 --2 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --5 --5 --4 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --6 --29 --51 --68 --83 --95 --106 --98 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --87 --81 --76 --71 --67 --62 --58 --54 --51 --47 --45 --41 --39 --36 --34 --31 --31 --28 --27 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -84 -79 -72 -68 -62 -58 -52 -50 -45 -43 -38 -36 -32 -30 -27 -25 -22 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -5 -5 -4 -3 -2 -3 -1 -2 -0 -0 -0 -0 --1 --1 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --5 --3 --4 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --113 --106 --100 --93 --88 --81 --76 --71 --67 --62 --58 --54 --51 --47 --45 --42 --39 --36 --34 --32 --30 --28 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -79 -72 -68 -62 -58 -52 -50 -45 -43 -38 -36 -32 -31 -26 -26 -23 -21 -19 -18 -15 -15 -13 -13 -10 -10 -8 -8 -7 --19 --42 --60 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --78 --74 --68 --65 --60 --56 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -53 -48 -46 -41 -39 -35 -33 -28 -28 -24 -23 -20 -20 -17 -16 -14 -14 -11 -11 -9 -9 -6 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -45 -40 -39 -34 -32 -29 -28 -24 -23 -20 -20 -17 -16 -14 -13 -12 -11 -8 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -61 -56 -53 -48 -46 -41 -38 -34 -33 -29 -27 -24 -23 -20 -19 -17 -16 -13 -13 -12 -11 -9 -9 -6 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -65 -62 -56 -53 -48 -45 -40 -38 -35 -33 -29 -27 -24 -23 -21 -20 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --3 --3 --3 --3 --4 --3 --4 --4 --4 --4 --5 --4 --5 --4 --4 --4 --5 --4 --4 --4 --6 --4 --5 --4 --5 --29 --50 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --32 --31 --28 --26 --25 --23 --21 --20 --19 --18 --16 --16 --15 --14 --13 --12 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -92 -85 -79 -72 -69 -62 -59 -52 -50 -45 -42 -38 -36 -31 -31 -27 -25 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -9 -7 -6 -5 -5 -4 -4 -2 -2 -1 -1 -0 -0 -0 -0 --1 --1 --1 --1 --2 --1 --2 --2 --3 --2 --4 --2 --3 --3 --4 --3 --4 --3 --3 --3 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --3 --4 --4 --4 --4 --6 --29 --51 --68 --83 --95 --106 --98 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --99 --93 --87 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -84 -77 -72 -66 -62 -56 -53 -48 -45 -41 -39 -34 -32 -29 -28 -24 -23 -21 -19 -17 -16 -14 -14 -11 -11 -8 -9 -7 -6 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --23 --22 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --10 --10 --10 --8 --9 --7 --8 --7 --7 --6 --6 --5 --6 --4 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -92 -85 -80 -72 -69 -62 -59 -53 -50 -45 -42 -38 -36 -32 -30 -27 -25 -23 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 --20 --42 --61 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --110 --102 --96 --90 --85 --78 --74 --68 --65 --60 --56 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -45 -41 -39 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -38 -34 -32 -29 -28 -24 -23 -21 -20 -17 -16 -14 -13 -11 -11 -9 -9 -6 -7 -6 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --52 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -46 -40 -38 -35 -32 -29 -27 -24 -24 -21 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -6 -6 --19 --42 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -61 -56 -53 -48 -46 -40 -38 -35 -33 -29 -27 -24 -23 -20 -19 -16 -16 -14 -14 -11 -10 -9 -9 -7 -7 -5 --21 --43 --61 --78 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --45 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -38 -34 -32 -29 -28 -25 -22 -20 -20 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --59 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -39 -35 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -12 -11 -9 -9 -7 -6 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -65 -63 -56 -53 -48 -46 -41 -39 -34 -32 -29 -28 -24 -23 -21 -20 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --56 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -45 -40 -39 -35 -32 -29 -28 -24 -24 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --19 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -84 -77 -73 -66 -61 -56 -53 -48 -46 -40 -38 -35 -33 -29 -27 -24 -23 -20 -19 -17 -16 -14 -14 -11 -10 -9 -9 -6 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -65 -62 -56 -53 -48 -45 -41 -38 -34 -32 -29 -28 -24 -23 -20 -20 -16 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -72 -66 -63 -56 -53 -48 -46 -40 -39 -35 -32 -29 -28 -24 -23 -20 -19 -16 -16 -14 -13 -12 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -53 -48 -46 -41 -38 -34 -33 -29 -27 -25 -23 -20 -20 -17 -16 -14 -13 -11 -11 -9 -9 -6 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -12 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -47 -46 -41 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -14 -14 -12 -11 -9 -9 -6 -7 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 --1 --1 -0 --2 --1 --2 --1 --2 --1 --3 --2 --3 --2 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --5 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --113 --106 --100 --93 --88 --81 --77 --72 --67 --62 --59 --54 --52 --47 --45 --41 --39 --36 --34 --32 --31 --28 --27 --24 --23 --21 --21 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -84 -79 -72 -68 -61 -58 -53 -50 -45 -42 -38 -36 -32 -30 -26 -26 -23 -21 -19 -18 -16 -15 -13 -13 -10 -11 -8 -7 -6 --19 --42 --60 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -57 -53 -48 -46 -40 -38 -35 -33 -29 -27 -24 -23 -20 -20 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -39 -34 -32 -30 -28 -24 -23 -20 -19 -17 -16 -14 -13 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -54 -47 -45 -41 -39 -35 -32 -29 -27 -25 -23 -20 -19 -17 -17 -14 -13 -11 -11 -9 -9 -6 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -39 -35 -33 -29 -28 -25 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -8 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -55 -53 -48 -46 -40 -39 -35 -33 -29 -28 -24 -23 -20 -19 -17 -16 -13 -14 -12 -11 -9 -9 -7 -7 -5 -5 -3 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 --1 --1 --1 --1 --1 --3 --2 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --5 --4 --4 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --29 --51 --67 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --76 --71 --67 --62 --59 --54 --51 --47 --45 --42 --39 --36 --34 --32 --31 --28 --27 --24 --23 --22 --20 --18 --18 --17 --16 --14 --14 --13 --12 --11 --11 --9 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -93 -84 -79 -72 -68 -61 -59 -53 -49 -45 -43 -38 -36 -32 -31 -27 -26 -22 -21 -19 -18 -15 -15 -13 -13 -10 -10 -8 -8 -6 --19 --42 --61 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --96 --90 --84 --78 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -53 -47 -46 -41 -39 -34 -32 -29 -27 -25 -23 -20 -20 -17 -16 -14 -14 -12 -11 -9 -8 -6 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -56 -53 -48 -45 -40 -38 -34 -32 -29 -28 -25 -23 -21 -20 -16 -16 -14 -13 -12 -11 -9 -9 -8 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -46 -41 -39 -34 -33 -29 -28 -24 -23 -20 -19 -17 -17 -14 -14 -12 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --61 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -53 -48 -46 -40 -38 -34 -32 -29 -28 -24 -23 -21 -20 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -39 -34 -33 -30 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -46 -40 -38 -35 -33 -29 -27 -25 -23 -20 -19 -17 -16 -14 -13 -11 -11 -10 -9 -6 -7 -5 -5 -4 -4 -3 -3 -2 -2 -0 -1 -0 -0 --1 --1 --2 --1 --2 --1 --2 --1 --3 --2 --3 --3 --3 --3 --3 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --5 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --29 --50 --68 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --55 --51 --47 --45 --41 --39 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --23 --22 --20 --20 --18 --18 --16 --16 --14 --14 --13 --12 --10 --11 --9 --10 --9 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --4 --4 --3 --3 --2 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -80 -72 -69 -62 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -16 -15 -12 -12 -10 -10 -8 -8 -6 --19 --42 --60 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -91 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -39 -35 -33 -29 -28 -24 -24 -20 -19 -17 -17 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -54 -48 -45 -40 -38 -35 -33 -29 -27 -25 -24 -20 -19 -17 -16 -14 -13 -11 -11 -10 -9 -6 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -63 -56 -53 -48 -45 -40 -39 -35 -32 -29 -28 -25 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -40 -39 -35 -32 -29 -28 -24 -23 -20 -19 -17 -17 -14 -14 -11 -11 -9 -9 -7 -7 -6 -5 -3 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --1 --2 --2 --3 --1 --2 --2 --3 --2 --3 --3 --4 --3 --4 --3 --4 --4 --4 --3 --4 --4 --5 --4 --5 --4 --4 --5 --5 --4 --5 --4 --4 --4 --5 --4 --5 --29 --51 --67 --83 --95 --106 --97 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --76 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --6 --6 --5 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -79 -72 -69 -61 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -25 -22 -21 -19 -18 -16 -15 -13 -12 -11 -11 -8 -8 -6 --19 --42 --60 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --84 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -53 -47 -46 -41 -38 -34 -33 -29 -27 -24 -23 -20 -20 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -52 -48 -46 -40 -38 -35 -33 -29 -27 -24 -23 -21 -19 -16 -16 -14 -13 -11 -11 -9 -9 -8 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -34 -32 -29 -27 -24 -23 -20 -19 -17 -17 -13 -14 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -53 -48 -45 -40 -38 -35 -32 -29 -28 -24 -23 -21 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -34 -33 -29 -28 -24 -23 -20 -19 -17 -16 -13 -14 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -40 -38 -34 -33 -29 -27 -24 -23 -20 -20 -17 -15 -14 -14 -11 -11 -9 -8 -7 -7 -6 -5 -4 -4 -3 -3 -2 -1 -0 -1 -0 -0 --1 --1 --2 --1 --1 --2 --2 --2 --3 --2 --3 --2 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --4 --5 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --32 --31 --28 --27 --24 --24 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --8 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --4 --4 --3 --3 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -80 -72 -68 -62 -59 -53 -49 -45 -43 -38 -35 -32 -30 -27 -26 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -4 -5 -3 -3 -3 -3 -1 -1 -0 -1 --1 -0 --1 --1 --2 --1 --3 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --113 --106 --99 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --21 --18 --18 --16 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -84 -79 -72 -68 -61 -59 -53 -49 -45 -43 -38 -36 -32 -31 -27 -26 -23 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --60 --77 --89 --101 --109 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --96 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -104 -99 -90 -84 -77 -73 -67 -62 -56 -53 -48 -46 -40 -38 -34 -33 -29 -27 -24 -24 -20 -20 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -39 -35 -33 -29 -27 -24 -24 -21 -19 -16 -16 -14 -13 -12 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -72 -66 -63 -57 -53 -48 -46 -41 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -17 -14 -13 -12 -11 -9 -9 -7 -6 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --74 --69 --65 --60 --56 --52 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -53 -48 -46 -40 -38 -34 -33 -29 -28 -25 -23 -20 -20 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 -5 -4 -4 -2 -3 -2 -2 -1 -1 -0 -1 -0 -0 --2 --1 --2 --2 --2 --2 --3 --2 --3 --3 --3 --2 --3 --3 --4 --3 --4 --3 --4 --4 --5 --4 --4 --4 --4 --4 --4 --4 --5 --5 --4 --4 --5 --5 --5 --4 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --99 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -53 -47 -44 -40 -38 -34 -32 -29 -28 -24 -24 -20 -19 -17 -16 -13 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --22 --21 --20 --18 --17 --15 --15 --14 --14 --12 --12 --11 --11 --9 --10 --9 --8 --8 --8 --6 --7 --6 --6 --5 --6 --5 --6 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -79 -72 -69 -62 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -25 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 --19 --42 --61 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --96 --90 --84 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -13 -14 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -40 -39 -34 -33 -29 -28 -24 -23 -21 -20 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -35 -32 -29 -28 -24 -23 -20 -19 -17 -16 -13 -14 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -54 -48 -45 -40 -38 -35 -32 -29 -28 -25 -24 -20 -19 -17 -15 -14 -13 -11 -11 -9 -9 -7 -8 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -39 -35 -32 -29 -28 -24 -23 -20 -19 -17 -17 -14 -13 -12 -11 -9 -9 -7 -7 -6 -5 -4 -4 -3 -3 -1 -2 -1 -1 -0 -1 --1 --1 --1 --1 --2 --1 --2 --2 --3 --2 --3 --2 --3 --3 --4 --3 --4 --4 --4 --4 --4 --3 --4 --4 --4 --3 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --28 --50 --67 --82 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --48 --45 --41 --39 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -84 -77 -73 -66 -61 -56 -53 -48 -45 -40 -38 -35 -33 -29 -27 -25 -23 -20 -19 -17 -15 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --78 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -40 -39 -35 -32 -29 -28 -25 -24 -20 -19 -17 -17 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --56 --53 --50 --46 --43 --40 --38 --35 --33 --31 --30 --27 --26 --23 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --10 --11 --9 --10 --8 --9 --7 --8 --7 --7 --6 --7 --5 --6 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -108 -99 -93 -84 -80 -72 -69 -62 -58 -52 -50 -45 -42 -38 -36 -32 -30 -27 -26 -22 -22 -19 -17 -16 -15 -12 -12 -10 -10 -8 -8 -6 --19 --42 --60 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --59 --56 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -40 -39 -35 -32 -29 -27 -24 -23 -20 -19 -17 -17 -14 -13 -12 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -34 -33 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -11 -10 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -39 -35 -32 -29 -28 -24 -23 -21 -19 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 -5 -4 -4 -2 -3 -2 -1 -1 -1 -0 -0 -0 -0 --2 --1 --2 --2 --2 --2 --4 --2 --3 --2 --3 --3 --4 --3 --3 --3 --4 --4 --4 --4 --4 --3 --5 --4 --4 --3 --4 --4 --5 --5 --4 --4 --5 --5 --5 --4 --4 --28 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --58 --54 --51 --47 --45 --41 --40 --36 --34 --32 --30 --28 --27 --24 --23 --21 --21 --18 --18 --17 --16 --15 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --5 --4 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -108 -99 -92 -85 -79 -72 -69 -62 -58 -52 -50 -45 -42 -38 -35 -32 -31 -28 -26 -22 -21 -18 -18 -16 -15 -12 -12 -10 -10 -8 -8 -6 --19 --42 --60 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --102 --97 --90 --85 --78 --74 --68 --64 --60 --56 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -35 -32 -29 -28 -24 -23 -20 -19 -17 -17 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --84 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -40 -39 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -10 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -56 -53 -48 -45 -40 -39 -35 -32 -29 -28 -25 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -12 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --78 --74 --69 --65 --60 --56 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -57 -53 -47 -45 -41 -38 -34 -32 -29 -28 -24 -23 -21 -20 -17 -15 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --68 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -40 -38 -35 -32 -29 -27 -24 -23 -20 -19 -16 -17 -14 -13 -11 -11 -9 -9 -7 -7 -5 -5 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 --1 --1 --1 --2 --2 --2 --2 --2 --2 --3 --2 --3 --3 --4 --3 --4 --4 --4 --3 --5 --3 --4 --4 --5 --3 --4 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --29 --50 --67 --83 --95 --105 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --87 --81 --77 --71 --67 --62 --59 --54 --51 --48 --45 --41 --39 --35 --34 --32 --30 --28 --27 --24 --23 --21 --21 --18 --18 --17 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -85 -80 -72 -68 -62 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --61 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --110 --103 --96 --90 --84 --78 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -33 -32 -29 -28 -24 -23 -20 -20 -17 -16 -14 -14 -12 -10 -9 -9 -7 -7 -5 -5 -4 -4 -3 -3 -2 -2 -0 -1 -0 -0 --1 -0 --1 --1 --2 --1 --2 --1 --2 --2 --3 --2 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --29 --50 --67 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --32 --31 --28 --27 --24 --23 --21 --20 --19 --18 --16 --16 --15 --14 --13 --12 --11 --11 --10 --10 --9 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -85 -79 -72 -68 -62 -58 -53 -50 -45 -43 -38 -35 -31 -30 -27 -26 -23 -21 -18 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --90 --85 --78 --74 --68 --65 --60 --56 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -57 -54 -47 -45 -41 -39 -34 -32 -29 -28 -25 -23 -20 -20 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -39 -35 -32 -29 -28 -24 -23 -20 -20 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --78 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -38 -34 -32 -29 -27 -24 -23 -20 -20 -17 -16 -14 -14 -12 -10 -9 -9 -7 -7 -5 -5 -4 -4 -3 -3 -2 -2 -0 -1 -0 -0 --1 -0 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --5 --3 --4 --4 --5 --4 --5 --4 --4 --4 --5 --4 --5 --5 --4 --4 --5 --4 --5 --29 --50 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --100 --93 --87 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --35 --34 --32 --30 --28 --27 --24 --23 --21 --20 --19 --18 --16 --16 --15 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --6 --7 --6 --7 --5 --6 --5 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -98 -92 -84 -79 -72 -68 -62 -58 -53 -50 -45 -42 -38 -35 -32 -30 -27 -26 -23 -21 -19 -18 -16 -15 -13 -13 -10 -10 -8 -7 -6 -6 -5 -5 -3 -4 -2 -3 -1 -1 -0 -1 --1 -0 --1 --1 --2 --1 --2 --2 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --5 --3 --4 --3 --4 --4 --4 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --99 --93 --88 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --20 --19 --18 --16 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -84 -79 -72 -68 -62 -58 -53 -50 -45 -43 -38 -35 -33 -30 -27 -26 -22 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 --19 --42 --61 --77 --89 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --102 --96 --90 --84 --78 --74 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -57 -54 -48 -45 -41 -38 -34 -32 -29 -28 -24 -23 -20 -20 -17 -16 -13 -14 -12 -10 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -38 -34 -32 -29 -28 -25 -23 -20 -20 -17 -15 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -45 -40 -39 -35 -32 -29 -28 -24 -23 -20 -19 -17 -17 -14 -13 -12 -11 -9 -9 -7 -6 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --75 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -38 -34 -33 -29 -27 -24 -24 -21 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 -5 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --1 --1 --1 --2 --2 --2 --2 --4 --3 --3 --3 --3 --3 --4 --3 --4 --3 --5 --4 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --99 --93 --88 --81 --76 --71 --67 --62 --58 --54 --51 --47 --45 --41 --39 --36 --34 --32 --30 --28 --27 --24 --23 --21 --20 --18 --18 --16 --16 --15 --14 --13 --13 --11 --11 --10 --10 --8 --9 --8 --8 --7 --7 --6 --6 --6 --6 --5 --5 --4 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -107 -99 -93 -84 -79 -72 -68 -62 -59 -53 -50 -45 -42 -37 -36 -32 -30 -27 -25 -22 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -5 -5 -4 -3 -2 -3 -1 -1 -0 -0 --1 -0 --1 --1 --1 --1 --2 --2 --3 --2 --3 --2 --3 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --4 --4 --4 --5 --4 --5 --4 --4 --3 --4 --4 --4 --4 --5 --4 --5 --29 --50 --68 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --87 --81 --77 --71 --67 --62 --59 --54 --51 --47 --45 --41 --39 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -89 -85 -77 -72 -66 -62 -56 -53 -48 -45 -40 -38 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --56 --52 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --10 --11 --9 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -79 -72 -69 -62 -58 -53 -50 -45 -42 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -7 --19 --42 --60 --77 --89 --101 --110 --102 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --102 --97 --90 --84 --78 --74 --68 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -46 -41 -39 -35 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -34 -32 -29 -27 -25 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -65 -62 -57 -53 -48 -45 -41 -39 -35 -32 -29 -28 -25 -23 -20 -20 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --78 --74 --69 --65 --60 --57 --53 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -89 -85 -77 -72 -66 -62 -56 -53 -48 -45 -40 -39 -35 -32 -29 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -6 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --102 --97 --90 --85 --79 --74 --69 --65 --60 --56 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -34 -32 -29 -27 -25 -23 -20 -20 -17 -16 -13 -13 -11 -10 -9 -9 -6 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --68 --65 --60 --57 --52 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -46 -41 -39 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -11 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -57 -53 -48 -45 -41 -39 -34 -32 -29 -27 -24 -23 -21 -20 -17 -16 -14 -14 -11 -10 -9 -9 -7 -7 -5 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -65 -62 -56 -53 -48 -46 -40 -39 -35 -33 -29 -28 -24 -23 -20 -20 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --78 --74 --69 --65 --60 --57 --52 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -106 -98 -90 -85 -77 -72 -66 -62 -56 -54 -48 -45 -40 -39 -35 -32 -29 -27 -24 -23 -21 -19 -17 -16 -14 -14 -12 -11 -8 -9 -7 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -34 -33 -29 -27 -25 -24 -20 -19 -17 -16 -13 -14 -11 -11 -9 -9 -7 -8 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --68 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -46 -41 -39 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -14 -14 -12 -11 -9 -8 -7 -7 -5 --20 --43 --61 --77 --90 --102 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -38 -34 -33 -29 -27 -24 -24 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -6 -7 -6 --20 --43 --61 --77 --90 --101 --110 --102 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 diff --git a/traces/modulation-ask-man-128.pm3 b/traces/modulation-ask-man-128.pm3 deleted file mode 100644 index 1d0e84690..000000000 --- a/traces/modulation-ask-man-128.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --106 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --19 --19 --18 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -93 -87 -80 -75 -68 -64 -58 -55 -50 -47 -42 -39 -36 -34 -30 -28 -26 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -9 -7 -8 -6 -5 -4 -4 -3 -3 -2 -2 -1 -2 -0 -0 -0 -0 --2 --26 --48 --66 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --43 --41 --38 --36 --34 --32 --29 --28 --26 --25 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -49 -47 -42 -40 -35 -34 -30 -28 -26 -24 -21 -20 -18 -17 -15 -14 -12 -11 -10 -10 -7 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --1 --2 --1 --2 --1 --3 --3 --3 --2 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --6 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --29 --50 --67 --83 --95 --106 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --94 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --39 --37 --34 --32 --30 --29 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -49 -47 -42 -40 -36 -33 -29 -29 -26 -24 -21 -20 -18 -17 -14 -14 -11 -11 -10 -8 -8 -8 -6 -6 -4 -4 -3 -3 -2 -1 -1 -1 -0 -1 -0 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --25 --24 --23 --22 --20 --19 --17 --17 --16 --15 --13 --13 --12 --12 --10 --10 --9 --10 --8 --8 --7 --8 --7 --7 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -97 -91 -83 -78 -70 -66 -60 -57 -52 -48 -44 -41 -37 -35 -31 -30 -26 -25 -22 -20 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 -0 -0 --1 --26 --48 --65 --81 --93 --104 --97 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -34 -30 -28 -24 -24 -22 -20 -17 -17 -15 -14 -12 -11 -9 -10 -8 -6 -6 -6 -4 -5 -3 -3 -2 -3 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --58 --54 --50 --47 --44 --42 --38 --36 --33 --32 --30 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -58 -55 -50 -47 -42 -40 -36 -33 -31 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -12 -9 -10 -8 -7 -6 -6 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -50 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -20 -17 -17 -15 -14 -12 -11 -9 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -3 -1 -0 -0 -1 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --58 --54 --50 --47 --44 --42 --38 --36 --33 --32 --30 --28 --26 --25 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -65 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -17 -17 -15 -13 -12 -12 -10 -9 -8 -8 -6 -6 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 -0 -0 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --2 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --5 --4 --5 --5 --4 --4 --5 --4 --5 --4 --5 --4 --4 --4 --5 --4 --6 --4 --5 --5 --5 --4 --5 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --100 --94 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --45 --42 --39 --37 --34 --33 --30 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --10 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --4 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --1 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -70 -67 -60 -57 -51 -48 -44 -41 -37 -35 -31 -30 -27 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 -5 -4 -3 -4 -2 -2 -1 -1 -1 -1 --1 -0 --1 --25 --47 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --55 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --23 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -94 -87 -80 -75 -68 -64 -58 -55 -50 -47 -42 -39 -36 -34 -30 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -12 -9 -9 -8 -8 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --42 --38 --36 --34 --32 --29 --28 --25 --24 --23 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -76 -68 -65 -59 -55 -50 -47 -42 -39 -36 -34 -31 -29 -25 -24 -21 -21 -18 -16 -15 -14 -12 -11 -9 -9 -8 -8 -6 -6 -5 -5 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --75 --71 --66 --62 --58 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --25 --25 --23 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -109 -102 -93 -88 -80 -76 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -21 -18 -16 -15 -14 -12 -11 -9 -9 -7 -7 -6 -5 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --58 --54 --50 --47 --44 --42 --38 --36 --33 --32 --30 --28 --26 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -76 -68 -64 -59 -55 -50 -47 -43 -40 -35 -34 -30 -29 -26 -24 -21 -21 -18 -16 -14 -14 -12 -11 -10 -9 -8 -8 -6 -6 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --99 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --23 --22 --20 --19 --17 --17 --16 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -109 -102 -93 -87 -79 -76 -69 -64 -58 -55 -50 -47 -43 -40 -35 -33 -30 -28 -25 -24 -21 -20 -18 -17 -15 -14 -12 -12 -10 -9 -8 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --76 --71 --66 --62 --58 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -101 -94 -88 -80 -75 -69 -65 -59 -55 -49 -47 -42 -40 -35 -33 -30 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -12 -10 -9 -8 -8 -6 -6 -4 -4 -3 -3 -1 -2 -1 -1 -0 -1 --1 -0 --1 --1 --2 --1 --3 --2 --2 --2 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --5 --3 --4 --4 --4 --4 --4 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --4 --6 --4 --5 --4 --5 --5 --5 --5 --5 --4 --6 --4 --5 --4 --5 --5 --6 --5 --5 --4 --6 --30 --51 --68 --83 --95 --106 --98 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --94 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --39 --36 --34 --32 --29 --28 --26 --24 --23 --22 --19 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --9 --8 --9 --7 --7 --7 --7 --6 --7 --5 --6 --5 --6 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 -4 -4 -4 -4 -2 -2 -1 -1 -0 -1 --1 -0 --1 -0 --2 --1 --2 --2 --3 --2 --3 --2 --3 --3 --4 --3 --3 --3 --4 --3 --4 --4 --4 --4 --4 --4 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --6 --4 --5 --4 --5 --4 --5 --5 --5 --4 --6 --5 --5 --4 --5 --4 --5 --4 --4 --4 --5 --5 --5 --5 --5 --4 --6 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --32 --30 --28 --26 --25 --23 --22 --20 --19 --17 --17 --16 --15 --13 --13 --12 --13 --11 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --5 --5 --5 --4 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --2 --2 --1 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -70 -67 -61 -57 -51 -48 -43 -41 -37 -34 -31 -30 -27 -25 -22 -21 -19 -18 -15 -14 -12 -12 -10 -9 -8 -8 -6 -6 -5 -5 -3 -4 -2 -2 -1 -1 -0 -1 -0 -0 --1 --25 --47 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --37 --34 --32 --29 --28 --26 --24 --22 --21 --19 --19 --18 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -21 -18 -17 -15 -14 -12 -11 -10 -10 -7 -7 -6 -6 -4 -4 -2 -3 -2 -1 -1 -1 -0 -1 -0 --1 --2 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --58 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -34 -30 -28 -26 -25 -21 -20 -18 -17 -15 -14 -11 -11 -10 -9 -7 -8 -6 -5 -4 -4 -3 -3 -2 -1 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -94 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -28 -25 -24 -21 -20 -18 -17 -15 -14 -12 -11 -10 -10 -7 -7 -5 -5 -5 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 --1 --2 --26 --48 --66 --81 --93 --104 --97 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -35 -34 -30 -28 -26 -25 -21 -20 -18 -17 -14 -14 -12 -11 -9 -9 -7 -8 -6 -6 -5 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --1 --1 --1 --2 --2 --3 --3 --3 --2 --4 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --5 --4 --4 --3 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --6 --4 --5 --5 --5 --5 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --32 --30 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -109 -102 -94 -88 -80 -76 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -22 -20 -17 -17 -15 -14 -12 -12 -9 -10 -8 -8 -6 -6 -5 -4 -3 -3 -1 -2 -1 -1 -0 -1 --1 --1 --1 --25 --47 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --75 --71 --66 --62 --58 --55 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -20 -18 -18 -15 -14 -12 -12 -10 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -3 -1 -1 -1 -1 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -56 -50 -47 -42 -40 -36 -33 -30 -28 -25 -24 -21 -20 -18 -17 -15 -14 -12 -11 -9 -9 -8 -7 -6 -6 -4 -5 -3 -3 -2 -3 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --76 --71 --66 --62 --58 --54 --50 --48 --44 --42 --39 --36 --33 --32 --30 --28 --26 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -64 -59 -55 -50 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -20 -17 -17 -15 -14 -12 -11 -9 -10 -8 -7 -6 -5 -4 -5 -3 -3 -1 -2 -1 -1 -0 -1 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --76 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -22 -20 -17 -17 -15 -14 -12 -11 -9 -9 -7 -7 -6 -6 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --25 --47 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --75 --72 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --26 --25 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -94 -88 -80 -76 -68 -65 -58 -54 -50 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -17 -17 -14 -14 -12 -11 -9 -9 -8 -8 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -1 -0 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --93 --86 --81 --75 --71 --66 --62 --58 --54 --50 --48 --44 --41 --38 --36 --34 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -49 -47 -42 -40 -36 -33 -30 -29 -25 -24 -22 -21 -18 -17 -15 -14 -12 -12 -10 -9 -7 -7 -5 -6 -5 -4 -3 -3 -2 -2 -1 -1 -0 -1 --1 --1 --1 --1 --1 --1 --2 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --3 --5 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --6 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --29 --50 --68 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --33 --30 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -69 -65 -58 -56 -50 -47 -42 -40 -35 -34 -30 -29 -26 -25 -22 -20 -18 -17 -14 -14 -12 -11 -10 -10 -8 -7 -6 -6 -5 -5 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -119 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -50 -46 -42 -40 -36 -34 -30 -29 -25 -25 -21 -19 -18 -17 -14 -14 -12 -12 -10 -9 -8 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -1 -0 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --34 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -96 -91 -83 -78 -71 -66 -61 -57 -51 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -5 -5 -3 -3 -3 -3 -1 -1 -0 -0 -0 -0 --2 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --43 --41 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -76 -68 -64 -59 -55 -50 -47 -42 -40 -36 -34 -30 -28 -26 -25 -21 -20 -17 -17 -15 -14 -11 -11 -10 -10 -8 -7 -6 -6 -4 -4 -3 -3 -2 -2 -0 -1 -1 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --23 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -35 -34 -30 -28 -26 -24 -21 -20 -18 -17 -15 -14 -12 -11 -10 -10 -7 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -35 -34 -30 -29 -26 -25 -21 -20 -18 -17 -15 -14 -12 -11 -10 -9 -7 -8 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -1 -1 --1 -0 --1 --1 --2 --1 --2 --2 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --5 --3 --5 --5 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --6 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --94 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --45 --42 --39 --37 --34 --33 --30 --28 --26 --25 --23 --22 --20 --20 --18 --17 --15 --15 --14 --13 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --3 --2 --2 --2 --2 --2 --3 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -96 -91 -83 -78 -71 -67 -60 -57 -52 -48 -43 -42 -37 -35 -31 -30 -27 -25 -22 -21 -19 -18 -15 -14 -13 -12 -9 -10 -8 -8 -6 -6 -5 -5 -3 -3 -2 -2 -1 -1 -0 -1 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --99 --93 --86 --81 --75 --71 --66 --62 --58 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -93 -88 -80 -75 -68 -64 -58 -56 -50 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -20 -17 -17 -15 -14 -12 -11 -9 -9 -8 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -1 --1 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --42 --38 --36 --34 --32 --29 --28 --26 --25 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -50 -47 -42 -40 -35 -34 -31 -29 -25 -24 -22 -21 -17 -17 -15 -14 -12 -11 -9 -9 -8 -8 -6 -6 -5 -4 -3 -3 -2 -2 -1 -1 -0 -1 -0 --1 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --16 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -20 -17 -17 -15 -14 -12 -11 -10 -9 -8 -7 -5 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -1 -0 --1 --1 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --41 --38 --36 --34 --32 --29 --28 --26 --25 --23 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -65 -59 -55 -49 -47 -42 -40 -36 -34 -30 -29 -25 -24 -22 -20 -18 -17 -15 -14 -12 -11 -10 -9 -8 -8 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 --1 -1 -0 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -49 -47 -42 -40 -36 -33 -30 -29 -26 -24 -21 -20 -18 -17 -15 -14 -12 -12 -10 -9 -7 -7 -6 -6 -4 -4 -3 -4 -2 -1 -1 -1 -0 -0 --1 --1 --1 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --26 --25 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -102 -94 -88 -80 -75 -69 -65 -59 -55 -49 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -21 -18 -16 -15 -14 -11 -12 -10 -9 -8 -8 -6 -6 -5 -5 -3 -3 -2 -1 -1 -1 -0 -0 -0 -0 --1 --1 --1 --1 --2 --2 --3 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --4 --4 --3 --4 --4 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --4 --5 --4 --5 --5 --4 --4 --6 --5 --5 --4 --5 --4 --5 --5 --5 --4 --6 --4 --5 --5 --5 --5 --5 --4 --5 --29 --50 --68 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --50 --48 --45 --42 --39 --37 --34 --33 --30 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --4 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -97 -91 -82 -78 -71 -66 -61 -57 -51 -48 -44 -41 -37 -35 -31 -29 -27 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -7 -8 -6 -6 -5 -5 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --2 --26 --48 --66 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -79 -75 -68 -64 -58 -55 -49 -47 -43 -40 -35 -33 -30 -28 -26 -24 -21 -20 -18 -17 -15 -14 -12 -11 -10 -10 -7 -7 -6 -6 -4 -4 -3 -3 -2 -3 -1 -1 -0 -0 -0 -0 --1 --1 --2 --1 --2 --2 --2 --2 --3 --2 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --5 --4 --5 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --5 --5 --5 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --5 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --94 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --45 --42 --39 --37 --34 --32 --30 --28 --26 --25 --23 --22 --20 --19 --18 --17 --15 --15 --13 --13 --12 --12 --11 --11 --10 --9 --8 --8 --7 --8 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -70 -67 -60 -57 -51 -48 -44 -42 -37 -35 -31 -29 -26 -25 -22 -20 -18 -18 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 -4 -5 -3 -2 -2 -3 -1 -1 -0 -1 -0 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -34 -31 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -11 -9 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -1 --1 --1 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --39 --36 --33 --32 --29 --28 --26 --24 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -93 -88 -80 -75 -69 -64 -58 -55 -50 -47 -42 -41 -36 -33 -30 -29 -25 -24 -21 -20 -17 -17 -15 -14 -12 -11 -9 -10 -7 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -1 -0 --1 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --58 --54 --50 --48 --44 --42 --38 --36 --33 --32 --30 --28 --25 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -33 -30 -29 -25 -24 -22 -20 -18 -17 -15 -14 -12 -11 -9 -10 -8 -7 -6 -6 -5 -4 -3 -3 -2 -2 -1 -1 -0 -1 --1 --1 --1 -0 --1 --1 --2 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --4 --4 --4 --5 --4 --5 --3 --5 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --6 --4 --5 --29 --50 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --93 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --38 --37 --34 --32 --29 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --1 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -70 -67 -61 -56 -52 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -12 -11 -10 -10 -8 -7 -6 -6 -5 -5 -3 -4 -3 -2 -1 -1 -0 -1 -0 -0 --2 --1 --1 --1 --2 --2 --2 --2 --3 --3 --4 --3 --3 --3 --4 --3 --4 --3 --4 --3 --5 --3 --4 --4 --4 --4 --5 --4 --4 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --6 --4 --6 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --93 --87 --82 --76 --72 --67 --63 --58 --55 --50 --48 --44 --42 --39 --36 --34 --32 --30 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --10 --8 --8 --8 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --2 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -96 -90 -83 -78 -70 -66 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -15 -13 -11 -10 -10 -8 -8 -6 -6 -5 -5 -3 -3 -3 -2 -0 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --43 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -103 -94 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -39 -36 -34 -30 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -10 -8 -8 -6 -6 -4 -4 -3 -3 -2 -2 -0 -1 -1 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --43 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -64 -58 -56 -49 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -11 -9 -10 -8 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --43 --42 --38 --36 --33 --32 --30 --28 --26 --24 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -69 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -12 -9 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -1 -1 --1 -0 --1 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --99 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -79 -75 -68 -64 -58 -55 -50 -47 -43 -40 -35 -33 -30 -29 -25 -24 -21 -21 -18 -17 -15 -14 -12 -11 -9 -9 -8 -7 -6 -5 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 --1 --1 --1 --2 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --4 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --112 --106 --99 --93 --87 --82 --76 --72 --66 --62 --58 --55 --50 --48 --44 --42 --39 --36 --34 --32 --30 --29 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --10 --8 --9 --7 --7 --6 --7 --6 --6 --5 --6 --5 --6 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -96 -91 -83 -78 -70 -67 -61 -57 -51 -48 -43 -42 -37 -34 -31 -29 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -7 -5 -4 -3 -4 -2 -3 -1 -1 -0 -1 --1 -0 --1 --1 --2 --1 --2 --2 --2 --2 --3 --2 --3 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --6 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --6 --29 --51 --68 --83 --95 --106 --98 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --112 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --51 --48 --44 --42 --38 --36 --34 --32 --30 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -102 -94 -88 -79 -75 -69 -64 -59 -55 -50 -47 -43 -40 -35 -33 -30 -28 -26 -24 -21 -20 -18 -17 -15 -14 -12 -11 -10 -9 -7 -8 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --26 --24 --22 --22 --19 --19 --17 --17 --15 --15 --13 --13 --12 --12 --10 --10 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -96 -90 -83 -78 -71 -67 -60 -57 -51 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -9 -8 -8 -6 -6 -5 -5 -3 -3 -2 -2 -1 -1 -0 -1 -0 -0 --1 --25 --47 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --25 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -102 -94 -88 -80 -75 -68 -64 -59 -55 -49 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -21 -18 -17 -15 -14 -12 -12 -10 -9 -7 -7 -6 -5 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --97 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --58 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --21 --20 --19 --17 --16 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -76 -68 -64 -59 -55 -49 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -18 -16 -15 -14 -11 -11 -10 -9 -8 -8 -6 -6 -5 -5 -2 -3 -2 -2 -1 -1 -0 -0 -0 -0 --2 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -79 -75 -69 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -11 -10 -10 -7 -7 -6 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --2 --26 --48 --66 --81 --93 --104 --97 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --47 --43 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -76 -69 -65 -59 -55 -49 -47 -42 -40 -35 -33 -30 -28 -26 -24 -21 -20 -18 -17 -14 -14 -12 -11 -9 -9 -7 -8 -6 -6 -5 -5 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --111 --105 --98 --92 --86 --81 --75 --70 --65 --61 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -79 -75 -68 -64 -58 -55 -49 -47 -42 -40 -36 -33 -30 -28 -25 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -9 -7 -7 -6 -6 -4 -5 -3 -3 -2 -2 -0 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --43 --41 --38 --36 --34 --32 --29 --28 --26 --25 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -119 -109 -102 -93 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -34 -30 -28 -25 -25 -22 -20 -18 -17 -14 -14 -11 -11 -10 -10 -7 -7 -6 -6 -4 -4 -3 -3 -2 -2 -0 -1 -0 -1 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --99 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --43 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -31 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -12 -10 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -1 --1 -0 --2 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -34 -31 -29 -25 -24 -22 -20 -18 -17 -15 -14 -12 -11 -9 -10 -7 -7 -6 -6 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --106 --98 --93 --86 --81 --75 --71 --65 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --20 --19 --17 --17 --16 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -12 -9 -10 -8 -7 -6 -6 -4 -4 -3 -3 -1 -3 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -109 -103 -93 -87 -80 -76 -69 -65 -58 -55 -50 -47 -41 -40 -36 -33 -30 -29 -26 -24 -21 -20 -18 -17 -15 -13 -12 -11 -9 -9 -7 -8 -6 -6 -4 -4 -4 -3 -2 -2 -1 -1 -0 -1 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --25 --24 --23 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -93 -88 -80 -75 -68 -65 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -20 -17 -17 -15 -14 -12 -12 -10 -9 -8 -8 -5 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -0 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -65 -59 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -21 -17 -17 -15 -14 -12 -11 -9 -9 -8 -8 -6 -6 -5 -5 -3 -3 -2 -2 -1 -1 --1 -1 --1 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -94 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -12 -9 -9 -8 -8 -6 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -79 -75 -68 -64 -59 -55 -50 -47 -43 -40 -35 -34 -30 -28 -25 -24 -21 -21 -18 -17 -15 -14 -12 -11 -10 -10 -7 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --1 --1 --1 --2 --2 --3 --3 --3 --2 --4 --3 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --5 --4 --4 --5 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --4 --4 --6 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --29 --50 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --32 --30 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 --14 --13 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -82 -78 -71 -67 -61 -57 -51 -49 -44 -41 -36 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -7 -8 -6 -6 -5 -5 -3 -4 -2 -2 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --111 --105 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --47 --44 --42 --39 --36 --33 --32 --29 --28 --26 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -76 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -28 -26 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --65 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --19 --19 --18 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -79 -75 -69 -64 -58 -55 -50 -47 -43 -40 -35 -33 -30 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -9 -8 -8 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --76 --71 --66 --62 --58 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -119 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -25 -21 -19 -17 -17 -14 -14 -12 -11 -10 -10 -8 -7 -6 -6 -4 -5 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --92 --86 --81 --75 --71 --66 --62 --58 --54 --50 --48 --44 --41 --38 --36 --34 --32 --29 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -35 -33 -30 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -12 -9 -9 -8 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --43 --41 --38 --37 --34 --32 --29 --28 --26 --25 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -33 -31 -28 -25 -24 -21 -20 -17 -17 -15 -14 -12 -11 -10 -10 -8 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 --1 -0 --1 --1 --2 --1 --3 --2 --2 --2 --3 --3 --3 --2 --4 --3 --3 --3 --4 --3 --4 --3 --4 --4 --5 --3 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --6 --4 --4 --4 --5 --4 --5 --4 --5 --5 --6 --4 --5 --5 --5 --4 --5 --29 --50 --68 --83 --95 --105 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --94 --87 --82 --76 --72 --66 --63 --58 --55 --51 --48 --45 --42 --39 --37 --34 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --10 --11 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --4 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -106 -97 -91 -83 -78 -71 -67 -61 -56 -51 -49 -43 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -14 -12 -12 -10 -10 -8 -8 -6 -6 -5 -4 -3 -3 -2 -3 -1 -1 -0 -1 -0 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --106 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --37 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -93 -87 -80 -76 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -20 -17 -17 -15 -14 -12 -12 -9 -9 -8 -7 -5 -6 -4 -4 -3 -4 -2 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --93 --86 --81 --75 --71 --66 --62 --58 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -65 -59 -55 -49 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -18 -17 -15 -14 -11 -11 -10 -9 -8 -7 -5 -6 -5 -4 -3 -3 -2 -2 -1 -1 -0 -1 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --26 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -87 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -11 -9 -9 -8 -7 -6 -6 -4 -4 -3 -4 -2 -2 -1 -1 -0 -0 --1 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --34 --32 --29 --28 --25 --25 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -102 -94 -88 -80 -75 -69 -65 -59 -55 -49 -47 -42 -39 -36 -34 -30 -29 -25 -24 -21 -21 -18 -17 -15 -14 -11 -11 -10 -9 -7 -8 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --39 --36 --33 --32 --29 --28 --25 --25 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -94 -88 -80 -75 -68 -64 -58 -55 -49 -47 -43 -40 -36 -34 -30 -29 -25 -24 -21 -20 -18 -16 -15 -14 -12 -11 -10 -9 -7 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -76 -69 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -28 -26 -25 -21 -20 -18 -17 -15 -14 -12 -11 -10 -9 -7 -8 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --1 --1 --1 --2 --2 --3 --2 --3 --2 --3 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --4 --4 --4 --5 --3 --4 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --5 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --5 --6 --4 --5 --4 --5 --4 --5 --5 --5 --5 --6 --4 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --50 --48 --44 --42 --39 --37 --34 --32 --30 --28 --26 --25 --23 --22 --20 --19 --18 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -65 -59 -55 -50 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -18 -17 -15 -14 -12 -12 -10 -9 -8 -7 -6 -6 -4 -4 -3 -3 -2 -1 -1 -2 -0 -0 --1 -0 --1 --25 --47 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --75 --71 --66 --62 --58 --54 --51 --48 --44 --42 --38 --36 --34 --32 --29 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --9 --8 --9 --7 --7 --6 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --1 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -48 -44 -42 -37 -35 -31 -29 -26 -25 -22 -20 -18 -18 -15 -15 -12 -12 -10 -10 -8 -7 -6 -6 -5 -4 -3 -4 -2 -3 -1 -1 -0 -1 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --43 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -33 -30 -29 -26 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -9 -8 -8 -5 -6 -5 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --76 --71 --66 --62 --58 --54 --50 --48 --44 --42 --39 --37 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -69 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -28 -25 -24 -21 -20 -17 -17 -15 -15 -12 -11 -9 -9 -8 -7 -5 -6 -4 -4 -3 -3 -2 -2 -1 -1 --1 -1 --1 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -50 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -20 -18 -17 -15 -14 -11 -11 -10 -9 -8 -7 -6 -6 -5 -5 -3 -3 -2 -1 -1 -1 -0 -1 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --76 --71 --66 --62 --58 --55 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --17 --17 --16 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -94 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -20 -18 -17 -15 -14 -11 -12 -10 -9 -7 -8 -6 -6 -4 -4 -3 -3 -2 -1 -1 -1 -0 -1 --1 --1 --2 --1 --1 --2 --3 --2 --3 --2 --2 --3 --3 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --3 --4 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --4 --4 --6 --4 --5 --5 --6 --5 --5 --4 --5 --5 --5 --4 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --97 --107 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --36 --34 --32 --30 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -71 -66 -60 -57 -52 -49 -43 -41 -37 -36 -31 -29 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -5 -5 -5 -3 -3 -2 -3 -1 -2 -0 -0 -0 -0 --2 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -50 -47 -43 -40 -35 -34 -30 -28 -26 -24 -21 -20 -18 -17 -15 -14 -12 -11 -10 -10 -7 -7 -6 -6 -4 -4 -3 -3 -2 -1 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --82 --76 --71 --66 --62 --58 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --25 --25 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -94 -88 -80 -76 -69 -64 -58 -55 -50 -47 -42 -40 -35 -34 -31 -28 -25 -24 -21 -20 -18 -16 -14 -14 -12 -11 -9 -10 -8 -8 -6 -5 -4 -5 -3 -3 -2 -2 -1 -2 -1 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --58 --55 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -69 -65 -58 -56 -50 -47 -43 -40 -36 -34 -30 -29 -25 -24 -22 -20 -18 -17 -14 -14 -12 -11 -9 -9 -8 -7 -6 -5 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --99 --93 --86 --81 --76 --71 --66 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -31 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -12 -10 -9 -8 -7 -6 -5 -3 -5 -3 -3 -1 -2 -1 -1 -1 -1 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --76 --71 --66 --62 --58 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -11 -9 -9 -8 -7 -6 -6 -4 -5 -3 -3 -2 -3 -1 -0 -0 -1 --1 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -33 -31 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -11 -9 -10 -8 -8 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --1 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --4 --3 --4 --4 --4 --3 --4 --3 --5 --4 --4 --3 --4 --4 --4 --4 --5 --4 --5 --5 --4 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --5 --6 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --29 --50 --68 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --32 --29 --29 --26 --25 --23 --22 --20 --19 --17 --17 --16 --15 --13 --13 --12 --12 --10 --11 --9 --10 --8 --8 --8 --8 --6 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --5 --3 --4 --3 --4 --3 --4 --2 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -67 -60 -56 -52 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -14 -12 -12 -10 -10 -8 -8 -6 -6 -5 -4 -3 -3 -2 -2 -1 -1 -0 -1 -0 -0 --1 --1 --2 --1 --2 --2 --3 --2 --3 --2 --3 --3 --4 --2 --3 --4 --4 --3 --4 --3 --4 --4 --5 --3 --4 --5 --4 --3 --5 --4 --5 --4 --5 --4 --5 --5 --4 --4 --6 --4 --5 --4 --5 --5 --5 --4 --5 --5 --6 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --29 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --32 --30 --28 --26 --25 --22 --22 --20 --19 --17 --17 --16 --15 --13 --13 --12 --12 --10 --11 --10 --10 --8 --8 --8 --8 --7 --7 --6 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -70 -67 -60 -57 -51 -48 -43 -41 -38 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 -10 -9 -8 -8 -6 -6 -5 -4 -3 -4 -2 -2 -1 -1 -1 -1 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --99 --93 --86 --81 --75 --71 --66 --62 --58 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -87 -80 -76 -68 -65 -59 -55 -50 -47 -42 -40 -36 -33 -30 -29 -26 -24 -21 -21 -18 -17 -14 -14 -12 -12 -9 -9 -8 -8 -6 -5 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --2 --26 --48 --66 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --34 --32 --29 --28 --26 --24 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -102 -94 -88 -80 -75 -69 -64 -59 -55 -49 -47 -42 -40 -35 -34 -30 -29 -26 -25 -21 -21 -18 -16 -15 -14 -11 -11 -9 -9 -8 -8 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --2 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -94 -88 -80 -76 -69 -64 -58 -55 -50 -47 -43 -40 -35 -34 -30 -29 -25 -24 -21 -21 -18 -16 -14 -14 -12 -12 -9 -9 -7 -8 -6 -5 -4 -5 -3 -3 -2 -2 -1 -1 -0 --1 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --106 --98 --93 --86 --81 --76 --71 --66 --62 --58 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -10 -7 -8 -6 -6 -4 -5 -3 -3 -2 -2 -0 -1 -0 -1 --1 -0 --1 --1 --1 --1 --3 --2 --3 --3 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --5 --4 --4 --3 --4 --4 --5 --4 --4 --4 --5 --5 --5 --5 --5 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --6 --4 --5 --5 --5 --29 --50 --67 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --94 --87 --82 --76 --72 --66 --63 --58 --55 --51 --48 --45 --42 --38 --37 --34 --33 --30 --28 --26 --25 --23 --22 --20 --19 --17 --17 --16 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -76 -68 -65 -58 -55 -50 -47 -41 -40 -36 -34 -30 -29 -25 -24 -21 -20 -17 -17 -15 -14 -11 -11 -10 -10 -8 -7 -6 -6 -5 -4 -2 -3 -2 -2 -1 -1 -0 -1 -0 -0 --2 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --21 --19 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -78 -71 -66 -60 -57 -52 -48 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -3 -1 -1 -0 -1 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --43 --41 --38 --36 --33 --32 --30 --28 --25 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -69 -64 -58 -55 -50 -47 -42 -40 -36 -34 -31 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -11 -9 -9 -7 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -0 -0 -1 --1 -0 --1 --25 --47 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --99 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -93 -88 -80 -75 -69 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -28 -25 -24 -21 -20 -18 -17 -15 -14 -12 -12 -10 -9 -7 -7 -6 -6 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --34 --32 --29 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -50 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -18 -17 -15 -13 -12 -11 -10 -9 -8 -7 -6 -6 -5 -4 -3 -3 -2 -2 -1 -1 -0 -1 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --65 --62 --57 --54 --50 --48 --44 --42 --38 --37 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --18 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -109 -103 -94 -88 -80 -75 -68 -65 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -23 -21 -20 -17 -17 -14 -14 -12 -12 -10 -9 -8 -8 -5 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --106 --98 --92 --86 --81 --75 --71 --66 --62 --58 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -76 -68 -65 -59 -55 -50 -47 -42 -40 -36 -34 -30 -29 -26 -24 -22 -20 -17 -17 -15 -14 -12 -11 -9 -9 -8 -8 -5 -6 -5 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --1 --2 --2 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --4 --4 --3 --4 --5 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --4 --4 --4 --5 --4 --5 --5 --5 --4 --6 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --33 --30 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -93 -88 -80 -75 -69 -64 -58 -55 -50 -47 -42 -40 -36 -33 -31 -29 -25 -24 -21 -20 -17 -17 -15 -14 -12 -11 -9 -10 -8 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -1 -1 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --25 --23 --22 --20 --19 --17 --17 --15 --14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -22 -20 -18 -17 -15 -14 -12 -11 -9 -9 -8 -7 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --93 --86 --81 --76 --71 --66 --62 --57 --54 --50 --48 --43 --41 --38 --36 --34 --32 --29 --28 --26 --25 --22 --21 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --9 --8 --8 --7 --7 --7 --7 --6 --6 --5 --6 --4 --5 --4 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -82 -78 -71 -66 -61 -57 -52 -48 -43 -42 -37 -35 -31 -29 -27 -25 -21 -21 -19 -17 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -5 -5 -3 -3 -2 -2 -1 -1 -1 -0 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --65 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -109 -101 -94 -88 -80 -75 -68 -64 -58 -55 -49 -47 -43 -40 -35 -34 -30 -28 -26 -24 -21 -20 -18 -17 -15 -14 -12 -11 -10 -10 -7 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -119 -109 -102 -94 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -35 -34 -31 -29 -25 -24 -21 -21 -18 -17 -14 -14 -12 -11 -10 -9 -7 -7 -6 -6 -4 -5 -3 -3 -2 -2 -0 -1 -0 -0 --1 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --22 --20 --19 --17 --17 --16 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -31 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -12 -10 -10 -8 -7 -6 -6 -4 -5 -3 -2 -2 -2 -1 -1 -0 -0 -0 -0 --1 --1 --2 --1 --2 --2 --3 --2 --3 --2 --3 --3 --4 --3 --4 --4 --4 --3 --4 --3 --4 --4 --4 --3 --4 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --6 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --94 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --39 --37 --34 --32 --30 --28 --26 --25 --22 --22 --20 --19 --17 --17 --16 --15 --13 --13 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --2 --2 --2 --2 --2 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -106 -96 -91 -83 -77 -71 -67 -60 -57 -51 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 -10 -10 -8 -7 -6 -6 -4 -5 -4 -3 -2 -2 -1 -2 -0 -1 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --17 --17 --15 --14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -50 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -20 -18 -17 -14 -14 -12 -11 -9 -9 -8 -8 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -1 --1 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --22 --19 --19 --17 --17 --16 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -75 -68 -65 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -25 -24 -21 -20 -17 -17 -14 -13 -12 -11 -10 -10 -8 -7 -6 -6 -4 -4 -2 -3 -2 -2 -1 -1 -0 -1 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --106 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --25 --25 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -87 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -35 -34 -30 -29 -25 -23 -21 -21 -17 -17 -14 -14 -12 -12 -9 -9 -7 -7 -6 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --2 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --41 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -103 -94 -88 -80 -76 -68 -65 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -18 -17 -14 -14 -12 -12 -10 -9 -7 -8 -6 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --2 --26 --48 --66 --81 --93 --104 --97 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --111 --105 --98 --92 --86 --81 --75 --70 --66 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --25 --25 --23 --22 --20 --19 --18 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -87 -80 -75 -68 -64 -59 -56 -50 -47 -42 -40 -36 -34 -29 -29 -26 -24 -21 -20 -18 -17 -15 -14 -12 -11 -9 -9 -7 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --26 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --26 --24 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -102 -94 -88 -80 -75 -69 -64 -58 -55 -49 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -9 -8 -8 -6 -6 -4 -5 -3 -3 -2 -2 -1 -2 -0 -0 --1 -0 --1 --1 --2 --2 --3 --2 --2 --3 --3 --2 --3 --2 --3 --3 --4 --3 --4 --4 --4 --4 --5 --3 --4 --4 --4 --3 --4 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --5 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --29 --50 --67 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --94 --87 --82 --76 --72 --67 --63 --58 --55 --50 --48 --44 --42 --39 --37 --34 --32 --30 --28 --26 --25 --22 --22 --20 --19 --18 --17 --15 --15 --13 --13 --12 --12 --10 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -97 -91 -83 -78 -71 -67 -60 -57 -51 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -15 -12 -11 -10 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -3 -1 -1 -1 -1 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --65 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 --32 --29 --28 --25 --24 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -79 -75 -68 -64 -58 -55 -50 -47 -43 -40 -36 -33 -30 -29 -24 -24 -21 -20 -18 -17 -15 -14 -12 -12 -9 -9 -8 -6 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --1 --2 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --5 --4 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --6 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --29 --50 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --107 --99 --93 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --38 --36 --34 --32 --29 --28 --26 --25 --23 --22 --20 --19 --18 --17 --15 --15 --13 --13 --12 --12 --11 --11 --9 --10 --8 --9 --7 --7 --7 --7 --5 --6 --5 --6 --5 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -82 -78 -71 -67 -60 -56 -51 -49 -43 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 -10 -10 -8 -8 -6 -6 -5 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --47 --43 --41 --38 --36 --33 --32 --29 --28 --26 --25 --22 --21 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -88 -80 -76 -68 -64 -58 -55 -50 -47 -42 -40 -36 -34 -30 -29 -26 -24 -21 -20 -17 -17 -14 -14 -12 -12 -9 -9 -8 -8 -6 -6 -4 -3 -3 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --93 --86 --81 --75 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --25 --24 --22 --21 --20 --19 --17 --17 --16 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -94 -87 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -36 -33 -30 -29 -25 -24 -21 -20 -18 -17 -15 -14 -12 -12 -10 -9 -8 -7 -5 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 --1 --1 --26 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --105 --98 --92 --86 --81 --75 --71 --65 --62 --58 --54 --50 --48 --44 --41 --38 --36 --33 --32 --29 --28 --25 --25 --22 --22 --20 --19 --17 --17 --15 --15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -119 -109 -102 -93 -87 -80 -76 -68 -64 -59 -55 -50 -47 -42 -40 -36 -33 -29 -29 -26 -24 -21 -20 -18 -17 -15 -14 -11 -11 -10 -9 -8 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 --1 -0 -0 -0 --1 --1 --1 --1 --2 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --3 --4 --4 --4 --4 --5 --4 --4 --4 --5 --5 --6 --4 --5 --4 --6 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --6 --4 --5 --4 --6 --5 --5 --29 --50 --68 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --94 --87 --82 --76 --72 --66 --63 --58 --54 --50 --48 --44 --42 --39 --37 --34 --32 --29 --28 --26 --25 --22 --22 --20 --19 --17 --17 --16 --15 --13 --13 --12 --12 --11 --11 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -106 -97 -91 -83 -78 -71 -66 -60 -57 -51 -49 -44 -41 -37 -35 -31 -29 -27 -25 -22 -21 -18 -17 -15 -15 -12 -11 -10 -10 -8 -8 -6 -6 -5 -4 -2 -4 -2 -2 -1 -1 -0 -1 -0 -0 --1 --1 --1 --1 --2 --1 --3 --2 --3 --2 --4 --2 --3 --3 --3 --3 --4 --3 --4 --3 --5 --3 --4 --4 --5 --4 --5 --3 --5 --4 --4 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --29 --51 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --97 --106 --99 --94 --87 --82 --76 --72 --66 --63 --58 --55 --50 --48 --44 --42 --39 --36 --34 --32 --30 --28 --26 --25 --22 --22 --20 --19 --17 --17 --15 --15 --13 --13 --12 --12 --11 --10 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --1 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -105 -96 -91 -82 -78 -71 -66 -60 -57 -52 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -19 -17 -15 -15 -13 -12 -10 -9 -7 -8 -6 -6 -5 -5 -4 -3 -2 -2 -1 -1 -0 -0 -0 -0 --1 --25 --48 --65 --81 --93 --104 --112 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --112 --105 --98 --92 --86 --81 --75 --70 --66 --62 --57 --54 --50 --47 --44 --42 --38 --36 --33 diff --git a/traces/modulation-ask-man-16.pm3 b/traces/modulation-ask-man-16.pm3 deleted file mode 100644 index aca260b2c..000000000 --- a/traces/modulation-ask-man-16.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --127 --127 --127 --127 --112 --108 --101 --111 --104 --97 --23 -114 -127 -127 -127 -127 -121 -82 -37 --11 --50 --84 --111 --127 --127 --112 --51 -85 -127 -127 -127 -127 -92 -56 -14 --31 --67 --98 --107 --127 --127 --127 --64 -73 -127 -127 -127 -120 -83 -48 -6 --37 --72 --103 --112 --127 --127 --127 --68 -69 -127 -127 -127 -117 -79 -45 -3 --39 --74 --104 --127 --127 --127 --127 --69 -67 -127 -127 -127 -115 -79 -43 -2 --41 --75 --105 --127 --127 --127 --127 --69 -67 -127 -127 -127 -115 -78 -43 -19 -6 -3 -5 -11 -15 -18 -18 --2 --44 --78 --108 --127 --127 --127 --127 --78 -60 -127 -127 -127 -109 -72 -37 --3 --45 --79 --109 --127 --127 --127 --127 --73 -64 -127 -127 -127 -112 -76 -40 -0 --42 --77 --107 --127 --127 --127 --127 --127 --127 --111 --106 --100 --110 --102 --96 --22 -115 -127 -127 -127 -127 -121 -83 -38 --10 --49 --83 --110 --127 --127 --111 --50 -86 -127 -127 -127 -127 -92 -56 -13 --31 --67 --98 --107 --127 --127 --127 --64 -73 -127 -127 -127 -120 -82 -47 -6 --37 --72 --103 --112 --127 --127 --127 --67 -69 -127 -127 -127 -117 -80 -45 -21 -8 -4 -5 -11 -15 -18 -19 --2 --43 --78 --108 --127 --127 --127 --127 --127 --127 --127 --112 --105 --98 --107 --100 --26 -112 -127 -127 -127 -127 -120 -81 -35 --12 --51 --84 --111 --127 --127 --127 --52 -85 -127 -127 -127 -127 -91 -55 -13 --32 --68 --99 --108 --127 --127 --127 --63 -73 -127 -127 -127 -120 -82 -47 -6 --37 --73 --103 --112 --127 --127 --127 --67 -69 -127 -127 -127 -116 -79 -45 -3 --40 --74 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -79 -43 -3 --40 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -43 -19 -5 -3 -4 -10 -14 -18 -18 --2 --43 --78 --108 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --107 --101 --26 -111 -127 -127 -127 -127 -119 -80 -35 --12 --51 --84 --112 --127 --127 --127 --52 -84 -127 -127 -127 -127 -92 -56 -31 -16 -13 -14 -18 -22 -25 -24 -4 --39 --74 --104 --127 --127 --127 --127 --127 --127 --127 --109 --102 --112 --104 --98 --24 -113 -127 -127 -127 -127 -120 -82 -37 --11 --50 --84 --111 --127 --127 --112 --51 -86 -127 -127 -127 -127 -92 -55 -13 --31 --67 --98 --107 --127 --127 --127 --64 -73 -127 -127 -127 -120 -83 -47 -6 --37 --73 --103 --112 --127 --127 --127 --68 -69 -127 -127 -127 -116 -80 -45 -21 -7 -5 -5 -11 -15 -19 -19 --1 --43 --78 --108 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --101 --26 -112 -127 -127 -127 -127 -119 -81 -54 -37 -31 -30 -33 -36 -39 -37 -17 --28 --65 --96 --106 --127 --127 --127 --127 --127 --107 --103 --97 --108 --100 --94 --20 -117 -127 -127 -127 -127 -122 -84 -39 --10 --49 --82 --109 --127 --127 --111 --50 -87 -127 -127 -127 -127 -93 -57 -15 --30 --66 --97 --107 --127 --127 --127 --64 -73 -127 -127 -127 -121 -83 -48 -6 --37 --72 --103 --111 --127 --127 --127 --67 -69 -127 -127 -127 -117 -80 -45 -4 --39 --74 --104 --127 --127 --127 --127 --69 -68 -127 -127 -127 -115 -79 -43 -19 -6 -3 -5 -10 -14 -18 -18 --1 --43 --77 --108 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --101 --26 -111 -127 -127 -127 -127 -119 -80 -54 -36 -31 -30 -33 -36 -39 -37 -16 --28 --65 --97 --106 --127 --127 --127 --68 -70 -127 -127 -127 -117 -79 -44 -2 --40 --75 --105 --127 --127 --127 --127 --127 --127 --110 --105 --99 --109 --101 --95 --21 -116 -127 -127 -127 -127 -123 -83 -38 --10 --49 --82 --110 --127 --127 --111 --50 -86 -127 -127 -127 -127 -93 -56 -14 --31 --67 --98 --107 --127 --127 --127 --63 -73 -127 -127 -127 -120 -83 -47 -6 --37 --72 --103 --112 --127 --127 --127 --67 -69 -127 -127 -127 -116 -80 -45 -4 --39 --74 --104 --127 --127 --127 --127 --69 -68 -127 -127 -127 -115 -79 -44 -3 --40 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -77 -42 -2 --41 --75 --106 --127 --127 --127 --127 --70 -67 -127 -127 -127 -114 -78 -42 -1 --41 --76 --106 --127 --127 --127 --127 --70 -67 -127 -127 -127 -114 -78 -42 -1 --41 --75 --106 --127 --127 --127 --127 --70 -66 -127 -127 -127 -115 -78 -42 -2 --41 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -43 -2 --41 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -43 -2 --41 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -43 -1 --41 --75 --106 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -77 -42 -1 --41 --75 --106 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -42 -20 -6 -3 -5 -11 -14 -18 -18 --2 --44 --78 --108 --127 --127 --127 --127 --127 --127 --127 --127 --106 --99 --108 --101 --27 -111 -127 -127 -127 -127 -119 -80 -35 --12 --51 --85 --111 --127 --127 --127 --52 -85 -127 -127 -127 -127 -91 -55 -12 --32 --68 --99 --108 --127 --127 --127 --64 -73 -127 -127 -127 -120 -82 -47 -6 --38 --73 --103 --112 --127 --127 --127 --68 -69 -127 -127 -127 -117 -79 -44 -3 --40 --74 --104 --127 --127 --127 --127 --69 -68 -127 -127 -127 -115 -78 -43 -3 --40 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -43 -19 -6 -3 -5 -10 -13 -18 -18 --2 --44 --78 --108 --127 --127 --127 --127 --127 --127 --127 --127 --106 --99 --107 --101 --26 -111 -127 -127 -127 -127 -119 -80 -35 --12 --51 --84 --112 --127 --127 --127 --52 -85 -127 -127 -127 -127 -91 -55 -13 --31 --67 --98 --107 --127 --127 --127 --64 -72 -127 -127 -127 -120 -83 -48 -6 --37 --72 --103 --111 --127 --127 --127 --68 -69 -127 -127 -127 -117 -79 -45 -4 --39 --74 --104 --112 --127 --127 --127 --70 -68 -127 -127 -127 -116 -78 -43 -2 --41 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -77 -42 -2 --41 --76 --106 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -43 -19 -6 -3 -5 -11 -14 -18 -19 --2 --43 --78 --108 --127 --127 --127 --127 --79 -60 -127 -127 -127 -109 -71 -36 --4 --46 --80 --109 --127 --127 --127 --127 --127 --127 --127 --110 --103 --112 --105 --98 --23 -114 -127 -127 -127 -127 -121 -82 -37 --11 --50 --83 --111 --127 --127 --112 --51 -86 -127 -127 -127 -127 -92 -56 -13 --31 --67 --98 --107 --127 --127 --127 --64 -73 -127 -127 -127 -120 -82 -47 -6 --37 --72 --103 --112 --127 --127 --127 --68 -70 -127 -127 -127 -117 -79 -44 -3 --40 --74 --104 --127 --127 --127 --127 --69 -68 -127 -127 -127 -115 -79 -44 -20 -6 -3 -5 -11 -14 -18 -18 --3 --44 --78 --108 --127 --127 --127 --127 --127 --127 --127 --127 --106 --99 --108 --101 --26 -112 -127 -127 -127 -127 -120 -81 -36 --12 --51 --84 --111 --127 --127 --127 --52 -85 -127 -127 -127 -127 -91 -55 -12 --32 --68 --99 --108 --127 --127 --127 --64 -74 -127 -127 -127 -120 -83 -47 -5 --38 --73 --103 --111 --127 --127 --127 --68 -69 -127 -127 -127 -117 -80 -45 -3 --39 --74 --104 --127 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -19 -6 -3 -5 -11 -13 -18 -19 --2 --43 --78 --108 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --108 --101 --27 -111 -127 -127 -127 -127 -119 -80 -53 -36 -31 -31 -35 -36 -38 -37 -16 --28 --65 --97 --106 --127 --127 --127 --127 --127 --108 --104 --98 --108 --101 --95 --20 -117 -127 -127 -127 -127 -124 -85 -39 --9 --48 --82 --109 --127 --127 --111 --50 -87 -127 -127 -127 -127 -93 -56 -14 --31 --67 --98 --107 --127 --127 --127 --63 -74 -127 -127 -127 -120 -83 -47 -6 --37 --72 --103 --111 --127 --127 --127 --68 -69 -127 -127 -127 -117 -80 -44 -3 --40 --74 --105 --127 --127 --127 --127 --69 -68 -127 -127 -127 -115 -79 -43 -20 -7 -3 -5 -11 -14 -18 -19 --2 --43 --77 --108 --127 --127 --127 --127 --79 -60 -127 -127 -127 -109 -71 -36 --4 --46 --80 --109 --127 --127 --127 --127 --127 --127 --127 --110 --102 --112 --105 --98 --22 -115 -127 -127 -127 -127 -121 -83 -37 --11 --50 --83 --110 --127 --127 --112 --50 -86 -127 -127 -127 -127 -92 -56 -13 --31 --67 --98 --107 --127 --127 --127 --64 -73 -127 -127 -127 -120 -83 -47 -6 --37 --72 --103 --111 --127 --127 --127 --69 -69 -127 -127 -127 -117 -80 -44 -3 --40 --74 --104 --127 --127 --127 --127 --69 -68 -127 -127 -127 -115 -79 -43 -2 --40 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -79 -42 -19 -6 -3 -5 -11 -15 -18 -18 --2 --43 --78 --107 --127 --127 --127 --127 --79 -60 -127 -127 -127 -109 -71 -36 --4 --45 --79 --109 --127 --127 --127 --127 --74 -64 -127 -127 -127 -112 -76 -40 -0 --43 --77 --107 --127 --127 --127 --127 --127 --127 --112 --108 --101 --111 --103 --97 --22 -116 -127 -127 -127 -127 -122 -83 -38 --10 --49 --82 --110 --127 --127 --112 --50 -86 -127 -127 -127 -127 -93 -56 -14 --31 --67 --98 --107 --127 --127 --127 --63 -74 -127 -127 -127 -120 -83 -47 -6 --37 --72 --103 --111 --127 --127 --127 --68 -69 -127 -127 -127 -116 -80 -44 -21 -7 -5 -6 -12 -16 -18 -19 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --106 --99 --108 --102 --27 -112 -127 -127 -127 -127 -119 -81 -36 --12 --51 --84 --111 --127 --127 --127 --52 -85 -127 -127 -127 -127 -91 -56 -13 --32 --67 --99 --107 --127 --127 --127 --64 -74 -127 -127 -127 -120 -82 -47 -5 --37 --72 --103 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --105 --127 --127 --127 --127 --69 -68 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -79 -42 -1 --41 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -43 -19 -6 -3 -4 -10 -14 -18 -19 --2 --44 --78 --108 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --108 --102 --26 -112 -127 -127 -127 -127 -119 -80 -35 --13 --51 --84 --111 --127 --127 --127 --52 -85 -127 -127 -127 -127 -91 -55 -31 -16 -13 -14 -19 -22 -26 -25 -4 --39 --73 --104 --112 --127 --127 --127 --127 --127 --127 --110 --104 --114 --106 --100 --25 -114 -127 -127 -127 -127 -121 -82 -37 --11 --49 --83 --110 --127 --127 --127 --52 -85 -127 -127 -127 -127 -92 -55 -13 --31 --67 --98 --107 --127 --127 --127 --64 -74 -127 -127 -127 -120 -83 -47 -5 --37 --73 --103 --111 --127 --127 --127 --68 -69 -127 -127 -127 -116 -79 -44 -20 -7 -5 -6 -12 -16 -19 -19 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --108 --102 --26 -112 -127 -127 -127 -127 -119 -81 -55 -37 -32 -31 -34 -36 -39 -38 -16 --28 --65 --96 --106 --127 --127 --127 --127 --127 --109 --104 --98 --108 --101 --95 --20 -118 -127 -127 -127 -127 -123 -84 -39 --9 --48 --82 --109 --127 --127 --111 --50 -87 -127 -127 -127 -127 -92 -56 -14 --31 --67 --98 --107 --127 --127 --127 --63 -74 -127 -127 -127 -120 -83 -47 -6 --37 --72 --102 --111 --127 --127 --127 --68 -69 -127 -127 -127 -116 -80 -45 -3 --39 --74 --104 --112 --127 --127 --127 --69 -68 -127 -127 -127 -115 -79 -43 -20 -6 -4 -4 -11 -15 -18 -19 --2 --43 --77 --108 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --108 --102 --26 -112 -127 -127 -127 -127 -119 -80 -54 -36 -31 -31 -34 -37 -40 -38 -17 --28 --64 --96 --105 --127 --127 --127 --69 -70 -127 -127 -127 -117 -79 -44 -2 --40 --75 --105 --127 --127 --127 --127 --127 --127 --111 --106 --100 --110 --102 --96 --21 -117 -127 -127 -127 -127 -123 -84 -39 --9 --48 --82 --109 --127 --127 --111 --51 -86 -127 -127 -127 -127 -93 -57 -14 --31 --67 --98 --107 --127 --127 --127 --63 -74 -127 -127 -127 -120 -83 -47 -6 --37 --72 --103 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -44 -2 --40 --75 --105 --127 --127 --127 --127 --69 -68 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -43 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --70 -68 -127 -127 -127 -114 -78 -42 -1 --41 --76 --106 --127 --127 --127 --127 --70 -67 -127 -127 -127 -114 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -114 -78 -43 -1 --41 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -114 -78 -43 -2 --41 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --70 -68 -127 -127 -127 -114 -77 -42 -1 --42 --76 --106 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -42 -19 -6 -3 -5 -11 -15 -19 -19 --3 --44 --78 --108 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --102 --27 -112 -127 -127 -127 -127 -119 -80 -35 --12 --50 --84 --111 --127 --127 --127 --52 -85 -127 -127 -127 -127 -92 -55 -12 --32 --68 --98 --107 --127 --127 --127 --64 -74 -127 -127 -127 -119 -82 -47 -5 --38 --73 --103 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -44 -3 --40 --75 --104 --127 --127 --127 --127 --69 -68 -127 -127 -127 -116 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --70 -67 -127 -127 -127 -115 -77 -42 -20 -7 -4 -6 -11 -14 -19 -19 --3 --44 --78 --108 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --101 --27 -112 -127 -127 -127 -127 -120 -81 -36 --12 --50 --84 --111 --127 --127 --127 --52 -86 -127 -127 -127 -127 -91 -55 -12 --32 --68 --99 --108 --127 --127 --127 --64 -74 -127 -127 -127 -119 -82 -46 -5 --38 --72 --103 --111 --127 --127 --127 --68 -69 -127 -127 -127 -116 -79 -44 -3 --39 --74 --104 --112 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -114 -77 -42 -19 -6 -3 -5 -11 -14 -19 -19 --3 --44 --78 --108 --127 --127 --127 --127 --79 -61 -127 -127 -127 -108 -72 -36 --4 --46 --79 --109 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --98 --23 -115 -127 -127 -127 -127 -121 -83 -37 --10 --49 --83 --110 --127 --127 --112 --51 -86 -127 -127 -127 -127 -92 -56 -14 --31 --67 --97 --107 --127 --127 --127 --64 -74 -127 -127 -127 -120 -82 -47 -6 --37 --72 --103 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -44 -2 --40 --75 --105 --127 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -43 -20 -7 -4 -6 -12 -15 -19 -19 --3 --44 --78 --108 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --102 --26 -112 -127 -127 -127 -127 -120 -80 -36 --12 --50 --84 --111 --127 --127 --127 --53 -85 -127 -127 -127 -127 -91 -55 -12 --32 --67 --98 --107 --127 --127 --127 --64 -74 -127 -127 -127 -119 -82 -47 -5 --38 --73 --103 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --104 --127 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -43 -2 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -19 -6 -3 -5 -11 -14 -18 -18 --2 --44 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --102 --26 -112 -127 -127 -127 -127 -119 -79 -54 -37 -32 -31 -35 -37 -40 -38 -17 --28 --64 --96 --105 --127 --127 --127 --127 --127 --109 --105 --99 --109 --101 --96 --21 -118 -127 -127 -127 -127 -123 -84 -39 --9 --48 --81 --109 --127 --127 --112 --50 -88 -127 -127 -127 -127 -93 -56 -14 --30 --66 --97 --106 --127 --127 --127 --64 -74 -127 -127 -127 -121 -82 -47 -5 --37 --72 --103 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -43 -2 --40 --74 --104 --127 --127 --127 --127 --69 -68 -127 -127 -127 -115 -78 -42 -20 -7 -3 -5 -11 -15 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --79 -61 -127 -127 -127 -108 -71 -36 --4 --46 --80 --109 --127 --127 --127 --127 --127 --127 --127 --110 --104 --114 --105 --98 --23 -116 -127 -127 -127 -127 -121 -82 -37 --10 --49 --83 --110 --127 --127 --127 --51 -86 -127 -127 -127 -127 -91 -55 -13 --31 --67 --98 --107 --127 --127 --127 --64 -74 -127 -127 -127 -120 -82 -47 -5 --37 --72 --103 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --39 --74 --104 --112 --127 --127 --127 --70 -68 -127 -127 -127 -115 -79 -43 -2 --40 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -19 -6 -3 -5 -11 -15 -18 -19 --2 --43 --77 --107 --127 --127 --127 --127 --79 -60 -127 -127 -127 -108 -71 -36 --4 --45 --79 --109 --127 --127 --127 --127 --74 -64 -127 -127 -127 -112 -75 -40 --1 --42 --77 --107 --127 --127 --127 --127 --127 --127 --127 --108 --102 --111 --104 --97 --22 -117 -127 -127 -127 -127 -122 -83 -38 --9 --48 --82 --109 --127 --127 --112 --52 -86 -127 -127 -127 -127 -92 -56 -14 --30 --66 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -83 -47 -5 --37 --72 --103 --111 --127 --127 --127 --68 -69 -127 -127 -127 -116 -79 -43 -21 -8 -5 -6 -12 -16 -19 -20 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --102 --26 -112 -127 -127 -127 -127 -120 -80 -35 --12 --50 --84 --111 --127 --127 --127 --53 -85 -127 -127 -127 -127 -91 -55 -13 --31 --67 --98 --107 --127 --127 --127 --65 -73 -127 -127 -127 -120 -82 -46 -5 --38 --72 --103 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --104 --127 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -2 --41 --75 --105 --127 --127 --127 --127 --70 -68 -127 -127 -127 -114 -78 -43 -20 -6 -4 -5 -11 -15 -18 -18 --2 --44 --78 --108 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --103 --27 -112 -127 -127 -127 -127 -119 -81 -35 --12 --51 --84 --111 --127 --127 --127 --52 -86 -127 -127 -127 -127 -91 -54 -30 -15 -13 -14 -20 -23 -27 -26 -5 --38 --73 --103 --112 --127 --127 --127 --127 --127 --127 --111 --104 --98 --106 --100 --25 -114 -127 -127 -127 -127 -120 -81 -37 --11 --49 --83 --110 --127 --127 --127 --52 -86 -127 -127 -127 -127 -92 -55 -13 --31 --67 --98 --107 --127 --127 --127 --64 -74 -127 -127 -127 -120 -83 -47 -5 --38 --72 --103 --111 --127 --127 --127 --68 -69 -127 -127 -127 -116 -79 -44 -20 -7 -5 -6 -13 -16 -19 -19 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --102 --26 -113 -127 -127 -127 -127 -119 -81 -54 -37 -32 -32 -36 -38 -40 -38 -16 --28 --64 --96 --105 --127 --127 --127 --127 --127 --111 --106 --99 --110 --102 --96 --20 -118 -127 -127 -127 -127 -124 -84 -39 --9 --48 --82 --109 --127 --127 --111 --50 -87 -127 -127 -127 -127 -92 -56 -14 --30 --66 --97 --106 --127 --127 --127 --64 -74 -127 -127 -127 -120 -83 -47 -5 --38 --72 --103 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --104 --112 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -43 -20 -7 -5 -6 -11 -15 -19 -18 --2 --44 --78 --107 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --109 --103 --27 -113 -127 -127 -127 -127 -119 -80 -54 -36 -32 -31 -35 -37 -40 -38 -17 --27 --64 --95 --105 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -43 -2 --40 --75 --105 --127 --127 --127 --127 --127 --127 --127 --108 --101 --111 --103 --96 --21 -118 -127 -127 -127 -127 -123 -84 -39 --9 --48 --82 --109 --127 --127 --112 --51 -87 -127 -127 -127 -127 -93 -56 -14 --31 --66 --97 --106 --127 --127 --127 --64 -74 -127 -127 -127 -120 -83 -47 -5 --37 --72 --102 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -44 -2 --40 --74 --105 --127 --127 --127 --127 --70 -69 -127 -127 -127 -114 -78 -43 -1 --41 --75 --105 --127 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -43 -2 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --70 -68 -127 -127 -127 -114 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -114 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -78 -42 -19 -6 -3 -5 -11 -15 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --102 --27 -112 -127 -127 -127 -127 -119 -80 -35 --12 --50 --84 --111 --127 --127 --127 --53 -85 -127 -127 -127 -127 -91 -55 -12 --31 --67 --98 --107 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -47 -5 --37 --72 --102 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -44 -2 --40 --74 --104 --112 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -43 -2 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -78 -42 -19 -6 -3 -6 -11 -16 -19 -19 --2 --44 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --108 --102 --110 --103 --27 -112 -127 -127 -127 -127 -119 -81 -36 --12 --50 --83 --110 --127 --127 --127 --53 -85 -127 -127 -127 -127 -91 -55 -12 --32 --67 --98 --107 --127 --127 --127 --64 -74 -127 -127 -127 -119 -82 -46 -5 --38 --73 --103 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --104 --112 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -43 -2 --40 --75 --104 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -19 -6 -4 -5 -11 -15 -18 -19 --2 --43 --77 --107 --127 --127 --127 --127 --80 -60 -127 -127 -127 -108 -71 -36 --4 --46 --79 --109 --127 --127 --127 --127 --127 --127 --127 --111 --104 --114 --106 --99 --23 -116 -127 -127 -127 -127 -121 -82 -37 --10 --49 --83 --110 --127 --127 --127 --52 -86 -127 -127 -127 -127 -92 -56 -14 --31 --66 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -47 -5 --37 --72 --102 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --104 --112 --127 --127 --127 --70 -69 -127 -127 -127 -115 -78 -42 -19 -6 -4 -6 -12 -16 -19 -19 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --103 --27 -112 -127 -127 -127 -127 -119 -80 -35 --12 --50 --84 --111 --127 --127 --127 --53 -85 -127 -127 -127 -127 -91 -55 -13 --31 --67 --98 --107 --127 --127 --127 --65 -74 -127 -127 -127 -120 -83 -46 -5 --38 --73 --103 --111 --127 --127 --127 --68 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --104 --112 --127 --127 --127 --70 -69 -127 -127 -127 -115 -77 -42 -2 --40 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -42 -19 -6 -4 -6 -11 -15 -19 -19 --2 --44 --78 --107 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --110 --103 --26 -113 -127 -127 -127 -127 -119 -80 -54 -37 -32 -31 -35 -38 -40 -39 -17 --27 --64 --95 --104 --127 --127 --127 --127 --127 --111 --106 --100 --110 --102 --96 --20 -119 -127 -127 -127 -127 -123 -84 -39 --9 --48 --81 --109 --127 --127 --112 --51 -88 -127 -127 -127 -127 -92 -56 -14 --30 --66 --97 --106 --127 --127 --127 --64 -74 -127 -127 -127 -120 -83 -47 -6 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -117 -79 -44 -3 --40 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -43 -20 -6 -4 -6 -12 -16 -19 -19 --1 --43 --77 --107 --127 --127 --127 --127 --79 -60 -127 -127 -127 -108 -71 -36 --4 --46 --79 --109 --127 --127 --127 --127 --127 --127 --127 --112 --105 --98 --106 --100 --23 -116 -127 -127 -127 -127 -121 -83 -38 --10 --49 --82 --109 --127 --127 --127 --52 -87 -127 -127 -127 -127 -92 -56 -14 --31 --66 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -43 -3 --40 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -43 -1 --40 --75 --104 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -77 -42 -20 -7 -4 -5 -11 -16 -19 -19 --2 --44 --77 --107 --127 --127 --127 --127 --80 -60 -127 -127 -127 -108 -71 -35 --5 --46 --79 --109 --127 --127 --127 --127 --74 -64 -127 -127 -127 -112 -75 -40 --1 --42 --76 --106 --127 --127 --127 --127 --127 --127 --127 --110 --103 --112 --104 --98 --22 -118 -127 -127 -127 -127 -121 -83 -38 --10 --49 --82 --109 --127 --127 --112 --52 -87 -127 -127 -127 -127 -92 -56 -14 --30 --66 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -83 -47 -6 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -21 -8 -5 -7 -13 -16 -20 -20 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --109 --103 --26 -114 -127 -127 -127 -127 -119 -80 -35 --12 --50 --84 --111 --127 --127 --127 --53 -86 -127 -127 -127 -127 -91 -55 -13 --31 --67 --98 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --39 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -116 -78 -42 -1 --41 --75 --104 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -41 -1 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -114 -77 -41 -19 -6 -4 -6 -12 -16 -19 -19 --2 --44 --78 --107 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --110 --103 --27 -113 -127 -127 -127 -127 -119 -81 -36 --12 --50 --83 --110 --127 --127 --127 --53 -86 -127 -127 -127 -127 -91 -55 -31 -16 -13 -14 -19 -23 -26 -26 -5 --38 --72 --103 --111 --127 --127 --127 --127 --127 --127 --127 --106 --99 --107 --100 --25 -115 -127 -127 -127 -127 -120 -81 -36 --11 --50 --83 --110 --127 --127 --127 --53 -86 -127 -127 -127 -127 -92 -55 -13 --31 --67 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -83 -47 -5 --37 --72 --102 --111 --127 --127 --127 --69 -69 -127 -127 -127 -117 -79 -43 -21 -8 -5 -7 -13 -16 -20 -20 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --110 --103 --27 -114 -127 -127 -127 -127 -119 -80 -54 -37 -33 -33 -36 -38 -41 -39 -17 --28 --64 --95 --105 --127 --127 --127 --127 --127 --111 --107 --100 --110 --103 --96 --21 -119 -127 -127 -127 -127 -123 -84 -40 --9 --47 --81 --108 --127 --127 --112 --51 -88 -127 -127 -127 -127 -93 -56 -14 --30 --66 --97 --106 --127 --127 --127 --64 -75 -127 -127 -127 -120 -83 -46 -5 --37 --72 --102 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -42 -2 --40 --74 --104 --127 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -42 -20 -7 -5 -6 -12 -16 -20 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --110 --103 --27 -114 -127 -127 -127 -127 -119 -81 -55 -37 -32 -31 -35 -38 -40 -39 -17 --28 --64 --95 --105 --127 --127 --127 --70 -70 -127 -127 -127 -116 -78 -43 -1 --40 --75 --105 --127 --127 --127 --127 --127 --127 --127 --109 --102 --112 --103 --97 --20 -119 -127 -127 -127 -127 -123 -83 -38 --10 --48 --82 --109 --127 --127 --112 --51 -88 -127 -127 -127 -127 -92 -55 -13 --31 --66 --97 --106 --127 --127 --127 --64 -74 -127 -127 -127 -120 -83 -48 -6 --37 --71 --102 --110 --127 --127 --127 --69 -69 -127 -127 -127 -116 -79 -44 -3 --39 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -43 -2 --40 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -67 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -115 -78 -42 -19 -6 -3 -6 -12 -15 -19 -19 --2 --44 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --103 --27 -113 -127 -127 -127 -127 -119 -80 -35 --12 --50 --84 --111 --127 --127 --127 --53 -85 -127 -127 -127 -127 -91 -55 -12 --31 --67 --98 --107 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -47 -6 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -43 -3 --40 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -41 -19 -6 -4 -6 -12 -15 -19 -19 --2 --44 --78 --107 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --110 --103 --27 -113 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --110 --127 --127 --127 --53 -85 -127 -127 -127 -127 -91 -55 -13 --31 --67 --98 --107 --127 --127 --127 --65 -74 -127 -127 -127 -119 -82 -47 -5 --38 --72 --103 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -43 -2 --40 --75 --104 --112 --127 --127 --127 --70 -69 -127 -127 -127 -115 -77 -42 -2 --40 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -78 -42 -20 -7 -4 -6 -12 -15 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --80 -60 -127 -127 -127 -108 -70 -35 --5 --46 --79 --109 --127 --127 --127 --127 --127 --127 --127 --127 --105 --98 --107 --99 --23 -118 -127 -127 -127 -127 -121 -83 -37 --11 --49 --82 --109 --127 --127 --127 --52 -87 -127 -127 -127 -127 -92 -56 -13 --31 --67 --98 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -47 -6 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -42 -19 -7 -4 -6 -12 -15 -19 -20 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --110 --102 --110 --103 --27 -113 -127 -127 -127 -127 -119 -80 -35 --12 --50 --84 --110 --127 --127 --127 --53 -86 -127 -127 -127 -127 -91 -56 -13 --31 --67 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -47 -5 --38 --72 --102 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --39 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -41 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -42 -19 -7 -4 -6 -12 -16 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --111 --104 --27 -113 -127 -127 -127 -127 -120 -80 -54 -38 -33 -31 -36 -38 -40 -39 -17 --27 --63 --95 --104 --127 --127 --127 --127 --127 --112 --108 --101 --111 --103 --97 --20 -120 -127 -127 -127 -127 -123 -84 -39 --9 --48 --81 --109 --127 --127 --112 --51 -88 -127 -127 -127 -127 -93 -56 -14 --30 --66 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -83 -47 -6 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --104 --112 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -42 -19 -6 -5 -6 -12 -16 -19 -20 --1 --43 --77 --107 --127 --127 --127 --127 --80 -61 -127 -127 -127 -108 -70 -36 --5 --46 --79 --109 --127 --127 --127 --127 --127 --127 --127 --112 --105 --98 --106 --100 --23 -117 -127 -127 -127 -127 -121 -83 -37 --10 --49 --82 --109 --127 --127 --127 --52 -87 -127 -127 -127 -127 -92 -56 -14 --30 --66 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -47 -6 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -43 -2 --40 --74 --104 --112 --127 --127 --127 --70 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -78 -42 -19 -6 -5 -6 -13 -16 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --80 -61 -127 -127 -127 -107 -69 -35 --5 --46 --79 --109 --127 --127 --127 --127 --75 -65 -127 -127 -127 -112 -75 -39 --1 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --111 --104 --113 --105 --99 --22 -119 -127 -127 -127 -127 -122 -83 -38 --10 --48 --82 --109 --127 --127 --127 --51 -88 -127 -127 -127 -127 -92 -56 -13 --31 --66 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -83 -46 -5 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -21 -8 -6 -7 -13 -17 -20 -20 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --111 --104 --27 -114 -127 -127 -127 -127 -120 -81 -35 --12 --50 --83 --110 --127 --127 --127 --53 -87 -127 -127 -127 -127 -91 -55 -13 --31 --67 --98 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --39 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -42 -19 -6 -5 -6 -12 -16 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --111 --104 --27 -114 -127 -127 -127 -127 -119 -80 -35 --12 --50 --84 --111 --127 --127 --127 --53 -86 -127 -127 -127 -127 -91 -55 -31 -16 -14 -16 -20 -23 -27 -26 -4 --38 --73 --103 --111 --127 --127 --127 --127 --127 --127 --127 --107 --100 --108 --101 --24 -116 -127 -127 -127 -127 -120 -81 -37 --11 --49 --83 --110 --127 --127 --127 --53 -87 -127 -127 -127 -127 -92 -55 -13 --31 --67 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -21 -8 -6 -7 -13 -16 -19 -20 --1 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --111 --103 --27 -115 -127 -127 -127 -127 -119 -80 -54 -37 -33 -32 -36 -38 -41 -40 -17 --27 --63 --95 --104 --127 --127 --127 --127 --127 --112 --108 --101 --111 --103 --97 --21 -120 -127 -127 -127 -127 -123 -84 -39 --9 --48 --81 --108 --127 --127 --127 --51 -88 -127 -127 -127 -127 -92 -56 -14 --30 --66 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -83 -47 -6 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --40 --74 --104 --112 --127 --127 --127 --70 -69 -127 -127 -127 -115 -78 -42 -19 -6 -5 -7 -12 -16 -20 -19 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --111 --104 --27 -114 -127 -127 -127 -127 -119 -80 -55 -37 -33 -33 -36 -38 -41 -39 -16 --28 --64 --95 --105 --127 --127 --127 --69 -71 -127 -127 -127 -115 -78 -43 -1 --41 --75 --105 --127 --127 --127 --127 --127 --127 --127 --109 --102 --112 --104 --97 --21 -120 -127 -127 -127 -127 -123 -84 -39 --9 --48 --81 --108 --127 --127 --112 --51 -88 -127 -127 -127 -127 -93 -56 -13 --31 --67 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -47 -5 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --39 --73 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --105 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -1 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -78 -42 -19 -7 -4 -6 -12 -15 -19 -19 --3 --44 --78 --107 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --111 --104 --27 -114 -127 -127 -127 -127 -120 -80 -35 --12 --50 --84 --110 --127 --127 --127 --53 -87 -127 -127 -127 -127 -91 -54 -12 --32 --67 --98 --107 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --111 --127 --127 --127 --70 -70 -127 -127 -127 -116 -79 -44 -3 --40 --73 --103 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -42 -2 --40 --74 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -78 -42 -19 -7 -4 -6 -12 -15 -19 -20 --2 --44 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --110 --103 --27 -114 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --110 --127 --127 --127 --53 -86 -127 -127 -127 -127 -91 -55 -13 --31 --67 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -47 -5 --37 --72 --102 --110 --127 --127 --127 --70 -70 -127 -127 -127 -117 -79 -43 -3 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -76 -41 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -19 -7 -4 -7 -13 -16 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --80 -61 -127 -127 -127 -108 -70 -35 --5 --46 --80 --109 --127 --127 --127 --127 --127 --127 --127 --127 --106 --99 --107 --100 --23 -117 -127 -127 -127 -127 -122 -83 -38 --10 --49 --82 --109 --127 --127 --127 --52 -88 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -47 -5 --37 --72 --102 --110 --127 --127 --127 --70 -70 -127 -127 -127 -116 -78 -43 -3 --40 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -43 -20 -7 -5 -7 -13 -16 -19 -20 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --111 --104 --27 -114 -127 -127 -127 -127 -119 -79 -35 --12 --50 --84 --110 --127 --127 --127 --53 -86 -127 -127 -127 -127 -91 -54 -12 --32 --67 --98 --106 --127 --127 --127 --65 -74 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -70 -127 -127 -127 -116 -79 -44 -3 --39 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -43 -1 --40 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -41 -19 -6 -3 -6 -13 -16 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --112 --104 --27 -114 -127 -127 -127 -127 -119 -80 -55 -38 -33 -32 -37 -39 -41 -39 -17 --27 --64 --95 --104 --127 --127 --127 --127 --127 --127 --109 --102 --111 --104 --97 --21 -120 -127 -127 -127 -127 -124 -85 -39 --9 --47 --81 --108 --127 --127 --112 --51 -88 -127 -127 -127 -127 -93 -55 -13 --31 --66 --97 --106 --127 --127 --127 --64 -75 -127 -127 -127 -120 -83 -46 -6 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -43 -3 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -43 -20 -7 -6 -6 -12 -16 -20 -19 --1 --43 --77 --107 --127 --127 --127 --127 --81 -61 -127 -127 -127 -107 -70 -35 --5 --46 --80 --109 --127 --127 --127 --127 --127 --127 --127 --127 --106 --99 --106 --100 --23 -118 -127 -127 -127 -127 -121 -82 -37 --10 --49 --82 --109 --127 --127 --127 --52 -88 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -47 -6 --37 --72 --102 --110 --127 --127 --127 --70 -70 -127 -127 -127 -117 -79 -43 -3 --40 --74 --104 --112 --127 --127 --127 --70 -69 -127 -127 -127 -115 -78 -42 -1 --41 --75 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -42 -19 -6 -5 -6 -13 -16 -19 -20 --1 --43 --77 --107 --127 --127 --127 --127 --81 -61 -127 -127 -127 -107 -69 -35 --5 --46 --80 --109 --127 --127 --127 --127 --75 -65 -127 -127 -127 -112 -75 -39 --1 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --111 --104 --114 --106 --99 --22 -119 -127 -127 -127 -127 -123 -83 -38 --10 --48 --81 --108 --127 --127 --127 --52 -88 -127 -127 -127 -127 -92 -55 -13 --31 --66 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -43 -21 -8 -6 -8 -14 -18 -20 -20 --1 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --111 --104 --27 -114 -127 -127 -127 -127 -120 -81 -36 --12 --50 --83 --110 --127 --127 --127 --53 -86 -127 -127 -127 -127 -91 -55 -12 --32 --67 --98 --107 --127 --127 --127 --65 -75 -127 -127 -127 -119 -82 -46 -5 --38 --72 --102 --111 --127 --127 --127 --70 -70 -127 -127 -127 -116 -79 -43 -2 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -43 -1 --40 --74 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -42 -1 --41 --74 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -41 -19 -6 -5 -6 -12 -15 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --111 --104 --27 -115 -127 -127 -127 -127 -119 -80 -35 --12 --50 --84 --110 --127 --127 --127 --53 -86 -127 -127 -127 -127 -91 -55 -31 -17 -15 -16 -21 -24 -27 -26 -5 --38 --72 --103 --111 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --102 --25 -116 -127 -127 -127 -127 -121 -82 -36 --11 --49 --82 --109 --127 --127 --127 --53 -87 -127 -127 -127 -127 -91 -54 -12 --31 --67 --98 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -21 -8 -6 -7 -14 -18 -21 -20 --1 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --111 --105 --27 -115 -127 -127 -127 -127 -120 -81 -55 -38 -33 -33 -36 -39 -41 -39 -17 --27 --63 --95 --104 --127 --127 --127 --127 --127 --127 --109 --102 --112 --104 --97 --21 -120 -127 -127 -127 -127 -123 -84 -39 --9 --48 --81 --108 --127 --127 --127 --51 -88 -127 -127 -127 -127 -93 -56 -14 --30 --66 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -83 -47 -6 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -44 -3 --39 --73 --104 --112 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -42 -19 -7 -5 -7 -13 -16 -20 -19 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --111 --104 --27 -115 -127 -127 -127 -127 -119 -80 -55 -38 -33 -33 -37 -39 -42 -39 -17 --27 --63 --95 --104 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -42 -1 --41 --75 --104 --127 --127 --127 --127 --127 --127 --127 --110 --104 --113 --105 --97 --21 -120 -127 -127 -127 -127 -123 -84 -39 --9 --48 --81 --108 --127 --127 --127 --51 -88 -127 -127 -127 -127 -92 -56 -13 --31 --66 --97 --106 --127 --127 --127 --64 -75 -127 -127 -127 -120 -82 -47 -5 --37 --72 --102 --110 --127 --127 --127 --69 -71 -127 -127 -127 -115 -79 -43 -3 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --40 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -41 -0 --41 --75 --105 --127 --127 --127 --127 --71 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -78 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -78 -42 -1 --41 --75 --104 --127 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -41 -0 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -42 -19 -6 -5 -7 -13 -16 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --112 --104 --27 -114 -127 -127 -127 -127 -120 -81 -35 --12 --50 --83 --110 --127 --127 --127 --54 -86 -127 -127 -127 -127 -91 -54 -12 --32 --67 --98 --107 --127 --127 --127 --65 -75 -127 -127 -127 -119 -82 -46 -5 --38 --72 --102 --111 --127 --127 --127 --70 -70 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -77 -42 -2 --40 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -19 -6 -4 -7 -13 -16 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --112 --104 --27 -114 -127 -127 -127 -127 -119 -80 -35 --12 --50 --84 --110 --127 --127 --127 --53 -87 -127 -127 -127 -127 -91 -55 -12 --31 --67 --98 --106 --127 --127 --127 --65 -75 -127 -127 -127 -119 -82 -46 -5 --38 --72 --102 --111 --127 --127 --127 --70 -70 -127 -127 -127 -116 -79 -43 -3 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -19 -6 -5 -7 -13 -16 -20 -20 --2 --43 --77 --107 --127 --127 --127 --127 --81 -61 -127 -127 -127 -108 -70 -35 --5 --46 --80 --109 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --107 --100 --23 -118 -127 -127 -127 -127 -122 -83 -37 --10 --49 --82 --109 --127 --127 --127 --52 -88 -127 -127 -127 -127 -91 -55 -13 --31 --67 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -77 -42 -20 -7 -5 -7 -13 -16 -20 -19 --3 --44 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --112 --104 --27 -115 -127 -127 -127 -127 -120 -81 -35 --12 --50 --83 --110 --127 --127 --127 --53 -87 -127 -127 -127 -127 -91 -54 -12 --32 --67 --98 --107 --127 --127 --127 --65 -75 -127 -127 -127 -119 -81 -46 -5 --38 --72 --102 --111 --127 --127 --127 --69 -70 -127 -127 -127 -116 -78 -43 -3 --40 --74 --104 --111 --127 --127 --127 --71 -69 -127 -127 -127 -115 -77 -42 -2 --40 --74 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -115 -77 -41 -19 -6 -4 -6 -13 -16 -20 -20 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --112 --104 --27 -114 -127 -127 -127 -127 -119 -80 -54 -38 -33 -33 -37 -40 -42 -39 -17 --27 --63 --95 --104 --127 --127 --127 --127 --127 --127 --109 --103 --112 --104 --98 --21 -120 -127 -127 -127 -127 -124 -84 -39 --9 --47 --81 --108 --127 --127 --127 --52 -88 -127 -127 -127 -127 -92 -56 -14 --30 --66 --97 --105 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -79 -43 -2 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -42 -20 -8 -5 -7 -13 -16 -20 -20 --2 --43 --77 --107 --127 --127 --127 --127 --80 -61 -127 -127 -127 -107 -69 -34 --5 --46 --80 --109 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --107 --100 --23 -119 -127 -127 -127 -127 -122 -83 -37 --10 --49 --82 --109 --127 --127 --127 --52 -88 -127 -127 -127 -127 -91 -55 -13 --31 --67 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -70 -127 -127 -127 -116 -79 -43 -3 --39 --74 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -115 -78 -42 -1 --40 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -41 -19 -7 -4 -7 -13 -16 -20 -19 --1 --43 --77 --106 --127 --127 --127 --127 --81 -61 -127 -127 -127 -107 -70 -35 --5 --46 --79 --108 --127 --127 --127 --127 --76 -64 -127 -127 -127 -112 -75 -38 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --111 --105 --98 --106 --99 --22 -120 -127 -127 -127 -127 -123 -83 -38 --9 --48 --81 --108 --127 --127 --127 --53 -88 -127 -127 -127 -127 -92 -56 -13 --31 --66 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -46 -5 --38 --72 --102 --110 --127 --127 --127 --69 -70 -127 -127 -127 -116 -79 -42 -20 -8 -6 -8 -14 -18 -21 -21 --1 --42 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --112 --104 --27 -115 -127 -127 -127 -127 -119 -80 -36 --12 --49 --83 --110 --127 --127 --127 --54 -86 -127 -127 -127 -127 -91 -55 -13 --31 --67 --97 --106 --127 --127 --127 --66 -75 -127 -127 -127 -120 -82 -46 -5 --38 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -115 -78 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -1 --41 --75 --105 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -78 -42 -20 -7 -5 -6 -13 -16 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --112 --104 --27 -115 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --110 --127 --127 --127 --53 -87 -127 -127 -127 -127 -90 -54 -31 -16 -15 -16 -22 -25 -28 -26 -4 --38 --73 --103 --111 --127 --127 --127 --127 --127 --127 --127 --108 --102 --109 --102 --25 -117 -127 -127 -127 -127 -121 -82 -37 --10 --49 --82 --109 --127 --127 --127 --53 -87 -127 -127 -127 -127 -92 -55 -12 --31 --67 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -45 -5 --38 --72 --102 --110 --127 --127 --127 --70 -70 -127 -127 -127 -116 -78 -43 -20 -8 -6 -8 -14 -18 -21 -21 --1 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --112 --105 --28 -115 -127 -127 -127 -127 -119 -81 -55 -37 -33 -33 -37 -39 -42 -40 -16 --28 --64 --95 --104 --127 --127 --127 --127 --127 --127 --109 --102 --112 --104 --97 --21 -121 -127 -127 -127 -127 -124 -85 -39 --8 --47 --81 --108 --127 --127 --127 --52 -89 -127 -127 -127 -127 -92 -55 -13 --31 --66 --97 --106 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -45 -5 --38 --72 --102 --110 --127 --127 --127 --70 -70 -127 -127 -127 -116 -79 -44 -3 --39 --74 --103 --111 --127 --127 --127 --71 -68 -127 -127 -127 -115 -78 -43 -20 -8 -6 -7 -13 -17 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --111 --104 --27 -115 -127 -127 -127 -127 -119 -80 -55 -38 -33 -33 -37 -39 -42 -40 -17 --27 --63 --94 --104 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -42 -1 --41 --75 --105 --127 --127 --127 --127 --127 --127 --127 --111 --104 --98 --105 --98 --21 -120 -127 -127 -127 -127 -123 -84 -39 --9 --47 --81 --108 --127 --127 --127 --52 -88 -127 -127 -127 -127 -93 -56 -14 --30 --66 --97 --105 --127 --127 --127 --65 -75 -127 -127 -127 -120 -83 -47 -5 --37 --72 --102 --110 --127 --127 --127 --69 -71 -127 -127 -127 -116 -79 -43 -2 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -42 -1 --41 --75 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -41 -0 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -0 --42 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -42 -0 --42 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --105 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -41 -0 --41 --75 --105 --127 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -19 -6 -4 -7 -13 -16 -20 -20 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --97 --105 --27 -115 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --110 --127 --127 --127 --54 -87 -127 -127 -127 -127 -91 -55 -12 --31 --67 --97 --106 --127 --127 --127 --66 -75 -127 -127 -127 -119 -82 -46 -5 --38 --72 --102 --111 --127 --127 --127 --70 -71 -127 -127 -127 -115 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -77 -41 -1 --41 --75 --105 --112 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -42 -20 -7 -5 -7 -13 -16 -20 -20 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --112 --105 --27 -115 -127 -127 -127 -127 -120 -80 -35 --12 --50 --83 --110 --127 --127 --127 --54 -86 -127 -127 -127 -127 -91 -55 -12 --32 --67 --98 --106 --127 --127 --127 --66 -75 -127 -127 -127 -118 -81 -45 -4 --38 --73 --103 --111 --127 --127 --127 --70 -71 -127 -127 -127 -116 -79 -43 -3 --40 --74 --103 --111 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -42 -1 --40 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -19 -6 -4 -7 -13 -17 -19 -19 --2 --43 --77 --106 --127 --127 --127 --127 --81 -61 -127 -127 -127 -107 -69 -35 --5 --46 --79 --109 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --108 --101 --24 -119 -127 -127 -127 -127 -122 -83 -37 --10 --49 --82 --109 --127 --127 --127 --53 -88 -127 -127 -127 -127 -92 -56 -13 --31 --66 --97 --105 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -41 -19 -7 -5 -8 -14 -17 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --111 --105 --112 --105 --27 -115 -127 -127 -127 -127 -120 -81 -36 --11 --49 --83 --110 --127 --127 --127 --54 -86 -127 -127 -127 -127 -91 -54 -12 --31 --67 --97 --106 --127 --127 --127 --66 -75 -127 -127 -127 -118 -81 -45 -5 --38 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -42 -1 --40 --74 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -42 -1 --41 --74 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -19 -7 -5 -6 -13 -17 -20 -19 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --112 --104 --97 --105 --27 -115 -127 -127 -127 -127 -119 -80 -54 -38 -33 -33 -38 -40 -42 -40 -18 --27 --63 --94 --103 --127 --127 --127 --127 --127 --127 --110 --103 --112 --104 --98 --21 -121 -127 -127 -127 -127 -124 -85 -39 --8 --47 --81 --107 --127 --127 --127 --52 -89 -127 -127 -127 -127 -92 -56 -14 --30 --66 --97 --105 --127 --127 --127 --65 -76 -127 -127 -127 -120 -82 -46 -5 --38 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -79 -43 -2 --40 --74 --104 --111 --127 --127 --127 --71 -69 -127 -127 -127 -115 -77 -42 -19 -7 -6 -8 -14 -17 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --81 -62 -127 -127 -127 -107 -69 -34 --6 --47 --80 --109 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --108 --101 --24 -119 -127 -127 -127 -127 -121 -83 -37 --10 --48 --82 --109 --127 --127 --127 --52 -88 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --106 --127 --127 --127 --65 -76 -127 -127 -127 -120 -82 -46 -5 --38 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --111 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -42 -1 --41 --74 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -115 -78 -42 -19 -7 -5 -7 -13 -16 -19 -19 --2 --43 --77 --107 --127 --127 --127 --127 --81 -61 -127 -127 -127 -106 -69 -34 --5 --46 --80 --108 --127 --127 --127 --127 --76 -65 -127 -127 -127 -112 -74 -39 --1 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --106 --98 --106 --99 --22 -120 -127 -127 -127 -127 -123 -84 -38 --9 --48 --81 --108 --127 --127 --127 --52 -88 -127 -127 -127 -127 -91 -55 -13 --30 --66 --97 --105 --127 --127 --127 --66 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -20 -8 -7 -8 -14 -18 -21 -20 --1 --42 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --112 --104 --112 --105 --27 -116 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --110 --127 --127 --127 --54 -87 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --106 --127 --127 --127 --66 -75 -127 -127 -127 -120 -81 -46 -5 --38 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --111 --127 --127 --127 --71 -70 -127 -127 -127 -115 -77 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -77 -41 -0 --41 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -42 -19 -7 -5 -7 -13 -17 -20 -19 --2 --44 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --112 --105 --28 -115 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --110 --127 --127 --127 --54 -87 -127 -127 -127 -127 -91 -54 -31 -17 -14 -16 -21 -25 -28 -27 -5 --38 --72 --102 --111 --127 --127 --127 --127 --127 --127 --127 --109 --103 --110 --103 --25 -117 -127 -127 -127 -127 -120 -81 -37 --11 --49 --82 --109 --127 --127 --127 --54 -87 -127 -127 -127 -127 -91 -54 -13 --31 --66 --97 --106 --127 --127 --127 --66 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -20 -8 -6 -8 -14 -18 -21 -20 --1 --42 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --112 --104 --112 --105 --27 -116 -127 -127 -127 -127 -119 -80 -55 -38 -34 -34 -38 -40 -42 -40 -17 --27 --63 --95 --104 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --98 --21 -122 -127 -127 -127 -127 -124 -84 -39 --9 --47 --80 --107 --127 --127 --127 --52 -89 -127 -127 -127 -127 -92 -55 -13 --30 --66 --97 --105 --127 --127 --127 --65 -76 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --112 --127 --127 --127 --71 -70 -127 -127 -127 -114 -77 -42 -20 -7 -6 -8 -13 -17 -21 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --105 --97 --106 --28 -116 -127 -127 -127 -127 -119 -80 -55 -38 -34 -33 -37 -39 -42 -40 -17 --27 --63 --94 --103 --127 --127 --127 --71 -72 -127 -127 -127 -115 -77 -42 -0 --41 --75 --104 --112 --127 --127 --127 --127 --127 --127 --112 --105 --98 --105 --98 --21 -121 -127 -127 -127 -127 -123 -84 -39 --9 --47 --81 --108 --127 --127 --127 --52 -88 -127 -127 -127 -127 -93 -55 -13 --31 --66 --97 --105 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -79 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -69 -127 -127 -127 -115 -76 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -76 -41 -1 --41 --75 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -77 -41 -1 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -77 -41 -1 --41 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -0 --41 --75 --105 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --105 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -76 -41 -1 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -77 -41 -1 --41 --75 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -77 -41 -0 --41 --75 --104 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -0 --41 --75 --105 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -77 -41 -19 -7 -5 -7 -13 -17 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --106 --27 -115 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --110 --127 --127 --127 --54 -87 -127 -127 -127 -127 -91 -54 -12 --32 --67 --97 --106 --127 --127 --127 --66 -75 -127 -127 -127 -120 -81 -46 -5 --38 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -76 -41 -19 -7 -5 -8 -14 -17 -21 -20 --2 --43 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --106 --28 -115 -127 -127 -127 -127 -119 -80 -35 --12 --49 --83 --110 --127 --127 --127 --54 -86 -127 -127 -127 -127 -91 -54 -12 --31 --67 --97 --106 --127 --127 --127 --66 -75 -127 -127 -127 -119 -82 -45 -5 --38 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --111 --127 --127 --127 --72 -69 -127 -127 -127 -114 -76 -42 -1 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -42 -1 --41 --74 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -77 -41 -19 -7 -5 -8 -13 -17 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --81 -61 -127 -127 -127 -107 -69 -34 --5 --46 --80 --108 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --109 --101 --23 -119 -127 -127 -127 -127 -121 -83 -37 --10 --49 --82 --109 --127 --127 --127 --52 -88 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --105 --127 --127 --127 --66 -75 -127 -127 -127 -120 -81 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -79 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -41 -19 -7 -5 -8 -14 -17 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --97 --106 --27 -115 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --110 --127 --127 --127 --54 -87 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --106 --127 --127 --127 --66 -75 -127 -127 -127 -120 -82 -46 -5 --38 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --104 --111 --127 --127 --127 --71 -70 -127 -127 -127 -115 -77 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -76 -40 -0 --41 --75 --105 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -77 -41 -20 -7 -5 -8 -14 -17 -21 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --106 --28 -116 -127 -127 -127 -127 -120 -80 -54 -38 -34 -33 -38 -40 -42 -40 -17 --27 --63 --94 --103 --127 --127 --127 --127 --127 --127 --111 --104 --113 --105 --99 --21 -122 -127 -127 -127 -127 -123 -84 -39 --9 --47 --81 --108 --127 --127 --127 --52 -89 -127 -127 -127 -127 -92 -56 -13 --30 --66 --97 --105 --127 --127 --127 --66 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --101 --109 --127 --127 --127 --70 -71 -127 -127 -127 -116 -79 -43 -2 --40 --74 --104 --111 --127 --127 --127 --71 -69 -127 -127 -127 -115 -78 -41 -19 -7 -6 -8 -14 -17 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --81 -62 -127 -127 -127 -107 -69 -34 --6 --47 --80 --108 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --108 --102 --24 -120 -127 -127 -127 -127 -121 -82 -37 --10 --48 --82 --108 --127 --127 --127 --53 -89 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -82 -45 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -42 -2 --40 --74 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -41 -0 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -77 -42 -19 -7 -6 -7 -14 -17 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --81 -61 -127 -127 -127 -107 -69 -34 --6 --47 --80 --109 --127 --127 --127 --127 --77 -65 -127 -127 -127 -111 -74 -38 --1 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --106 --100 --22 -121 -127 -127 -127 -127 -123 -83 -38 --10 --48 --81 --108 --127 --127 --127 --52 -89 -127 -127 -127 -127 -92 -55 -13 --31 --66 --97 --105 --127 --127 --127 --65 -76 -127 -127 -127 -120 -82 -45 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -79 -43 -21 -8 -7 -8 -15 -18 -21 -20 --1 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --106 --27 -116 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --110 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -12 --31 --67 --97 --106 --127 --127 --127 --66 -75 -127 -127 -127 -120 -81 -46 -5 --37 --72 --102 --110 --127 --127 --127 --71 -71 -127 -127 -127 -117 -79 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -68 -127 -127 -127 -115 -77 -41 -1 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --105 --112 --127 --127 --127 --72 -68 -127 -127 -127 -114 -76 -41 -19 -7 -5 -8 -14 -18 -20 -19 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --106 --28 -116 -127 -127 -127 -127 -119 -80 -36 --11 --49 --82 --109 --127 --127 --127 --54 -87 -127 -127 -127 -127 -90 -54 -31 -17 -15 -16 -21 -25 -28 -26 -4 --38 --72 --102 --110 --127 --127 --127 --127 --127 --127 --127 --111 --103 --110 --104 --25 -118 -127 -127 -127 -127 -120 -81 -36 --11 --49 --82 --109 --127 --127 --127 --53 -88 -127 -127 -127 -127 -91 -55 -12 --31 --66 --97 --105 --127 --127 --127 --66 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -116 -78 -43 -20 -8 -7 -8 -14 -18 -21 -21 --1 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --106 --27 -116 -127 -127 -127 -127 -119 -80 -55 -38 -34 -34 -38 -41 -43 -40 -17 --27 --63 --94 --103 --127 --127 --127 --127 --127 --127 --111 --104 --113 --105 --98 --21 -122 -127 -127 -127 -127 -123 -84 -39 --8 --47 --80 --107 --127 --127 --127 --52 -89 -127 -127 -127 -127 -92 -56 -14 --30 --65 --96 --105 --127 --127 --127 --65 -75 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -71 -127 -127 -127 -115 -78 -43 -2 --40 --74 --104 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -41 -18 -7 -6 -8 -14 -18 -21 -20 --1 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --106 --28 -116 -127 -127 -127 -127 -119 -80 -55 -38 -35 -34 -38 -40 -42 -40 -17 --27 --63 --94 --103 --127 --127 --127 --71 -71 -127 -127 -127 -115 -77 -41 -0 --42 --75 --104 --112 --127 --127 --127 --127 --127 --127 --127 --105 --98 --106 --99 --21 -123 -127 -127 -127 -127 -123 -84 -38 --9 --47 --81 --107 --127 --127 --127 --51 -89 -127 -127 -127 -127 -92 -55 -13 --31 --66 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -82 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -72 -127 -127 -127 -116 -78 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -42 -1 --41 --74 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -76 -41 -1 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -75 -40 -0 --41 --75 --105 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -1 --41 --75 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -77 -42 -1 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --42 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -1 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -75 -41 -1 --41 --74 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -76 -41 -19 -7 -5 -8 -14 -16 -20 -20 --3 --44 --77 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --98 --106 --27 -116 -127 -127 -127 -127 -119 -80 -34 --12 --50 --83 --110 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -12 --31 --67 --97 --106 --127 --127 --127 --66 -76 -127 -127 -127 -119 -82 -46 -5 --37 --72 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -43 -3 --39 --73 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -42 -1 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -19 -7 -5 -8 -14 -17 -21 -20 --3 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --106 --27 -116 -127 -127 -127 -127 -119 -80 -35 --12 --50 --82 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -12 --31 --67 --97 --105 --127 --127 --127 --66 -75 -127 -127 -127 -119 -81 -46 -5 --37 --72 --102 --110 --127 --127 --127 --70 -72 -127 -127 -127 -116 -78 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -76 -41 -1 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -76 -41 -19 -8 -5 -8 -14 -16 -20 -19 --2 --44 --77 --106 --127 --127 --127 --127 --81 -62 -127 -127 -127 -106 -68 -34 --6 --47 --80 --109 --127 --127 --127 --127 --127 --127 --127 --127 --109 --101 --109 --102 --23 -120 -127 -127 -127 -127 -121 -82 -37 --10 --49 --81 --108 --127 --127 --127 --53 -89 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -81 -46 -5 --37 --71 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -43 -2 --39 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -77 -42 -20 -7 -5 -8 -14 -16 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --106 --27 -116 -127 -127 -127 -127 -119 -79 -35 --12 --50 --83 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -12 --31 --66 --97 --105 --127 --127 --127 --67 -75 -127 -127 -127 -119 -81 -46 -5 --37 --72 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -41 -0 --41 --74 --104 --112 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -40 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -19 -7 -5 -8 -14 -18 -21 -21 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --106 --28 -116 -127 -127 -127 -127 -119 -80 -55 -39 -34 -34 -39 -40 -42 -40 -17 --27 --63 --94 --103 --127 --127 --127 --127 --127 --127 --112 --105 --98 --106 --100 --21 -123 -127 -127 -127 -127 -123 -84 -39 --9 --47 --80 --107 --127 --127 --127 --52 -90 -127 -127 -127 -127 -91 -56 -13 --30 --66 --96 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -81 -46 -5 --37 --71 --101 --109 --127 --127 --127 --70 -71 -127 -127 -127 -116 -79 -43 -2 --40 --73 --103 --111 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -41 -19 -7 -6 -8 -14 -17 -20 -20 --1 --43 --76 --106 --127 --127 --127 --127 --81 -61 -127 -127 -127 -106 -69 -34 --6 --46 --79 --108 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --109 --102 --24 -120 -127 -127 -127 -127 -121 -82 -37 --10 --48 --81 --108 --127 --127 --127 --53 -88 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -81 -45 -5 --37 --71 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -42 -2 --40 --74 --103 --111 --127 --127 --127 --72 -69 -127 -127 -127 -115 -77 -41 -0 --41 --75 --104 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -76 -41 -19 -7 -6 -8 -14 -18 -21 -20 --2 --43 --77 --106 --127 --127 --127 --127 --82 -62 -127 -127 -127 -107 -68 -33 --7 --47 --80 --108 --127 --127 --127 --127 --76 -66 -127 -127 -127 -111 -74 -38 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --107 --100 --22 -122 -127 -127 -127 -127 -122 -83 -38 --9 --47 --81 --107 --127 --127 --127 --53 -90 -127 -127 -127 -127 -92 -54 -13 --31 --66 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -81 -45 -4 --38 --72 --102 --109 --127 --127 --127 --70 -72 -127 -127 -127 -116 -78 -43 -21 -9 -8 -9 -15 -19 -21 -20 --1 --42 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --98 --106 --28 -117 -127 -127 -127 -127 -119 -80 -35 --12 --49 --82 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -12 --31 --67 --97 --105 --127 --127 --127 --67 -76 -127 -127 -127 -119 -81 -45 -4 --38 --72 --102 --110 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -43 -2 --40 --73 --103 --111 --127 --127 --127 --73 -69 -127 -127 -127 -115 -77 -41 -1 --40 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -77 -41 -0 --41 --74 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -76 -41 -18 -7 -6 -8 -14 -18 -21 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --106 --28 -116 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --109 --127 --127 --127 --55 -87 -127 -127 -127 -127 -89 -54 -31 -18 -16 -17 -23 -25 -28 -27 -4 --38 --72 --102 --110 --127 --127 --127 --127 --127 --127 --127 --111 --104 --111 --104 --26 -119 -127 -127 -127 -127 -121 -81 -37 --10 --49 --82 --108 --127 --127 --127 --53 -88 -127 -127 -127 -127 -91 -54 -13 --31 --66 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -119 -81 -45 -4 --38 --72 --102 --110 --127 --127 --127 --71 -71 -127 -127 -127 -115 -78 -43 -21 -9 -7 -9 -15 -18 -22 -21 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --107 --27 -117 -127 -127 -127 -127 -120 -80 -55 -38 -35 -35 -39 -41 -43 -40 -17 --27 --63 --94 --103 --127 --127 --127 --127 --127 --127 --112 --105 --98 --106 --99 --22 -123 -127 -127 -127 -127 -123 -84 -39 --8 --47 --80 --107 --127 --127 --127 --52 -90 -127 -127 -127 -127 -92 -55 -14 --30 --66 --96 --104 --127 --127 --127 --66 -76 -127 -127 -127 -120 -82 -45 -5 --37 --72 --101 --109 --127 --127 --127 --70 -72 -127 -127 -127 -116 -78 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -114 -77 -42 -19 -7 -6 -8 -14 -18 -21 -20 --1 --42 --76 --105 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -117 -127 -127 -127 -127 -119 -80 -55 -39 -35 -34 -39 -41 -43 -40 -16 --28 --63 --94 --103 --127 --127 --127 --71 -73 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --127 --127 --127 --127 --106 --99 --106 --99 --21 -123 -127 -127 -127 -127 -123 -84 -39 --9 --47 --80 --107 --127 --127 --127 --52 -90 -127 -127 -127 -127 -92 -55 -13 --31 --66 --96 --105 --127 --127 --127 --65 -77 -127 -127 -127 -119 -82 -46 -4 --38 --72 --101 --109 --127 --127 --127 --70 -72 -127 -127 -127 -115 -78 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -69 -127 -127 -127 -115 -77 -41 -0 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -40 --1 --42 --75 --105 --112 --127 --127 --127 --72 -69 -127 -127 -127 -114 -76 -41 -0 --41 --74 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -77 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -113 -75 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -113 -75 -40 --1 --42 --75 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -114 -76 -40 -19 -7 -6 -9 -14 -18 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -116 -127 -127 -127 -127 -120 -80 -35 --12 --50 --83 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -11 --32 --67 --97 --106 --127 --127 --127 --66 -76 -127 -127 -127 -118 -80 -45 -4 --38 --72 --102 --110 --127 --127 --127 --71 -71 -127 -127 -127 -115 -77 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -114 -77 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -40 -19 -7 -6 -8 -14 -18 -20 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --106 --27 -116 -127 -127 -127 -127 -119 -80 -35 --12 --50 --82 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -12 --31 --66 --97 --105 --127 --127 --127 --67 -76 -127 -127 -127 -119 -81 -45 -5 --37 --72 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -43 -2 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -76 -41 -1 --41 --74 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -75 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -19 -8 -6 -8 -14 -18 -21 -20 --2 --43 --77 --106 --127 --127 --127 --127 --82 -62 -127 -127 -127 -106 -67 -33 --7 --47 --80 --109 --127 --127 --127 --127 --127 --127 --127 --127 --110 --102 --109 --103 --24 -121 -127 -127 -127 -127 -122 -83 -37 --10 --48 --81 --108 --127 --127 --127 --53 -89 -127 -127 -127 -127 -91 -55 -13 --31 --66 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -119 -81 -45 -5 --38 --72 --102 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -77 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -76 -42 -20 -8 -7 -9 -15 -18 -21 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -117 -127 -127 -127 -127 -120 -80 -35 --12 --49 --82 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -11 --32 --67 --97 --106 --127 --127 --127 --66 -76 -127 -127 -127 -118 -81 -45 -4 --38 --72 --102 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -43 -2 --40 --73 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -42 -1 --40 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -19 -7 -6 -8 -14 -18 -21 -21 --1 --42 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -116 -127 -127 -127 -127 -119 -80 -54 -39 -35 -35 -39 -41 -43 -40 -17 --27 --63 --94 --103 --127 --127 --127 --127 --127 --127 --127 --106 --99 --106 --100 --22 -123 -127 -127 -127 -127 -123 -84 -39 --8 --47 --80 --107 --127 --127 --127 --53 -90 -127 -127 -127 -127 -91 -55 -13 --30 --66 --96 --105 --127 --127 --127 --66 -77 -127 -127 -127 -120 -80 -45 -5 --37 --72 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -43 -2 --40 --73 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -77 -42 -20 -8 -7 -8 -15 -18 -21 -21 --1 --43 --77 --106 --127 --127 --127 --127 --82 -62 -127 -127 -127 -106 -68 -33 --6 --47 --80 --108 --127 --127 --127 --127 --127 --127 --127 --127 --110 --102 --109 --102 --23 -121 -127 -127 -127 -127 -122 -83 -37 --10 --48 --81 --108 --127 --127 --127 --53 -89 -127 -127 -127 -127 -91 -54 -13 --31 --66 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -81 -45 -5 --37 --71 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -43 -3 --39 --73 --103 --110 --127 --127 --127 --73 -69 -127 -127 -127 -114 -77 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -41 -18 -7 -6 -8 -14 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --82 -61 -127 -127 -127 -106 -69 -33 --6 --47 --80 --108 --127 --127 --127 --127 --77 -65 -127 -127 -127 -111 -74 -38 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --108 --101 --23 -122 -127 -127 -127 -127 -123 -83 -38 --9 --47 --80 --107 --127 --127 --127 --53 -90 -127 -127 -127 -127 -92 -55 -13 --31 --66 --96 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -81 -45 -5 --37 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -21 -8 -7 -9 -16 -19 -22 -21 --1 --42 --76 --105 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -117 -127 -127 -127 -127 -119 -80 -35 --11 --49 --82 --109 --127 --127 --127 --55 -88 -127 -127 -127 -127 -90 -54 -12 --31 --66 --97 --105 --127 --127 --127 --67 -76 -127 -127 -127 -119 -81 -45 -4 --38 --72 --102 --110 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -1 --40 --74 --104 --111 --127 --127 --127 --72 -70 -127 -127 -127 -114 -77 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -1 --40 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -19 -7 -6 -8 -14 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -117 -127 -127 -127 -127 -119 -80 -35 --12 --49 --82 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -31 -17 -16 -18 -23 -26 -29 -27 -4 --38 --72 --102 --110 --127 --127 --127 --127 --127 --127 --127 --112 --105 --112 --104 --26 -119 -127 -127 -127 -127 -121 -81 -37 --10 --48 --81 --108 --127 --127 --127 --54 -88 -127 -127 -127 -127 -91 -54 -12 --31 --66 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -81 -45 -4 --38 --72 --102 --110 --127 --127 --127 --71 -72 -127 -127 -127 -115 -78 -43 -20 -8 -7 -10 -16 -19 -23 -21 --1 --42 --76 --105 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -117 -127 -127 -127 -127 -119 -80 -55 -38 -35 -35 -39 -41 -43 -40 -17 --27 --63 --94 --103 --127 --127 --127 --127 --127 --127 --127 --106 --99 --107 --100 --21 -124 -127 -127 -127 -127 -124 -84 -39 --8 --47 --80 --107 --127 --127 --127 --52 -90 -127 -127 -127 -127 -92 -55 -13 --30 --66 --96 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -82 -45 -5 --37 --72 --101 --109 --127 --127 --127 --70 -72 -127 -127 -127 -116 -78 -43 -2 --40 --73 --103 --111 --127 --127 --127 --73 -69 -127 -127 -127 -115 -77 -42 -20 -8 -6 -9 -14 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -118 -127 -127 -127 -127 -119 -80 -55 -38 -35 -35 -40 -41 -44 -41 -18 --26 --62 --93 --103 --127 --127 --127 --71 -72 -127 -127 -127 -115 -77 -41 -0 --42 --75 --104 --112 --127 --127 --127 --127 --127 --127 --127 --106 --100 --108 --100 --22 -122 -127 -127 -127 -127 -123 -83 -39 --9 --47 --80 --107 --127 --127 --127 --53 -90 -127 -127 -127 -127 -92 -56 -13 --30 --65 --96 --104 --127 --127 --127 --66 -76 -127 -127 -127 -120 -81 -45 -4 --38 --72 --102 --109 --127 --127 --127 --70 -72 -127 -127 -127 -116 -78 -42 -2 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -76 -42 -1 --40 --74 --104 --111 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -115 -77 -41 -0 --41 --74 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -76 -40 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -68 -127 -127 -127 -113 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --74 -69 -127 -127 -127 -113 -76 -41 -0 --41 --75 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -76 -40 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -40 -19 -7 -6 -8 -14 -18 -21 -21 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --107 --28 -116 -127 -127 -127 -127 -120 -80 -35 --12 --49 --82 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -12 --32 --67 --97 --105 --127 --127 --127 --67 -76 -127 -127 -127 -119 -81 -45 -4 --38 --72 --102 --110 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -114 -77 -41 -1 --41 --74 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -77 -41 -20 -8 -6 -9 -15 -17 -21 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -116 -127 -127 -127 -127 -120 -80 -35 --12 --49 --82 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -12 --32 --67 --97 --105 --127 --127 --127 --66 -76 -127 -127 -127 -119 -81 -45 -4 --38 --72 --102 --110 --127 --127 --127 --71 -71 -127 -127 -127 -115 -77 -42 -2 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -77 -42 -1 --40 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -77 -40 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -40 -19 -7 -5 -8 -14 -18 -21 -21 --1 --43 --76 --105 --127 --127 --127 --127 --82 -62 -127 -127 -127 -106 -67 -33 --7 --47 --80 --108 --127 --127 --127 --127 --127 --127 --127 --127 --110 --102 --110 --103 --24 -121 -127 -127 -127 -127 -122 -83 -37 --10 --48 --81 --108 --127 --127 --127 --53 -89 -127 -127 -127 -127 -91 -55 -13 --31 --66 --96 --105 --127 --127 --127 --66 -77 -127 -127 -127 -120 -81 -45 -5 --37 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -1 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -41 -19 -8 -6 -9 -15 -19 -22 -21 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --107 --28 -116 -127 -127 -127 -127 -119 -80 -35 --12 --49 --82 --109 --127 --127 --127 --55 -88 -127 -127 -127 -127 -90 -54 -12 --31 --67 --97 --105 --127 --127 --127 --67 -76 -127 -127 -127 -119 -81 -45 -4 --38 --72 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -77 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -77 -41 -0 --41 --74 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -77 -40 -19 -7 -6 -8 -15 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --107 --28 -117 -127 -127 -127 -127 -119 -80 -54 -39 -35 -35 -39 -41 -43 -40 -17 --27 --62 --94 --103 --127 --127 --127 --127 --127 --127 --127 --106 --99 --107 --101 --22 -123 -127 -127 -127 -127 -124 -85 -40 --8 --46 --80 --106 --127 --127 --127 --53 -90 -127 -127 -127 -127 -92 -56 -14 --30 --65 --96 --104 --127 --127 --127 --66 -77 -127 -127 -127 -120 -82 -45 -5 --37 --71 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -1 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -114 -77 -41 -19 -8 -7 -9 -15 -19 -21 -21 --1 --42 --76 --106 --127 --127 --127 --127 --82 -62 -127 -127 -127 -106 -67 -33 --7 --47 --80 --108 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --110 --103 --24 -121 -127 -127 -127 -127 -122 -83 -38 --10 --48 --81 --107 --127 --127 --127 --53 -89 -127 -127 -127 -127 -91 -55 -13 --31 --66 --96 --105 --127 --127 --127 --66 -76 -127 -127 -127 -120 -81 -45 -4 --38 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -1 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -77 -41 -19 -8 -6 -8 -15 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --82 -61 -127 -127 -127 -106 -68 -33 --6 --47 --80 --108 --127 --127 --127 --127 --77 -65 -127 -127 -127 -111 -74 -38 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --108 --101 --23 -122 -127 -127 -127 -127 -122 -84 -39 --9 --47 --80 --107 --127 --127 --127 --53 -90 -127 -127 -127 -127 -91 -55 -13 --30 --65 --96 --104 --127 --127 --127 --66 -76 -127 -127 -127 -120 -82 -46 -5 --37 --71 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -115 -78 -43 -20 -9 -7 -9 -16 -19 -22 -21 --1 --42 --76 --105 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -118 -127 -127 -127 -127 -120 -81 -35 --12 --49 --82 --109 --127 --127 --127 --55 -88 -127 -127 -127 -127 -90 -54 -13 --31 --66 --96 --105 --127 --127 --127 --67 -76 -127 -127 -127 -120 -81 -45 -5 --37 --72 --101 --109 --127 --127 --127 --72 -71 -127 -127 -127 -116 -77 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -41 -0 --41 --74 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -19 -8 -7 -8 -15 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --98 --107 --28 -118 -127 -127 -127 -127 -120 -80 -35 --12 --49 --82 --109 --127 --127 --127 --55 -88 -127 -127 -127 -127 -90 -54 -31 -17 -16 -18 -23 -26 -29 -28 -5 --38 --72 --102 --109 --127 --127 --127 --127 --127 --127 --127 --112 --104 --112 --105 --26 -119 -127 -127 -127 -127 -120 -82 -37 --10 --48 --81 --108 --127 --127 --127 --54 -89 -127 -127 -127 -127 -91 -55 -13 --30 --66 --96 --105 --127 --127 --127 --67 -76 -127 -127 -127 -119 -81 -46 -5 --38 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -115 -78 -42 -19 -8 -8 -10 -15 -19 -23 -21 --1 --42 --76 --105 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -117 -127 -127 -127 -127 -119 -80 -55 -38 -35 -36 -39 -41 -43 -41 -17 --27 --63 --94 --103 --127 --127 --127 --127 --127 --127 --127 --106 --99 --107 --100 --22 -124 -127 -127 -127 -127 -124 -85 -39 --8 --46 --80 --106 --127 --127 --127 --53 -90 -127 -127 -127 -127 -92 -55 -13 --30 --65 --96 --105 --127 --127 --127 --66 -77 -127 -127 -127 -120 -81 -45 -5 --37 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -115 -78 -43 -1 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -114 -77 -42 -20 -8 -7 -10 -15 -19 -22 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --28 -117 -127 -127 -127 -127 -119 -80 -55 -39 -35 -35 -39 -41 -43 -41 -17 --27 --62 --94 --102 --127 --127 --127 --71 -72 -127 -127 -127 -115 -77 -41 -0 --41 --75 --104 --112 --127 --127 --127 --127 --127 --127 --127 --107 --100 --107 --100 --22 -123 -127 -127 -127 -127 -123 -84 -39 --8 --47 --80 --107 --127 --127 --127 --53 -90 -127 -127 -127 -127 -92 -56 -13 --30 --65 --96 --104 --127 --127 --127 --66 -77 -127 -127 -127 -120 -82 -46 -5 --37 --71 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -43 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -76 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -75 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -1 --41 --74 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -77 -41 -0 --41 --75 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -40 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -113 -75 -40 -0 --42 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -113 -76 -41 -0 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -75 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -1 --40 --74 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --74 -69 -127 -127 -127 -113 -76 -40 -19 -7 -5 -8 -15 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -117 -127 -127 -127 -127 -119 -80 -35 --12 --49 --82 --109 --127 --127 --127 --55 -88 -127 -127 -127 -127 -91 -54 -12 --31 --66 --96 --105 --127 --127 --127 --67 -75 -127 -127 -127 -119 -80 -45 -5 --37 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -76 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -19 -8 -6 -9 -15 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --28 -116 -127 -127 -127 -127 -120 -80 -35 --12 --50 --82 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -90 -54 -12 --31 --66 --97 --105 --127 --127 --127 --67 -76 -127 -127 -127 -119 -81 -45 -4 --38 --72 --102 --109 --127 --127 --127 --71 -72 -127 -127 -127 -115 -77 -42 -2 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -41 -1 --40 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -77 -41 -19 -7 -5 -8 -14 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --82 -61 -127 -127 -127 -106 -68 -34 --6 --46 --79 --108 --127 --127 --127 --127 --127 --127 --127 --127 --110 --102 --110 --102 --24 -121 -127 -127 -127 -127 -122 -83 -37 --10 --48 --81 --107 --127 --127 --127 --53 -89 -127 -127 -127 -127 -91 -55 -13 --30 --65 --96 --104 --127 --127 --127 --67 -76 -127 -127 -127 -120 -81 -45 -5 --37 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -76 -41 -19 -8 -6 -9 -15 -19 -22 -21 --1 --42 --76 --105 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --107 --28 -116 -127 -127 -127 -127 -119 -80 -35 --12 --49 --82 --109 --127 --127 --127 --55 -87 -127 -127 -127 -127 -91 -54 -12 --31 --66 --97 --105 --127 --127 --127 --67 -76 -127 -127 -127 -120 -81 -45 -5 --37 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -77 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -77 -41 -1 --41 --74 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -77 -41 -0 --41 --74 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -76 -41 -19 -8 -6 -9 -14 -18 -21 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --107 --28 -117 -127 -127 -127 -127 -119 -80 -54 -39 -35 -35 -39 -41 -43 -41 -18 --26 --62 --93 --102 --127 --127 --127 --127 --127 --127 --127 --106 --99 --107 --100 --21 -124 -127 -127 -127 -127 -123 -84 -39 --9 --47 --80 --107 --127 --127 --127 --53 -90 -127 -127 -127 -127 -92 -56 -14 --30 --65 --96 --104 --127 --127 --127 --67 -76 -127 -127 -127 -120 -82 -46 -5 --37 --71 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -114 -77 -41 -19 -8 -7 -9 -15 -19 -21 -21 --1 --42 --76 --106 --127 --127 --127 --127 --82 -61 -127 -127 -127 -106 -67 -33 --6 --47 --80 --108 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --110 --103 --24 -121 -127 -127 -127 -127 -122 -83 -38 --9 --48 --81 --107 --127 --127 --127 --54 -89 -127 -127 -127 -127 -91 -55 -13 --31 --66 --96 --105 --127 --127 --127 --67 -77 -127 -127 -127 -120 -81 -45 -5 --37 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -2 --40 --74 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -77 -40 -0 --41 --74 --104 --111 --127 --127 --127 --73 -68 -127 -127 -127 -114 -77 -41 -19 -8 -7 -9 -15 -18 -20 -20 --2 --43 --77 --106 --127 --127 --127 --127 --82 -61 -127 -127 -127 -105 -68 -33 --6 --46 --79 --108 --127 --127 --127 --127 --78 -65 -127 -127 -127 -112 -74 -38 --1 --43 --76 --105 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --108 --101 --22 -123 -127 -127 -127 -127 -123 -83 -38 --9 --47 --80 --107 --127 --127 --127 --53 -89 -127 -127 -127 -127 -91 -54 -13 --31 --66 --96 --105 --127 --127 --127 --67 -76 -127 -127 -127 -120 -82 -45 -5 --37 --71 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -79 -43 -21 -9 -8 -10 -15 -19 -22 -21 --1 --42 --75 --105 --112 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --27 -118 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --109 --127 --127 --127 --55 -88 -127 -127 -127 -127 -90 -54 -12 --31 --66 --97 --105 --127 --127 --127 --67 -75 -127 -127 -127 -119 -81 -46 -5 --37 --71 --101 --109 --127 --127 --127 --72 -71 -127 -127 -127 -116 -78 -42 -2 --40 --73 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -77 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -40 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -114 -76 -41 -19 -7 -6 -8 -15 -18 -22 -21 --1 --42 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --28 -117 -127 -127 -127 -127 -119 -80 -35 --12 --49 --82 --109 --127 --127 --127 --54 -88 -127 -127 -127 -127 -91 -54 -31 -18 -16 -18 -23 -26 -29 -28 -5 --37 --72 --101 --110 --127 --127 --127 --127 --127 --127 --127 --112 --105 --112 --104 --25 -120 -127 -127 -127 -127 -121 -81 -36 --11 --49 --82 --108 --127 --127 --127 --54 -88 -127 -127 -127 -127 -91 -54 -12 --31 --66 --97 --105 --127 --127 --127 --66 -75 -127 -127 -127 -119 -81 -45 -5 --37 --71 --101 --109 --127 --127 --127 --71 -71 -127 -127 -127 -116 -78 -42 -20 -8 -7 -10 -15 -19 -22 -21 --1 --42 --76 --105 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --107 --28 -118 -127 -127 -127 -127 -119 -80 -55 -38 -35 -36 -40 -42 -44 -40 -17 --27 --63 --94 --103 --127 --127 --127 --127 --127 --127 --127 --106 --99 --107 --100 --21 -123 -127 -127 -127 -127 -124 -84 -39 --8 --47 --80 --107 --127 --127 --127 --52 -90 -127 -127 -127 -127 -92 -55 -13 --30 --66 --96 --105 --127 --127 --127 --66 -77 -127 -127 -127 -120 -82 -46 -5 --37 --71 --101 --109 --127 --127 --127 --70 -72 -127 -127 -127 -116 -78 -43 -1 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -42 -20 -8 -7 -10 -15 -19 -22 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --29 -117 -127 -127 -127 -127 -119 -80 -55 -39 -35 -35 -39 -41 -43 -41 -17 --26 --62 --94 --102 --127 --127 --127 --72 -72 -127 -127 -127 -115 -76 -41 -0 --41 --75 --104 --111 --127 --127 --127 --127 --127 --127 --127 --107 --100 --107 --100 --21 -124 -127 -127 -127 -127 -123 -84 -38 --9 --47 --80 --107 --127 --127 --127 --53 -89 -127 -127 -127 -127 -92 -56 -13 --31 --66 --96 --104 --127 --127 --127 --66 -77 -127 -127 -127 -120 -82 -46 -5 --37 --71 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -43 -2 --39 --73 --103 --111 --127 --127 --127 --72 -70 -127 -127 -127 -115 -76 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --112 --127 --127 --127 --74 -69 -127 -127 -127 -114 -76 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -69 -127 -127 -127 -114 -77 -41 -1 --41 --74 --104 --111 --127 --127 --127 --73 -68 -127 -127 -127 -114 -77 -41 -0 --41 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -113 -76 -41 -0 --42 --75 --104 --112 --127 --127 --127 --73 -69 -127 -127 -127 -113 -76 -40 -0 --42 --75 --104 --112 --127 --127 --127 --74 -69 -127 -127 -127 -114 -75 -40 -0 --41 --75 --104 --112 --127 --127 --127 --74 -69 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -75 -41 -0 --41 --74 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -76 -41 -19 -7 -6 -8 -15 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --107 --28 -117 -127 -127 -127 -127 -119 -80 -35 --12 --50 --83 --109 --127 --127 --127 --55 -88 -127 -127 -127 -127 -90 -54 -12 --31 --67 --97 --105 --127 --127 --127 --67 -77 -127 -127 -127 -119 -81 -45 -5 --37 --71 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -43 -2 --40 --73 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -76 -41 -1 --41 --75 --104 --111 --127 --127 --127 --73 -70 -127 -127 -127 -114 -75 -40 -19 -7 -6 -9 -15 -18 -22 -20 --2 --43 --76 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --108 --29 -117 -127 -127 -127 -127 -119 -80 -35 --12 --49 --82 --109 --127 --127 --127 --55 -88 -127 -127 -127 -127 -90 -54 -12 --31 --66 --97 --105 --127 --127 --127 --67 -76 -127 -127 -127 -119 -81 -45 -4 --38 --72 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -1 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -76 -41 -0 --41 --74 --104 --112 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -76 -41 -19 -8 -7 -9 -15 -18 -21 -20 --2 --43 --76 --106 --127 --127 --127 --127 --82 -62 -127 -127 -127 -105 -68 -33 --7 --47 --80 --109 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --110 --103 --24 -122 -127 -127 -127 -127 -121 -83 -37 --10 --48 --81 --107 --127 --127 --127 --54 -89 -127 -127 -127 -127 -91 -55 -13 --30 --66 --96 --105 --127 --127 --127 --67 -76 -127 -127 -127 -120 -82 -45 -5 --37 --71 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -43 -2 --40 --73 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -77 -41 -19 -8 -6 -9 -15 -18 -21 -20 --2 --43 --76 --105 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --98 --107 --28 -118 -127 -127 -127 -127 -119 -80 -35 --12 --50 --82 --109 --127 --127 --127 --55 -88 -127 -127 -127 -127 -90 -54 -12 --31 --66 --97 --105 --127 --127 --127 --67 -76 -127 -127 -127 -120 -81 -46 -5 --37 --71 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -2 --40 --74 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -76 -41 -0 --41 --75 --104 --111 --127 --127 --127 --73 -70 -127 -127 -127 -114 -76 -41 -0 --41 --75 --104 --111 --127 --127 --127 --74 -69 -127 -127 -127 -114 -76 -41 -19 -8 -6 -9 -15 -18 -21 -20 --2 --43 --77 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --28 -118 -127 -127 -127 -127 -120 -80 -55 -39 -35 -35 -39 -41 -43 -41 -18 --26 --62 --93 --102 --127 --127 --127 --127 --127 --127 --127 --107 --100 --107 --101 --21 -124 -127 -127 -127 -127 -123 -84 -38 --9 --47 --80 --107 --127 --127 --127 --52 -90 -127 -127 -127 -127 -91 -55 -13 --30 --65 --96 --105 --127 --127 --127 --67 -76 -127 -127 -127 -120 -81 -45 -5 --37 --71 --101 --109 --127 --127 --127 --71 -72 -127 -127 -127 -116 -78 -42 -2 --40 --73 --103 --111 --127 --127 --127 --73 -70 -127 -127 -127 -115 -77 -41 -19 -8 -6 -9 -15 -18 -21 -21 --1 --42 --76 --105 --127 --127 --127 --127 --82 -61 -127 -127 -127 -105 -68 -33 --6 --46 --80 --108 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --110 --103 --24 -122 -127 -127 -127 -127 -121 -83 -38 --9 --48 --81 --107 --127 --127 --127 --53 -90 -127 -127 -127 -127 diff --git a/traces/modulation-ask-man-32.pm3 b/traces/modulation-ask-man-32.pm3 deleted file mode 100644 index b8dfed987..000000000 --- a/traces/modulation-ask-man-32.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ -18 -15 -14 --13 --35 --55 --71 --85 --96 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -55 -23 --5 --27 --47 --63 --77 --88 --98 --105 --113 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -122 -112 -105 -95 -90 -83 -78 -71 -66 -59 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -93 -84 -80 -73 -68 -62 -58 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -38 -36 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --96 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -38 -36 -33 -31 -27 -26 --4 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --107 --99 -65 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -102 -96 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -122 -113 -105 -96 -91 -82 -78 -71 -66 -60 -57 -23 --5 --29 --48 --65 --79 --91 --100 --108 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -84 -80 -73 -68 -62 -59 -53 -51 -17 --9 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -104 -97 -92 -83 -78 -71 -67 -61 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -82 -77 -71 -67 -60 -56 -51 -49 -44 -42 -37 -35 -31 -30 -25 -25 -22 -21 -18 -18 -15 -15 -13 -12 --16 --37 --57 --72 --86 --97 --106 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -38 -36 -33 -31 -27 -26 --4 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --56 -127 -127 -117 -100 -96 -89 -84 -76 -71 -65 -62 -56 -52 -47 -45 -13 --13 --36 --54 --71 --83 --95 --104 --112 --101 --107 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -98 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --27 -127 -127 -127 -127 -122 -114 -107 -97 -91 -83 -79 -72 -67 -61 -57 -23 --4 --28 --48 --65 --78 --90 --100 --108 --98 --104 --108 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -94 -85 -80 -73 -69 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -71 -66 -61 -57 -52 -49 -15 --11 --34 --52 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -110 -105 -96 -91 -83 -77 -70 -66 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -67 -60 -56 -51 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -67 -60 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -77 -70 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --81 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -71 -66 -60 -56 -51 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -70 -66 -60 -57 -52 -48 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -67 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -51 -48 -16 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -66 -60 -56 -51 -49 -44 -42 -37 -35 -31 -30 -26 -24 -22 -21 -18 -18 -15 -15 -13 -13 --15 --37 --57 --72 --86 --97 --106 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -94 -54 -23 --5 --28 --48 --64 --77 --88 --98 --106 --113 --101 --107 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -77 -70 -66 -61 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -85 -80 -72 -69 -63 -58 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -82 -77 -71 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -71 -67 -60 -56 -51 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -14 -12 -12 --16 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --47 --63 --77 --88 --98 --106 --113 --101 --106 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -77 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -84 -79 -72 -69 -62 -58 -53 -50 -17 --9 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -48 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --48 -127 -127 -126 -109 -105 -97 -91 -82 -78 -70 -66 -61 -57 -51 -48 -16 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -67 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -82 -78 -70 -67 -60 -56 -51 -49 -44 -41 -37 -35 -31 -30 -26 -24 -22 -21 -18 -18 -15 -14 -12 -12 --15 --37 --57 --72 --86 --97 --106 --97 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -92 -84 -79 -72 -68 -61 -57 -53 -50 -45 -42 -10 --15 --38 --56 --72 --84 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -97 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --27 -127 -127 -127 -127 -123 -113 -106 -97 -91 -82 -78 -71 -67 -61 -57 -23 --4 --28 --48 --65 --78 --91 --100 --108 --98 --104 --108 --127 --127 --127 --127 --44 -127 -127 -127 -113 -108 -100 -93 -84 -80 -73 -69 -63 -59 -53 -50 -17 --9 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -67 -61 -56 -52 -49 -44 -42 -37 -35 -31 -30 -26 -24 -22 -21 -18 -18 -15 -15 -12 -12 --16 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --63 --77 --88 --98 --106 --112 --102 --107 --109 --127 --127 --29 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -78 -70 -66 -60 -57 -23 --5 --29 --48 --65 --78 --91 --100 --109 --98 --104 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -84 -80 -72 -69 -62 -58 -53 -50 -17 --10 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -83 -78 -70 -67 -61 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -82 -78 -70 -66 -61 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -12 -13 --15 --37 --57 --72 --86 --97 --106 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -93 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -37 -32 -31 -28 -26 --3 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --107 --100 -65 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -96 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -122 -113 -106 -96 -91 -82 -77 -70 -67 -60 -57 -23 --5 --29 --48 --65 --78 --91 --100 --108 --98 --104 --108 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -84 -79 -73 -69 -61 -59 -53 -50 -16 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -106 -97 -91 -83 -79 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -66 -60 -57 -51 -49 -44 -42 -37 -35 -31 -29 -27 -25 -21 -21 -19 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -110 -95 -91 -84 -79 -72 -68 -62 -58 -51 -49 -45 -42 -10 --16 --38 --56 --72 --85 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -99 -59 -26 --3 --25 --45 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -122 -114 -106 -96 -91 -83 -78 -71 -66 -60 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -113 -107 -100 -93 -85 -80 -72 -69 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -110 -106 -96 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -70 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -18 -17 -15 -15 -13 -12 --16 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -110 -95 -92 -84 -79 -72 -68 -62 -58 -52 -50 -45 -42 -10 --16 --38 --56 --72 --85 --96 --105 --112 --102 --108 --111 --127 --127 --127 --127 --49 -127 -127 -123 -107 -103 -94 -89 -81 -76 -69 -65 -59 -55 -50 -48 -15 --11 --35 --53 --69 --82 --94 --103 --111 --101 --107 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 --109 -71 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -58 -26 --3 --25 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -79 -71 -67 -61 -57 -23 --4 --28 --48 --65 --78 --91 --100 --108 --98 --104 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -93 -85 -80 -73 -69 -62 -58 -53 -51 -17 --9 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -82 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -32 -29 -27 -26 -22 -21 -19 -18 -15 -15 -12 -12 --16 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -54 -23 --5 --27 --48 --64 --78 --88 --98 --105 --113 --101 --106 --110 --127 --127 --29 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -77 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -113 -107 -99 -93 -84 -80 -73 -69 -62 -59 -53 -50 -17 --10 --33 --52 --69 --81 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -110 -106 -97 -91 -83 -78 -72 -67 -60 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -67 -61 -56 -51 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -70 -67 -61 -57 -51 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -66 -60 -57 -51 -48 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -14 -15 -13 -12 --16 --38 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -55 -23 --5 --27 --48 --63 --77 --88 --98 --106 --113 --102 --107 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -91 -82 -77 -70 -66 -60 -57 -51 -48 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -14 --14 --36 --56 --71 --85 --96 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -55 -23 --5 --27 --48 --63 --77 --88 --98 --106 --113 --101 --106 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -78 -70 -66 -60 -57 -23 --5 --29 --48 --65 --78 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -84 -80 -73 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -51 -49 -44 -42 -37 -35 -32 -30 -26 -26 -22 -21 -18 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -62 -59 -54 -51 -45 -43 -39 -37 -33 -31 -27 -26 --3 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 -65 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -96 -57 -25 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -97 -91 -82 -78 -70 -66 -60 -57 -23 --5 --29 --48 --65 --79 --91 --100 --109 --99 --104 --109 --127 --127 --127 --127 --43 -127 -127 -127 -112 -108 -100 -93 -85 -80 -73 -69 -62 -58 -52 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --93 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -71 -67 -61 -57 -51 -49 -43 -42 -37 -35 -31 -30 -27 -25 -22 -21 -18 -18 -15 -14 -13 -12 --15 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -36 -33 -31 -28 -26 --3 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --56 -127 -127 -116 -101 -97 -89 -83 -76 -72 -65 -61 -55 -52 -48 -45 -12 --14 --37 --55 --71 --84 --95 --104 --112 --101 --107 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 -71 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -98 -58 -26 --3 --25 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -123 -114 -106 -96 -91 -83 -78 -71 -67 -61 -57 -23 --4 --29 --48 --65 --79 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -113 -108 -99 -93 -85 -80 -73 -69 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -66 -60 -57 -51 -48 -15 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -96 -91 -82 -78 -71 -66 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -67 -61 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -82 -78 -70 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -82 -78 -71 -66 -61 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -83 -78 -71 -66 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -70 -67 -61 -56 -52 -49 -16 --11 --34 --52 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -83 -78 -71 -67 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -66 -60 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -82 -78 -71 -67 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -83 -78 -71 -67 -60 -57 -51 -49 -44 -41 -37 -35 -31 -30 -27 -24 -22 -21 -19 -18 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -100 -94 -54 -23 --5 --28 --48 --64 --78 --88 --98 --106 --113 --101 --107 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -106 -96 -90 -82 -77 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -84 -80 -73 -68 -62 -59 -53 -50 -17 --9 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --107 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -82 -77 -71 -67 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -70 -67 -60 -56 -52 -49 -43 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -14 -12 -12 --15 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --47 --63 --77 --88 --98 --106 --113 --101 --106 --110 --127 --127 --29 -127 -127 -127 -127 -121 -112 -106 -96 -89 -82 -78 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -85 -80 -73 -69 -62 -58 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -110 -105 -97 -91 -83 -78 -71 -66 -61 -57 -51 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -82 -77 -71 -67 -60 -56 -51 -49 -16 --11 --34 --52 --69 --82 --93 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -71 -67 -60 -57 -52 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -17 -16 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -91 -84 -79 -72 -68 -61 -58 -52 -50 -44 -42 -10 --16 --38 --56 --72 --85 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --102 --110 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -97 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --27 -127 -127 -127 -127 -122 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --105 --108 --127 --127 --127 --127 --44 -127 -127 -127 -113 -107 -100 -93 -84 -80 -73 -69 -62 -59 -53 -50 -17 --10 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -97 -91 -83 -78 -72 -67 -60 -58 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -83 -78 -71 -67 -60 -56 -52 -49 -43 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 --15 --37 --57 --72 --86 --97 --106 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --63 --78 --88 --98 --105 --113 --101 --107 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -77 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -85 -80 -72 -68 -62 -58 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -67 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -83 -78 -70 -67 -60 -57 -51 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -101 -94 -86 -81 -73 -69 -63 -59 -53 -51 -46 -43 -39 -37 -33 -31 -28 -26 --3 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 -65 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -102 -96 -57 -25 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -106 -97 -91 -83 -78 -70 -67 -60 -56 -22 --5 --29 --48 --66 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -93 -85 -79 -73 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -106 -97 -91 -83 -78 -70 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -66 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 --16 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -91 -83 -79 -72 -67 -61 -58 -52 -50 -45 -42 -10 --16 --38 --56 --72 --85 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -98 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --26 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -71 -67 -61 -57 -23 --4 --28 --48 --65 --78 --90 --100 --109 --99 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -107 -99 -93 -85 -79 -73 -69 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -110 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -96 -91 -83 -78 -70 -67 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -66 -60 -57 -51 -49 -44 -41 -37 -35 -31 -30 -27 -25 -22 -21 -19 -17 -15 -15 -13 -12 --16 --38 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --61 -127 -127 -110 -95 -92 -84 -79 -72 -68 -61 -58 -52 -49 -45 -42 -10 --15 --38 --56 --72 --85 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --49 -127 -127 -123 -107 -102 -94 -88 -81 -76 -69 -65 -59 -56 -50 -47 -15 --11 --35 --53 --70 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 --109 -72 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -59 -27 --2 --25 --45 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --27 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -72 -67 -61 -57 -23 --4 --29 --48 --65 --79 --91 --100 --109 --99 --104 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -109 -99 -93 -85 -80 -72 -69 -62 -59 -53 -50 -17 --9 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -106 -97 -91 -83 -79 -71 -66 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -19 -18 -16 -15 -13 -12 --15 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -100 -95 -55 -23 --5 --27 --47 --63 --77 --88 --98 --105 --113 --102 --106 --109 --127 --127 --28 -127 -127 -127 -126 -121 -112 -104 -96 -90 -82 -77 -70 -66 -60 -57 -23 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -85 -80 -72 -67 -62 -59 -52 -50 -16 --10 --33 --52 --69 --82 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -83 -78 -70 -67 -61 -57 -51 -48 -16 --11 --34 --52 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -70 -66 -60 -57 -51 -49 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -90 -82 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 --16 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --64 --78 --88 --98 --106 --113 --101 --106 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -91 -82 -77 -70 -66 -60 -57 -51 -48 -43 -41 -37 -34 -31 -29 -26 -25 -22 -21 -18 -18 -15 -14 --13 --36 --55 --71 --85 --96 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -55 -23 --5 --27 --47 --63 --77 --88 --98 --105 --113 --101 --106 --110 --127 --127 --28 -127 -127 -127 -126 -121 -112 -105 -96 -90 -82 -78 -71 -67 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -85 -80 -73 -68 -62 -59 -53 -50 -16 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -110 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -26 -22 -21 -19 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --106 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -99 -94 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -36 -33 -31 -28 -26 --3 --27 --48 --65 --79 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 -64 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -112 -102 -95 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -122 -112 -105 -96 -91 -83 -77 -71 -67 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --98 --104 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -85 -80 -73 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --46 -127 -127 -126 -110 -105 -96 -91 -83 -77 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --106 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -70 -63 -59 -53 -51 -45 -43 -39 -36 -33 -31 -28 -26 --3 --27 --48 --65 --80 --91 --101 --109 --101 --106 --111 --127 --127 --127 --127 --127 --56 -127 -127 -117 -101 -96 -88 -84 -76 -71 -65 -61 -55 -52 -47 -45 -12 --14 --36 --54 --71 --84 --95 --104 --112 --102 --107 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -98 -58 -26 --3 --25 --45 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -122 -113 -106 -97 -91 -83 -78 -72 -67 -61 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -93 -85 -80 -73 -69 -62 -59 -53 -50 -16 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -110 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -82 -78 -71 -67 -61 -57 -51 -48 -16 --11 --34 --52 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -83 -78 -70 -67 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -90 -83 -78 -70 -66 -60 -56 -52 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -104 -97 -91 -82 -78 -70 -67 -60 -57 -51 -48 -16 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -66 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --100 --107 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -82 -78 -71 -67 -60 -57 -52 -48 -16 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -77 -71 -67 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -83 -78 -70 -66 -60 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -94 -54 -23 --5 --28 --48 --63 --78 --88 --98 --106 --113 --102 --107 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -106 -96 -89 -82 -78 -70 -66 -60 -57 -23 --4 --29 --48 --65 --78 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -84 -80 -72 -69 -62 -58 -52 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -106 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -82 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -70 -67 -60 -57 -52 -48 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -54 -23 --5 --28 --48 --64 --78 --88 --99 --106 --113 --102 --106 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -89 -82 -77 -70 -66 -60 -57 -22 --5 --29 --48 --65 --78 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -93 -85 -80 -72 -69 -63 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -106 -97 -91 -83 -79 -71 -67 -61 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -66 -60 -57 -51 -48 -16 --11 --34 --53 --69 --82 --94 --102 --111 --100 --107 --110 --127 --127 --127 --127 --46 -127 -127 -125 -109 -105 -96 -91 -83 -78 -71 -66 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --100 --107 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -83 -78 -70 -66 -60 -57 -51 -48 -44 -41 -37 -35 -31 -30 -27 -25 -22 -21 -18 -18 -16 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -91 -84 -79 -72 -67 -61 -57 -53 -50 -44 -42 -10 --15 --38 --56 --72 --85 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -58 -25 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --26 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -67 -61 -58 -23 --4 --28 --48 --65 --78 --90 --99 --108 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -93 -85 -80 -73 -68 -63 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -105 -97 -92 -83 -78 -71 -67 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -70 -67 -61 -57 -52 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -100 -95 -55 -23 --5 --27 --47 --63 --77 --88 --98 --105 --113 --102 --107 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -78 -70 -66 -60 -56 -22 --5 --29 --48 --66 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -85 -80 -72 -69 -62 -58 -53 -50 -16 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -105 -97 -91 -83 -78 -71 -66 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -83 -78 -71 -67 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -70 -67 -60 -56 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -96 -90 -83 -77 -70 -67 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -16 -15 -12 -12 --15 --37 --57 --72 --86 --97 --107 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -37 -33 -30 -28 -27 --3 --27 --48 --64 --79 --91 --101 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 -64 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -95 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --27 -127 -127 -127 -127 -122 -112 -106 -96 -91 -82 -78 -70 -67 -61 -57 -22 --5 --29 --48 --65 --79 --91 --100 --108 --99 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -112 -108 -99 -93 -85 -80 -73 -69 -62 -59 -53 -50 -17 --10 --33 --52 --69 --81 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -16 --10 --34 --52 --69 --81 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -66 -61 -57 -51 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -92 -84 -79 -72 -68 -62 -58 -52 -49 -45 -42 -9 --16 --38 --56 --72 --85 --96 --105 --113 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -98 -58 -26 --3 --25 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --27 -127 -127 -127 -127 -122 -113 -106 -97 -91 -83 -78 -71 -67 -60 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -93 -85 -80 -73 -68 -62 -59 -53 -50 -16 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -66 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -82 -78 -70 -66 -60 -57 -51 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 --16 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --61 -127 -127 -110 -95 -92 -84 -79 -72 -67 -62 -58 -52 -49 -45 -42 -10 --16 --38 --56 --72 --85 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --49 -127 -127 -123 -107 -102 -94 -88 -81 -76 -69 -64 -59 -56 -50 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 --109 -71 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -97 -58 -26 --3 --26 --46 --62 --76 --87 --97 --104 --112 --101 --106 --109 --112 --127 --26 -127 -127 -127 -127 -123 -113 -107 -97 -91 -83 -78 -71 -67 -61 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -93 -85 -80 -73 -69 -62 -59 -53 -51 -17 --9 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -105 -97 -91 -82 -79 -71 -66 -60 -57 -52 -49 -44 -41 -37 -35 -32 -29 -27 -25 -22 -21 -19 -17 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --107 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --64 --77 --88 --98 --106 --113 --101 --106 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -77 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -85 -79 -73 -69 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -67 -60 -56 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -82 -78 -70 -66 -61 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -66 -60 -57 -52 -48 -44 -42 -37 -35 -31 -29 -27 -26 -22 -21 -18 -18 -15 -15 -13 -12 --16 --37 --57 --72 --86 --97 --106 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --64 --77 --88 --98 --105 --113 --101 --107 --110 --127 --127 --29 -127 -127 -127 -127 -121 -112 -106 -95 -90 -82 -78 -70 -66 -60 -56 -51 -48 -43 -42 -37 -35 -31 -29 -26 -25 -22 -21 -18 -18 -15 -14 --13 --36 --55 --71 --85 --96 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -55 -23 --5 --27 --48 --63 --77 --88 --98 --106 --113 --101 --106 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -78 -70 -66 -60 -57 -23 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -84 -80 -73 -69 -62 -59 -53 -50 -16 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -42 -37 -35 -32 -30 -26 -25 -22 -21 -19 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --106 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -80 -73 -69 -62 -59 -54 -51 -46 -43 -39 -37 -33 -31 -28 -26 --3 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 -65 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -103 -96 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -122 -112 -105 -97 -91 -82 -78 -71 -67 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -93 -85 -80 -72 -68 -63 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -77 -71 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --81 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -67 -60 -57 -51 -48 -43 -42 -37 -34 -32 -30 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -37 -32 -31 -28 -26 --3 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --56 -127 -127 -116 -101 -97 -88 -83 -76 -71 -65 -61 -55 -52 -47 -45 -12 --14 --37 --55 --71 --83 --95 --104 --112 --101 --107 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -98 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -123 -114 -107 -97 -91 -83 -77 -71 -67 -61 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --104 --108 --127 --127 --127 --127 --43 -127 -127 -127 -112 -108 -99 -93 -85 -79 -73 -69 -62 -59 -53 -50 -17 --9 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -83 -78 -70 -67 -61 -56 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -82 -78 -71 -66 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -96 -91 -82 -78 -70 -66 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -83 -78 -70 -67 -60 -56 -52 -48 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -82 -78 -70 -67 -60 -56 -51 -49 -16 --10 --34 --52 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -82 -78 -71 -66 -60 -57 -51 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --48 -127 -127 -126 -109 -104 -97 -91 -83 -78 -71 -67 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -96 -91 -83 -78 -70 -66 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -71 -67 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -66 -60 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -90 -82 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -90 -83 -78 -70 -66 -60 -57 -51 -49 -43 -41 -37 -35 -31 -30 -26 -24 -22 -21 -18 -17 -15 -15 -12 -12 --16 --37 --57 --72 --86 --97 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -54 -23 --5 --28 --48 --63 --78 --88 --98 --106 --113 --101 --106 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -78 -70 -65 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -85 -79 -72 -68 -62 -59 -53 -50 -17 --9 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -66 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -70 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -16 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --63 --77 --88 --98 --106 --113 --101 --107 --110 --127 --127 --29 -127 -127 -127 -127 -121 -112 -105 -95 -90 -83 -77 -70 -66 -60 -56 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -93 -85 -80 -73 -68 -62 -59 -53 -51 -17 --10 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -67 -61 -57 -51 -49 -16 --10 --34 --52 --69 --81 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --48 -127 -127 -126 -109 -104 -97 -91 -83 -78 -71 -67 -61 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -66 -60 -57 -51 -49 -16 --11 --34 --53 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -67 -61 -57 -51 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -22 -18 -17 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --107 --97 --104 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -91 -84 -79 -72 -68 -61 -58 -52 -50 -44 -41 -10 --16 --38 --56 --72 --85 --96 --104 --113 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -98 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --27 -127 -127 -127 -127 -123 -113 -107 -97 -92 -83 -78 -71 -67 -60 -57 -23 --5 --29 --48 --65 --79 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -93 -84 -80 -73 -68 -62 -59 -53 -50 -17 --10 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -56 -52 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --63 --77 --88 --98 --105 --113 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -95 -89 -82 -78 -70 -65 -60 -57 -22 --5 --29 --48 --65 --78 --91 --100 --108 --98 --104 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -85 -80 -72 -69 -62 -58 -53 -50 -17 --9 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -110 -105 -97 -91 -83 -79 -71 -67 -61 -57 -51 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -82 -78 -71 -66 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -83 -78 -70 -66 -60 -57 -51 -48 -44 -42 -37 -35 -31 -30 -27 -25 -21 -21 -18 -17 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --106 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -94 -86 -81 -73 -69 -63 -60 -53 -51 -46 -43 -39 -36 -32 -31 -28 -26 --3 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 -65 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -96 -56 -25 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -122 -112 -105 -96 -91 -83 -78 -70 -66 -60 -56 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --108 --127 --127 --127 --127 --44 -127 -127 -127 -113 -108 -99 -93 -85 -79 -73 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -78 -70 -67 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -21 -19 -17 -15 -15 -12 -11 --16 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --61 -127 -127 -111 -95 -92 -84 -79 -72 -67 -62 -58 -52 -50 -45 -42 -10 --16 --38 --56 --72 --84 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -98 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -23 --5 --29 --48 --65 --78 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -113 -108 -100 -93 -85 -79 -73 -69 -62 -58 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -110 -106 -97 -91 -83 -78 -70 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -71 -66 -60 -57 -52 -48 -16 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -77 -70 -67 -60 -57 -51 -48 -44 -41 -37 -35 -32 -30 -26 -25 -22 -20 -19 -18 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -110 -95 -91 -84 -79 -72 -68 -62 -58 -52 -50 -45 -42 -10 --16 --38 --56 --72 --85 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --49 -127 -127 -123 -107 -102 -94 -88 -81 -76 -69 -65 -59 -56 -50 -47 -15 --12 --35 --53 --70 --83 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 --109 -72 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -58 -26 --2 --25 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -113 -108 -100 -93 -85 -80 -72 -69 -62 -59 -53 -50 -17 --9 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -106 -97 -91 -83 -79 -71 -66 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -27 -25 -22 -22 -19 -18 -15 -14 -13 -12 --15 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --63 --77 --88 --98 --105 --113 --102 --107 --109 --127 --127 --28 -127 -127 -127 -126 -121 -112 -105 -95 -91 -82 -77 -71 -67 -60 -56 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -93 -84 -80 -72 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -110 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -83 -78 -70 -67 -61 -56 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -66 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --48 -127 -127 -126 -109 -104 -97 -91 -81 -78 -71 -67 -60 -57 -52 -49 -44 -41 -37 -35 -31 -29 -27 -25 -22 -21 -19 -18 -15 -15 -13 -12 --16 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --27 --48 --63 --77 --88 --98 --106 --113 --101 --107 --110 --127 --127 --29 -127 -127 -127 -127 -120 -112 -105 -96 -90 -82 -78 -70 -66 -60 -56 -51 -48 -43 -41 -37 -35 -31 -30 -26 -25 -22 -21 -18 -17 -15 -14 --14 --36 --56 --71 --85 --96 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -95 -55 -24 --5 --27 --47 --63 --77 --88 --98 --105 --113 --102 --107 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -91 -82 -78 -70 -67 -60 -56 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -100 -93 -84 -80 -73 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -22 -18 -18 -16 -15 -13 -12 --16 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -74 -69 -63 -59 -54 -50 -45 -43 -39 -37 -32 -31 -28 -27 --3 --27 --48 --65 --79 --91 --101 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 -64 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -96 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -122 -112 -105 -96 -91 -83 -77 -70 -67 -61 -57 -23 --5 --29 --48 --65 --79 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -85 -81 -73 -68 -62 -59 -53 -50 -17 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -110 -105 -96 -91 -83 -78 -70 -67 -61 -57 -51 -49 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -19 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --107 --97 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -73 -70 -63 -59 -53 -51 -46 -43 -38 -36 -33 -31 -28 -25 --4 --27 --48 --65 --80 --91 --101 --109 --101 --106 --111 --127 --127 --127 --127 --127 --56 -127 -127 -117 -101 -96 -89 -84 -77 -71 -65 -61 -56 -53 -47 -45 -12 --14 --36 --55 --71 --83 --95 --104 --112 --101 --107 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 -71 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -98 -58 -26 --3 --25 --45 --62 --76 --87 --97 --104 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -122 -113 -106 -97 -91 -83 -79 -71 -67 -61 -57 -23 --5 --29 --48 --65 --78 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -100 -94 -86 -79 -73 -69 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -106 -97 -91 -83 -78 -70 -67 -61 -57 -51 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -66 -61 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -83 -78 -70 -67 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -77 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -66 -61 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --48 -127 -127 -126 -109 -104 -97 -91 -82 -78 -71 -66 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -77 -71 -67 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -70 -67 -60 -56 -51 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -82 -78 -70 -66 -61 -57 -51 -48 -16 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -83 -78 -71 -67 -61 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -67 -61 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -67 -61 -57 -52 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -94 -54 -23 --6 --28 --48 --63 --77 --88 --98 --106 --113 --102 --107 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -78 -71 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -113 -108 -99 -93 -85 -80 -72 -68 -62 -58 -53 -50 -17 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -104 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -82 -78 -70 -67 -60 -56 -51 -49 -44 -41 -37 -35 -32 -30 -26 -25 -22 -21 -18 -18 -15 -14 -13 -12 --15 --37 --57 --72 --86 --97 --106 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -93 -54 -22 --6 --28 --48 --64 --78 --88 --98 --106 --113 --102 --106 --110 --127 --127 --28 -127 -127 -127 -127 -122 -112 -105 -96 -90 -83 -78 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -85 -80 -72 -69 -62 -58 -53 -50 -17 --9 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -66 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -71 -66 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -66 -60 -57 -51 -49 -43 -41 -37 -35 -31 -30 -26 -24 -22 -21 -18 -17 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --104 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -91 -84 -79 -72 -68 -62 -58 -52 -50 -45 -42 -10 --16 --38 --56 --72 --85 --96 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -98 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --27 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -72 -67 -61 -57 -23 --4 --28 --48 --65 --78 --91 --100 --109 --99 --105 --108 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -93 -85 -80 -72 -69 -62 -59 -52 -50 -17 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -110 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --110 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -90 -83 -78 -70 -66 -60 -57 -52 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -14 -12 -12 --15 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -55 -23 --5 --27 --48 --63 --77 --88 --98 --106 --113 --102 --106 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -78 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -93 -85 -80 -72 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -67 -60 -56 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -90 -83 -78 -70 -66 -61 -57 -51 -48 -44 -41 -37 -35 -31 -30 -26 -25 -22 -22 -19 -17 -15 -14 -12 -12 --15 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -85 -81 -74 -69 -63 -59 -53 -51 -46 -43 -38 -37 -33 -31 -28 -26 --3 --27 --48 --65 --80 --91 --101 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 -65 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -101 -96 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -106 -96 -91 -82 -78 -71 -67 -60 -57 -22 --4 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -93 -85 -80 -73 -69 -62 -57 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -82 -78 -71 -66 -60 -57 -52 -49 -44 -41 -37 -35 -31 -29 -26 -25 -22 -22 -18 -17 -15 -15 -12 -12 --16 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -92 -84 -79 -72 -67 -62 -58 -52 -50 -44 -42 -10 --16 --38 --56 --72 --84 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -98 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -122 -114 -106 -97 -91 -83 -78 -71 -67 -61 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --105 --108 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -93 -85 -80 -73 -68 -62 -59 -53 -50 -16 --10 --33 --52 --69 --81 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -82 -78 -71 -67 -60 -57 -52 -49 -44 -41 -36 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -15 -13 -11 --16 --38 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --61 -127 -127 -111 -95 -92 -84 -79 -72 -68 -61 -58 -52 -50 -45 -42 -10 --15 --38 --56 --72 --84 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --49 -127 -127 -123 -106 -102 -94 -88 -81 -76 -69 -65 -59 -56 -50 -47 -15 --11 --35 --53 --70 --82 --94 --103 --111 --101 --107 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 --109 -72 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --26 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -79 -72 -67 -61 -57 -23 --4 --28 --48 --65 --78 --91 --99 --108 --98 --105 --108 --127 --127 --127 --127 --43 -127 -127 -127 -112 -108 -99 -93 -86 -81 -72 -69 -63 -59 -52 -50 -17 --9 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -66 -61 -57 -52 -49 -44 -42 -38 -36 -31 -29 -27 -25 -22 -21 -18 -17 -15 -15 -13 -11 --16 --38 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --64 --78 --88 --98 --106 --113 --101 --107 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -91 -82 -77 -70 -66 -60 -57 -23 --5 --29 --48 --65 --78 --91 --100 --109 --98 --104 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -84 -80 -73 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -110 -106 -97 -91 -83 -78 -71 -67 -60 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -90 -82 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -66 -61 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -83 -78 -70 -66 -61 -57 -51 -48 -44 -42 -37 -35 -31 -30 -26 -25 -22 -20 -19 -18 -15 -14 -13 -12 --15 --37 --57 --72 --86 --97 --106 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --63 --78 --88 --98 --105 --112 --102 --107 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -77 -70 -66 -60 -57 -52 -48 -43 -41 -37 -34 -31 -29 -26 -25 -22 -21 -18 -18 -15 -14 --13 --36 --56 --71 --85 --96 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -55 -23 --5 --27 --48 --64 --77 --88 --98 --106 --113 --101 --106 --110 --127 --127 --28 -127 -127 -127 -127 -122 -112 -105 -96 -90 -82 -77 -70 -67 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --108 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -85 -80 -73 -69 -62 -59 -53 -50 -16 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -105 -97 -92 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -38 -35 -31 -30 -27 -25 -22 -21 -19 -18 -15 -14 -13 -13 --15 --37 --57 --72 --86 --97 --106 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -73 -69 -63 -59 -54 -50 -45 -43 -39 -36 -32 -31 -28 -26 --4 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 -65 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -96 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -122 -113 -106 -96 -91 -82 -78 -70 -66 -60 -57 -23 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -84 -80 -73 -68 -62 -59 -53 -50 -16 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -110 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --100 --107 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -97 -91 -83 -78 -70 -67 -61 -56 -51 -49 -44 -42 -37 -35 -31 -30 -26 -25 -22 -21 -18 -18 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -93 -86 -81 -74 -69 -63 -60 -54 -51 -45 -43 -39 -36 -32 -31 -28 -26 --4 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --55 -127 -127 -116 -101 -96 -88 -84 -76 -71 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --71 --84 --95 --104 --112 --101 --107 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 -71 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -99 -59 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -123 -113 -106 -97 -91 -83 -78 -70 -67 -61 -57 -23 --5 --29 --48 --65 --78 --91 --100 --108 --98 --105 --108 --127 --127 --127 --127 --43 -127 -127 -127 -112 -108 -99 -93 -85 -80 -73 -69 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -106 -97 -90 -83 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -82 -78 -70 -67 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -67 -60 -57 -52 -49 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -90 -83 -78 -71 -67 -60 -56 -52 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -70 -67 -61 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -66 -60 -56 -51 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -77 -70 -67 -61 -56 -51 -49 -16 --11 --34 --52 --69 --82 --93 --102 --111 --100 --107 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -97 -90 -83 -78 -71 -66 -61 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -82 -78 -71 -66 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -82 -78 -71 -66 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -70 -67 -61 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -70 -66 -60 -57 -51 -48 -43 -41 -38 -35 -31 -30 -26 -25 -22 -21 -19 -17 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --63 --77 --88 --98 --105 --113 --102 --107 --110 --127 --127 --29 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -77 -70 -65 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -112 -107 -99 -93 -85 -80 -72 -68 -62 -59 -53 -50 -17 --9 --33 --52 --68 --81 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -66 -61 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -66 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -82 -78 -70 -67 -60 -57 -52 -49 -43 -41 -37 -35 -31 -29 -26 -25 -22 -21 -19 -18 -15 -14 -13 -12 --15 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -55 -23 --5 --28 --48 --63 --77 --88 --98 --106 --113 --101 --106 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -78 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -85 -80 -72 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -106 -97 -91 -83 -78 -71 -67 -61 -57 -51 -49 -16 --10 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -82 -78 -71 -67 -60 -57 -51 -48 -16 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -70 -67 -61 -56 -52 -49 -16 --11 --34 --52 --69 --82 --93 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -70 -66 -61 -57 -51 -48 -43 -41 -37 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 -14 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -91 -84 -79 -72 -68 -61 -58 -52 -49 -45 -42 -10 --16 --38 --56 --72 --85 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -98 -58 -26 --3 --25 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --127 --127 --27 -127 -127 -127 -127 -123 -114 -106 -97 -91 -83 -78 -71 -67 -60 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -93 -85 -80 -73 -69 -62 -59 -53 -50 -16 --10 --33 --52 --69 --82 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -110 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -83 -78 -70 -67 -61 -57 -51 -49 -44 -41 -37 -35 -31 -30 -26 -25 -22 -21 -19 -17 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --107 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -93 -54 -23 --6 --28 --48 --64 --78 --88 --98 --106 --113 --101 --107 --110 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -77 -70 -66 -61 -57 -22 --5 --29 --48 --65 --79 --91 --100 --109 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -85 -80 -72 -69 -63 -59 -52 -50 -17 --9 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -66 -61 -57 -52 -49 -16 --10 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -77 -70 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --82 --93 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -104 -96 -91 -83 -77 -70 -67 -60 -57 -52 -49 -16 --11 --34 --53 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -66 -60 -57 -51 -49 -44 -41 -37 -36 -31 -29 -26 -25 -22 -21 -18 -17 -15 -15 -12 -12 --16 --37 --57 --72 --86 --97 --107 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -82 -73 -69 -63 -60 -53 -51 -45 -43 -39 -36 -33 -31 -28 -26 --3 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 -65 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -96 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -106 -96 -91 -83 -78 -70 -66 -60 -57 -22 --5 --29 --48 --65 --79 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -112 -108 -99 -93 -85 -79 -73 -69 -62 -58 -53 -50 -17 --9 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -67 -61 -56 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -82 -78 -71 -67 -61 -57 -51 -49 -44 -42 -36 -35 -31 -29 -26 -25 -22 -21 -19 -17 -15 -15 -13 -12 --16 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -91 -84 -79 -72 -68 -62 -58 -52 -50 -45 -42 -10 --16 --38 --56 --72 --84 --96 --104 --113 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --102 --111 -70 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -98 -58 -26 --3 --26 --46 --62 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -122 -113 -106 -97 -91 -83 -79 -72 -67 -61 -57 -23 --5 --29 --48 --65 --78 --91 --100 --108 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -113 -108 -100 -94 -85 -79 -73 -69 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -106 -97 -91 -83 -78 -71 -67 -60 -56 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -90 -83 -78 -70 -67 -60 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -66 -60 -57 -51 -48 -44 -42 -37 -35 -31 -29 -26 -25 -22 -20 -18 -18 -15 -15 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -91 -84 -79 -72 -68 -61 -58 -52 -49 -45 -42 -10 --16 --38 --56 --72 --84 --96 --104 --112 --102 --108 --111 --127 --127 --127 --127 --49 -127 -127 -123 -107 -103 -94 -88 -80 -76 -69 -64 -59 -56 -50 -47 -14 --12 --35 --53 --70 --83 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 --109 -72 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -59 -26 --2 --25 --45 --61 --76 --87 --97 --105 --112 --101 --106 --109 --112 --127 --26 -127 -127 -127 -127 -123 -113 -107 -97 -92 -83 -78 -71 -67 -61 -57 -23 --5 --29 --48 --65 --79 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -109 -100 -93 -85 -80 -73 -68 -62 -59 -53 -51 -17 --9 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -48 -44 -41 -37 -35 -31 -30 -27 -25 -22 -21 -19 -18 -14 -15 -13 -12 --16 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -55 -23 --5 --27 --47 --63 --77 --88 --98 --106 --113 --101 --107 --110 --127 --127 --28 -127 -127 -127 -126 -121 -112 -105 -96 -90 -82 -78 -70 -66 -60 -57 -23 --5 --29 --48 --65 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -99 -93 -84 -80 -73 -68 -61 -59 -53 -50 -17 --10 --33 --52 --69 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -91 -83 -78 -71 -66 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -82 -78 -71 -66 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -90 -83 -77 -71 -67 -60 -57 -52 -48 -44 -42 -37 -34 -31 -30 -26 -25 -22 -21 -19 -18 -15 -14 -13 -12 --15 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -55 -23 --5 --27 --47 --63 --77 --88 --98 --106 --113 --102 --107 --109 --127 --127 --29 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -77 -70 -66 -60 -56 -51 -48 -44 -41 -37 -35 -31 -29 -25 -25 -22 -20 -18 -17 -15 -14 --14 --36 --55 --71 --85 --96 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -55 -23 --5 --27 --47 --63 --77 --88 --98 --105 --113 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -78 -70 -65 -59 -57 -23 --5 --29 --48 --65 --79 --91 --100 --108 --99 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -113 -108 -99 -93 -84 -80 -72 -68 -62 -59 -53 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -110 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -43 -42 -37 -35 -31 -30 -26 -25 -23 -22 -18 -18 -15 -14 -13 -12 --16 --37 --57 --72 --86 --97 --107 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -36 -33 -31 -28 -26 --3 --27 --48 --65 --79 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 -64 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -102 -96 -56 -24 --4 --27 --47 --63 --77 --88 --98 --105 --112 --101 --106 --109 --127 --127 --28 -127 -127 -127 -127 -122 -112 -105 -96 -91 -83 -78 -71 -67 -60 -57 -23 --4 --29 --48 --65 --78 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -84 -80 -72 -68 -62 -59 -53 -50 -16 --10 --33 --52 --68 --82 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -127 -110 -105 -97 -91 -83 -78 -71 -67 -60 -57 -52 -48 -16 --11 --34 --53 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -109 -106 -97 -90 -83 -78 -70 -67 -60 -57 -52 -49 -44 -41 -37 -35 -31 -30 -26 -24 -22 -22 -19 -18 -15 -14 -12 -12 --15 --37 --57 --72 --86 --97 --106 --98 --105 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -81 -73 -69 -63 -59 -53 -51 -45 -43 -38 -37 -33 -31 -28 -25 --4 --27 --48 --65 --80 --91 --102 --109 --101 --106 --111 --127 --127 --127 --127 --127 --56 -127 -127 -116 -101 -97 -89 -83 -76 -72 -65 -62 -55 -52 -47 -45 -13 --13 --36 --54 --71 --83 --95 --104 --112 --101 --107 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 -71 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -99 -59 -26 --2 --25 --45 --62 --76 --87 --97 --104 --112 --101 --106 --109 --112 --127 --27 -127 -127 -127 -127 -122 -114 -106 -96 -91 -83 -79 -71 -67 -61 -57 -23 --5 --29 --48 --65 --78 --91 --100 --108 --98 --104 --109 --127 --127 --127 --127 --43 -127 -127 -127 -113 -108 -99 -94 -85 -79 -73 -69 -62 -59 -53 -50 -17 --9 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -106 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -78 -71 -65 -61 -57 -52 -49 -15 --11 --34 --53 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -70 -67 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -82 -77 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -90 -82 -78 -71 -66 -60 -57 -51 -49 -16 --11 --34 --53 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -78 -71 -66 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -71 -66 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -71 -66 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -97 -90 -82 -78 -71 -66 -60 -57 -51 -49 -16 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -104 -97 -91 -83 -78 -70 -67 -61 -57 -51 -48 -15 --11 --34 --53 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -83 -77 -71 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -104 -96 -91 -82 -78 -71 -67 -60 -57 -51 -49 -43 -41 -37 -35 -31 -29 -27 -25 -22 -21 -19 -17 -15 -15 -12 -12 --16 --37 --57 --72 --86 --97 --107 --98 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -94 -55 -23 --5 --28 --48 --63 --77 --88 --98 --106 --113 --102 --107 --110 --127 --127 --28 -127 -127 -127 -127 -121 -111 -106 -96 -90 -82 -78 -71 -66 -60 -56 -22 --5 --29 --48 --66 --79 --91 --100 --109 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -108 -100 -93 -85 -80 -73 -68 -62 -59 -52 -50 -17 --10 --33 --52 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -127 -109 -105 -97 -91 -82 -78 -71 -67 -60 -57 -52 -49 -16 --10 --34 --52 --69 --82 --94 --102 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -77 -71 -67 -60 -57 -52 -49 -16 --11 --34 --52 --69 --82 --94 --103 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -70 -67 -60 -57 -51 -49 -44 -42 -37 -35 -32 -30 -26 -25 -22 -21 -18 -18 -15 -15 -13 -12 --15 --37 --57 --72 --86 --97 --107 --97 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -93 -54 -23 --6 --28 --48 --64 --78 --88 --98 --106 --113 --101 --107 --109 --127 --127 --28 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -77 -70 -66 -61 -57 -23 --5 --29 --48 --65 --79 --91 --100 --108 --98 --105 --109 --127 --127 --127 --127 --44 -127 -127 -127 -112 -107 -99 -93 -85 -80 -72 -69 -62 -58 -53 -50 -17 --10 --33 --51 --68 --81 --93 --102 --110 --100 --106 --110 --127 --127 --127 --127 --46 -127 -127 -126 -110 -105 -97 -91 -83 -78 -71 -67 -61 -57 -52 -48 -15 --11 --34 --52 --69 --82 --94 --102 --111 --101 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -96 -91 -83 -78 -70 -67 -60 -57 -52 -48 -15 --11 --34 --53 --69 --82 --94 --102 --111 --101 --107 --110 --127 --127 --127 --127 --47 -127 -127 -125 -109 -105 -96 -91 -83 -78 -71 -67 -60 -57 -52 -48 -16 --11 --34 --52 --69 --82 --94 --103 --111 --100 --106 --110 --127 --127 --127 --127 --47 -127 -127 -126 -109 -105 -97 -91 -82 -77 -70 -67 -61 -56 -51 -49 -44 -42 -37 -35 -31 -30 -26 -24 -22 -21 -18 -18 -15 -14 -13 -12 --15 --37 --57 --72 --86 --96 --106 --97 --104 --109 --127 --127 --127 --127 --127 --127 --62 -127 -127 -111 -95 -91 -84 -79 -72 -67 -62 -58 -52 -50 -45 -42 -10 --16 --39 --56 --72 --85 --96 --105 --113 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 diff --git a/traces/modulation-ask-man-40.pm3 b/traces/modulation-ask-man-40.pm3 deleted file mode 100644 index 8fdb2e6c2..000000000 --- a/traces/modulation-ask-man-40.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -77 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -120 -114 -104 -98 -89 -84 -76 -72 -65 -61 -55 -53 -47 -44 -12 --15 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -88 -84 -77 -72 -65 -61 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -85 -77 -72 -65 -61 -55 -53 -47 -44 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -90 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -103 -98 -90 -84 -76 -72 -65 -61 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -98 -89 -84 -77 -72 -65 -61 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -77 -72 -66 -61 -55 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -71 -65 -61 -55 -53 -47 -45 -40 -38 -34 -32 -29 -27 -24 -24 -20 -19 -17 -16 -13 -13 -11 -11 -8 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -86 -82 -44 -13 --14 --36 --55 --70 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -61 -58 -52 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -66 -63 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -88 -84 -77 -72 -65 -62 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -72 -65 -62 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -66 -61 -56 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -14 -14 -11 -10 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -96 -87 -82 -44 -13 --14 --35 --55 --70 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -91 -84 -79 -72 -67 -61 -57 -53 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -89 -85 -77 -73 -66 -62 -56 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --19 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -84 -76 -72 -65 -62 -56 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -10 -9 -6 -7 --20 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -123 -118 -109 -102 -94 -88 -80 -75 -69 -64 -58 -56 -50 -47 -42 -40 -8 --18 --40 --58 --74 --87 --98 --106 --99 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --91 --84 --79 --73 --69 --64 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -45 -14 --13 --35 --54 --69 --83 --93 --103 --110 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -93 -84 -79 -72 -68 -61 -58 -53 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -106 -99 -91 -85 -77 -73 -66 -61 -56 -53 -48 -46 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -83 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -47 -45 -40 -37 -34 -33 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -8 -7 -7 --20 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -81 -43 -13 --14 --36 --55 --70 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -93 -84 -79 -72 -68 -61 -58 -52 -49 -16 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -13 --13 --37 --55 --72 --84 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -62 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -77 -72 -65 -62 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -71 -65 -62 -56 -53 -47 -45 -40 -38 -34 -31 -29 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --100 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -101 -95 -87 -82 -75 -70 -63 -60 -54 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -20 -19 -16 -16 --13 --35 --55 --71 --85 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --111 --103 --97 --91 --85 --79 --75 --69 -111 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -96 -88 -83 -44 -14 --14 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -71 -68 -62 -57 -53 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -72 -66 -63 -57 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -66 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -40 -38 -33 -32 -28 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -10 -9 -9 -6 -6 --20 --42 --61 --76 --90 --100 --110 --100 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -124 -118 -109 -102 -93 -88 -80 -75 -68 -65 -59 -55 -50 -47 -42 -40 -8 --17 --40 --58 --74 --87 --98 --106 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 -116 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -114 -104 -97 -89 -84 -45 -15 --13 --34 --54 --69 --82 --93 --103 --110 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -93 -84 -79 -72 -68 -62 -58 -52 -50 -16 --10 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -90 -84 -77 -72 -65 -61 -55 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -77 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -7 --20 --42 --61 --76 --89 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -123 -118 -109 -102 -94 -88 -80 -75 -69 -65 -58 -55 -50 -47 -42 -40 -8 --18 --40 --58 --74 --87 --98 --107 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --20 -127 -127 -127 -127 -127 -120 -112 -103 -96 -87 -83 -75 -71 -64 -61 -55 -52 -47 -44 -11 --15 --37 --56 --72 --85 --97 --105 --114 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --107 --102 --95 --89 --83 --78 --72 --68 --63 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -103 -97 -89 -84 -45 -15 --13 --34 --54 --69 --82 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -92 -84 -79 -72 -67 -61 -58 -53 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -104 -99 -90 -84 -77 -73 -66 -62 -56 -53 -48 -46 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -47 -45 -40 -37 -34 -32 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -10 -11 -9 -9 -7 -7 --20 --41 --61 --76 --90 --100 --110 --100 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -44 -13 --14 --36 --55 --69 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -61 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -66 -62 -57 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -77 -73 -66 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -88 -84 -77 -72 -65 -61 -56 -52 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -88 -84 -77 -72 -66 -61 -55 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -14 -13 -12 -11 -9 -8 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --100 --93 --88 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -96 -88 -82 -44 -13 --14 --35 --55 --69 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -67 -62 -58 -52 -49 -45 -42 -38 -36 -31 -30 -27 -26 -22 -21 -19 -17 -16 -15 -13 -12 -10 -10 -8 -8 --19 --41 --60 --75 --89 --100 --109 --100 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --102 --113 --105 --99 --92 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -44 -13 --14 --35 --55 --70 --83 --93 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -61 -58 -53 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -97 -90 -85 -77 -72 -66 -62 -56 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -14 -14 -11 -10 -9 -9 -6 -7 --20 --42 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --99 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -75 -70 -64 -60 -54 -51 -46 -43 -39 -37 -33 -31 -28 -27 -23 -22 -20 -19 -16 -15 --13 --35 --56 --71 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --111 --103 --97 --90 --85 --79 --74 --69 -112 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -102 -96 -88 -82 -44 -14 --14 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -92 -84 -79 -72 -67 -61 -58 -52 -48 -15 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -122 -116 -106 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -90 -84 -76 -72 -66 -61 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --19 -127 -127 -127 -127 -127 -122 -114 -103 -97 -89 -83 -77 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -28 -28 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -8 -7 -7 --19 --41 --61 --76 --89 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -74 -70 -64 -60 -54 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -20 -19 -16 -16 --12 --35 --55 --71 --85 --96 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --30 -127 -127 -127 -127 -121 -112 -106 -96 -89 -82 -78 -70 -66 -60 -56 -51 -49 -43 -41 -9 --17 --40 --58 --74 --86 --98 --106 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --100 --109 --102 --96 --90 --83 --79 --73 --69 --64 -116 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -45 -15 --13 --35 --54 --69 --82 --93 --103 --110 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -108 -98 -92 -84 -79 -72 -68 -62 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -56 -53 -48 -46 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -72 -65 -62 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -71 -65 -62 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -72 -65 -61 -56 -53 -47 -44 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -66 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -103 -97 -89 -84 -76 -72 -65 -62 -56 -53 -47 -45 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -71 -65 -61 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --19 -127 -127 -127 -127 -127 -121 -114 -104 -96 -89 -84 -76 -72 -65 -61 -56 -53 -48 -44 -12 --14 --37 --56 --72 --85 --97 --105 --114 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -62 -55 -53 -48 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --19 -127 -127 -127 -127 -127 -121 -114 -104 -96 -89 -84 -77 -72 -65 -61 -56 -53 -47 -44 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -20 -17 -15 -13 -14 -12 -11 -9 -8 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --99 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -44 -13 --14 --35 --55 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -106 -97 -92 -84 -79 -72 -67 -61 -58 -52 -49 -15 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -115 -104 -98 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -115 -104 -98 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -77 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -28 -28 -24 -23 -20 -19 -17 -16 -13 -13 -11 -11 -9 -8 -7 -7 --19 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --87 --81 --77 --71 -110 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -81 -43 -13 --14 --36 --55 --70 --84 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -61 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -85 -77 -73 -66 -62 -56 -53 -48 -46 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -66 -62 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -77 -72 -65 -62 -56 -52 -47 -44 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -71 -65 -62 -55 -52 -47 -45 -40 -38 -33 -32 -29 -27 -24 -23 -20 -19 -17 -15 -14 -13 -11 -11 -8 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -124 -118 -109 -103 -94 -88 -80 -76 -69 -64 -59 -55 -50 -47 -42 -40 -8 --18 --40 --58 --75 --87 --98 --107 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 --108 --102 --96 --90 --84 --79 --73 --69 --64 -116 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -45 -15 --13 --34 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -62 -58 -53 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -71 -65 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -47 -45 -41 -38 -33 -32 -29 -27 -24 -23 -20 -19 -17 -16 -13 -13 -11 -11 -8 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -44 -13 --14 --35 --54 --69 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -97 -92 -84 -79 -72 -67 -62 -57 -52 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -65 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -71 -66 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -55 -53 -48 -45 -12 --14 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -115 -104 -97 -90 -84 -76 -72 -65 -61 -56 -53 -48 -44 -12 --14 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -90 -84 -77 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -28 -27 -24 -23 -20 -19 -16 -16 -14 -14 -11 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -86 -82 -75 -70 -64 -60 -54 -51 -46 -43 -39 -37 -33 -31 -28 -27 -23 -22 -20 -18 -16 -15 --13 --35 --56 --71 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 -112 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -101 -96 -88 -82 -44 -13 --14 --36 --55 --69 --83 --94 --103 --110 --101 --105 --111 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -92 -84 -79 -72 -68 -61 -58 -52 -49 -16 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -85 -77 -73 -66 -62 -56 -53 -48 -46 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -76 -72 -66 -61 -55 -52 -48 -45 -40 -37 -34 -32 -28 -27 -24 -23 -20 -19 -16 -16 -14 -13 -10 -11 -9 -9 -7 -7 --20 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -124 -118 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -49 -47 -42 -40 -8 --18 --40 --58 --74 --87 --98 --106 --99 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 -116 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -45 -14 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -92 -84 -79 -72 -68 -62 -58 -52 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -104 -99 -90 -85 -77 -74 -66 -62 -57 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -98 -89 -84 -76 -72 -65 -62 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -71 -66 -61 -56 -53 -47 -45 -40 -38 -34 -32 -29 -27 -23 -23 -20 -19 -16 -16 -14 -13 -11 -10 -9 -9 -7 -6 --21 --42 --61 --77 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -124 -118 -109 -103 -94 -88 -80 -75 -69 -65 -59 -55 -49 -47 -42 -40 -8 --18 --40 --58 --75 --87 --98 --107 --99 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --20 -127 -127 -127 -127 -127 -120 -113 -103 -96 -88 -83 -76 -71 -65 -61 -55 -52 -46 -45 -12 --14 --38 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --105 --99 --107 --101 --94 --89 --83 --78 --72 --68 --64 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -45 -15 --13 --34 --54 --69 --82 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -92 -84 -79 -71 -68 -62 -58 -53 -50 -16 --10 --34 --53 --70 --83 --95 --103 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -72 -66 -62 -56 -54 -48 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -6 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --92 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -96 -86 -82 -44 -13 --14 --35 --55 --70 --83 --93 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -91 -84 -79 -71 -68 -61 -57 -52 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -72 -65 -63 -56 -53 -48 -46 -13 --13 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -84 -76 -71 -65 -62 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -44 -11 --15 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -77 -72 -65 -61 -55 -53 -48 -44 -11 --14 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -90 -84 -76 -72 -65 -61 -56 -53 -46 -45 -40 -38 -34 -32 -28 -27 -25 -23 -19 -19 -16 -15 -14 -13 -11 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -44 -13 --14 --35 --55 --70 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -97 -93 -84 -79 -72 -68 -62 -58 -52 -49 -44 -42 -38 -35 -32 -31 -27 -26 -23 -21 -19 -18 -15 -14 -13 -12 -10 -10 -8 -8 --19 --41 --60 --75 --89 --99 --109 --100 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --102 --113 --105 --99 --92 --87 --81 --76 --70 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -44 -13 --14 --35 --54 --69 --83 --93 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -67 -61 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -40 -38 -34 -32 -29 -28 -24 -23 -20 -19 -17 -15 -14 -13 -10 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 -110 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -74 -70 -64 -60 -54 -51 -45 -44 -39 -37 -33 -31 -28 -26 -24 -22 -19 -19 -16 -15 --13 --36 --56 --72 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 -112 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -96 -88 -82 -44 -14 --14 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -91 -84 -79 -72 -68 -61 -58 -52 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -63 -56 -53 -48 -46 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -55 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -13 -13 -12 -11 -8 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --112 --105 --99 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -96 -87 -82 -75 -70 -63 -60 -54 -51 -46 -44 -39 -37 -33 -31 -28 -27 -24 -22 -19 -19 -16 -15 --13 --35 --56 --71 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --29 -127 -127 -127 -127 -121 -112 -105 -95 -91 -82 -77 -70 -67 -61 -57 -51 -48 -43 -42 -9 --17 --40 --58 --74 --86 --98 --106 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --108 --102 --95 --90 --83 --79 --73 --69 --64 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -114 -104 -97 -89 -84 -45 -15 --13 --34 --54 --69 --82 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -92 -84 -79 -72 -68 -61 -58 -53 -50 -16 --10 --34 --53 --70 --83 --95 --103 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -90 -84 -77 -72 -65 -61 -56 -53 -47 -44 -12 --15 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -115 -104 -97 -90 -84 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -62 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -44 -11 --15 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -73 -65 -61 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -90 -84 -76 -72 -65 -61 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -103 -97 -89 -83 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -88 -84 -77 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -55 -53 -47 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -6 --21 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --87 --81 --76 --71 -110 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -101 -95 -87 -81 -43 -13 --14 --36 --55 --70 --83 --94 --104 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -83 -79 -72 -67 -61 -58 -53 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -57 -54 -48 -46 -13 --13 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -40 -38 -34 -32 -28 -26 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -44 -13 --14 --35 --54 --69 --83 --93 --103 --110 --101 --106 --111 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -97 -92 -84 -79 -71 -68 -61 -57 -52 -50 -16 --11 --34 --53 --70 --83 --95 --103 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -65 -62 -56 -53 -48 -45 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -84 -76 -72 -65 -61 -55 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -55 -53 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -62 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -41 -38 -34 -32 -29 -27 -24 -23 -20 -20 -16 -15 -14 -14 -11 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -123 -118 -109 -102 -94 -88 -80 -75 -69 -64 -59 -56 -50 -47 -42 -40 -8 --18 --40 --58 --74 --87 --98 --106 --99 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -103 -97 -89 -84 -45 -14 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -93 -84 -79 -72 -68 -61 -58 -53 -49 -15 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -85 -77 -73 -66 -62 -56 -53 -48 -46 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -90 -84 -77 -73 -65 -61 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -28 -28 -25 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 --20 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --100 --93 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -101 -95 -87 -82 -44 -13 --14 --36 --55 --70 --83 --94 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -106 -98 -92 -84 -79 -72 -68 -61 -58 -53 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -66 -61 -56 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -90 -84 -76 -72 -66 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -98 -89 -83 -76 -72 -65 -62 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -76 -72 -65 -62 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -83 -76 -72 -65 -62 -56 -52 -47 -45 -40 -38 -34 -32 -29 -28 -24 -23 -20 -19 -16 -16 -14 -12 -11 -11 -9 -9 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --112 --105 --100 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -83 -75 -70 -63 -60 -54 -51 -46 -44 -39 -37 -33 -31 -28 -27 -24 -22 -20 -19 -16 -15 --13 --35 --56 --71 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --75 --69 -111 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -112 -102 -96 -87 -83 -45 -14 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -72 -68 -62 -57 -52 -50 -16 --10 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -65 -62 -57 -52 -48 -46 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -77 -72 -65 -61 -55 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -72 -65 -61 -56 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -13 -13 -12 -10 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -124 -118 -109 -103 -94 -88 -80 -76 -68 -65 -58 -55 -50 -47 -42 -40 -8 --18 --40 --58 --74 --87 --98 --107 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 -116 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -114 -104 -97 -89 -84 -45 -15 --13 --34 --54 --69 --82 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -84 -79 -72 -68 -62 -58 -52 -50 -16 --10 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -72 -66 -62 -56 -54 -48 -45 -12 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -115 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -15 -14 -13 -11 -11 -9 -9 -7 -7 --20 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -123 -118 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -8 --17 --40 --58 --74 --86 --98 --106 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --20 -127 -127 -127 -127 -127 -120 -113 -102 -96 -88 -83 -75 -71 -64 -61 -55 -51 -47 -45 -12 --14 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --101 --95 --90 --83 --78 --72 --68 --63 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -103 -97 -89 -83 -45 -14 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -108 -99 -93 -84 -80 -73 -68 -62 -58 -52 -50 -16 --10 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -85 -77 -73 -66 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -40 -38 -34 -32 -28 -28 -25 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 --20 --41 --60 --76 --89 --100 --110 --100 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -86 -82 -43 -13 --14 --36 --55 --70 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -62 -58 -52 -49 -15 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -85 -77 -73 -66 -62 -56 -53 -48 -46 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -77 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -77 -71 -65 -62 -56 -52 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -72 -65 -61 -56 -52 -48 -45 -40 -38 -34 -32 -28 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --100 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -44 -14 --14 --35 --55 --69 --83 --94 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -97 -92 -84 -79 -71 -67 -62 -58 -52 -49 -45 -42 -37 -36 -32 -30 -27 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 --19 --41 --60 --75 --89 --100 --109 --100 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --112 --105 --100 --93 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -44 -14 --14 --35 --54 --69 --83 --93 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -83 -79 -72 -67 -61 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -72 -66 -62 -56 -54 -48 -45 -12 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -44 -40 -39 -34 -32 -28 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -6 -7 --20 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -86 -82 -75 -70 -64 -60 -54 -51 -46 -43 -39 -37 -33 -31 -28 -27 -23 -22 -19 -19 -16 -16 --13 --35 --55 --71 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --111 --103 --97 --91 --85 --79 --74 --69 -112 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -96 -88 -82 -44 -13 --14 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -93 -84 -79 -72 -68 -61 -58 -53 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -90 -85 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -90 -84 -77 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -15 -14 -13 -11 -11 -9 -9 -7 -7 --19 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -74 -70 -63 -59 -54 -51 -46 -44 -39 -37 -33 -31 -28 -27 -24 -22 -19 -19 -16 -15 --13 --35 --55 --71 --86 --97 --106 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --30 -127 -127 -127 -126 -121 -112 -105 -96 -90 -82 -77 -70 -65 -60 -57 -50 -48 -44 -41 -9 --17 --40 --57 --74 --86 --98 --106 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --100 --108 --102 --96 --90 --83 --79 --73 --69 --64 -116 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -45 -15 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -92 -84 -79 -72 -67 -62 -58 -52 -50 -16 --10 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -63 -56 -53 -48 -46 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -77 -72 -65 -62 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -120 -114 -104 -97 -89 -84 -76 -72 -66 -62 -55 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -72 -66 -61 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --19 -127 -127 -127 -127 -127 -122 -114 -103 -97 -89 -84 -76 -72 -65 -62 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -77 -72 -65 -61 -56 -53 -48 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -71 -65 -61 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -76 -71 -65 -61 -55 -52 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -28 -27 -24 -23 -20 -19 -16 -16 -14 -13 -10 -11 -9 -9 -7 -7 --20 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -44 -13 --14 --35 --55 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -115 -107 -97 -92 -84 -79 -72 -67 -61 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -90 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -77 -73 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -29 -27 -25 -23 -19 -19 -17 -15 -14 -13 -11 -11 -9 -9 -7 -7 --20 --41 --61 --75 --90 --100 --109 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -44 -13 --14 --35 --55 --70 --83 --94 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -106 -98 -92 -84 -79 -72 -68 -61 -58 -52 -49 -16 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -116 -105 -98 -90 -85 -77 -73 -66 -62 -57 -53 -47 -46 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -77 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -76 -72 -65 -62 -56 -52 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -40 -38 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -8 -8 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -123 -118 -109 -103 -94 -88 -80 -75 -68 -64 -59 -55 -50 -47 -42 -40 -8 --18 --40 --58 --74 --86 --98 --107 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --108 --103 --96 --90 --84 --79 --73 --69 --64 -116 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -83 -45 -15 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -91 -84 -79 -72 -68 -61 -58 -53 -50 -16 --10 --34 --53 --69 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -65 -62 -57 -53 -48 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -62 -55 -52 -47 -45 -40 -38 -33 -32 -29 -27 -24 -23 -20 -18 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -96 -87 -82 -44 -13 --14 --35 --55 --70 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -67 -62 -58 -52 -50 -16 --10 --34 --53 --70 --82 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -65 -62 -56 -53 -48 -46 -12 --14 --37 --55 --72 --84 --96 --105 --113 --103 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -77 -72 -65 -61 -55 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -71 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --38 --56 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -103 -98 -90 -84 -76 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -28 -27 -24 -23 -20 -19 -17 -16 -14 -13 -12 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -74 -70 -64 -60 -54 -52 -46 -43 -39 -37 -33 -31 -28 -27 -24 -22 -19 -19 -17 -16 --13 --35 --55 --71 --86 --97 --106 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --103 --97 --91 --85 --79 --75 --69 -111 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -102 -96 -87 -82 -44 -14 --14 --35 --54 --69 --83 --94 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -62 -58 -52 -49 -16 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -91 -85 -77 -73 -66 -62 -56 -53 -47 -46 -13 --14 --37 --55 --72 --84 --96 --105 --113 --102 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -90 -84 -77 -72 -66 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -47 -45 -40 -38 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 --19 --41 --61 --76 --90 --100 --109 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -123 -118 -109 -102 -94 -88 -80 -75 -68 -64 -58 -55 -49 -47 -42 -40 -8 --17 --40 --58 --74 --87 --98 --106 --99 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --91 --84 --79 --73 --69 --64 -116 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -45 -14 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -107 -99 -93 -84 -79 -72 -68 -62 -59 -52 -50 -16 --10 --34 --53 --70 --83 --95 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -66 -62 -57 -53 -48 -46 -13 --13 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -77 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -76 -72 -65 -62 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -120 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -29 -28 -24 -23 -21 -20 -16 -16 -14 -13 -11 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -123 -118 -109 -103 -94 -87 -80 -76 -68 -65 -59 -55 -50 -47 -42 -40 -8 --18 --40 --58 --74 --87 --98 --106 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --20 -127 -127 -127 -127 -127 -120 -113 -102 -96 -88 -83 -75 -71 -65 -61 -55 -51 -46 -44 -12 --14 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --105 --99 --107 --101 --95 --89 --83 --78 --72 --68 --63 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -45 -15 --13 --34 --54 --69 --82 --93 --103 --110 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -92 -85 -79 -72 -67 -61 -58 -53 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -90 -84 -76 -72 -66 -62 -55 -52 -48 -45 -40 -38 -34 -32 -29 -27 -23 -23 -20 -19 -17 -16 -13 -14 -12 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --99 --93 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -44 -13 --14 --35 --54 --69 --83 --93 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -62 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --103 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -84 -77 -71 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -88 -84 -77 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -90 -84 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -103 -97 -90 -84 -76 -72 -66 -61 -56 -53 -47 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -15 -14 -14 -11 -11 -9 -9 -7 -7 --20 --41 --61 --76 --90 --100 --110 --100 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -43 -13 --14 --36 --55 --70 --83 --94 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -92 -84 -79 -72 -68 -61 -58 -53 -49 -44 -42 -38 -35 -32 -30 -27 -26 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 --19 --41 --60 --75 --89 --99 --109 --100 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --103 --113 --105 --99 --93 --87 --81 --76 --71 -110 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -96 -87 -82 -43 -13 --14 --36 --55 --70 --84 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -67 -62 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -74 -66 -61 -57 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -77 -72 -65 -62 -56 -53 -48 -45 -40 -38 -34 -32 -28 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -74 -70 -64 -60 -54 -51 -46 -44 -40 -37 -33 -32 -28 -25 -23 -22 -20 -18 -16 -15 --13 --35 --56 --71 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 -112 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -102 -96 -88 -83 -45 -14 --14 --35 --54 --69 --83 --93 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -71 -68 -62 -58 -52 -50 -16 --10 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -54 -48 -46 -13 --13 --37 --55 --72 --84 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -71 -65 -61 -55 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -8 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --100 --93 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -75 -71 -63 -60 -54 -51 -46 -44 -39 -37 -33 -31 -28 -27 -23 -22 -20 -19 -15 -15 --13 --35 --56 --71 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --29 -127 -127 -127 -126 -121 -112 -105 -96 -90 -82 -77 -70 -67 -61 -56 -51 -48 -44 -41 -9 --17 --40 --57 --74 --86 --98 --106 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --100 --108 --102 --95 --90 --83 --78 --73 --69 --64 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -96 -89 -84 -45 -15 --13 --34 --54 --69 --82 --93 --103 --110 --100 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -79 -72 -68 -61 -58 -53 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -90 -84 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -103 -98 -90 -84 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -77 -72 -65 -62 -55 -52 -48 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -48 -44 -12 --14 --38 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -66 -62 -55 -52 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -96 -89 -84 -77 -72 -65 -61 -56 -53 -47 -44 -12 --14 --37 --56 --72 --85 --97 --105 --114 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -46 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -88 -84 -77 -72 -65 -62 -56 -53 -47 -44 -12 --15 --37 --56 --72 --85 --97 --105 --114 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -48 -45 -39 -38 -34 -32 -28 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -8 -7 -7 --20 --41 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -44 -13 --14 --35 --54 --70 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -97 -92 -84 -79 -71 -68 -62 -58 -52 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -54 -48 -46 -13 --13 --37 --55 --72 --84 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --19 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -62 -56 -52 -48 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -55 -53 -48 -44 -12 --14 --38 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -66 -61 -55 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --112 --105 --99 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -83 -44 -14 --14 --35 --54 --69 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -83 -79 -72 -67 -61 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -54 -48 -46 -13 --13 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -62 -56 -52 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -71 -65 -61 -55 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -90 -84 -76 -72 -65 -61 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -40 -37 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 --19 --41 --61 --76 --89 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -123 -118 -109 -102 -93 -88 -80 -75 -68 -64 -58 -56 -50 -47 -42 -40 -8 --17 --40 --58 --74 --87 --98 --106 --99 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 -116 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -113 -103 -97 -89 -83 -45 -14 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -108 -98 -93 -84 -79 -72 -68 -62 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -116 -105 -98 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -52 -47 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -103 -97 -89 -84 -77 -72 -65 -61 -56 -53 -46 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -15 -13 -13 -11 -11 -9 -9 -7 -7 --20 --41 --61 --76 --90 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --87 --81 --77 --71 -110 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -86 -82 -43 -13 --14 --36 --55 --70 --83 --94 --104 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -61 -58 -53 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -63 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -90 -84 -76 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -77 -72 -65 -62 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -83 -77 -72 -65 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -88 -84 -77 -72 -65 -62 -56 -53 -47 -45 -40 -38 -34 -31 -28 -27 -24 -23 -20 -19 -17 -16 -14 -12 -11 -11 -9 -8 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --112 --105 --100 --93 --87 --81 --77 --71 -110 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -75 -70 -63 -60 -54 -51 -45 -44 -39 -37 -33 -31 -27 -27 -24 -22 -19 -19 -16 -15 --13 --35 --56 --71 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 -111 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -96 -88 -83 -45 -14 --13 --35 --54 --69 --83 --93 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -91 -84 -79 -72 -67 -61 -58 -52 -50 -16 --10 --34 --53 --70 --83 --95 --103 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -53 -48 -46 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -55 -53 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -55 -53 -47 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -13 -13 -12 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -124 -118 -109 -103 -93 -88 -80 -75 -69 -65 -59 -55 -50 -47 -42 -40 -8 --17 --40 --58 --74 --87 --98 --107 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --83 --79 --73 --69 --64 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -113 -104 -97 -88 -84 -45 -15 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -124 -115 -108 -99 -92 -84 -79 -72 -68 -61 -57 -52 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -84 -77 -72 -66 -61 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -90 -84 -76 -72 -65 -61 -56 -52 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -52 -47 -45 -40 -37 -34 -32 -29 -27 -24 -23 -20 -19 -17 -15 -14 -13 -11 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --33 -127 -127 -127 -123 -118 -109 -102 -93 -88 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -8 --17 --40 --58 --74 --86 --98 --106 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --20 -127 -127 -127 -127 -127 -120 -112 -102 -96 -87 -83 -75 -70 -64 -61 -55 -51 -47 -44 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --98 --108 --101 --95 --89 --82 --78 --72 --68 --63 -118 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -45 -15 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -107 -99 -93 -84 -79 -72 -68 -62 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --111 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -74 -66 -62 -57 -53 -48 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -20 -17 -16 -13 -13 -11 -11 -9 -8 -6 -7 --20 --41 --61 --76 --90 --100 --110 --100 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -44 -14 --14 --35 --55 --69 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -61 -58 -52 -49 -16 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -67 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -83 -76 -72 -65 -62 -56 -52 -47 -45 -13 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --19 -127 -127 -127 -127 -127 -122 -114 -103 -97 -89 -83 -77 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -88 -84 -76 -72 -65 -61 -56 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -12 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --99 --93 --87 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -96 -87 -82 -43 -13 --14 --36 --55 --69 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -115 -107 -98 -92 -84 -79 -72 -67 -61 -58 -52 -50 -45 -42 -37 -36 -32 -29 -27 -26 -22 -22 -19 -18 -16 -15 -13 -12 -10 -10 -7 -8 --19 --41 --60 --75 --89 --99 --109 --100 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --109 --102 --113 --105 --99 --92 --87 --81 --76 --70 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -86 -82 -44 -13 --14 --35 --55 --69 --83 --93 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -124 -114 -107 -98 -92 -84 -79 -72 -68 -61 -57 -52 -50 -16 --10 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -122 -115 -106 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -98 -89 -84 -77 -72 -66 -62 -55 -53 -48 -45 -40 -38 -34 -32 -29 -27 -24 -23 -20 -19 -16 -16 -14 -13 -11 -11 -9 -9 -7 -6 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --105 --100 --93 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -87 -82 -74 -70 -64 -60 -54 -51 -47 -44 -39 -37 -33 -31 -28 -26 -23 -23 -20 -19 -16 -16 --13 --35 --55 --71 --86 --97 --107 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --91 --85 --79 --74 --69 -112 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -112 -102 -95 -88 -82 -44 -13 --14 --35 --55 --70 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -79 -72 -68 -61 -57 -53 -50 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -115 -104 -97 -89 -85 -77 -72 -65 -62 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -52 -47 -45 -40 -38 -34 -32 -29 -28 -24 -23 -20 -19 -17 -15 -14 -13 -11 -11 -9 -9 -7 -8 --19 --41 --61 --76 --89 --100 --110 --101 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -74 -70 -64 -60 -54 -51 -46 -43 -40 -37 -33 -31 -28 -26 -24 -23 -19 -18 -16 -16 --12 --35 --55 --71 --86 --97 --106 --98 --105 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --30 -127 -127 -127 -126 -121 -112 -105 -96 -90 -82 -78 -70 -66 -60 -56 -51 -48 -44 -41 -8 --17 --40 --58 --74 --86 --98 --106 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --99 --108 --102 --95 --90 --83 --79 --73 --69 --64 -117 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -45 -14 --13 --35 --54 --69 --83 --93 --103 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --3 -127 -127 -127 -127 -127 -127 -125 -114 -108 -99 -92 -84 -79 -72 -68 -62 -59 -53 -50 -16 --10 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --17 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -84 -77 -73 -66 -62 -56 -53 -48 -46 -13 --14 --37 --55 --72 --84 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -83 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -88 -84 -77 -71 -65 -61 -56 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -120 -114 -104 -97 -89 -83 -76 -72 -65 -61 -56 -53 -48 -44 -12 --14 --38 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -115 -104 -97 -89 -84 -77 -72 -65 -62 -56 -53 -47 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -115 -104 -98 -89 -83 -76 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -77 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -76 -72 -65 -61 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -122 -114 -104 -97 -89 -84 -76 -71 -65 -61 -56 -52 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -98 -89 -83 -76 -72 -65 -61 -55 -53 -48 -45 -12 --14 --37 --56 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -71 -65 -62 -55 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -76 -72 -65 -61 -56 -53 -47 -44 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -103 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -40 -38 -34 -32 -29 -28 -24 -22 -20 -19 -17 -15 -13 -14 -11 -11 -9 -9 -7 -7 --20 --42 --61 --76 --90 --100 --110 --101 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --99 --93 --87 --81 --76 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -44 -13 --14 --35 --55 --70 --83 --94 --103 --110 --101 --106 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -84 -78 -72 -68 -61 -58 -52 -49 -16 --11 --34 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 --127 --127 --127 --127 --127 --16 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --112 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -90 -84 -76 -72 -66 -61 -55 -53 -48 -45 -12 --14 --37 --56 --72 --85 --97 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -114 -104 -97 -89 -84 -77 -72 -65 -61 -56 -53 -47 -45 -12 --14 --37 --55 --72 --85 --96 --105 --113 --103 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --18 -127 -127 -127 -127 -127 -121 -113 -104 -97 -89 -84 -77 -72 -65 -62 -55 -52 -47 -45 -40 -38 -34 -32 -29 -27 -25 -23 -20 -19 -17 -15 -14 -13 -11 -11 -9 -9 -7 -7 --19 --41 --61 --76 --90 --100 --110 --100 --107 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --113 --106 --100 --93 --88 --81 --77 --71 -109 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -102 -95 -87 -82 -43 -13 --14 --36 --55 --70 --83 --94 --104 --110 --101 --105 --110 --127 --127 --127 --127 --127 --127 --127 --4 -127 -127 -127 -127 -127 -127 -125 -114 -107 -98 -92 -83 -79 -72 -68 -62 -58 -52 -49 -16 --11 --35 --53 --70 --83 --95 --104 --112 --102 --108 --112 --127 --127 --127 diff --git a/traces/modulation-ask-man-8.pm3 b/traces/modulation-ask-man-8.pm3 deleted file mode 100644 index 7aa4895b4..000000000 --- a/traces/modulation-ask-man-8.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ -102 -120 -68 -19 --23 --58 --88 -6 -90 -107 -56 -9 --32 --65 --95 --1 -82 -99 -72 -32 --8 --35 --66 --94 --103 --127 --127 --127 --127 --127 --127 -42 -122 -127 -118 -79 -38 -10 --27 --60 --90 --97 --127 -24 -109 -127 -82 -31 --13 --49 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -28 -110 -127 -75 -25 --18 --54 --84 -12 -94 -111 -60 -13 --29 --63 --92 -1 -84 -102 -51 -5 --36 --68 --97 --5 -79 -96 -45 -0 --39 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -40 --5 --44 --76 --104 --13 -70 -88 -39 --6 --45 --76 --104 --14 -69 -88 -37 --7 --46 --77 --105 --14 -70 -87 -37 --7 --46 --77 --105 --15 -69 -87 -37 --8 --46 --78 --105 --15 -69 -86 -36 --8 --46 --78 --105 --15 -68 -86 -37 --8 --46 --77 --105 --16 -68 -86 -36 --8 --47 --78 --105 --15 -68 -86 -59 -19 --19 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -37 -115 -127 -85 -34 --11 --46 --78 -27 -109 -127 -74 -24 --19 --54 --85 -11 -93 -111 -59 -12 --30 --64 --93 -1 -84 -102 -51 -4 --36 --68 --97 --6 -78 -96 -45 --1 --40 --72 --100 --9 -74 -92 -64 -25 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -118 -127 -87 -36 --9 --45 --77 -28 -110 -127 -74 -25 --19 --54 --84 -11 -94 -111 -59 -12 --30 --64 --92 -1 -85 -103 -51 -5 --35 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -23 --15 --43 --73 --100 --108 --127 --127 --10 -77 -102 -55 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -69 -21 --22 --56 --86 -19 -101 -119 -66 -18 --24 --59 --89 -5 -89 -107 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --99 --7 -77 -95 -66 -27 --12 --40 --71 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --45 --77 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -2 -86 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -114 -75 -35 -7 --29 --63 --91 --98 --127 --127 --127 --127 --108 -63 -127 -127 -109 -55 -7 --31 --65 -42 -124 -127 -87 -36 --9 --46 --77 -19 -102 -120 -68 -19 --24 --58 --88 -7 -90 -107 -56 -9 --32 --65 --95 --2 -81 -99 -70 -30 --8 --36 --67 --95 --103 --127 --127 --3 -84 -107 -59 -11 --30 --64 --93 --100 --127 --127 --127 -33 -107 -122 -71 -22 --20 --55 --85 -20 -102 -120 -68 -19 --23 --58 --88 -6 -89 -106 -55 -8 --33 --66 --95 --1 -81 -99 -49 -3 --37 --70 --98 --7 -77 -94 -44 --2 --41 --73 --101 --10 -73 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --94 --1 -82 -101 -51 -5 --36 --69 --97 --104 --127 --127 --127 -25 -99 -115 -65 -16 --26 --60 --89 -16 -98 -115 -64 -15 --27 --61 --90 -3 -86 -105 -53 -6 --34 --67 --96 --3 -80 -97 -70 -30 --10 --37 --68 --95 --104 --127 --127 --127 --127 --127 --127 -41 -121 -127 -90 -38 --7 --44 --76 -30 -112 -127 -76 -26 --17 --53 --83 -13 -95 -112 -60 -12 --29 --63 --92 -2 -85 -103 -52 -5 --35 --68 --97 --4 -79 -97 -46 -0 --39 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -22 --16 --43 --74 --100 --108 --127 --127 --127 --127 --127 --127 -38 -118 -127 -86 -35 --10 --46 --77 -28 -110 -127 -99 -58 -15 --13 --47 --78 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -101 -48 -1 --36 --69 -37 -119 -127 -82 -31 --13 --49 --80 -17 -99 -117 -65 -16 --26 --60 --90 -5 -88 -105 -77 -37 --2 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -119 -81 -40 -11 --26 --59 --89 --112 --127 --127 --127 --127 --105 -64 -127 -127 -112 -57 -9 --30 --64 -44 -126 -127 -88 -37 --8 --45 --77 -21 -103 -120 -68 -19 --23 --58 --88 -8 -91 -107 -56 -9 --32 --65 --94 --1 -81 -99 -72 -31 --8 --35 --67 --95 --103 --127 --127 --127 --127 --127 --127 -42 -121 -127 -117 -78 -38 -10 --26 --60 --89 --97 --127 -24 -109 -127 -83 -32 --12 --48 --80 --105 --111 --127 --102 -46 -120 -127 -83 -33 --11 --47 --79 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -13 --29 --63 --92 -1 -84 -101 -51 -4 --36 --69 --97 --5 -78 -96 -46 -0 --39 --72 --100 --9 -75 -92 -42 --3 --42 --74 --102 --11 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --7 --45 --76 --104 --14 -69 -87 -37 --7 --46 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --15 -69 -86 -36 --8 --46 --77 --105 --16 -68 -86 -37 --8 --46 --77 --105 --15 -69 -86 -36 --8 --46 --78 --105 --16 -68 -86 -36 --8 --46 --78 --105 --15 -68 -86 -59 -19 --18 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --10 --46 --78 -27 -109 -125 -73 -24 --19 --55 --85 -11 -93 -111 -59 -12 --30 --63 --93 -1 -84 -102 -51 -5 --36 --69 --97 --5 -77 -96 -45 --1 --40 --72 --100 --10 -74 -92 -64 -24 --14 --42 --72 --99 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -87 -36 --9 --45 --77 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -85 -102 -51 -5 --36 --68 --97 --5 -78 -95 -45 --1 --40 --72 --100 --9 -75 -92 -42 --3 --43 --74 --102 --12 -72 -90 -63 -23 --16 --43 --73 --100 --108 --127 --127 --9 -77 -101 -54 -7 --33 --66 --95 --102 --127 --127 --127 -31 -104 -121 -70 -21 --22 --56 --86 -19 -102 -118 -66 -18 --24 --59 --89 -6 -88 -107 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --99 --7 -76 -94 -67 -26 --13 --40 --71 --98 --106 --127 --127 --127 --127 --127 --127 -40 -119 -127 -88 -37 --8 --44 --76 -28 -111 -127 -75 -25 --18 --53 --84 -12 -95 -112 -60 -12 --29 --63 --92 -2 -85 -103 -52 -5 --35 --68 --97 --5 -78 -95 -45 --1 --40 --72 --100 --9 -74 -93 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -118 -127 -113 -75 -35 -7 --29 --63 --91 --98 --127 --127 --127 --127 --108 -63 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -87 -36 --9 --46 --77 -21 -102 -120 -67 -19 --24 --58 --88 -7 -90 -107 -55 -8 --32 --66 --95 --2 -81 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --3 -84 -107 -59 -11 --30 --64 --93 --100 --127 --127 --127 -33 -106 -123 -72 -23 --20 --55 --85 -20 -102 -119 -67 -19 --24 --58 --88 -6 -88 -107 -56 -9 --33 --66 --95 --1 -82 -100 -49 -3 --37 --70 --98 --7 -76 -94 -43 --2 --41 --73 --101 --10 -73 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --94 --1 -83 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -25 -98 -115 -64 -16 --26 --60 --89 -15 -98 -116 -64 -15 --26 --60 --90 -4 -86 -104 -53 -7 --34 --67 --96 --3 -80 -97 -69 -29 --10 --37 --68 --96 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --44 --76 -30 -113 -127 -76 -26 --17 --53 --83 -12 -94 -112 -61 -13 --29 --63 --92 -2 -85 -102 -51 -5 --35 --68 --97 --4 -79 -96 -46 -0 --39 --71 --100 --9 -75 -92 -42 --3 --42 --74 --102 --11 -72 -90 -63 -23 --16 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -86 -35 --9 --45 --77 -28 -109 -127 -99 -57 -16 --13 --47 --77 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -101 -48 -1 --36 --69 -37 -118 -127 -82 -31 --13 --49 --80 -17 -100 -117 -64 -16 --26 --60 --90 -3 -87 -105 -77 -37 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -120 -81 -40 -12 --26 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -112 -57 -9 --30 --63 -44 -125 -127 -88 -37 --9 --45 --77 -21 -103 -120 -68 -19 --23 --57 --88 -7 -90 -108 -56 -9 --32 --65 --94 --1 -81 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --127 --127 --127 --127 -42 -121 -127 -117 -79 -38 -10 --27 --60 --89 --97 --127 -24 -109 -127 -82 -32 --13 --48 --80 --105 --111 --127 --102 -47 -120 -127 -83 -33 --12 --47 --79 -28 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -13 --29 --63 --92 -1 -85 -102 -51 -5 --36 --68 --97 --4 -79 -95 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --11 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --6 --45 --77 --104 --14 -70 -88 -38 --7 --45 --77 --104 --14 -69 -87 -37 --7 --46 --77 --104 --15 -68 -86 -36 --8 --46 --78 --105 --15 -69 -86 -37 --8 --46 --78 --105 --16 -68 -86 -37 --8 --46 --78 --105 --15 -69 -86 -37 --8 --46 --78 --105 --15 -68 -86 -59 -19 --19 --46 --76 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --10 --46 --78 -26 -109 -126 -73 -24 --20 --54 --85 -11 -94 -111 -59 -11 --30 --64 --93 -0 -83 -101 -51 -4 --36 --69 --97 --5 -78 -95 -45 --1 --40 --72 --101 --9 -74 -92 -65 -24 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --45 --77 -28 -111 -127 -74 -24 --19 --54 --84 -11 -94 -111 -59 -12 --30 --63 --92 -1 -84 -103 -51 -5 --35 --68 --97 --5 -78 -96 -45 --1 --40 --72 --100 --9 -74 -93 -42 --3 --42 --74 --102 --12 -72 -89 -62 -22 --16 --43 --73 --100 --107 --127 --127 --9 -77 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -105 -120 -69 -21 --22 --56 --86 -19 -101 -119 -67 -18 --24 --58 --88 -5 -89 -106 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --98 --7 -77 -94 -66 -27 --12 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --45 --76 -29 -110 -127 -75 -25 --18 --53 --84 -11 -94 -112 -60 -13 --29 --63 --92 -1 -85 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -92 -42 --3 --42 --74 --102 --12 -71 -90 -62 -23 --15 --42 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -117 -127 -113 -75 -34 -7 --29 --62 --91 --98 --127 --127 --127 --127 --108 -63 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -87 -36 --9 --46 --77 -20 -102 -120 -68 -19 --24 --58 --88 -7 -89 -107 -56 -9 --32 --65 --94 --2 -81 -99 -71 -31 --8 --37 --67 --95 --103 --127 --127 --3 -84 -107 -59 -12 --30 --63 --92 --99 --127 --127 --127 -33 -107 -122 -71 -22 --20 --55 --85 -20 -102 -120 -68 -19 --24 --58 --88 -6 -89 -106 -55 -8 --33 --66 --95 --2 -81 -100 -49 -3 --37 --70 --98 --7 -77 -94 -44 --2 --41 --73 --101 --10 -74 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --8 -80 -104 -56 -9 --32 --65 --94 -0 -83 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -25 -99 -115 -64 -16 --26 --60 --89 -16 -98 -116 -64 -16 --26 --60 --90 -3 -86 -104 -53 -6 --34 --67 --96 --3 -80 -97 -70 -29 --10 --37 --68 --95 --104 --127 --127 --127 --127 --127 --127 -41 -121 -127 -89 -38 --7 --44 --76 -30 -112 -127 -76 -26 --17 --53 --83 -12 -95 -111 -60 -12 --29 --63 --92 -2 -85 -103 -52 -5 --35 --68 --96 --5 -79 -96 -46 -0 --39 --72 --100 --8 -75 -93 -42 --3 --42 --74 --102 --11 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -86 -35 --10 --45 --77 -28 -109 -127 -99 -57 -16 --14 --47 --78 --104 --110 --127 --127 --127 --127 --101 -53 -127 -127 -100 -47 -1 --37 --70 -37 -118 -127 -82 -31 --13 --49 --80 -17 -100 -117 -65 -16 --26 --60 --90 -5 -88 -105 -77 -37 --3 --31 --62 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -120 -81 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --106 -65 -127 -127 -111 -57 -9 --30 --64 -44 -125 -127 -88 -37 --9 --45 --77 -21 -103 -120 -68 -19 --23 --58 --88 -7 -89 -107 -56 -9 --32 --65 --94 --2 -82 -99 -71 -31 --8 --35 --67 --95 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -78 -38 -10 --26 --60 --89 --97 --127 -24 -109 -127 -82 -31 --13 --49 --80 --105 --111 --127 --101 -47 -120 -127 -83 -33 --12 --47 --79 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --30 --63 --92 -1 -85 -102 -51 -5 --36 --69 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -92 -42 --3 --42 --74 --102 --11 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --7 --45 --77 --104 --14 -69 -88 -38 --7 --45 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --15 -69 -87 -37 --8 --46 --77 --105 --15 -69 -86 -37 --8 --46 --77 --105 --16 -68 -86 -36 --8 --47 --78 --105 --15 -68 -86 -36 --8 --46 --78 --105 --16 -68 -86 -58 -19 --19 --46 --76 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -84 -34 --11 --46 --78 -27 -109 -125 -73 -24 --19 --54 --85 -10 -94 -111 -60 -12 --29 --63 --92 -1 -84 -101 -50 -4 --36 --69 --97 --5 -78 -96 -45 --1 --40 --72 --100 --9 -75 -92 -64 -24 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -87 -36 --9 --45 --77 -29 -110 -127 -74 -25 --19 --54 --84 -11 -94 -111 -59 -12 --30 --63 --92 -1 -84 -102 -51 -5 --36 --68 --97 --5 -78 -95 -45 --1 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --11 -72 -89 -62 -23 --16 --43 --73 --100 --108 --127 --127 --9 -77 -102 -54 -7 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -69 -21 --22 --56 --86 -19 -102 -119 -67 -18 --24 --58 --88 -6 -88 -106 -55 -8 --33 --66 --95 --2 -81 -99 -48 -1 --38 --71 --99 --7 -75 -93 -66 -27 --12 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -40 -119 -127 -88 -37 --8 --44 --76 -29 -111 -127 -74 -25 --19 --54 --84 -12 -95 -112 -60 -13 --29 --63 --92 -1 -85 -103 -51 -5 --36 --68 --97 --4 -79 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --12 -72 -89 -61 -22 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -113 -75 -35 -7 --29 --63 --91 --98 --127 --127 --127 --127 --107 -62 -127 -127 -109 -55 -8 --31 --65 -43 -124 -127 -86 -35 --10 --46 --78 -21 -102 -121 -68 -19 --23 --58 --88 -6 -90 -107 -55 -8 --33 --66 --95 --1 -82 -99 -71 -31 --9 --36 --67 --95 --103 --127 --127 --3 -84 -107 -59 -12 --30 --63 --92 --99 --127 --127 --127 -32 -106 -123 -71 -22 --20 --55 --85 -19 -102 -119 -67 -19 --24 --58 --88 -6 -89 -107 -55 -8 --32 --66 --95 --2 -82 -99 -48 -2 --38 --70 --98 --6 -77 -93 -44 --2 --41 --73 --101 --10 -73 -91 -64 -24 --14 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --94 -0 -83 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -25 -99 -115 -64 -16 --26 --59 --89 -15 -98 -116 -63 -16 --26 --61 --90 -4 -86 -104 -53 -6 --34 --67 --96 --3 -80 -98 -69 -29 --9 --37 --68 --96 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --44 --76 -30 -112 -127 -76 -26 --17 --52 --83 -12 -95 -112 -61 -13 --29 --63 --92 -2 -86 -102 -52 -5 --35 --68 --97 --4 -78 -96 -45 -0 --40 --72 --100 --8 -75 -92 -42 --3 --42 --74 --102 --11 -72 -89 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -118 -127 -86 -35 --10 --45 --77 -28 -109 -127 -99 -57 -15 --13 --47 --78 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -101 -48 -1 --36 --69 -37 -119 -127 -82 -31 --13 --49 --80 -17 -100 -117 -65 -16 --26 --60 --90 -4 -88 -105 -77 -36 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -120 -81 -40 -12 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -112 -57 -9 --29 --63 -44 -125 -127 -88 -36 --9 --45 --77 -21 -103 -120 -68 -19 --23 --58 --88 -7 -90 -107 -56 -9 --32 --65 --94 --1 -82 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --127 --127 --127 --127 -42 -121 -127 -117 -79 -38 -10 --27 --60 --90 --97 --127 -23 -109 -127 -82 -32 --13 --48 --80 --105 --111 --127 --101 -47 -120 -127 -83 -33 --11 --47 --78 -28 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -85 -102 -51 -5 --35 --68 --97 --5 -78 -95 -45 --1 --40 --72 --100 --8 -75 -92 -42 --3 --42 --74 --102 --11 -72 -89 -40 --5 --44 --75 --103 --13 -70 -88 -38 --6 --45 --76 --104 --14 -70 -88 -38 --7 --45 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --14 -69 -87 -37 --7 --46 --77 --105 --15 -69 -87 -36 --8 --46 --77 --105 --15 -68 -86 -36 --8 --46 --78 --105 --15 -68 -86 -36 --8 --46 --78 --105 --16 -67 -86 -58 -19 --19 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --10 --46 --78 -27 -109 -126 -73 -24 --19 --54 --85 -11 -94 -110 -59 -11 --30 --64 --93 -1 -84 -101 -50 -4 --36 --69 --97 --5 -78 -96 -45 --1 --40 --72 --100 --9 -74 -92 -65 -24 --14 --41 --72 --99 --106 --127 --127 --127 --127 --127 --127 -39 -118 -127 -87 -36 --9 --45 --77 -28 -110 -127 -75 -25 --19 --54 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 --1 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -89 -62 -22 --16 --43 --73 --100 --108 --127 --127 --9 -77 -101 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -69 -20 --22 --56 --86 -19 -101 -119 -67 -18 --24 --58 --88 -5 -88 -106 -54 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --98 --7 -77 -94 -66 -27 --12 --40 --70 --97 --105 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --45 --76 -29 -110 -127 -75 -26 --18 --53 --84 -12 -94 -111 -60 -13 --29 --63 --92 -1 -85 -102 -51 -4 --36 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -93 -42 --3 --42 --74 --102 --11 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -113 -75 -34 -7 --29 --63 --91 --98 --127 --127 --127 --127 --108 -63 -127 -127 -109 -55 -8 --31 --65 -43 -124 -127 -87 -36 --9 --45 --77 -20 -103 -120 -68 -19 --24 --58 --88 -7 -89 -107 -56 -8 --33 --66 --95 --2 -81 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --3 -84 -108 -59 -12 --29 --63 --92 --100 --127 --127 --127 -33 -106 -122 -71 -22 --20 --55 --85 -20 -102 -119 -68 -19 --24 --58 --88 -6 -90 -107 -56 -9 --32 --65 --95 --1 -82 -99 -48 -2 --38 --70 --98 --7 -77 -94 -43 --2 --41 --73 --101 --10 -73 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -104 -55 -8 --32 --65 --94 -0 -82 -101 -51 -5 --36 --68 --97 --104 --127 --127 --127 -25 -99 -115 -64 -16 --26 --60 --89 -15 -97 -115 -64 -15 --27 --60 --90 -3 -86 -104 -53 -6 --34 --67 --96 --3 -80 -98 -70 -30 --9 --37 --68 --95 --104 --127 --127 --127 --127 --127 --127 -42 -121 -127 -90 -38 --7 --43 --75 -29 -112 -127 -76 -26 --18 --53 --83 -13 -95 -112 -60 -13 --29 --63 --92 -2 -85 -102 -52 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --8 -75 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --16 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -117 -127 -86 -35 --9 --45 --77 -28 -109 -126 -98 -57 -15 --14 --47 --78 --104 --110 --127 --127 --127 --127 --101 -53 -127 -127 -100 -47 -1 --36 --69 -38 -119 -127 -82 -31 --13 --49 --80 -17 -100 -117 -65 -16 --26 --60 --90 -5 -88 -105 -77 -37 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --111 -44 -124 -127 -119 -81 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --106 -65 -127 -127 -111 -57 -9 --30 --64 -44 -125 -127 -88 -37 --9 --45 --77 -21 -103 -121 -68 -19 --23 --58 --88 -8 -90 -108 -56 -9 --32 --65 --94 --1 -82 -99 -72 -31 --8 --36 --67 --95 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -79 -38 -9 --27 --61 --90 --97 --127 -24 -109 -127 -82 -32 --13 --48 --80 --104 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -28 -110 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -2 -85 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -92 -42 --3 --42 --74 --102 --12 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --7 --45 --77 --104 --14 -70 -88 -38 --6 --45 --77 --104 --15 -68 -86 -37 --8 --46 --77 --105 --15 -69 -86 -36 --8 --46 --78 --105 --16 -68 -86 -36 --8 --46 --78 --105 --15 -69 -86 -36 --8 --46 --78 --105 --15 -68 -86 -37 --8 --46 --77 --105 --16 -68 -86 -58 -19 --19 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -84 -33 --11 --47 --78 -27 -109 -125 -73 -24 --19 --54 --85 -10 -94 -111 -60 -12 --30 --63 --92 -1 -84 -101 -50 -4 --36 --69 --97 --4 -79 -96 -45 -0 --40 --72 --100 --9 -74 -91 -64 -24 --14 --42 --72 --99 --106 --127 --127 --127 --127 --127 --127 -38 -118 -127 -87 -36 --9 --45 --77 -29 -110 -127 -74 -25 --19 --54 --84 -12 -94 -111 -60 -13 --29 --63 --92 -1 -84 -101 -51 -4 --36 --69 --97 --4 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --43 --74 --102 --11 -72 -89 -62 -22 --16 --43 --73 --100 --108 --127 --127 --9 -77 -101 -54 -7 --33 --66 --95 --102 --127 --127 --127 -30 -104 -121 -70 -21 --22 --56 --86 -19 -101 -119 -67 -19 --24 --58 --88 -6 -89 -106 -55 -8 --33 --66 --95 --2 -82 -98 -48 -2 --38 --70 --99 --7 -76 -94 -66 -26 --12 --40 --71 --98 --106 --127 --127 --127 --127 --127 --127 -40 -119 -127 -88 -37 --8 --45 --76 -29 -111 -127 -75 -25 --18 --53 --84 -12 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --36 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -22 --16 --44 --74 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -113 -75 -35 -7 --29 --63 --91 --98 --127 --127 --127 --127 --108 -62 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -86 -36 --9 --46 --77 -20 -102 -120 -68 -19 --23 --58 --88 -6 -90 -107 -55 -8 --33 --66 --95 --1 -81 -99 -72 -31 --8 --36 --67 --95 --103 --127 --127 --3 -84 -107 -59 -12 --29 --63 --92 --99 --127 --127 --127 -32 -106 -122 -71 -22 --21 --55 --85 -19 -102 -119 -67 -18 --24 --58 --88 -7 -89 -107 -56 -9 --32 --65 --94 --2 -82 -99 -48 -2 --38 --70 --98 --6 -77 -94 -44 --1 --41 --73 --101 --10 -73 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -103 -56 -9 --32 --65 --94 -0 -83 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -26 -99 -115 -64 -16 --25 --59 --89 -15 -98 -115 -63 -15 --27 --61 --90 -4 -86 -104 -53 -6 --34 --67 --96 --3 -80 -97 -69 -30 --9 --37 --68 --95 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --43 --76 -30 -112 -127 -76 -26 --17 --53 --83 -13 -94 -112 -61 -13 --29 --63 --92 -1 -85 -103 -51 -5 --35 --68 --97 --4 -79 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --12 -72 -89 -62 -22 --16 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -117 -127 -86 -35 --9 --45 --77 -28 -109 -126 -98 -57 -15 --14 --47 --78 --105 --110 --127 --127 --127 --127 --101 -54 -127 -127 -100 -48 -1 --37 --69 -38 -119 -127 -82 -31 --13 --49 --80 -17 -99 -117 -65 -16 --26 --60 --89 -5 -88 -105 -77 -36 --3 --32 --63 --92 --100 --127 --127 --127 --127 --127 --110 -45 -124 -127 -119 -80 -40 -12 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -112 -57 -9 --29 --63 -44 -126 -127 -88 -37 --8 --45 --77 -22 -104 -121 -68 -20 --23 --57 --87 -7 -90 -107 -56 -9 --32 --65 --94 --1 -82 -99 -72 -32 --8 --36 --67 --95 --103 --127 --127 --127 --127 --127 --127 -42 -122 -127 -117 -78 -38 -9 --27 --61 --90 --97 --127 -24 -109 -127 -83 -32 --12 --48 --80 --105 --110 --127 --101 -47 -119 -127 -84 -33 --11 --47 --78 -28 -110 -127 -75 -25 --18 --53 --84 -12 -94 -111 -60 -12 --29 --63 --92 -1 -85 -102 -51 -5 --36 --68 --97 --5 -78 -96 -45 --1 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --7 --46 --77 --104 --14 -69 -88 -38 --7 --45 --77 --104 --15 -69 -87 -37 --8 --46 --77 --105 --14 -69 -87 -37 --7 --46 --77 --105 --15 -68 -86 -36 --8 --46 --78 --105 --15 -69 -86 -36 --8 --46 --78 --105 --16 -68 -86 -36 --8 --46 --78 --105 --15 -68 -86 -59 -19 --19 --46 --76 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -84 -33 --11 --47 --78 -27 -109 -127 -74 -24 --19 --54 --84 -11 -93 -111 -59 -12 --30 --64 --93 -1 -84 -101 -50 -4 --36 --69 --97 --5 -78 -96 -45 --1 --40 --72 --100 --9 -74 -91 -64 -24 --14 --41 --72 --99 --106 --127 --127 --127 --127 --127 --127 -39 -118 -127 -87 -36 --9 --45 --77 -28 -110 -127 -75 -25 --18 --53 --84 -12 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -4 --36 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -89 -62 -22 --16 --44 --74 --100 --108 --127 --127 --9 -78 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -69 -21 --22 --56 --86 -18 -101 -118 -66 -18 --25 --59 --89 -6 -89 -106 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --99 --7 -76 -94 -65 -26 --13 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --44 --76 -29 -111 -127 -75 -25 --18 --53 --84 -12 -94 -112 -61 -13 --29 --63 --92 -2 -85 -101 -51 -5 --36 --68 --97 --5 -78 -96 -46 -0 --39 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -113 -75 -34 -6 --29 --63 --91 --99 --127 --127 --127 --127 --108 -63 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -87 -36 --9 --45 --77 -20 -102 -119 -67 -19 --24 --58 --88 -7 -90 -107 -55 -8 --32 --65 --95 --2 -82 -100 -71 -31 --8 --36 --67 --95 --103 --127 --127 --3 -84 -107 -59 -12 --30 --63 --92 --99 --127 --127 --127 -33 -106 -121 -71 -22 --21 --55 --85 -20 -102 -120 -68 -19 --24 --58 --88 -6 -90 -107 -55 -8 --32 --65 --95 --1 -81 -99 -48 -2 --38 --70 --98 --6 -77 -94 -44 --1 --41 --73 --101 --10 -73 -90 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -104 -55 -8 --32 --65 --94 -0 -82 -101 -51 -4 --36 --68 --97 --104 --127 --127 --127 -25 -99 -114 -64 -16 --26 --60 --89 -15 -98 -115 -63 -15 --27 --61 --90 -4 -87 -104 -53 -6 --34 --67 --96 --3 -80 -97 -70 -30 --9 --37 --68 --95 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --44 --76 -30 -112 -127 -76 -26 --17 --52 --83 -12 -95 -113 -61 -13 --29 --62 --92 -2 -85 -103 -52 -5 --35 --68 --97 --4 -79 -96 -45 -0 --40 --72 --100 --8 -75 -93 -42 --3 --42 --74 --102 --12 -72 -90 -62 -22 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -86 -35 --10 --46 --77 -28 -110 -126 -98 -57 -15 --14 --47 --78 --104 --110 --127 --127 --127 --127 --102 -53 -127 -127 -100 -47 -1 --37 --69 -38 -119 -127 -83 -32 --12 --48 --80 -17 -100 -117 -64 -16 --26 --60 --90 -5 -88 -104 -77 -37 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -119 -81 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -111 -57 -9 --30 --64 -44 -125 -127 -88 -37 --8 --45 --77 -21 -104 -121 -68 -19 --23 --57 --88 -7 -90 -108 -56 -9 --32 --65 --94 --1 -82 -99 -72 -31 --8 --36 --67 --95 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -78 -38 -10 --27 --61 --90 --97 --127 -24 -109 -127 -83 -32 --12 --48 --79 --104 --111 --127 --102 -47 -120 -127 -84 -33 --11 --47 --78 -29 -109 -127 -74 -25 --18 --53 --84 -11 -94 -112 -60 -12 --29 --63 --92 -1 -85 -103 -51 -5 --35 --68 --97 --5 -78 -95 -45 --1 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -89 -39 --5 --44 --75 --103 --13 -71 -89 -38 --6 --45 --76 --104 --14 -70 -87 -38 --7 --45 --77 --104 --15 -69 -87 -37 --8 --46 --77 --105 --15 -69 -86 -37 --7 --46 --77 --105 --15 -68 -86 -36 --8 --46 --78 --105 --15 -69 -86 -36 --8 --46 --78 --105 --15 -68 -86 -36 --8 --46 --78 --105 --15 -68 -86 -58 -19 --19 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --11 --46 --78 -27 -109 -126 -73 -24 --19 --54 --85 -11 -93 -111 -59 -11 --30 --63 --93 -1 -84 -101 -51 -4 --36 --69 --97 --5 -77 -95 -45 -0 --40 --72 --100 --9 -74 -92 -63 -24 --14 --42 --72 --99 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -87 -35 --9 --45 --77 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -112 -60 -13 --29 --63 --92 -2 -85 -102 -51 -5 --35 --68 --97 --4 -78 -96 -46 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -22 --16 --43 --73 --100 --108 --127 --127 --9 -78 -101 -54 -7 --33 --66 --95 --102 --127 --127 --127 -30 -104 -120 -69 -21 --22 --56 --86 -19 -101 -119 -66 -18 --25 --59 --89 -6 -88 -106 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --99 --6 -77 -93 -66 -26 --13 --40 --71 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --45 --76 -29 -111 -127 -75 -25 --18 --53 --84 -12 -95 -111 -60 -13 --29 --63 --92 -2 -85 -102 -51 -5 --36 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -22 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -112 -75 -34 -6 --30 --63 --91 --99 --127 --127 --127 --127 --108 -62 -127 -127 -109 -55 -7 --32 --65 -43 -124 -127 -87 -36 --9 --45 --77 -21 -103 -120 -68 -19 --23 --58 --88 -7 -90 -107 -55 -8 --32 --66 --95 --2 -82 -99 -71 -31 --8 --35 --66 --94 --102 --127 --127 --3 -84 -107 -58 -11 --30 --63 --92 --100 --127 --127 --127 -32 -106 -122 -71 -22 --21 --55 --85 -20 -102 -119 -67 -19 --24 --58 --88 -6 -89 -107 -55 -8 --32 --66 --95 --2 -82 -99 -48 -2 --38 --70 --98 --7 -77 -95 -44 --1 --41 --73 --100 --10 -73 -91 -63 -23 --15 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --94 -0 -83 -102 -51 -5 --35 --68 --97 --103 --127 --127 --127 -25 -99 -115 -65 -17 --25 --59 --89 -15 -98 -115 -63 -15 --27 --61 --90 -4 -86 -104 -53 -7 --34 --67 --96 --4 -79 -97 -70 -29 --9 --37 --68 --95 --103 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --43 --75 -30 -112 -127 -75 -26 --18 --53 --83 -12 -95 -112 -61 -13 --29 --62 --92 -2 -85 -102 -51 -5 --35 --68 --97 --4 -79 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --11 -72 -89 -62 -22 --16 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -117 -127 -86 -35 --9 --45 --77 -28 -109 -127 -98 -57 -15 --14 --47 --78 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -100 -47 -1 --37 --69 -37 -119 -127 -83 -32 --12 --48 --80 -17 -100 -116 -64 -16 --26 --60 --90 -5 -88 -105 -77 -36 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -123 -127 -119 -80 -40 -11 --26 --59 --89 --112 --127 --127 --127 --127 --105 -65 -127 -127 -111 -57 -9 --30 --63 -45 -126 -127 -88 -37 --8 --45 --77 -21 -103 -120 -68 -19 --23 --58 --88 -7 -91 -108 -56 -9 --32 --65 --94 --1 -82 -99 -72 -32 --8 --35 --66 --94 --102 --127 --127 --127 --127 --127 --127 -42 -122 -127 -117 -79 -38 -10 --27 --60 --90 --97 --127 -24 -109 -127 -82 -32 --13 --48 --79 --104 --111 --127 --102 -47 -120 -127 -84 -33 --11 --47 --78 -29 -110 -127 -75 -25 --18 --53 --84 -12 -95 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --36 --68 --97 --4 -79 -96 -45 -0 --39 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -89 -39 --5 --44 --76 --103 --13 -70 -88 -38 --6 --45 --76 --104 --14 -70 -87 -37 --7 --46 --77 --104 --14 -70 -87 -37 --7 --46 --77 --105 --15 -69 -87 -37 --8 --46 --77 --105 --15 -69 -86 -36 --8 --46 --78 --105 --15 -68 -86 -37 --8 --46 --77 --105 --15 -68 -85 -36 --9 --47 --78 --106 --15 -68 -86 -59 -19 --19 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --11 --47 --78 -27 -109 -126 -74 -24 --19 --54 --85 -11 -94 -111 -59 -12 --30 --63 --93 -1 -84 -102 -51 -4 --36 --69 --97 --5 -78 -95 -45 --1 --40 --72 --100 --9 -74 -92 -64 -24 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -118 -127 -87 -36 --9 --45 --77 -28 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --36 --68 --97 --5 -79 -95 -45 --1 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -23 --16 --44 --73 --100 --108 --127 --127 --9 -78 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -70 -21 --21 --56 --86 -19 -101 -119 -66 -18 --24 --59 --89 -6 -89 -107 -55 -8 --33 --66 --95 --2 -80 -99 -48 -2 --38 --70 --99 --7 -77 -94 -66 -26 --13 --41 --71 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --9 --45 --76 -29 -111 -127 -75 -26 --18 --53 --83 -12 -94 -112 -60 -13 --29 --63 --92 -2 -85 -102 -51 -5 --36 --69 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -63 -23 --16 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -117 -127 -113 -75 -35 -7 --29 --63 --92 --99 --127 --127 --127 --127 --108 -63 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -87 -36 --9 --45 --77 -20 -102 -120 -67 -18 --24 --58 --88 -7 -90 -107 -56 -9 --32 --65 --94 --2 -82 -99 -70 -30 --8 --36 --67 --94 --103 --127 --127 --3 -84 -107 -59 -11 --30 --63 --92 --100 --127 --127 --127 -33 -106 -121 -71 -22 --21 --55 --86 -20 -102 -120 -68 -19 --23 --58 --88 -6 -89 -107 -55 -8 --33 --66 --95 --1 -82 -99 -48 -2 --38 --70 --98 --7 -77 -94 -44 --1 --41 --73 --101 --10 -73 -91 -63 -23 --15 --42 --72 --99 --107 --127 --127 --7 -80 -103 -55 -8 --32 --65 --95 -0 -83 -101 -51 -5 --36 --68 --97 --104 --127 --127 --127 -25 -98 -115 -64 -16 --26 --59 --89 -15 -98 -116 -64 -16 --26 --61 --90 -4 -87 -105 -53 -7 --34 --67 --96 --3 -80 -97 -69 -29 --10 --37 --68 --96 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --44 --75 -30 -112 -127 -76 -26 --17 --53 --83 -13 -95 -113 -61 -13 --28 --62 --92 -2 -85 -103 -52 -5 --35 --68 --97 --4 -79 -96 -45 -0 --39 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -22 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -86 -35 --10 --46 --77 -29 -111 -127 -99 -57 -16 --14 --47 --78 --104 --110 --127 --127 --127 --127 --100 -54 -127 -127 -100 -47 -1 --37 --69 -37 -120 -127 -83 -32 --12 --48 --80 -17 -99 -117 -64 -16 --26 --60 --90 -5 -88 -105 -77 -37 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -119 -80 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -111 -57 -9 --30 --64 -45 -125 -127 -88 -37 --8 --45 --77 -21 -103 -120 -68 -19 --23 --58 --88 -8 -91 -108 -56 -9 --32 --65 --94 --2 -82 -99 -71 -31 --8 --35 --66 --94 --102 --127 --127 --127 --127 --127 --127 -41 -122 -127 -117 -79 -38 -10 --27 --60 --90 --97 --127 -24 -109 -127 -82 -32 --12 --48 --79 --104 --111 --127 --102 -46 -119 -127 -83 -33 --12 --47 --78 -29 -110 -127 -74 -25 --19 --53 --84 -12 -94 -111 -60 -13 --29 --63 --92 -1 -85 -101 -51 -4 --36 --69 --97 --4 -79 -96 -46 -0 --39 --71 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -40 --5 --44 --75 --103 --13 -71 -89 -38 --6 --45 --76 --104 --14 -70 -87 -38 --7 --46 --77 --104 --14 -69 -87 -37 --7 --46 --77 --105 --15 -69 -86 -36 --8 --46 --78 --105 --16 -68 -86 -37 --8 --46 --77 --105 --15 -69 -86 -36 --8 --46 --78 --105 --15 -68 -86 -36 --8 --46 --78 --105 --16 -69 -86 -58 -19 --19 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --10 --46 --78 -27 -109 -126 -73 -24 --19 --54 --85 -11 -93 -111 -59 -12 --30 --64 --93 -1 -84 -101 -50 -4 --36 --69 --97 --5 -77 -96 -45 --1 --40 --72 --100 --9 -74 -92 -64 -24 --14 --42 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -119 -127 -86 -36 --9 --45 --77 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -2 -85 -103 -52 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -91 -41 --4 --43 --74 --102 --11 -72 -90 -62 -23 --16 --43 --73 --100 --107 --127 --127 --9 -78 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -70 -21 --22 --56 --86 -19 -101 -118 -66 -18 --25 --59 --89 -5 -88 -107 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --71 --99 --7 -77 -94 -66 -26 --13 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -40 -119 -127 -88 -37 --8 --45 --76 -29 -111 -127 -75 -26 --18 --53 --84 -12 -95 -112 -60 -12 --29 --63 --92 -2 -85 -102 -51 -5 --35 --68 --97 --5 -79 -95 -45 --1 --40 --72 --100 --9 -74 -93 -42 --3 --42 --74 --102 --12 -72 -90 -63 -22 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -113 -75 -35 -7 --30 --63 --92 --98 --127 --127 --127 --127 --108 -63 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -87 -36 --9 --45 --77 -20 -102 -120 -67 -19 --24 --58 --88 -7 -90 -108 -56 -9 --32 --65 --94 --1 -81 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --4 -83 -107 -59 -11 --30 --64 --92 --100 --127 --127 --127 -33 -106 -123 -71 -22 --21 --55 --85 -20 -102 -119 -67 -19 --24 --58 --88 -6 -89 -107 -56 -8 --33 --66 --95 --1 -82 -99 -48 -2 --37 --70 --98 --7 -77 -94 -44 --1 --41 --73 --101 --10 -73 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -103 -56 -9 --32 --65 --94 --1 -83 -101 -51 -5 --36 --68 --97 --104 --127 --127 --127 -26 -98 -115 -64 -16 --26 --59 --89 -15 -98 -115 -63 -15 --27 --61 --90 -4 -86 -104 -53 -7 --34 --67 --96 --4 -80 -97 -69 -29 --9 --37 --68 --96 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --43 --75 -30 -112 -127 -76 -26 --18 --53 --83 -13 -95 -113 -61 -13 --28 --62 --92 -2 -85 -102 -51 -5 --35 --68 --97 --5 -79 -96 -46 -0 --39 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -22 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -118 -127 -86 -35 --9 --45 --77 -28 -109 -127 -99 -57 -16 --13 --47 --78 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -101 -48 -1 --36 --69 -37 -119 -127 -82 -31 --13 --49 --80 -18 -100 -117 -64 -16 --26 --60 --90 -4 -88 -106 -77 -37 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -120 -80 -40 -11 --26 --59 --89 --112 --127 --127 --127 --127 --105 -65 -127 -127 -111 -57 -9 --30 --64 -45 -125 -127 -88 -37 --8 --45 --77 -22 -103 -120 -68 -19 --23 --58 --88 -8 -91 -109 -57 -9 --31 --65 --94 --1 -82 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -79 -38 -10 --27 --60 --89 --97 --127 -24 -109 -127 -82 -32 --13 --48 --80 --104 --111 --127 --102 -47 -120 -127 -83 -33 --12 --47 --79 -28 -111 -127 -75 -25 --19 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -79 -96 -46 -0 --39 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -39 --5 --44 --76 --103 --13 -69 -88 -38 --6 --45 --77 --104 --14 -70 -88 -38 --7 --45 --77 --104 --14 -69 -87 -37 --7 --45 --77 --104 --15 -69 -86 -36 --8 --47 --78 --105 --15 -68 -86 -36 --8 --46 --77 --105 --15 -68 -86 -36 --8 --46 --78 --105 --15 -69 -87 -36 --8 --46 --78 --105 --15 -69 -86 -59 -19 --19 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -35 --10 --46 --78 -26 -109 -126 -73 -24 --19 --54 --85 -11 -94 -111 -59 -11 --30 --64 --93 -1 -84 -102 -51 -5 --36 --69 --97 --5 -78 -95 -45 --1 --40 --72 --101 --9 -74 -92 -64 -24 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -118 -127 -88 -36 --9 --45 --76 -29 -110 -127 -74 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -85 -103 -51 -5 --35 --68 --97 --5 -78 -96 -45 --1 --40 --72 --100 --9 -75 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -22 --16 --43 --73 --100 --107 --127 --127 --9 -77 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -105 -120 -69 -21 --22 --56 --86 -19 -101 -119 -67 -18 --24 --59 --88 -6 -89 -106 -54 -8 --33 --66 --95 --2 -80 -99 -48 -2 --38 --71 --99 --7 -77 -94 -66 -27 --12 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -36 --8 --45 --76 -29 -111 -127 -75 -25 --18 --53 --84 -12 -94 -111 -60 -12 --29 --63 --92 -2 -85 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --11 -72 -89 -62 -23 --16 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -114 -75 -34 -7 --30 --63 --91 --98 --127 --127 --127 --127 --108 -62 -127 -127 -109 -55 -7 --31 --65 -43 -123 -127 -87 -36 --10 --46 --77 -20 -102 -120 -68 -19 --24 --58 --88 -7 -90 -107 -56 -9 --32 --65 --94 --2 -81 -99 -70 -30 --8 --36 --67 --95 --103 --127 --127 --3 -84 -108 -59 -12 --29 --63 --92 --99 --127 --127 --127 -33 -107 -122 -71 -22 --20 --55 --85 -20 -102 -120 -68 -19 --24 --58 --88 -7 -90 -106 -55 -8 --33 --66 --95 --1 -82 -99 -49 -3 --37 --70 --98 --7 -77 -94 -44 --2 --41 --73 --101 --10 -74 -91 -63 -24 --15 --43 --72 --100 --107 --127 --127 --8 -80 -104 -56 -9 --32 --65 --94 -0 -83 -101 -51 -5 --36 --68 --97 --104 --127 --127 --127 -25 -99 -115 -64 -16 --26 --60 --89 -16 -98 -116 -64 -16 --26 --60 --90 -3 -87 -104 -53 -6 --34 --67 --96 --3 -80 -97 -70 -29 --10 --37 --68 --95 --104 --127 --127 --127 --127 --127 --127 -41 -121 -127 -89 -38 --7 --44 --76 -30 -112 -127 -76 -26 --17 --52 --83 -12 -95 -112 -60 -13 --29 --63 --92 -2 -85 -103 -52 -5 --35 --68 --97 --4 -79 -97 -46 -0 --39 --71 --99 --9 -75 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -22 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -86 -35 --10 --45 --77 -28 -110 -127 -99 -57 -16 --14 --47 --78 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -100 -47 -1 --37 --70 -37 -118 -127 -82 -31 --13 --49 --80 -16 -100 -117 -65 -16 --26 --60 --90 -5 -88 -105 -77 -37 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -119 -81 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --106 -65 -127 -127 -111 -57 -9 --30 --64 -44 -125 -127 -88 -37 --8 --45 --76 -21 -103 -120 -68 -19 --23 --58 --88 -8 -91 -107 -56 -9 --32 --65 --94 --1 -81 -99 -71 -31 --8 --35 --67 --95 --103 --127 --127 --127 --127 --127 --127 -42 -121 -127 -117 -78 -38 -10 --27 --60 --89 --97 --127 -24 -109 -127 -82 -32 --13 --48 --80 --105 --111 --127 --102 -46 -120 -127 -83 -33 --11 --47 --79 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -2 -85 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -91 -41 --4 --43 --75 --102 --11 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --6 --45 --76 --104 --13 -70 -88 -37 --7 --45 --77 --104 --15 -69 -87 -37 --7 --46 --77 --104 --15 -69 -87 -37 --8 --46 --77 --105 --15 -68 -87 -37 --7 --46 --77 --105 --16 -68 -86 -36 --8 --47 --78 --105 --15 -68 -86 -36 --8 --46 --78 --105 --16 -68 -86 -58 -19 --18 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --11 --47 --78 -27 -109 -125 -73 -24 --20 --55 --85 -11 -94 -111 -59 -12 --29 --63 --92 -1 -84 -101 -50 -4 --36 --69 --97 --5 -77 -96 -45 --1 --40 --72 --100 --9 -75 -92 -64 -25 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -87 -36 --9 --45 --77 -28 -110 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -13 --29 --63 --92 -1 -85 -102 -51 -5 --36 --68 --97 --5 -78 -95 -45 --1 --40 --72 --100 --9 -75 -92 -42 --3 --42 --74 --102 --12 -72 -89 -62 -22 --16 --43 --73 --100 --108 --127 --127 --10 -78 -102 -54 -7 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -69 -21 --22 --56 --86 -19 -102 -119 -67 -18 --24 --58 --88 -6 -89 -106 -55 -8 --33 --66 --95 --2 -82 -99 -47 -1 --38 --71 --99 --7 -77 -94 -66 -26 --12 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -40 -120 -127 -88 -37 --8 --44 --76 -29 -110 -127 -75 -25 --18 --54 --84 -12 -95 -112 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --8 -75 -93 -42 --3 --42 --74 --102 --12 -72 -90 -61 -22 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -113 -75 -35 -7 --29 --63 --91 --98 --127 --127 --127 --127 --108 -62 -127 -127 -109 -56 -8 --31 --65 -43 -124 -127 -86 -35 --10 --46 --78 -20 -102 -120 -68 -19 --24 --58 --88 -7 -90 -107 -56 -9 --32 --65 --95 --1 -81 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --3 -84 -107 -59 -11 --30 --63 --92 --100 --127 --127 --127 -33 -107 -123 -72 -23 --20 --55 --85 -19 -102 -120 -67 -19 --24 --58 --88 -6 -89 -107 -56 -9 --33 --66 --95 --1 -82 -100 -48 -2 --38 --70 --98 --7 -76 -94 -44 --2 --41 --73 --101 --10 -73 -91 -63 -24 --14 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --94 --1 -83 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -26 -98 -115 -64 -16 --26 --59 --89 -16 -98 -116 -64 -16 --26 --60 --90 -3 -86 -104 -53 -6 --34 --67 --96 --3 -80 -98 -69 -29 --9 --37 --68 --96 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --44 --76 -30 -112 -127 -76 -27 --17 --52 --83 -12 -95 -112 -61 -13 --29 --63 --92 -2 -85 -103 -51 -5 --35 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --11 -73 -90 -63 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -118 -127 -86 -35 --9 --45 --77 -28 -109 -127 -99 -57 -16 --13 --47 --77 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -101 -48 -1 --36 --69 -37 -119 -127 -82 -31 --13 --49 --80 -17 -100 -117 -65 -17 --26 --60 --89 -4 -87 -105 -76 -36 --3 --31 --62 --91 --99 --127 --127 --127 --127 --127 --110 -44 -124 -127 -120 -81 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --106 -65 -127 -127 -112 -57 -9 --30 --63 -44 -125 -127 -88 -37 --8 --45 --77 -21 -103 -120 -68 -19 --23 --58 --88 -7 -90 -108 -56 -9 --32 --65 --94 --1 -82 -99 -71 -31 --8 --36 --67 --94 --103 --127 --127 --127 --127 --127 --127 -42 -121 -127 -117 -79 -38 -10 --27 --60 --89 --97 --127 -24 -109 -127 -82 -31 --13 --48 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -85 -103 -51 -5 --35 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --6 --45 --77 --104 --14 -70 -88 -38 --7 --45 --77 --104 --14 -69 -86 -37 --8 --46 --77 --105 --15 -68 -86 -37 --8 --46 --77 --105 --15 -69 -87 -37 --8 --46 --77 --105 --15 -68 -86 -37 --8 --46 --78 --105 --15 -68 -86 -36 --8 --46 --78 --105 --15 -68 -86 -58 -19 --19 --46 --76 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --10 --46 --78 -26 -109 -126 -73 -24 --19 --54 --85 -11 -94 -111 -60 -12 --30 --63 --93 -1 -84 -101 -51 -4 --36 --69 --97 --5 -77 -95 -45 --1 --40 --72 --101 --9 -74 -92 -64 -24 --14 --41 --71 --99 --107 --127 --127 --127 --127 --127 --127 -39 -119 -127 -87 -36 --9 --45 --77 -28 -110 -127 -74 -25 --18 --53 --84 -11 -94 -111 -59 -12 --29 --63 --92 -1 -85 -103 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --9 -77 -102 -54 -7 --33 --66 --95 --102 --127 --127 --127 -31 -105 -120 -70 -21 --22 --56 --86 -19 -102 -119 -67 -18 --24 --58 --88 -5 -88 -106 -54 -7 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --98 --7 -77 -94 -66 -27 --12 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --44 --76 -29 -110 -127 -75 -25 --18 --53 --84 -12 -94 -112 -61 -13 --29 --63 --92 -1 -84 -102 -51 -5 --36 --69 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --12 -72 -89 -62 -22 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -118 -127 -113 -75 -34 -6 --29 --63 --91 --98 --127 --127 --127 --127 --108 -62 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -87 -36 --9 --45 --77 -20 -103 -120 -68 -19 --23 --58 --88 -7 -89 -107 -56 -9 --32 --65 --95 --1 -82 -99 -70 -31 --8 --36 --67 --95 --103 --127 --127 --3 -84 -108 -59 -12 --30 --63 --92 --99 --127 --127 --127 -33 -107 -123 -72 -23 --20 --55 --85 -20 -102 -120 -67 -19 --24 --58 --88 -7 -90 -107 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --98 --7 -77 -94 -44 --2 --41 --73 --101 --10 -73 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --95 -0 -83 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -25 -100 -115 -64 -16 --26 --59 --89 -15 -98 -116 -64 -15 --26 --60 --90 -3 -86 -104 -53 -6 --34 --67 --96 --3 -80 -97 -70 -30 --9 --37 --68 --96 --104 --127 --127 --127 --127 --127 --127 -41 -121 -127 -90 -38 --7 --44 --76 -30 -112 -127 -76 -27 --17 --52 --83 -12 -95 -112 -60 -13 --29 --63 --92 -2 -85 -103 -52 -5 --35 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --8 -75 -93 -42 --3 --42 --74 --102 --12 -72 -90 -62 -22 --16 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -37 -118 -127 -87 -35 --9 --45 --77 -27 -109 -127 -98 -57 -16 --14 --47 --78 --104 --110 --127 --127 --127 --127 --101 -53 -127 -127 -100 -48 -1 --37 --69 -37 -118 -127 -82 -32 --13 --49 --80 -17 -100 -117 -65 -16 --26 --60 --90 -5 -88 -105 -77 -37 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -119 -81 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --105 -64 -127 -127 -111 -57 -9 --30 --64 -44 -125 -127 -88 -37 --8 --45 --77 -21 -103 -121 -68 -19 --23 --58 --88 -7 -90 -107 -56 -9 --32 --65 --94 --2 -81 -99 -71 -31 --8 --35 --67 --94 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -78 -38 -10 --26 --60 --89 --97 --127 -24 -109 -127 -82 -32 --13 --48 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -59 -11 --30 --63 --93 -1 -84 -102 -51 -5 --36 --68 --97 --5 -78 -95 -45 -0 --40 --72 --100 --9 -75 -92 -42 --3 --42 --74 --102 --11 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --6 --45 --76 --104 --14 -70 -87 -38 --7 --45 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --14 -69 -86 -37 --8 --46 --77 --105 --15 -68 -87 -37 --8 --46 --77 --105 --16 -68 -85 -36 --8 --46 --78 --105 --15 -68 -86 -36 --8 --46 --78 --105 --16 -68 -86 -58 -19 --18 --46 --76 --103 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --11 --47 --78 -27 -109 -126 -73 -24 --19 --54 --85 -10 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -4 --36 --69 --97 --5 -78 -96 -45 -0 --40 --72 --100 --10 -74 -92 -64 -24 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -88 -37 --8 --45 --76 -28 -111 -127 -74 -24 --19 --54 --84 -11 -94 -112 -60 -12 --29 --63 --92 -1 -84 -101 -51 -4 --36 --69 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --11 -72 -89 -62 -22 --16 --43 --73 --100 --108 --127 --127 --9 -78 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -30 -104 -121 -70 -21 --22 --56 --86 -19 -101 -118 -66 -18 --24 --59 --89 -5 -88 -106 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --99 --7 -76 -93 -66 -27 --12 --40 --70 --97 --106 --127 --127 --127 --127 --127 --127 -40 -119 -127 -89 -37 --8 --44 --76 -29 -111 -127 -75 -25 --18 --53 --84 -12 -95 -111 -60 -13 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -22 --16 --43 --74 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -113 -75 -35 -7 --30 --63 --91 --98 --127 --127 --127 --127 --107 -63 -127 -127 -109 -55 -8 --31 --65 -43 -124 -127 -86 -36 --10 --46 --77 -20 -102 -120 -68 -19 --23 --58 --88 -7 -90 -107 -56 -9 --32 --65 --95 --2 -82 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --3 -84 -108 -59 -12 --29 --63 --92 --99 --127 --127 --127 -33 -106 -123 -72 -23 --20 --55 --85 -20 -102 -119 -67 -19 --24 --58 --88 -7 -89 -107 -56 -9 --32 --66 --95 --2 -82 -99 -48 -2 --38 --70 --99 --7 -77 -94 -44 --1 --41 --73 --101 --11 -73 -91 -63 -24 --14 --42 --72 --99 --107 --127 --127 --7 -79 -103 -56 -9 --32 --65 --94 --1 -83 -101 -51 -4 --36 --68 --97 --104 --127 --127 --127 -25 -99 -115 -65 -16 --26 --59 --89 -15 -98 -116 -64 -16 --26 --60 --90 -4 -86 -104 -53 -6 --34 --67 --96 --4 -80 -97 -70 -29 --9 --37 --68 --96 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -90 -38 --7 --44 --75 -30 -112 -127 -76 -26 --17 --53 --83 -12 -95 -112 -60 -13 --29 --63 --92 -2 -85 -103 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --12 -72 -90 -63 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -118 -127 -86 -35 --9 --46 --77 -28 -109 -127 -98 -57 -16 --13 --47 --78 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -101 -48 -1 --36 --69 -37 -119 -127 -82 -31 --13 --49 --80 -17 -100 -117 -65 -16 --26 --60 --90 -4 -87 -105 -77 -36 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -120 -80 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --106 -65 -127 -127 -112 -57 -9 --30 --64 -44 -126 -127 -88 -36 --9 --45 --77 -21 -103 -121 -68 -19 --23 --58 --88 -7 -90 -108 -56 -9 --32 --66 --95 --1 -82 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --127 --127 --127 --127 -42 -122 -127 -117 -79 -38 -10 --27 --60 --90 --97 --127 -24 -109 -127 -83 -32 --13 --48 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -2 -85 -103 -52 -5 --35 --68 --97 --5 -78 -96 -45 --1 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --6 --45 --77 --104 --14 -69 -87 -37 --7 --46 --77 --104 --15 -69 -86 -37 --7 --46 --78 --105 --15 -69 -87 -37 --7 --46 --77 --105 --15 -68 -86 -36 --8 --46 --78 --105 --15 -68 -86 -37 --8 --46 --78 --105 --16 -69 -86 -37 --8 --46 --78 --105 --16 -68 -86 -58 -19 --19 --46 --76 --102 --109 --127 --127 --127 --127 --127 --127 -36 -115 -127 -85 -34 --10 --46 --78 -27 -109 -126 -73 -24 --19 --54 --85 -11 -94 -111 -59 -12 --30 --63 --93 -1 -83 -101 -50 -4 --36 --69 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -64 -24 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -118 -127 -88 -37 --9 --45 --76 -28 -109 -127 -75 -25 --19 --54 --84 -11 -95 -111 -60 -13 --29 --63 --92 -1 -84 -102 -51 -5 --36 --69 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --9 -77 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -105 -120 -70 -21 --21 --56 --86 -19 -101 -119 -66 -18 --24 --59 --89 -5 -89 -107 -55 -8 --33 --66 --95 --2 -82 -99 -48 -2 --38 --70 --99 --8 -76 -93 -65 -26 --12 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --44 --76 -29 -111 -127 -75 -25 --18 --53 --84 -12 -95 -112 -60 -13 --29 --62 --92 -1 -85 -101 -51 -4 --36 --69 --97 --5 -78 -96 -46 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -118 -127 -114 -75 -35 -7 --29 --63 --91 --98 --127 --127 --127 --127 --108 -63 -127 -127 -109 -55 -7 --31 --65 -43 -125 -127 -87 -36 --9 --45 --77 -20 -102 -120 -67 -18 --24 --58 --88 -6 -89 -107 -55 -8 --33 --66 --95 --2 -82 -100 -72 -31 --8 --35 --67 --95 --103 --127 --127 --3 -83 -107 -59 -12 --29 --63 --92 --99 --127 --127 --127 -33 -106 -121 -71 -22 --21 --55 --85 -20 -102 -120 -68 -19 --24 --58 --88 -6 -89 -107 -56 -9 --32 --65 --95 --1 -81 -99 -48 -2 --38 --70 --98 --7 -77 -95 -44 --1 --41 --73 --101 --10 -73 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --8 -80 -103 -55 -8 --32 --66 --95 -0 -82 -101 -51 -5 --36 --69 --97 --104 --127 --127 --127 -26 -100 -115 -64 -16 --26 --59 --89 -15 -98 -115 -63 -15 --27 --61 --90 -3 -86 -104 -53 -6 --34 --67 --96 --3 -80 -97 -70 -30 --9 --37 --68 --96 --104 --127 --127 --127 --127 --127 --127 -41 -121 -127 -89 -38 --7 --44 --76 -30 -111 -127 -76 -26 --17 --53 --83 -12 -95 -112 -61 -13 --29 --63 --92 -2 -85 -103 -52 -5 --35 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --12 -72 -89 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -86 -35 --9 --45 --77 -28 -110 -127 -99 -57 -15 --14 --47 --78 --105 --110 --127 --127 --127 --127 --101 -54 -127 -127 -100 -47 -1 --37 --69 -37 -119 -127 -82 -32 --13 --49 --80 -17 -99 -117 -65 -16 --26 --60 --90 -4 -88 -104 -77 -36 --3 --31 --62 --91 --100 --127 --127 --127 --127 --127 --111 -44 -124 -127 -119 -81 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -111 -57 -9 --30 --64 -44 -125 -127 -88 -37 --9 --45 --77 -21 -104 -121 -68 -19 --23 --58 --88 -7 -90 -107 -56 -9 --32 --65 --94 --1 -82 -100 -72 -31 --8 --35 --67 --95 --103 --127 --127 --127 --127 --127 --112 -42 -122 -127 -117 -78 -38 -10 --27 --60 --90 --97 --127 -25 -109 -127 -82 -32 --13 --48 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -28 -110 -127 -74 -25 --19 --54 --84 -11 -94 -111 -60 -13 --29 --63 --92 -1 -85 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -71 -89 -39 --5 --44 --76 --103 --14 -70 -88 -38 --6 --45 --76 --104 --14 -69 -87 -38 --7 --45 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --15 -69 -87 -37 --7 --46 --77 --105 --15 -68 -86 -37 --8 --46 --77 --105 --15 -69 -86 -36 --8 --46 --78 --105 --16 -68 -86 -37 --8 --46 --77 --105 --16 -68 -86 -58 -19 --19 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -86 -34 --10 --46 --78 -27 -109 -126 -74 -24 --19 --54 --85 -11 -93 -111 -59 -12 --30 --63 --92 -0 -84 -101 -50 -4 --36 --69 --98 --5 -77 -95 -45 -0 --40 --72 --100 --10 -74 -92 -64 -24 --14 --42 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -118 -127 -87 -36 --9 --45 --77 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -112 -60 -13 --29 --63 --92 -1 -85 -101 -51 -4 --36 --69 --97 --5 -78 -96 -46 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -22 --16 --43 --73 --100 --108 --127 --127 --9 -78 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -121 -70 -21 --21 --56 --86 -18 -101 -119 -66 -18 --25 --59 --89 -5 -88 -106 -55 -8 --33 --66 --95 --3 -81 -99 -48 -2 --38 --70 --99 --7 -76 -93 -66 -27 --13 --40 --70 --97 --106 --127 --127 --127 --127 --127 --127 -40 -119 -127 -88 -37 --8 --45 --76 -29 -111 -127 -75 -25 --18 --53 --84 -12 -94 -111 -60 -12 --29 --63 --92 -2 -84 -102 -51 -5 --35 --68 --97 --5 -79 -96 -46 -0 --39 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -114 -75 -35 -7 --29 --63 --92 --98 --127 --127 --127 --127 --108 -63 -127 -127 -109 -56 -8 --31 --65 -43 -124 -127 -87 -36 --9 --46 --77 -20 -102 -120 -67 -19 --24 --58 --88 -7 -90 -107 -55 -8 --33 --66 --95 --2 -81 -99 -71 -31 --8 --35 --67 --95 --103 --127 --127 --4 -84 -107 -59 -11 --30 --64 --93 --100 --127 --127 --127 -33 -106 -123 -72 -23 --20 --55 --85 -20 -102 -120 -67 -19 --24 --58 --88 -6 -89 -107 -56 -9 --32 --65 --95 --2 -82 -99 -48 -2 --38 --70 --99 --7 -76 -95 -44 --1 --41 --73 --101 --11 -73 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -103 -55 -9 --32 --65 --95 -0 -83 -101 -51 -4 --36 --68 --97 --104 --127 --127 --127 -26 -99 -115 -65 -17 --25 --59 --89 -15 -98 -115 -63 -15 --27 --61 --90 -3 -86 -104 -53 -7 --34 --67 --96 --4 -80 -97 -70 -30 --9 --36 --67 --95 --103 --127 --127 --127 --127 --127 --127 -41 -121 -127 -90 -38 --7 --43 --75 -29 -111 -127 -75 -26 --18 --53 --84 -13 -94 -112 -61 -13 --29 --63 --92 -2 -85 -103 -52 -5 --35 --68 --97 --5 -77 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --16 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -117 -127 -86 -35 --10 --46 --77 -28 -109 -127 -99 -57 -16 --13 --47 --78 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -101 -48 -1 --37 --69 -37 -119 -127 -83 -32 --12 --48 --80 -17 -99 -116 -65 -16 --26 --60 --90 -4 -87 -105 -77 -36 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -123 -127 -119 -80 -40 -12 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -111 -57 -9 --30 --63 -44 -126 -127 -88 -37 --8 --45 --77 -21 -103 -121 -68 -20 --23 --57 --88 -7 -90 -108 -56 -9 --32 --65 --94 --2 -81 -99 -72 -31 --8 --35 --66 --94 --103 --127 --127 --127 --127 --127 --112 -42 -122 -127 -117 -79 -38 -10 --27 --61 --90 --97 --127 -24 -109 -127 -83 -32 --12 --48 --79 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -28 -109 -127 -74 -25 --18 --54 --84 -12 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -78 -95 -45 --1 --40 --72 --100 --9 -74 -93 -42 --3 --42 --74 --102 --12 -72 -90 -40 --5 --44 --76 --104 --13 -71 -88 -38 --6 --45 --76 --104 --14 -70 -88 -37 --7 --46 --77 --105 --15 -69 -86 -37 --8 --46 --77 --105 --15 -69 -87 -37 --7 --46 --77 --105 --15 -68 -86 -36 --8 --46 --78 --105 --15 -68 -87 -37 --8 --46 --77 --105 --16 -68 -86 -36 --8 --46 --78 --105 --15 -68 -86 -58 -19 --19 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --11 --47 --78 -27 -109 -127 -74 -25 --19 --54 --85 -11 -93 -110 -59 -11 --30 --63 --93 -1 -84 -102 -51 -4 --36 --69 --97 --6 -77 -96 -45 --1 --40 --72 --100 --9 -74 -92 -64 -25 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -118 -127 -87 -36 --9 --45 --77 -28 -109 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -4 --36 --68 --97 --5 -78 -95 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --43 --74 --102 --12 -72 -90 -63 -23 --16 --43 --73 --100 --107 --127 --127 --9 -77 -102 -55 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -70 -21 --22 --56 --86 -18 -101 -119 -67 -18 --24 --59 --89 -5 -89 -107 -56 -8 --33 --66 --95 --2 -80 -98 -48 -2 --38 --70 --99 --8 -76 -94 -66 -26 --12 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --45 --76 -29 -111 -127 -75 -26 --18 --53 --84 -11 -94 -112 -60 -12 --29 --63 --92 -1 -85 -101 -51 -5 --36 --69 --97 --5 -78 -97 -46 -0 --39 --71 --100 --9 -75 -92 -42 --3 --42 --74 --102 --11 -72 -90 -63 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -118 -127 -114 -75 -35 -6 --30 --63 --92 --99 --127 --127 --127 --127 --107 -62 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -88 -36 --9 --45 --77 -19 -102 -120 -68 -19 --24 --58 --88 -7 -90 -107 -56 -8 --33 --66 --95 --2 -81 -99 -72 -31 --8 --35 --66 --95 --103 --127 --127 --3 -84 -107 -60 -12 --30 --63 --92 --99 --127 --127 --127 -32 -106 -123 -71 -22 --21 --55 --85 -20 -102 -120 -68 -19 --24 --58 --88 -5 -89 -107 -55 -8 --33 --66 --95 --2 -82 -99 -48 -3 --38 --70 --98 --7 -77 -94 -44 --1 --41 --73 --101 --11 -73 -91 -63 -24 --14 --42 --72 --99 --107 --127 --127 --8 -80 -104 -55 -8 --32 --66 --95 -0 -83 -101 -51 -5 --36 --68 --97 --104 --127 --127 --127 -25 -99 -115 -64 -16 --25 --59 --89 -15 -97 -115 -63 -15 --27 --61 --90 -3 -87 -105 -53 -6 --34 --67 --96 --4 -80 -97 -70 -30 --9 --36 --67 --95 --104 --127 --127 --127 --127 --127 --127 -41 -121 -127 -89 -38 --7 --44 --76 -29 -111 -127 -76 -26 --18 --53 --83 -12 -95 -113 -61 -13 --28 --62 --92 -2 -84 -102 -51 -5 --35 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -86 -35 --9 --46 --77 -28 -110 -127 -98 -57 -16 --14 --47 --78 --105 --110 --127 --127 --127 --127 --100 -53 -127 -127 -101 -47 -1 --37 --69 -37 -119 -127 -83 -32 --13 --49 --80 -16 -99 -117 -64 -16 --26 --60 --90 -5 -88 -105 -77 -37 --3 --31 --62 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -119 -81 -40 -11 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -111 -57 -9 --30 --64 -44 -125 -127 -88 -37 --8 --45 --77 -20 -102 -120 -68 -19 --23 --58 --88 -8 -90 -108 -56 -9 --32 --65 --94 --2 -82 -100 -72 -32 --7 --35 --66 --94 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -79 -38 -10 --27 --60 --90 --97 --127 -24 -109 -127 -82 -32 --12 --48 --80 --105 --111 --127 --101 -47 -120 -127 -83 -32 --12 --47 --79 -28 -110 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -13 --29 --63 --92 -1 -85 -101 -51 -4 --36 --69 --97 --5 -78 -96 -45 -0 --40 --72 --100 --10 -74 -92 -42 --3 --42 --74 --102 --12 -71 -89 -40 --5 --44 --76 --103 --13 -71 -89 -39 --5 --44 --76 --104 --14 -70 -87 -38 --7 --46 --77 --104 --15 -69 -87 -37 --8 --46 --77 --105 --15 -68 -86 -37 --8 --46 --78 --105 --15 -68 -86 -37 --8 --46 --78 --105 --16 -68 -86 -36 --8 --46 --78 --105 --15 -68 -86 -37 --8 --46 --78 --105 --16 -68 -86 -58 -19 --18 --46 --76 --102 --110 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --11 --46 --78 -27 -109 -126 -74 -24 --19 --54 --84 -10 -93 -111 -59 -11 --30 --64 --93 -1 -84 -102 -51 -4 --36 --69 --97 --5 -77 -95 -45 --1 --40 --72 --100 --10 -74 -92 -64 -25 --14 --42 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -118 -127 -87 -36 --9 --45 --77 -28 -110 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -2 -85 -102 -51 -5 --36 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --10 -74 -92 -42 --3 --43 --74 --102 --11 -72 -89 -63 -23 --15 --43 --73 --100 --108 --127 --127 --9 -78 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -69 -21 --22 --56 --86 -18 -101 -118 -66 -17 --25 --59 --89 -5 -88 -107 -56 -8 --33 --66 --95 --3 -81 -99 -48 -2 --38 --70 --99 --7 -77 -94 -67 -27 --12 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -40 -119 -127 -88 -37 --8 --45 --76 -28 -111 -127 -75 -26 --18 --53 --84 -12 -94 -111 -60 -12 --29 --63 --92 -1 -85 -103 -52 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -63 -23 --15 --42 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -114 -75 -35 -7 --29 --63 --92 --99 --127 --127 --127 --127 --107 -62 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -87 -35 --10 --46 --77 -20 -102 -119 -67 -19 --24 --58 --88 -6 -90 -107 -56 -9 --32 --65 --95 --2 -81 -99 -71 -31 --8 --35 --66 --94 --103 --127 --127 --4 -84 -107 -59 -11 --30 --64 --93 --100 --127 --127 --127 -33 -106 -122 -71 -22 --20 --55 --85 -20 -102 -120 -68 -19 --24 --58 --88 -6 -88 -107 -56 -8 --33 --66 --95 --2 -81 -99 -48 -3 --38 --70 --98 --7 -77 -94 -44 --1 --41 --73 --101 --11 -73 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --94 --1 -83 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -26 -98 -115 -65 -17 --25 --59 --89 -15 -97 -115 -63 -15 --27 --61 --91 -3 -86 -104 -53 -7 --34 --67 --96 --4 -79 -97 -69 -30 --9 --36 --67 --95 --103 --127 --127 --127 --127 --127 --127 -41 -120 -127 -90 -38 --7 --43 --75 -30 -112 -127 -76 -26 --18 --53 --84 -12 -95 -113 -61 -13 --28 --62 --92 -2 -85 -102 -51 -5 --36 --68 --97 --5 -79 -96 -46 -0 --39 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -89 -62 -23 --15 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -118 -127 -86 -36 --9 --45 --77 -28 -109 -127 -99 -57 -16 --13 --47 --77 --104 --110 --127 --127 --127 --127 --100 -54 -127 -127 -101 -48 -1 --37 --69 -37 -119 -127 -83 -32 --13 --49 --80 -17 -99 -116 -64 -16 --26 --60 --90 -4 -87 -105 -77 -37 --3 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -45 -124 -127 -119 -80 -40 -12 --25 --59 --89 --112 --127 --127 --127 --127 --105 -65 -127 -127 -112 -57 -9 --30 --64 -44 -126 -127 -88 -37 --8 --45 --76 -20 -103 -120 -68 -19 --23 --58 --88 -8 -90 -108 -56 -9 --32 --65 --94 --2 -82 -99 -72 -32 --7 --35 --66 --94 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -79 -38 -10 --27 --60 --90 --97 --127 -24 -109 -127 -82 -32 --12 --48 --80 --105 --111 --127 --101 -46 -119 -127 -84 -33 --11 --47 --78 -28 -110 -127 -74 -25 --19 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -101 -51 -4 --36 --69 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -39 --6 --45 --76 --104 --14 -70 -87 -38 --7 --46 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --15 -68 -86 -36 --8 --46 --78 --105 --16 -68 -86 -36 --8 --46 --78 --105 --16 -68 -86 -37 --8 --46 --78 --105 --16 -68 -86 -36 --8 --46 --78 --105 --16 -68 -86 -59 -19 --19 --46 --76 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --10 --46 --78 -27 -109 -126 -74 -24 --19 --54 --85 -10 -93 -110 -59 -11 --30 --64 --93 -1 -83 -102 -51 -4 --36 --69 --97 --5 -77 -95 -45 --1 --40 --72 --100 --9 -74 -92 -65 -24 --14 --41 --72 --99 --107 --127 --127 --127 --127 --127 --127 -39 -118 -127 -88 -36 --9 --45 --77 -28 -110 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --6 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --16 --42 --73 --100 --107 --127 --127 --9 -77 -101 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -69 -21 --22 --56 --86 -18 -100 -119 -67 -18 --24 --59 --89 -5 -88 -106 -55 -8 --33 --66 --95 --2 -80 -99 -48 -2 --38 --70 --99 --7 -77 -94 -66 -27 --12 --40 --70 --98 --106 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --44 --76 -29 -111 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -13 --29 --63 --92 -1 -85 -103 -52 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -75 -92 -41 --4 --43 --74 --102 --12 -72 -89 -62 -23 --15 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -114 -75 -35 -6 --30 --63 --92 --99 --127 --127 --127 --127 --108 -63 -127 -127 -109 -55 -7 --31 --65 -42 -123 -127 -87 -36 --9 --46 --77 -20 -102 -120 -67 -19 --24 --58 --88 -7 -89 -107 -56 -9 --32 --65 --94 --2 -81 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --3 -83 -108 -60 -12 --30 --63 --92 --99 --127 --127 --127 -33 -106 -122 -71 -22 --20 --55 --86 -20 -102 -120 -68 -19 --23 --58 --88 -5 -89 -107 -55 -8 --33 --66 --95 --2 -81 -99 -49 -3 --37 --70 --98 --8 -76 -94 -44 --1 --41 --73 --101 --10 -74 -91 -64 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --94 --1 -83 -101 -51 -5 --36 --68 --97 --104 --127 --127 --127 -25 -98 -114 -64 -16 --26 --60 --89 -15 -97 -115 -63 -15 --27 --61 --90 -3 -86 -105 -53 -7 --34 --67 --96 --4 -80 -97 -70 -30 --9 --36 --67 --95 --103 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --44 --76 -29 -112 -127 -76 -26 --17 --52 --83 -12 -95 -113 -61 -13 --28 --62 --92 -2 -85 -102 -51 -5 --35 --68 --97 --5 -78 -96 -46 -0 --39 --71 --100 --9 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -86 -35 --9 --45 --77 -27 -109 -127 -99 -58 -16 --14 --47 --78 --104 --110 --127 --127 --127 --127 --100 -53 -127 -127 -101 -48 -1 --36 --69 -37 -118 -127 -82 -32 --13 --49 --80 -17 -99 -116 -64 -16 --26 --60 --90 -4 -88 -105 -77 -37 --2 --31 --63 --91 --99 --127 --127 --127 --127 --127 --110 -44 -124 -127 -119 -81 -40 -11 --26 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -111 -57 -9 --30 --64 -44 -125 -127 -88 -37 --8 --45 --77 -20 -103 -120 -68 -19 --24 --58 --88 -7 -90 -107 -56 -9 --32 --65 --94 --2 -81 -99 -72 -32 --7 --35 --66 --94 --102 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -79 -38 -10 --27 --60 --89 --97 --127 -24 -109 -127 -82 -32 --13 --48 --80 --105 --111 --127 --101 -46 -120 -127 -83 -32 --12 --47 --79 -28 -111 -127 -75 -25 --18 --53 --84 -10 -94 -112 -60 -12 --29 --63 --92 -1 -84 -101 -51 -5 --36 --69 --97 --5 -78 -96 -46 -0 --39 --72 --100 --10 -74 -91 -41 --4 --43 --74 --102 --12 -72 -90 -40 --5 --44 --75 --103 --14 -70 -89 -39 --6 --45 --76 --104 --14 -69 -87 -37 --7 --46 --77 --105 --14 -69 -87 -38 --7 --45 --77 --104 --15 -68 -86 -37 --8 --46 --77 --105 --15 -68 -87 -37 --7 --46 --77 --105 --16 -68 -86 -37 --7 --46 --77 --105 --15 -67 -86 -36 --8 --47 --78 --105 --16 -68 -86 -59 -20 --18 --45 --75 --102 --109 --127 --127 --127 --127 --127 --127 -36 -115 -127 -85 -34 --10 --46 --78 -27 -109 -126 -73 -24 --19 --54 --85 -11 -94 -111 -59 -11 --30 --64 --93 -1 -84 -101 -50 -4 --36 --69 --97 --6 -77 -95 -45 -0 --40 --72 --100 --9 -74 -92 -65 -25 --14 --41 --72 --99 --106 --127 --127 --127 --127 --127 --127 -39 -118 -127 -87 -36 --9 --45 --77 -28 -110 -127 -74 -25 --18 --53 --84 -11 -93 -111 -60 -12 --29 --63 --92 -1 -85 -102 -52 -5 --35 --68 --97 --5 -77 -96 -45 -0 --40 --72 --100 --9 -75 -92 -42 --3 --42 --74 --102 --12 -72 -90 -63 -23 --15 --42 --72 --100 --107 --127 --127 --10 -77 -101 -54 -7 --33 --67 --95 --102 --127 --127 --127 -31 -104 -120 -69 -21 --21 --56 --86 -19 -101 -118 -66 -18 --25 --59 --89 -5 -88 -107 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --98 --7 -77 -94 -67 -26 --12 --39 --70 --97 --105 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --45 --76 -29 -110 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -2 -84 -102 -52 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -114 -75 -35 -7 --29 --63 --91 --98 --127 --127 --127 --127 --107 -63 -127 -127 -109 -56 -8 --31 --65 -42 -124 -127 -87 -36 --9 --46 --77 -20 -102 -119 -67 -19 --24 --58 --88 -6 -89 -107 -55 -8 --33 --66 --95 --2 -80 -98 -71 -31 --8 --36 --67 --95 --103 --127 --127 --3 -83 -107 -59 -11 --30 --64 --93 --100 --127 --127 --127 -33 -106 -123 -72 -23 --20 --55 --85 -19 -102 -120 -68 -19 --23 --58 --88 -6 -88 -106 -56 -8 --33 --66 --95 --2 -82 -100 -49 -3 --37 --70 --98 --7 -76 -94 -44 --1 --41 --73 --101 --10 -74 -91 -63 -24 --15 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --94 --1 -82 -101 -50 -4 --36 --69 --97 --104 --127 --127 --127 -26 -99 -115 -64 -16 --26 --59 --89 -15 -98 -116 -64 -15 --27 --61 --90 -3 -85 -104 -53 -7 --34 --67 --96 --4 -80 -98 -70 -30 --9 --37 --68 --96 --104 --127 --127 --127 --127 --127 --127 -41 -121 -127 -90 -38 --7 --43 --75 -29 -112 -127 -76 -27 --17 --53 --83 -12 -94 -112 -61 -13 --29 --63 --92 -1 -85 -103 -52 -5 --35 --68 --97 --5 -78 -96 -45 -0 --39 --72 --100 --10 -74 -93 -42 --3 --43 --74 --102 --12 -72 -90 -63 -23 --15 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -86 -35 --9 --46 --77 -28 -109 -127 -99 -57 -16 --13 --47 --77 --104 --109 --127 --127 --127 --127 --100 -54 -127 -127 -101 -48 -1 --37 --69 -37 -119 -127 -82 -31 --13 --49 --80 -16 -99 -117 -65 -17 --26 --60 --90 -4 -87 -105 -77 -37 --2 --31 --62 --91 --100 --127 --127 --127 --127 --127 --110 -44 -123 -127 -120 -81 -40 -12 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -111 -57 -9 --30 --63 -43 -125 -127 -88 -37 --9 --45 --77 -20 -103 -120 -68 -19 --23 --58 --88 -7 -90 -108 -56 -9 --32 --65 --94 --2 -82 -99 -72 -31 --8 --35 --66 --94 --103 --127 --127 --127 --127 --127 --127 -42 -121 -127 -116 -79 -39 -10 --27 --60 --89 --97 --127 -24 -109 -127 -82 -32 --13 --48 --80 --105 --111 --127 --102 -46 -120 -127 -83 -33 --11 --47 --78 -28 -110 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -0 -84 -102 -51 -5 --35 --68 --97 --5 -78 -96 -46 -0 --39 --71 --100 --9 -75 -92 -42 --3 --42 --74 --102 --12 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --6 --45 --76 --104 --15 -69 -87 -38 --7 --45 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --15 -68 -87 -37 --8 --46 --77 --105 --16 -68 -86 -37 --8 --46 --78 --105 --16 -68 -86 -36 --8 --46 --78 --105 --16 -68 -86 -36 --8 --46 --78 --105 --16 -68 -86 -59 -19 --18 --45 --76 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -35 --10 --46 --78 -26 -109 -126 -73 -24 --19 --54 --85 -11 -94 -111 -59 -12 --30 --63 --93 -0 -83 -101 -51 -4 --36 --69 --97 --5 -77 -95 -45 --1 --40 --72 --100 --9 -74 -91 -65 -25 --14 --41 --71 --99 --107 --127 --127 --127 --127 --127 --127 -39 -118 -127 -88 -36 --9 --45 --77 -28 -109 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --30 --63 --92 -1 -84 -102 -52 -5 --35 --68 --97 --5 -77 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -89 -62 -23 --16 --43 --73 --99 --107 --127 --127 --9 -77 -101 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -70 -21 --22 --56 --86 -19 -101 -119 -67 -18 --24 --59 --88 -5 -88 -105 -54 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --98 --8 -76 -94 -67 -27 --12 --39 --70 --97 --105 --127 --127 --127 --127 --127 --127 -40 -119 -127 -88 -37 --8 --44 --76 -28 -110 -127 -74 -25 --18 --54 --84 -11 -94 -112 -60 -13 --29 --63 --92 -0 -84 -102 -51 -5 --35 --68 --97 --5 -77 -96 -45 -0 --40 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --12 -72 -89 -62 -23 --15 --42 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -117 -127 -113 -76 -35 -7 --29 --62 --91 --98 --127 --127 --127 --127 --108 -62 -127 -127 -109 -55 -7 --31 --65 -42 -123 -127 -87 -36 --10 --46 --77 -20 -103 -120 -68 -19 --23 --58 --88 -6 -89 -107 -56 -9 --32 --65 --94 --2 -81 -99 -71 -31 --8 --36 --67 --95 --103 --127 --127 --3 -84 -108 -60 -12 --29 --63 --92 --100 --127 --127 --127 -33 -106 -123 -71 -22 --20 --55 --85 -19 -101 -120 -67 -19 --24 --58 --88 -6 -89 -107 -55 -8 --33 --66 --95 --2 -81 -99 -49 -3 --37 --70 --98 --7 -76 -94 -44 --1 --41 --73 --101 --10 -74 -91 -64 -24 --14 --42 --72 --99 --107 --127 --127 --8 -80 -104 -56 -9 --32 --65 --94 --1 -82 -101 -50 -4 --36 --68 --97 --104 --127 --127 --127 -25 -99 -115 -64 -16 --26 --59 --89 -15 -97 -116 -64 -16 --26 --60 --90 -3 -86 -104 -53 -6 --34 --67 --96 --4 -80 -97 -70 -30 --9 --36 --67 --95 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --44 --76 -30 -112 -127 -77 -27 --17 --52 --83 -12 -94 -112 -60 -13 --29 --63 --92 -2 -85 -102 -51 -5 --35 --68 --97 --5 -79 -97 -46 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -63 -23 --15 --42 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -117 -127 -87 -36 --9 --45 --77 -27 -109 -127 -99 -58 -16 --13 --47 --77 --104 --109 --127 --127 --127 --127 --101 -53 -127 -127 -101 -48 -1 --36 --69 -37 -118 -127 -82 -31 --13 --49 --80 -17 -99 -117 -65 -16 --26 --60 --90 -4 -87 -105 -77 -37 --3 --31 --62 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -119 -81 -41 -11 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -112 -57 -9 --30 --64 -44 -125 -127 -88 -37 --8 --45 --77 -20 -103 -120 -68 -19 --24 --58 --88 -7 -90 -107 -56 -9 --32 --65 --94 --2 -81 -99 -72 -31 --8 --35 --67 --94 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -78 -38 -10 --27 --60 --89 --97 --127 -24 -109 -127 -82 -32 --13 --49 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -28 -110 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -77 -96 -45 -0 --40 --72 --100 --10 -74 -92 -42 --3 --42 --74 --102 --11 -72 -90 -40 --5 --44 --75 --103 --14 -70 -88 -38 --7 --45 --77 --104 --15 -69 -87 -38 --7 --45 --77 --104 --16 -68 -87 -37 --7 --46 --77 --105 --15 -69 -86 -37 --7 --46 --77 --105 --15 -68 -86 -37 --7 --46 --77 --105 --16 -68 -86 -36 --8 --46 --78 --105 --15 -68 -86 -37 --8 --46 --77 --105 --16 -68 -86 -59 -19 --18 --46 --75 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --11 --46 --78 -27 -108 -126 -73 -24 --19 --54 --85 -10 -93 -111 -60 -12 --30 --63 --92 --1 -83 -102 -51 -4 --36 --69 --97 --5 -77 -95 -45 -0 --40 --72 --100 --10 -74 -92 -64 -25 --13 --41 --71 --98 --106 --127 --127 --127 --127 --127 --127 -38 -118 -127 -88 -37 --8 --45 --76 -28 -110 -127 -75 -25 --19 --54 --84 -11 -93 -111 -60 -13 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --10 -74 -93 -42 --3 --42 --74 --102 --12 -71 -90 -62 -23 --16 --42 --72 --99 --107 --127 --127 --10 -77 -101 -54 -7 --33 --66 --95 --102 --127 --127 --127 -31 -104 -121 -69 -21 --22 --56 --86 -18 -101 -119 -67 -18 --24 --59 --88 -6 -88 -106 -55 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --71 --99 --8 -76 -93 -67 -27 --12 --39 --70 --97 --105 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --45 --76 -28 -109 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --39 --72 --100 --9 -74 -93 -42 --3 --42 --74 --102 --12 -72 -89 -62 -23 --16 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -113 -75 -35 -7 --29 --62 --91 --98 --127 --127 --127 --127 --107 -62 -127 -127 -109 -56 -8 --31 --65 -43 -124 -127 -86 -35 --10 --46 --78 -20 -102 -120 -68 -19 --23 --58 --88 -6 -89 -107 -56 -9 --32 --65 --95 --1 -82 -99 -72 -31 --8 --36 --67 --95 --103 --127 --127 --4 -84 -108 -59 -12 --29 --63 --92 --100 --127 --127 --127 -33 -106 -123 -72 -23 --20 --54 --85 -19 -102 -119 -67 -19 --24 --58 --88 -6 -88 -106 -56 -9 --33 --66 --95 --2 -82 -99 -48 -3 --37 --70 --98 --7 -77 -94 -44 --1 --41 --73 --101 --11 -73 -91 -63 -24 --14 --42 --72 --99 --107 --127 --127 --7 -80 -104 -56 -9 --32 --65 --94 --1 -83 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -25 -99 -115 -64 -16 --26 --59 --89 -15 -97 -116 -64 -16 --26 --60 --90 -3 -86 -104 -53 -6 --34 --67 --96 --4 -79 -97 -70 -30 --9 --37 --68 --95 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -89 -38 --7 --44 --76 -29 -112 -127 -76 -26 --17 --52 --83 -12 -94 -112 -61 -13 --29 --63 --92 -1 -85 -103 -52 -5 --35 --68 --97 --5 -78 -95 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -63 -24 --15 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -37 -117 -127 -87 -35 --9 --45 --77 -27 -109 -126 -99 -57 -16 --13 --47 --77 --104 --109 --127 --127 --127 --127 --101 -53 -127 -127 -101 -48 -1 --36 --69 -37 -118 -127 -82 -31 --13 --49 --80 -16 -99 -116 -65 -16 --26 --60 --90 -4 -87 -105 -77 -37 --3 --31 --62 --91 --100 --127 --127 --127 --127 --127 --110 -44 -123 -127 -120 -80 -40 -12 --25 --59 --88 --112 --127 --127 --127 --127 --105 -64 -127 -127 -112 -57 -9 --30 --63 -43 -125 -127 -88 -36 --9 --45 --77 -21 -103 -120 -68 -20 --23 --57 --88 -6 -90 -107 -56 -9 --32 --65 --94 --2 -82 -99 -72 -31 --8 --36 --67 --95 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -79 -38 -10 --26 --60 --89 --97 --127 -23 -109 -127 -82 -32 --13 --48 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -28 -109 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --13 -72 -90 -40 --5 --44 --75 --103 --13 -70 -88 -38 --6 --45 --77 --104 --14 -70 -88 -38 --6 --45 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --15 -69 -87 -37 --7 --46 --77 --105 --15 -69 -86 -36 --8 --46 --77 --105 --16 -68 -87 -37 --8 --46 --77 --105 --16 -68 -87 -37 --7 --46 --77 --105 --16 -67 -86 -59 -19 --19 --46 --76 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --10 --46 --78 -27 -108 -126 -73 -24 --19 --54 --85 -10 -93 -111 -59 -12 --30 --63 --93 -0 -83 -101 -51 -4 --36 --69 --97 --6 -78 -96 -45 -0 --40 --72 --100 --9 -74 -92 -65 -25 --13 --41 --71 --99 --106 --127 --127 --127 --127 --127 --127 -39 -118 -127 -87 -36 --8 --45 --77 -27 -109 -127 -74 -25 --18 --54 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --36 --68 --97 --5 -78 -96 -45 -0 --40 --72 --100 --9 -74 -93 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --15 --43 --73 --100 --107 --127 --127 --9 -77 -101 -54 -7 --33 --66 --95 --102 --127 --127 --127 -31 -104 -121 -70 -21 --22 --56 --86 -19 -100 -119 -67 -18 --24 --59 --88 -5 -88 -106 -54 -8 --33 --66 --95 --2 -81 -99 -48 -2 --38 --70 --98 --8 -76 -93 -66 -27 --12 --39 --70 --97 --105 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --44 --76 -28 -110 -127 -75 -25 --18 --53 --84 -11 -94 -112 -61 -13 --28 --63 --92 -1 -84 -102 -51 -5 --36 --68 --97 --5 -78 -96 -46 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -71 -89 -62 -23 --15 --43 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -117 -127 -113 -75 -35 -7 --29 --62 --91 --98 --127 --127 --127 --127 --108 -62 -127 -127 -109 -55 -7 --31 --65 -42 -123 -127 -87 -35 --9 --46 --77 -19 -102 -120 -68 -19 --24 --58 --88 -6 -89 -107 -56 -8 --33 --66 --95 --3 -82 -99 -72 -31 --8 --35 --67 --94 --103 --127 --127 --3 -83 -108 -60 -12 --29 --63 --92 --99 --127 --127 --127 -33 -107 -123 -72 -23 --20 --55 --85 -19 -102 -119 -68 -19 --24 --58 --88 -6 -89 -107 -56 -9 --32 --66 --95 --2 -80 -99 -48 -3 --37 --70 --98 --8 -77 -94 -44 --1 --41 --73 --101 --10 -73 -91 -64 -24 --14 --41 --72 --99 --107 --127 --127 --8 -79 -103 -56 -9 --32 --65 --94 --1 -82 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -25 -99 -115 -65 -16 --26 --59 --89 -15 -97 -115 -64 -16 --26 --60 --90 -3 -86 -104 -53 -6 --34 --67 --96 --4 -80 -97 -70 -31 --9 --36 --68 --95 --104 --127 --127 --127 --127 --127 --127 -41 -121 -127 -90 -38 --7 --44 --76 -29 -111 -127 -76 -26 --17 --52 --83 -12 -94 -112 -60 -13 --29 --63 --92 -2 -84 -103 -52 -5 --35 --68 --97 --5 -78 -96 -45 -0 --39 --72 --100 --9 -75 -93 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --15 --42 --73 --100 --108 --127 --127 --127 --127 --127 --127 -37 -117 -127 -86 -36 --9 --45 --77 -27 -109 -127 -99 -57 -16 --13 --47 --77 --104 --110 --127 --127 --127 --127 --101 -52 -127 -127 -100 -48 -1 --37 --69 -37 -119 -127 -83 -32 --13 --49 --80 -16 -99 -117 -65 -17 --25 --59 --89 -4 -87 -104 -77 -37 --3 --31 --62 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -119 -81 -40 -12 --25 --59 --88 --112 --127 --127 --127 --127 --105 -64 -127 -127 -112 -57 -9 --30 --64 -44 -125 -127 -88 -37 --8 --45 --77 -21 -103 -121 -68 -19 --23 --58 --88 -6 -89 -107 -56 -9 --32 --65 --94 --3 -81 -99 -72 -32 --7 --35 --66 --94 --103 --127 --127 --127 --127 --127 --112 -42 -122 -127 -117 -79 -38 -10 --26 --60 --89 --97 --127 -23 -109 -127 -82 -32 --13 --49 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -28 -110 -127 -75 -25 --18 --53 --84 -11 -93 -111 -60 -13 --29 --63 --92 -1 -84 -102 -51 -5 --36 --68 --97 --5 -77 -95 -45 -0 --40 --72 --100 --9 -75 -93 -43 --3 --42 --74 --102 --12 -72 -90 -40 --5 --44 --75 --103 --14 -70 -88 -38 --6 --45 --77 --104 --14 -70 -88 -38 --7 --45 --77 --104 --16 -68 -87 -37 --7 --46 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --15 -68 -86 -36 --8 --46 --78 --105 --16 -68 -85 -36 --8 --46 --78 --105 --16 -68 -86 -37 --7 --46 --77 --105 --17 -68 -86 -59 -20 --18 --45 --75 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -35 --10 --46 --78 -27 -109 -125 -73 -24 --19 --54 --85 -10 -93 -111 -60 -12 --29 --63 --92 -0 -84 -102 -51 -4 --36 --69 --97 --6 -77 -96 -45 -0 --40 --72 --100 --10 -74 -92 -64 -25 --13 --41 --71 --98 --106 --127 --127 --127 --127 --127 --127 -38 -118 -127 -88 -36 --9 --45 --77 -28 -110 -127 -74 -25 --19 --54 --84 -11 -94 -112 -61 -13 --29 --63 --92 -1 -84 -101 -51 -4 --36 --69 --97 --5 -78 -96 -46 -0 --40 --72 --100 --10 -74 -93 -42 --3 --42 --74 --102 --12 -72 -89 -62 -23 --16 --43 --73 --100 --108 --127 --127 --10 -77 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -121 -70 -22 --21 --56 --86 -18 -101 -118 -66 -18 --24 --59 --89 -5 -88 -106 -55 -8 --33 --66 --95 --3 -81 -99 -48 -2 --38 --70 --99 --7 -75 -93 -67 -27 --12 --39 --70 --97 --105 --127 --127 --127 --127 --127 --127 -40 -119 -127 -89 -37 --8 --44 --76 -29 -110 -127 -75 -25 --18 --53 --84 -11 -94 -111 -61 -13 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -79 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -62 -23 --15 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -114 -75 -35 -7 --29 --63 --92 --99 --127 --127 --127 --127 --107 -63 -127 -127 -109 -55 -7 --31 --65 -42 -124 -127 -87 -36 --9 --46 --77 -19 -101 -120 -68 -19 --23 --58 --88 -6 -89 -107 -56 -9 --32 --66 --95 --2 -81 -99 -72 -32 --8 --36 --67 --95 --103 --127 --127 --4 -84 -108 -60 -12 --29 --63 --92 --100 --127 --127 --127 -32 -106 -122 -72 -22 --20 --55 --85 -19 -102 -120 -68 -19 --24 --58 --88 -6 -89 -107 -56 -9 --32 --65 --95 --2 -81 -99 -48 -2 --38 --70 --99 --7 -76 -94 -44 --1 --41 --73 --101 --11 -73 -91 -64 -24 --14 --41 --72 --99 --107 --127 --127 --8 -79 -103 -56 -8 --32 --65 --95 --1 -83 -102 -51 -5 --36 --68 --97 --104 --127 --127 --127 -25 -99 -115 -65 -17 --25 --59 --89 -14 -98 -116 -64 -15 --26 --60 --90 -3 -86 -104 -54 -7 --34 --67 --96 --5 -79 -97 -70 -30 --9 --36 --68 --95 --104 --127 --127 --127 --127 --127 --127 -41 -120 -127 -90 -38 --7 --43 --75 -29 -111 -127 -76 -26 --17 --53 --83 -12 -94 -112 -61 -13 --29 --62 --92 -1 -85 -103 -52 -5 --35 --68 --97 --5 -77 -96 -46 -0 --40 --72 --100 --10 -75 -93 -43 --3 --42 --74 --102 --12 -72 -90 -63 -23 --15 --42 --72 --99 --107 --127 --127 --127 --127 --127 --127 -37 -117 -127 -87 -36 --9 --46 --77 -27 -109 -127 -98 -57 -16 --13 --47 --77 --104 --110 --127 --127 --127 --127 --101 -54 -127 -127 -101 -48 -1 --36 --69 -37 -118 -127 -82 -31 --13 --49 --80 -16 -99 -116 -65 -16 --26 --60 --89 -4 -87 -105 -77 -37 --2 --31 --63 --91 --100 --127 --127 --127 --127 --127 --110 -44 -123 -127 -120 -81 -40 -12 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -112 -58 -9 --29 --63 -43 -125 -127 -88 -37 --8 --45 --77 -21 -103 -121 -69 -20 --23 --57 --87 -6 -90 -107 -56 -9 --32 --66 --95 --2 -82 -100 -72 -32 --7 --35 --66 --94 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -117 -79 -38 -9 --27 --61 --90 --97 --127 -24 -109 -127 -83 -32 --12 --48 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --78 -27 -109 -127 -75 -25 --18 --53 --84 -11 -94 -111 -60 -12 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --6 -78 -96 -45 -0 --40 --72 --100 --9 -74 -93 -42 --3 --42 --74 --102 --13 -72 -90 -40 --5 --44 --75 --103 --14 -70 -89 -39 --6 --45 --76 --104 --15 -69 -88 -38 --7 --45 --77 --104 --15 -69 -86 -37 --7 --46 --77 --105 --16 -69 -87 -37 --7 --46 --77 --104 --16 -68 -87 -37 --8 --46 --78 --105 --15 -68 -86 -37 --7 --46 --77 --105 --16 -68 -86 -36 --8 --47 --78 --105 --16 -68 -85 -59 -20 --18 --45 --75 --102 --109 --127 --127 --127 --127 --127 --127 -36 -116 -127 -85 -34 --10 --46 --78 -27 -109 -127 -74 -24 --19 --54 --85 -10 -93 -110 -59 -11 --30 --64 --93 -0 -83 -101 -51 -4 --36 --69 --97 --6 -77 -96 -45 -0 --40 --72 --100 --10 -74 -92 -65 -25 --14 --41 --71 --99 --106 --127 --127 --127 --127 --127 --127 -39 -118 -127 -88 -36 --9 --45 --77 -27 -109 -127 -75 -25 --19 --53 --84 -11 -94 -111 -60 -13 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -78 -96 -45 -0 --39 --72 --100 --10 -74 -92 -42 --3 --42 --74 --102 --13 -72 -90 -63 -23 --15 --42 --73 --100 --107 --127 --127 --9 -77 -102 -55 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -120 -70 -21 --21 --56 --86 -18 -100 -119 -67 -18 --24 --59 --89 -5 -88 -106 -55 -8 --33 --66 --95 --2 -80 -99 -49 -3 --37 --70 --98 --8 -76 -94 -66 -27 --12 --39 --70 --97 --105 --127 --127 --127 --127 --127 --127 -39 -119 -127 -88 -37 --8 --45 --76 -28 -110 -127 -76 -26 --18 --53 --84 -11 -94 -112 -60 -13 --29 --63 --92 -1 -84 -101 -51 -5 --36 --69 --97 --5 -79 -97 -46 -0 --39 --71 --100 --10 -74 -92 -42 --3 --42 --74 --102 --12 -72 -90 -63 -23 --15 --43 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -114 -75 -35 -7 --29 --62 --91 --98 --127 --127 --127 --127 --108 -62 -127 -127 -109 -55 -7 --31 --65 -43 -124 -127 -87 -36 --9 --45 --77 -19 -102 -120 -68 -19 --24 --58 --88 -6 -89 -107 -56 -9 --32 --65 --95 --3 -81 -99 -71 -31 --7 --35 --66 --94 --103 --127 --127 --3 -83 -108 -60 -12 --29 --63 --92 --100 --127 --127 --127 -32 -106 -122 -71 -22 --21 --55 --85 -19 -102 -120 -68 -19 --24 --58 --88 -5 -89 -107 -56 -9 --32 --66 --95 --2 -81 -99 -48 -2 --38 --70 --98 --7 -77 -95 -45 --1 --41 --73 --101 --11 -73 -90 -63 -24 --14 --41 --72 --99 --107 --127 --127 --8 -80 -104 -56 -9 --32 --66 --95 --1 -83 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -25 -99 -115 -65 -17 --25 --59 --89 -15 -97 -115 -63 -15 --27 --61 --90 -3 -86 -105 -53 -7 --34 --67 --96 --4 -80 -97 -70 -31 --8 --36 --67 --95 --103 --127 --127 --127 --127 --127 --127 -42 -121 -127 -90 -38 --7 --44 --76 -29 -111 -127 -76 -26 --17 --53 --83 -12 -95 -112 -61 -13 --28 --63 --92 -1 -84 -103 -52 -5 --35 --68 --97 --5 -77 -96 -45 -0 --40 --72 --100 --9 -74 -92 -42 --3 --42 --74 --102 --12 -71 -90 -63 -23 --16 --42 --73 --100 --108 --127 --127 --127 --127 --127 --127 -38 -117 -127 -87 -36 --9 --45 --77 -27 -109 -127 -98 -57 -16 --13 --47 --77 --104 --110 --127 --127 --127 --127 --100 -53 -127 -127 -101 -48 -1 --37 --69 -37 -118 -127 -83 -32 --13 --49 --80 -16 -98 -117 -65 -16 --26 --60 --90 -4 -87 -105 -77 -37 --3 --31 --62 --91 --100 --127 --127 --127 --127 --127 --110 -44 -124 -127 -120 -81 -40 -12 --25 --59 --88 --112 --127 --127 --127 --127 --106 -64 -127 -127 -112 -57 -9 --30 --64 -44 -125 -127 -88 -37 --8 --45 --77 -20 -102 -120 -68 -20 --23 --58 --88 -6 -90 -108 -56 -9 --32 --65 --94 --2 -81 -100 -72 -31 --7 --35 --66 --94 --103 --127 --127 --127 --127 --127 --112 -42 -121 -127 -118 -79 -38 -10 --26 --60 --89 --97 --127 -24 -109 -127 -83 -32 --12 --48 --80 --105 --111 --127 --101 -47 -120 -127 -84 -33 --11 --47 --79 -27 -109 -127 -75 -25 --19 --54 --84 -11 -94 -111 -61 -13 --29 --63 --92 -1 -84 -101 -51 -5 --36 --69 --97 --5 -77 -96 -46 -0 --40 --72 --100 --10 -74 -93 -43 --3 --42 --74 --102 --12 -71 -90 -40 --5 --44 --76 --103 --14 -70 -89 -39 --6 --45 --77 --104 --14 -69 -87 -38 --7 --45 --77 --104 --15 -69 -87 -37 --7 --46 --77 --105 --16 -69 -87 -37 --7 --46 --77 --105 --16 -67 -86 -36 --8 --46 --78 --105 --16 -68 -87 -37 --7 --46 --77 --105 --16 -68 -86 -37 --7 --46 --78 --105 --16 -68 -86 -58 -19 --18 --45 --75 --102 --109 --127 --127 --127 --127 --127 --127 -35 -115 -127 -85 -34 --11 --46 --78 -26 -109 -126 -74 -24 --19 --54 --85 -10 -92 -111 -60 -12 --30 --63 --92 -0 -84 -102 -51 -5 --36 --69 --97 --5 -77 -95 -45 -0 --40 --72 --100 --10 -74 -92 -64 -25 --13 --41 --71 --99 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -87 -36 --9 --45 --77 -28 -110 -127 -75 -25 --18 --53 --84 -11 -93 -111 -60 -13 --29 --63 --92 -0 -84 -102 -51 -5 --35 --68 --97 --5 -78 -96 -46 -0 --39 --72 --100 --10 -74 -92 -42 --3 --43 --74 --102 --12 -72 -90 -63 -23 --15 --43 --73 --100 --108 --127 --127 --9 -77 -102 -54 -8 --33 --66 --95 --102 --127 --127 --127 -31 -104 -121 -70 -21 --21 --56 --86 -18 -101 -119 -67 -18 --24 --59 --89 -5 -88 -107 -56 -8 --33 --66 --95 --3 -80 -99 -48 -2 --38 --71 --99 --7 -76 -94 -67 -27 --12 --40 --70 --97 --105 --127 --127 --127 --127 --127 --127 -40 -119 -127 -88 -37 --8 --44 --76 -28 -110 -127 -76 -26 --18 --53 --84 -11 -94 -111 -60 -13 --29 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --6 -78 -96 -45 -0 --40 --72 --100 --10 -74 -92 -42 --3 --42 --74 --102 --13 -72 -90 -63 -23 --15 --42 --73 --100 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -114 -75 -35 -7 --29 --63 --91 --99 --127 --127 --127 --127 --107 -63 -127 -127 -109 -55 -7 --31 --65 -42 -124 -127 -87 -36 --9 --46 --77 -19 -101 -119 -68 -19 --24 --58 --88 -6 -90 -108 -56 -9 --32 --65 --94 --2 -81 -99 -72 -32 --7 --35 --66 --94 --102 --127 --127 --4 -83 -107 -59 -12 --30 --63 --92 --100 --127 --127 --127 -32 -106 -122 -71 -22 --21 --55 --86 -19 -102 -120 -68 -19 --24 --58 --88 -5 -88 -106 -56 -9 --33 --66 --95 --3 -81 -99 -49 -3 --37 --70 --98 --7 -77 -94 -45 --1 --41 --73 --101 --11 -72 -91 -64 -24 --14 --41 --72 --99 --107 --127 --127 --8 -79 -103 -56 -9 --32 --65 --94 --1 -82 -101 -51 -4 --36 --69 --97 --104 --127 --127 --127 -26 -99 -115 -65 -17 --25 --59 --89 -14 -97 -115 -64 -15 --27 --61 --91 -3 -86 -104 -54 -7 --34 --67 --96 --5 -79 -97 -70 -30 --9 --36 --67 --95 --103 --127 --127 --127 --127 --127 --127 -41 -120 -127 -90 -38 --7 --43 --75 -29 -112 -127 -76 -26 --18 --53 --83 -11 -94 -112 -61 -13 --28 --63 --92 -1 -84 -102 -51 -5 --35 --68 --97 --5 -79 -97 -46 -0 --39 --72 --100 --10 -74 -93 -43 --3 --42 --74 --102 --12 -72 -89 -62 -23 --15 --42 --73 --99 --107 --127 --127 --127 --127 --127 --127 -38 -118 -127 -86 -35 --9 --46 --77 -27 -109 -127 -99 -57 -16 --13 --47 --78 --105 --110 --127 --127 --127 --127 --100 -53 -127 -127 -101 -48 -1 --36 --69 -37 -118 -127 -82 -32 --13 --49 --80 -16 -99 -116 -65 -16 --26 --60 --90 -3 -88 -106 -77 -37 --2 --30 --62 --91 --100 --127 --127 --127 --127 --127 --109 -45 -124 -127 -120 -81 -40 -12 --25 --59 --88 --112 --127 --127 --127 --127 --105 -65 -127 -127 -112 -57 -9 --30 --64 -44 -125 -127 -88 -37 --8 --45 --77 -20 -103 -120 -68 -19 --23 --58 --88 -7 -90 -108 -57 -9 --32 --65 --94 --2 -82 -100 -72 -32 --7 --35 --66 --94 --103 --127 --127 --127 --127 --127 --112 -42 diff --git a/traces/modulation-direct-32.pm3 b/traces/modulation-direct-32.pm3 deleted file mode 100644 index 8d72895aa..000000000 --- a/traces/modulation-direct-32.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --86 --82 --76 --71 --66 --62 --58 --54 --50 --48 --44 --42 --38 --36 --34 --32 --30 --29 --26 --25 --22 --22 --20 --19 --17 --17 --16 --16 --14 --13 --12 --12 --11 --11 --10 --10 --8 --9 --7 --8 --7 --7 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --4 --4 --3 --3 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -89 -82 -77 -70 -66 -60 -56 -51 -48 -43 -41 -36 -34 -30 -29 -26 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -9 -7 -7 -6 -6 -4 -4 -3 -3 -2 -1 -0 -1 -0 -0 --1 --1 --1 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --31 --54 --73 --90 --103 --99 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --98 --107 --100 --94 --87 --82 --77 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --32 --30 --29 --26 --25 --23 --22 --20 --19 --18 --18 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --8 --6 --6 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -110 -105 -95 -89 -81 -77 -70 -65 -60 -56 -51 -48 -43 -40 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 --88 --83 --77 --74 --68 --64 --59 --56 --51 --49 --45 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --23 --20 --19 --18 --18 --16 --16 --14 --14 --13 --13 --11 --10 --10 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -105 -95 -90 -82 -77 -70 -65 -60 -56 -50 -48 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 --88 --83 --78 --73 --68 --64 --59 --55 --51 --48 --45 --43 --39 --38 --35 --33 --30 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --15 --14 --12 --12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -87 -80 -75 -68 -64 -58 -55 -49 -47 -42 -39 -35 -4 --25 --48 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --102 --96 --89 --83 --78 --74 --68 --64 --59 --56 --51 --48 --45 --43 --39 --37 --35 --33 --31 --29 --27 --26 --24 --23 --20 --19 --18 --18 --16 --16 --14 --15 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --4 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -95 -90 -81 -77 -70 -65 -59 -56 -51 -47 -43 -41 -36 -4 --24 --47 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --108 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -100 -93 -85 -80 -73 -68 -62 -59 -53 -50 -45 -42 -37 -36 -32 -30 -27 --3 --31 --53 --73 --88 --102 --97 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --102 --111 --103 --97 --90 --85 --79 --75 --70 --66 --61 --57 --53 --50 --46 --44 --40 --38 --36 --34 --31 --29 --28 --27 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --6 --6 --5 --5 --5 --5 --4 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -77 -70 -66 -59 -56 -51 -47 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -109 -99 -93 -85 -79 -73 -69 -62 -59 -53 -50 -45 -43 -38 -35 -32 -30 -27 -26 -22 -22 -19 -18 -16 -15 -13 -12 -9 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -0 -0 -0 --1 --1 --2 --1 --2 --1 --3 --29 --52 --71 --88 --102 --114 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --107 --99 --93 --87 --82 --76 --72 --66 --62 --57 --55 --50 --48 --44 --42 --39 --37 --34 --32 --30 --29 --26 --25 --23 --22 --20 --19 --18 --18 --16 --15 --14 --13 --12 --12 --11 --12 --10 --10 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --1 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --1 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --1 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -90 -82 -77 -70 -65 -59 -56 -51 -48 -43 -40 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 --88 --83 --78 --73 --68 --64 --59 --56 --51 --48 --45 --43 --39 --38 --34 --33 --30 --29 --27 --26 --23 --23 --20 --20 --18 --17 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --4 --5 --4 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -70 -65 -60 -56 -51 -48 -43 -40 -36 -5 --24 --47 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --42 --39 --37 --35 --33 --30 --29 --27 --26 --24 --23 --21 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --4 --5 --5 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --1 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -89 -82 -77 -70 -66 -60 -56 -51 -48 -43 -40 -36 -34 -31 -29 -26 -24 -21 -20 -17 -17 -15 -14 -11 -11 -9 -9 -7 -7 -6 -6 -4 -3 -3 -3 -1 -1 -0 -1 -0 -0 --1 --1 --1 --27 --52 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --87 --82 --76 --71 --66 --62 --58 --54 --50 --48 --44 --42 --38 --36 --33 --32 --30 --29 --26 --25 --23 --22 --20 --19 --18 --17 --16 --16 --14 --14 --12 --12 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --4 --4 --3 --3 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -77 -69 -66 -60 -56 -51 -48 -43 -41 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --78 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --38 --35 --33 --30 --29 --27 --26 --23 --22 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --11 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --5 --6 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -105 -95 -89 -82 -77 -69 -65 -59 -55 -51 -48 -43 -41 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -99 -93 -86 -80 -73 -68 -62 -59 -53 -50 -45 -42 -38 -36 -32 -30 -27 --4 --31 --53 --73 --88 --102 --97 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --102 --112 --103 --98 --91 --85 --80 --75 --70 --65 --61 --57 --53 --50 --46 --44 --40 --39 --35 --34 --31 --29 --28 --27 --24 --23 --21 --21 --18 --18 --16 --16 --15 --15 --13 --13 --11 --11 --11 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --6 --6 --5 --5 --4 --5 --4 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -96 -89 -82 -77 -69 -65 -59 -56 -51 -48 -43 -40 -36 -34 -31 -29 -26 -24 -21 -20 -18 -16 -15 -14 -12 -11 -10 -10 -8 -7 -6 -5 -4 -4 -2 -3 -2 -1 -0 -1 -0 -0 --1 --1 --2 --28 --52 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --86 --82 --75 --71 --66 --62 --58 --54 --50 --48 --44 --42 --38 --36 --33 --32 --29 --29 --26 --25 --23 --22 --20 --20 --18 --17 --16 --15 --14 --13 --12 --12 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -95 -89 -82 -77 -70 -65 -60 -56 -51 -48 -43 -41 -36 -35 -31 -29 -26 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -10 -7 -7 -6 -5 -4 -4 -2 -3 -2 -2 -1 -1 -0 -0 --1 -0 --2 --2 --2 --2 --3 --2 --3 --3 --3 --2 --4 --3 --4 --4 --4 --3 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --5 --6 --5 --5 --5 --5 --31 --55 --73 --90 --103 --99 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --98 --107 --100 --94 --87 --82 --77 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --32 --30 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --12 --11 --10 --10 --9 --9 --7 --8 --7 --8 --7 --7 --6 --7 --5 --5 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -95 -89 -82 -77 -70 -65 -60 -56 -50 -47 -42 -40 -36 -5 --24 --47 --68 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --35 --33 --30 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -104 -95 -89 -81 -77 -70 -65 -60 -56 -51 -47 -42 -40 -36 -5 --24 --47 --68 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --34 --33 --30 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -119 -109 -102 -93 -87 -80 -75 -68 -63 -58 -55 -49 -47 -42 -39 -35 -3 --25 --48 --68 --84 --99 --109 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --78 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --34 --33 --30 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --11 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -81 -77 -70 -66 -60 -56 -51 -47 -43 -41 -36 -4 --24 --47 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -109 -100 -94 -85 -80 -72 -68 -63 -59 -52 -50 -45 -42 -38 -36 -32 -30 -27 --3 --31 --53 --73 --88 --102 --112 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --102 --112 --104 --98 --91 --85 --80 --75 --69 --66 --60 --57 --53 --50 --46 --44 --40 --39 --36 --34 --31 --30 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --15 --14 --13 --13 --11 --11 --10 --10 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -70 -65 -59 -56 -51 -47 -43 -41 -36 -5 --24 --47 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --96 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -99 -93 -85 -80 -72 -68 -62 -59 -53 -50 -45 -43 -38 -36 -32 -31 -28 -26 -22 -21 -19 -18 -15 -14 -13 -13 -10 -10 -8 -8 -6 -6 -4 -4 -3 -3 -2 -2 -1 -1 -1 -0 --1 -0 --1 --1 --2 --2 --3 --29 --52 --72 --89 --102 --114 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --87 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --38 --37 --34 --32 --30 --29 --27 --25 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --7 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --6 --4 --5 --4 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --3 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --1 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -89 -82 -77 -70 -66 -60 -56 -51 -47 -42 -41 -36 -5 --24 --47 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --35 --33 --30 --28 --27 --26 --23 --22 --21 --20 --18 --18 --16 --16 --14 --14 --13 --12 --11 --11 --10 --11 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --5 --6 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -96 -90 -82 -77 -69 -66 -60 -55 -50 -48 -43 -41 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --89 --84 --78 --74 --68 --64 --59 --56 --51 --49 --45 --43 --40 --38 --35 --33 --31 --29 --26 --26 --24 --23 --20 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --10 --8 --8 --7 --8 --7 --7 --5 --6 --5 --5 --4 --5 --5 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -105 -95 -89 -82 -77 -69 -65 -60 -56 -51 -48 -43 -41 -37 -35 -30 -29 -26 -24 -22 -20 -18 -17 -15 -14 -12 -12 -10 -9 -7 -7 -5 -5 -4 -4 -2 -3 -2 -2 -1 -1 -0 -0 --1 --2 --1 --27 --51 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --87 --82 --76 --71 --66 --62 --58 --54 --51 --48 --44 --42 --38 --37 --33 --32 --30 --29 --26 --25 --23 --22 --20 --19 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --6 --5 --6 --5 --5 --4 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -70 -65 -59 -56 -51 -48 -42 -40 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --101 --95 --88 --83 --77 --74 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --34 --33 --30 --29 --27 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --7 --7 --6 --6 --6 --6 --5 --5 --5 --6 --4 --5 --3 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -70 -65 -59 -56 -51 -47 -43 -40 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -110 -100 -93 -85 -79 -73 -69 -62 -58 -53 -50 -45 -43 -38 -35 -32 -31 -26 --4 --31 --53 --73 --88 --102 --97 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --112 --104 --98 --91 --85 --80 --75 --69 --66 --61 --57 --53 --50 --46 --44 --40 --39 --35 --34 --31 --29 --27 --27 --24 --24 --21 --20 --18 --18 --16 --16 --14 --14 --13 --12 --11 --11 --10 --11 --9 --9 --8 --9 --8 --7 --7 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --4 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -70 -65 -60 -56 -50 -47 -43 -41 -36 -34 -31 -29 -26 -24 -21 -21 -18 -17 -14 -14 -12 -11 -10 -9 -7 -7 -6 -5 -4 -5 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --2 --28 --52 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --107 --99 --93 --87 --82 --76 --72 --66 --62 --58 --55 --50 --48 --44 --42 --38 --36 --34 --32 --30 --29 --26 --25 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --7 --7 --5 --6 --5 --5 --5 --5 --5 --6 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -104 -95 -90 -82 -77 -70 -66 -60 -57 -51 -47 -43 -41 -35 -34 -31 -29 -26 -25 -22 -21 -18 -17 -14 -14 -12 -11 -10 -10 -7 -7 -6 -6 -4 -4 -3 -3 -1 -2 -0 -1 -0 -0 --1 --1 --2 --1 --2 --1 --3 --2 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --6 --4 --5 --31 --54 --73 --90 --103 --99 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --98 --108 --100 --94 --87 --83 --77 --72 --67 --63 --58 --55 --51 --48 --45 --42 --39 --37 --34 --32 --30 --29 --26 --25 --23 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --12 --10 --10 --9 --9 --8 --9 --7 --7 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -95 -89 -82 -77 -69 -65 -60 -56 -50 -48 -43 -41 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --96 --88 --83 --78 --73 --68 --64 --59 --56 --51 --49 --45 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --13 --11 --10 --10 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --1 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -105 -95 -89 -82 -77 -70 -65 -60 -56 -50 -48 -43 -41 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --96 --89 --83 --78 --74 --68 --64 --59 --56 --51 --49 --45 --43 --40 --38 --35 --33 --31 --28 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --15 --14 --12 --12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -101 -93 -87 -80 -75 -68 -64 -58 -55 -49 -47 -42 -39 -35 -4 --25 --48 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --96 --89 --83 --78 --74 --68 --64 --60 --56 --51 --49 --45 --43 --40 --38 --35 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --10 --10 --11 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --5 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -96 -90 -80 -77 -70 -66 -59 -56 -51 -48 -43 -41 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -99 -93 -85 -80 -73 -68 -62 -59 -52 -50 -45 -42 -38 -36 -32 -30 -27 --3 --31 --53 --73 --88 --102 --112 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --102 --112 --104 --98 --91 --85 --80 --75 --70 --66 --61 --58 --53 --50 --46 --44 --40 --38 --36 --34 --31 --29 --28 --27 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --6 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -104 -95 -90 -82 -77 -69 -65 -60 -56 -51 -47 -42 -41 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --96 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -99 -93 -84 -80 -73 -69 -62 -59 -53 -50 -45 -42 -37 -36 -32 -30 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -9 -9 -8 -8 -6 -6 -4 -5 -4 -3 -2 -2 -1 -1 -0 -0 --1 -0 --1 --1 --2 --1 --3 --29 --52 --71 --89 --102 --114 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --107 --99 --93 --87 --82 --76 --72 --66 --62 --57 --55 --51 --48 --44 --42 --38 --37 --34 --32 --29 --29 --27 --25 --23 --22 --20 --19 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --7 --8 --7 --8 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --3 --3 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --2 --2 --2 --3 --3 --3 --2 --2 --1 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --1 --3 --1 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -95 -90 -81 -76 -70 -65 -60 -56 -51 -48 -43 -41 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --102 --96 --89 --83 --77 --74 --68 --64 --59 --56 --52 --49 --45 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --10 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --4 --5 --4 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -95 -89 -82 -77 -70 -65 -60 -56 -51 -48 -42 -41 -37 -5 --24 --47 --68 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --52 --49 --45 --43 --39 --37 --34 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --3 --4 --4 --4 --3 --4 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -69 -66 -60 -56 -51 -47 -42 -41 -36 -34 -30 -29 -26 -25 -22 -21 -17 -17 -15 -14 -12 -11 -9 -9 -8 -7 -6 -6 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 --1 --2 --28 --51 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --107 --99 --93 --87 --82 --76 --71 --66 --62 --57 --55 --50 --48 --44 --42 --39 --37 --33 --32 --30 --29 --26 --25 --23 --22 --20 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --8 --8 --8 --7 --7 --7 --7 --5 --6 --5 --5 --5 --5 --4 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --3 --4 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -89 -81 -77 -70 -66 -59 -56 -51 -48 -43 -40 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --89 --83 --77 --74 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --35 --33 --30 --29 --27 --26 --23 --22 --20 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --10 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --1 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -95 -89 -82 -77 -69 -65 -60 -56 -51 -48 -43 -40 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --102 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -100 -93 -85 -80 -73 -69 -63 -58 -53 -50 -45 -42 -38 -36 -32 -31 -27 --3 --31 --53 --72 --88 --102 --112 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --102 --112 --104 --98 --91 --85 --80 --76 --70 --66 --61 --58 --53 --50 --46 --44 --41 --39 --36 --34 --31 --30 --27 --27 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --3 --2 --3 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -96 -89 -81 -77 -70 -65 -59 -56 -51 -48 -43 -40 -36 -35 -30 -29 -26 -24 -21 -20 -18 -17 -15 -14 -11 -12 -10 -9 -7 -7 -6 -5 -4 -4 -2 -3 -2 -1 -1 -1 -0 -0 --1 --1 --2 --28 --52 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --86 --82 --76 --71 --66 --63 --58 --54 --50 --48 --44 --42 --38 --36 --34 --32 --29 --29 --26 --25 --23 --22 --20 --19 --18 --17 --15 --15 --14 --14 --12 --12 --11 --12 --10 --10 --8 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --5 --5 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --3 --3 --3 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -104 -96 -90 -82 -77 -69 -65 -60 -56 -50 -47 -43 -41 -36 -34 -31 -29 -26 -24 -21 -20 -18 -17 -14 -14 -12 -11 -10 -9 -7 -7 -6 -5 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 --1 --2 --1 --2 --2 --2 --2 --3 --2 --4 --3 --3 --4 --4 --3 --4 --3 --5 --4 --5 --3 --5 --5 --4 --4 --5 --5 --5 --5 --5 --4 --6 --5 --5 --30 --54 --73 --90 --103 --99 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --98 --107 --100 --94 --88 --83 --77 --72 --67 --63 --58 --55 --51 --48 --45 --42 --39 --37 --34 --32 --30 --29 --27 --26 --23 --22 --20 --19 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --7 --8 --7 --7 --6 --7 --6 --6 --5 --5 --5 --6 --4 --5 --4 --4 --4 --4 --3 --4 --4 --4 --3 --3 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -95 -90 -82 -77 -70 -65 -60 -56 -50 -47 -43 -40 -36 -5 --24 --47 --68 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --96 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --35 --33 --30 --29 --27 --26 --24 --23 --20 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --10 --10 --11 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --1 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -96 -90 -81 -77 -70 -65 -60 -56 -51 -47 -43 -40 -35 -4 --24 --47 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --108 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --34 --33 --30 --29 --27 --26 --24 --23 --20 --20 --18 --17 --16 --15 --14 --14 --12 --12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -118 -109 -102 -93 -87 -79 -75 -69 -64 -58 -55 -48 -47 -42 -39 -35 -4 --25 --48 --68 --84 --98 --109 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --78 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --35 --33 --30 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --7 --5 --6 --5 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --3 --2 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -103 -95 -90 -82 -77 -70 -66 -59 -56 -50 -47 -43 -41 -36 -4 --24 --47 --67 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -100 -93 -85 -80 -73 -69 -62 -59 -53 -50 -45 -43 -37 -36 -32 -31 -27 --4 --31 --53 --73 --88 --102 --97 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --102 --112 --104 --98 --91 --85 --80 --75 --70 --66 --61 --57 --53 --50 --46 --44 --41 --39 --35 --34 --31 --30 --27 --27 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --12 --11 --11 --10 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --2 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -69 -65 -60 -56 -50 -47 -42 -41 -36 -5 --24 --47 --68 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -99 -94 -85 -79 -73 -69 -62 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -25 -22 -21 -19 -18 -15 -14 -13 -12 -10 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -3 -1 -1 -0 -1 --1 -0 --1 --3 --2 --1 --2 --28 --52 --71 --89 --102 --114 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --87 --82 --76 --72 --66 --62 --58 --55 --50 --48 --44 --42 --38 --37 --34 --32 --30 --29 --27 --25 --23 --22 --20 --19 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --8 --7 --8 --7 --8 --6 --7 --6 --7 --5 --5 --5 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -89 -82 -77 -70 -66 -60 -56 -51 -48 -42 -40 -36 -5 --24 --47 --67 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --40 --37 --34 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --10 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --4 --5 --4 --6 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -95 -89 -81 -77 -70 -65 -59 -56 -51 -48 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --40 --38 --35 --33 --30 --28 --27 --26 --23 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --11 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -96 -89 -81 -77 -69 -65 -60 -56 -51 -48 -43 -41 -36 -34 -30 -29 -25 -23 -21 -21 -17 -17 -15 -14 -12 -12 -9 -9 -7 -7 -5 -5 -4 -4 -2 -3 -2 -1 -1 -1 --1 -0 --1 --1 --2 --28 --52 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --98 --92 --87 --82 --76 --71 --66 --62 --57 --54 --50 --48 --44 --41 --38 --36 --34 --32 --30 --29 --26 --25 --23 --22 --20 --19 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -89 -82 -77 -69 -65 -60 -56 -50 -47 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --38 --35 --33 --30 --29 --27 --26 --24 --23 --20 --20 --18 --17 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --7 --7 --6 --6 --5 --6 --4 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --3 --3 --3 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -89 -82 -77 -70 -65 -60 -56 -51 -48 -43 -40 -36 -5 --24 --47 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -99 -93 -85 -80 -73 -69 -62 -59 -53 -50 -45 -43 -38 -35 -32 -30 -27 --3 --31 --53 --73 --88 --102 --97 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --103 --112 --104 --98 --91 --85 --80 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --24 --21 --20 --18 --18 --17 --16 --14 --14 --13 --12 --11 --11 --10 --11 --9 --10 --8 --8 --7 --7 --7 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -70 -65 -60 -56 -50 -47 -43 -41 -36 -34 -30 -29 -26 -25 -21 -20 -18 -16 -15 -14 -12 -11 -10 -9 -7 -7 -6 -5 -4 -4 -2 -3 -2 -2 -0 -1 -0 -0 --1 -0 --2 --28 --51 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --104 --112 --106 --99 --92 --86 --82 --76 --72 --66 --62 --57 --54 --50 --48 --44 --42 --38 --37 --34 --32 --30 --28 --26 --25 --23 --22 --20 --19 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --4 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -89 -81 -77 -70 -66 -59 -56 -51 -48 -43 -40 -36 -34 -31 -29 -26 -24 -21 -21 -18 -17 -14 -14 -12 -11 -10 -9 -6 -7 -6 -6 -4 -4 -3 -3 -2 -2 -0 -1 -0 -0 --1 -0 --1 --1 --2 --2 --3 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --3 --4 --4 --4 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --6 --5 --5 --31 --54 --73 --90 --103 --99 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --98 --107 --100 --94 --88 --82 --76 --72 --67 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --32 --30 --29 --27 --25 --23 --22 --20 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --7 --6 --6 --6 --5 --6 --5 --5 --5 --6 --4 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -95 -89 -82 -77 -70 -65 -60 -56 -51 -48 -43 -41 -36 -5 --24 --47 --68 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --55 --52 --49 --45 --43 --39 --37 --35 --33 --30 --28 --27 --26 --23 --23 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --10 --10 --11 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --3 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -89 -82 -77 -70 -65 -59 -56 -51 -47 -43 -41 -36 -5 --24 --47 --68 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --101 --95 --88 --83 --77 --73 --68 --64 --59 --55 --51 --49 --45 --43 --39 --37 --35 --33 --30 --28 --27 --26 --23 --23 --20 --20 --18 --18 --16 --16 --14 --14 --12 --12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -101 -93 -87 -80 -75 -68 -64 -58 -55 -49 -47 -42 -39 -35 -4 --25 --48 --68 --84 --98 --109 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --96 --89 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --40 --37 --35 --33 --30 --29 --27 --26 --23 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -89 -82 -77 -70 -65 -59 -55 -51 -48 -43 -41 -36 -4 --24 --47 --67 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -99 -93 -85 -80 -73 -69 -62 -59 -53 -49 -45 -43 -38 -36 -32 -30 -27 --3 --31 --53 --72 --88 --102 --112 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --102 --112 --104 --98 --91 --86 --80 --75 --70 --66 --61 --57 --53 --50 --46 --44 --41 --38 --35 --34 --31 --29 --28 --27 --24 --23 --21 --20 --18 --18 --16 --16 --15 --14 --13 --13 --11 --11 --10 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --7 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -90 -82 -76 -69 -66 -60 -55 -51 -48 -42 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -108 -100 -93 -85 -80 -73 -69 -62 -59 -53 -49 -45 -42 -37 -36 -32 -31 -27 -26 -22 -22 -19 -18 -14 -14 -13 -12 -10 -9 -7 -8 -6 -6 -4 -5 -4 -3 -2 -2 -0 -1 -0 -0 --1 -0 --1 --1 --2 --2 --2 --28 --52 --71 --88 --101 --114 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --105 --97 --107 --99 --93 --86 --82 --76 --71 --66 --62 --58 --55 --51 --48 --44 --42 --38 --37 --33 --32 --30 --28 --26 --25 --23 --22 --20 --20 --18 --17 --16 --16 --14 --13 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --6 --5 --6 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --3 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -89 -81 -77 -69 -65 -59 -56 -51 -48 -43 -40 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --48 --45 --43 --40 --38 --35 --33 --30 --28 --27 --26 --24 --23 --20 --20 --18 --17 --16 --16 --15 --14 --12 --12 --11 --11 --10 --10 --9 --10 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --4 --5 --4 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -90 -82 -76 -70 -66 -60 -56 -51 -47 -42 -41 -36 -5 --24 --47 --68 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --48 --45 --43 --39 --38 --34 --33 --30 --29 --27 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --6 --6 --5 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -89 -82 -77 -69 -65 -60 -56 -51 -47 -42 -41 -36 -34 -30 -29 -26 -25 -21 -20 -18 -17 -15 -14 -11 -11 -10 -9 -7 -8 -6 -6 -4 -4 -2 -3 -2 -1 -0 -1 -0 -0 --1 --1 --1 --27 --51 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --107 --99 --93 --87 --82 --76 --71 --66 --62 --58 --54 --50 --48 --44 --42 --39 --37 --34 --32 --30 --29 --26 --25 --23 --22 --20 --19 --17 --18 --16 --16 --14 --13 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --8 --6 --7 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -89 -82 -77 -70 -66 -60 -56 -51 -48 -42 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --35 --33 --30 --29 --27 --26 --24 --23 --20 --20 --18 --18 --16 --16 --14 --14 --12 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -105 -95 -89 -82 -77 -69 -66 -60 -56 -51 -48 -43 -41 -37 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -116 -109 -100 -93 -85 -80 -73 -69 -62 -58 -53 -50 -44 -42 -38 -36 -32 -31 -27 --3 --31 --53 --73 --88 --102 --112 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --102 --112 --104 --98 --91 --86 --80 --75 --70 --66 --61 --57 --53 --50 --47 --44 --41 --39 --35 --34 --31 --30 --27 --26 --24 --23 --21 --20 --18 --18 --17 --16 --14 --14 --13 --13 --11 --11 --10 --11 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --2 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -105 -95 -89 -81 -77 -70 -65 -59 -56 -51 -48 -43 -40 -37 -35 -30 -28 -25 -24 -21 -21 -18 -17 -15 -14 -11 -11 -9 -9 -7 -7 -5 -5 -4 -4 -3 -3 -2 -2 -0 -1 -0 -0 --1 --1 --1 --27 --52 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --87 --82 --76 --71 --66 --62 --58 --55 --50 --47 --44 --42 --38 --36 --33 --32 --30 --29 --26 --25 --23 --22 --20 --19 --18 --17 --16 --15 --14 --14 --12 --12 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -104 -95 -90 -82 -77 -70 -65 -60 -56 -51 -48 -43 -40 -36 -35 -31 -28 -26 -25 -21 -21 -18 -16 -15 -14 -12 -11 -9 -9 -7 -7 -5 -5 -3 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 -0 --1 --2 --3 --2 --2 --2 --3 --3 --4 --2 --3 --4 --4 --3 --5 --3 --4 --4 --4 --4 --4 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --31 --54 --73 --90 --103 --99 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --98 --108 --100 --94 --87 --83 --77 --72 --67 --63 --58 --55 --51 --48 --45 --42 --39 --37 --34 --32 --30 --29 --27 --26 --23 --22 --20 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -90 -82 -77 -70 -65 -60 -56 -50 -47 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --101 --95 --88 --83 --78 --73 --68 --64 --59 --56 --52 --49 --45 --43 --39 --38 --35 --33 --30 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --15 --14 --14 --13 --12 --11 --11 --10 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --1 --2 --1 --2 --2 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -95 -90 -81 -77 -70 -65 -59 -56 -51 -47 -43 -41 -36 -4 --24 --47 --68 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --35 --33 --30 --29 --27 --26 --24 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -109 -102 -93 -88 -80 -75 -68 -63 -58 -55 -49 -47 -42 -39 -35 -4 --25 --48 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --96 --89 --84 --78 --74 --68 --64 --59 --56 --51 --49 --45 --43 --40 --37 --35 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --4 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -70 -66 -59 -56 -51 -47 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -100 -93 -85 -80 -73 -69 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 --3 --31 --53 --73 --88 --102 --112 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --102 --112 --104 --98 --91 --85 --80 --75 --70 --66 --61 --57 --53 --51 --47 --44 --41 --39 --36 --34 --31 --30 --28 --26 --24 --23 --22 --20 --18 --18 --17 --16 --14 --14 --13 --13 --11 --11 --10 --11 --9 --10 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --5 --6 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -95 -90 -82 -77 -70 -66 -60 -56 -50 -47 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -99 -93 -85 -80 -73 -69 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -22 -21 -19 -18 -16 -15 -13 -12 -10 -10 -8 -7 -6 -6 -4 -5 -3 -3 -2 -2 -1 -1 -1 -0 --2 --1 --1 --1 --2 --2 --3 --29 --52 --71 --88 --102 --114 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --105 --97 --106 --99 --94 --87 --82 --76 --72 --67 --62 --58 --55 --50 --48 --44 --42 --38 --37 --34 --32 --30 --29 --26 --25 --23 --22 --20 --19 --18 --17 --16 --16 --14 --14 --12 --12 --11 --12 --10 --10 --8 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --1 --2 --2 --3 --3 --3 --2 --3 --1 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -89 -82 -77 -69 -65 -60 -56 -51 -48 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --77 --74 --68 --64 --59 --56 --51 --49 --45 --43 --39 --37 --35 --33 --30 --29 --27 --26 --23 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --1 --2 --2 --3 --2 --2 --2 --3 --2 --3 --1 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -90 -82 -77 -70 -66 -60 -56 -51 -48 -43 -41 -36 -4 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 --88 --83 --77 --74 --68 --64 --59 --56 --52 --49 --45 --43 --40 --38 --35 --33 --30 --29 --27 --26 --24 --22 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -105 -95 -89 -82 -77 -69 -66 -60 -56 -51 -48 -43 -41 -36 -34 -30 -29 -26 -24 -21 -20 -18 -17 -15 -14 -12 -11 -10 -8 -7 -7 -6 -5 -4 -4 -3 -4 -2 -1 -0 -1 --1 -0 --1 --1 --2 --28 --51 --71 --88 --101 --113 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --86 --82 --76 --72 --66 --62 --58 --54 --50 --48 --44 --42 --38 --37 --34 --32 --30 --29 --26 --26 --23 --22 --20 --19 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --5 --5 --5 --5 --5 --4 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --3 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -104 -95 -90 -82 -77 -69 -65 -59 -55 -51 -48 -43 -40 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --95 --88 --83 --78 --73 --68 --64 --59 --56 --52 --48 --45 --43 --40 --38 --35 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --7 --7 --6 --7 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --2 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --1 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -105 -96 -89 -82 -77 -70 -65 -59 -56 -50 -48 -43 -40 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -99 -93 -85 -80 -73 -69 -63 -59 -53 -50 -45 -43 -38 -35 -32 -30 -26 --4 --32 --53 --73 --88 --102 --97 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --102 --112 --103 --98 --91 --85 --79 --76 --70 --66 --61 --58 --53 --50 --46 --44 --41 --39 --35 --33 --31 --30 --27 --27 --24 --24 --21 --20 --18 --18 --17 --16 --14 --14 --13 --13 --11 --11 --10 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -105 -96 -90 -82 -77 -70 -65 -60 -56 -50 -48 -43 -41 -36 -34 -31 -29 -26 -25 -21 -20 -18 -16 -15 -14 -12 -11 -10 -9 -7 -7 -6 -5 -4 -4 -3 -3 -1 -1 -0 -1 -0 -0 --1 -0 --2 --28 --52 --71 --88 --101 --113 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --105 --97 --106 --99 --93 --87 --82 --76 --71 --66 --62 --57 --54 --50 --48 --44 --42 --39 --37 --33 --32 --29 --29 --26 --25 --23 --22 --20 --19 --18 --17 --16 --15 --14 --13 --12 --12 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --2 --3 --3 --3 --2 --3 --3 --3 --3 --3 --2 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -96 -90 -81 -77 -70 -65 -60 -56 -50 -47 -43 -41 -36 -34 -31 -28 -26 -25 -21 -20 -18 -17 -14 -14 -12 -11 -10 -9 -7 -7 -6 -5 -4 -4 -3 -2 -1 -2 -0 -1 -0 -0 --1 -0 --1 --1 --2 --1 --3 --2 --3 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --4 --6 --5 --5 --31 --54 --73 --90 --103 --99 --108 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --98 --107 --100 --94 --87 --83 --77 --72 --67 --63 --59 --55 --51 --48 --44 --42 --39 --37 --34 --32 --30 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --5 --5 --6 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -104 -95 -90 -81 -77 -70 -65 -60 -56 -51 -48 -43 -41 -36 -4 --24 --47 --68 --84 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --108 --101 --95 --88 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --40 --37 --35 --33 --30 --28 --27 --26 --23 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -104 -95 -89 -81 -77 -70 -65 -59 -56 -51 -47 -43 -41 -36 -4 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --96 --89 --83 --77 --73 --68 --64 --59 --56 --51 --49 --45 --43 --40 --38 --35 --33 --30 --28 --27 --26 --23 --22 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -108 -102 -93 -87 -80 -75 -68 -64 -58 -55 -50 -47 -42 -40 -35 -3 --25 --48 --68 --84 --99 --110 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --109 --101 --95 --89 --83 --77 --73 --68 --64 --60 --56 --52 --49 --45 --43 --40 --37 --34 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --13 --11 --11 --10 --11 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --6 --4 --4 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -105 -95 -89 -82 -76 -70 -66 -59 -56 -51 -48 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --96 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -100 -93 -85 -81 -73 -68 -62 -59 -53 -50 -45 -43 -38 -37 -32 -30 -27 --3 --31 --53 --73 --88 --102 --112 --106 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --102 --112 --104 --98 --91 --86 --80 --75 --70 --66 --61 --57 --53 --50 --46 --44 --41 --38 --35 --34 --31 --30 --27 --27 --24 --23 --21 --20 --18 --18 --16 --16 --15 --14 --13 --13 --11 --11 --10 --11 --9 --10 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --5 --5 --5 --5 --4 --5 --3 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -112 -105 -95 -89 -82 -77 -70 -66 -60 -56 -51 -48 -43 -41 -36 -5 --24 --47 --67 --83 --98 --109 --103 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --99 --109 --101 --95 -67 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -108 -99 -93 -85 -80 -73 -68 -62 -59 -53 -50 -45 -42 -37 -36 -32 -30 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -5 -4 -3 -3 -1 -2 -1 -0 -0 -1 --1 -0 --1 --1 --2 --2 --2 --28 --52 --71 --88 --102 --114 --107 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --97 --107 --99 --93 --87 --82 --76 --71 --66 --63 --58 --55 --51 --48 --44 --42 --39 --37 --34 --32 --29 --29 --27 --25 --23 --22 --20 --19 --18 --17 --15 --15 --14 --13 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --6 --5 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --1 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --3 --1 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 diff --git a/traces/modulation-direct-40.pm3 b/traces/modulation-direct-40.pm3 deleted file mode 100644 index f716de72e..000000000 --- a/traces/modulation-direct-40.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --69 --64 --60 --56 --52 --50 --45 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --22 --21 --19 --18 --17 --16 --16 --14 --14 --13 --12 --11 --11 --9 --10 --8 --8 --8 --8 --6 --7 --6 --6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -94 -86 -80 -74 -69 -62 -59 -53 -51 -45 -43 -38 -36 -33 -31 -27 -26 -23 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --85 --78 --74 --68 --65 --60 --57 --53 --49 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --8 --8 --7 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -95 -87 -82 -74 -70 -63 -59 -54 -51 -45 -43 -39 -37 -32 -31 -28 -27 -24 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --73 -105 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -106 -97 -91 -83 -79 -71 -67 -61 -58 -52 -49 -44 -42 -37 -35 -31 -29 -27 -26 -22 -21 -19 -18 -15 --11 --35 --55 --72 --85 --97 --107 --99 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --111 --103 --97 --91 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --9 --9 --9 --8 --8 --7 --7 --6 --7 --5 --5 --5 --6 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --1 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 -106 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -107 -97 -91 -83 -79 -71 -67 -61 -57 -52 -50 -44 -42 -38 -36 -31 -30 -26 -25 -22 -21 -18 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 -6 -5 -5 -3 -4 -2 -2 -2 -2 -0 -0 --1 -0 --1 --1 --2 --1 --2 --1 --2 --2 --2 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --28 --50 --67 --82 --94 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --103 --96 --91 --84 --79 --74 --69 --64 --61 --57 --53 --49 --47 --43 --41 --37 --36 --33 --31 --28 --27 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -94 -86 -82 -74 -69 -63 -59 -54 -51 -45 -43 -39 -36 -33 -31 -28 -27 -24 -22 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --101 --96 --89 --84 --78 --74 --68 --64 --60 --57 --52 --49 --46 --43 --39 --38 --35 --33 --30 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --13 --12 --11 --11 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --6 --4 --5 --4 --5 --4 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -70 -63 -60 -54 -50 -46 -43 -39 -37 -33 -31 -28 -27 -24 -22 -20 --8 --33 --52 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --68 --64 --60 --56 --52 --50 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --10 --11 --9 --10 --8 --9 --8 --8 --7 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --4 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -86 -81 -74 -70 -63 -59 -54 -51 -46 -43 -39 -37 -33 -31 -27 -26 -23 -22 -20 -18 -16 -15 -13 -12 -11 -11 -9 -8 -7 -7 -5 -5 -3 -3 -3 -3 -1 -2 -1 -1 --1 -0 --1 --1 --1 --1 --2 --1 --2 --3 --2 --2 --3 --3 --3 --3 --3 --3 --4 --28 --50 --67 --82 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --61 --56 --53 --49 --46 --42 --40 --37 --36 --33 --31 --29 --27 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --3 --2 --2 --1 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -82 -74 -69 -63 -59 -53 -51 -46 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 --9 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --101 --96 --89 --84 --78 --74 --68 --64 --60 --56 --52 --50 --46 --43 --39 --38 --35 --33 --31 --29 --27 --26 --23 --23 --20 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --8 --8 --7 --8 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -94 -86 -82 -74 -70 -63 -59 -54 -51 -45 -43 -39 -37 -32 -31 -28 -26 -24 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --73 -106 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -112 -107 -97 -91 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -27 -25 -22 -22 -19 -18 -16 --11 --35 --55 --72 --85 --98 --107 --99 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --58 --53 --50 --46 --44 --40 --38 --35 --33 --31 --29 --27 --26 --23 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --9 --8 --8 --7 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --1 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -81 -74 -70 -63 -60 -54 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -19 -19 -16 -15 -13 -13 -10 -11 -8 -8 -7 -6 -4 -5 -4 -4 -2 -3 -2 -1 -1 -1 --1 -0 --1 --1 --1 --1 --2 --1 --2 --1 --3 --2 --3 --3 --3 --3 --4 --3 --4 --28 --50 --67 --82 --94 --105 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --91 --84 --79 --73 --69 --64 --61 --56 --53 --49 --46 --43 --41 --37 --35 --33 --31 --28 --27 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --12 --11 --10 --10 --9 --10 --8 --8 --7 --7 --7 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -81 -74 -69 -63 -60 -53 -51 -45 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 -13 -11 -11 -9 -8 -7 -6 -5 -5 -4 -3 -2 -3 -1 -2 -1 -1 -0 -0 --1 --1 --1 --1 --3 --1 --2 --2 --3 --2 --3 --2 --3 --3 --4 --3 --4 --4 --4 --3 --5 --4 --4 --4 --4 --4 --4 --4 --4 --4 --5 --4 --4 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --91 --84 --80 --74 --69 --64 --61 --56 --53 --49 --46 --43 --40 --37 --36 --33 --31 --29 --28 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -82 -74 -69 -63 -60 -53 -51 -45 -43 -39 -37 -33 -31 -28 -27 -23 -22 -19 --8 --33 --53 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --89 --84 --78 --74 --68 --64 --60 --57 --52 --49 --46 --43 --40 --37 --35 --33 --30 --29 --27 --26 --23 --22 --21 --20 --18 --17 --16 --15 --14 --13 --12 --12 --11 --11 --9 --10 --8 --9 --7 --8 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --4 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -38 -36 -33 -31 -28 -26 -24 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 --68 --64 --59 --57 --53 --49 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --10 --11 --9 --10 --8 --9 --8 --7 --7 --7 --6 --6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -100 -94 -85 -80 -73 -69 -63 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 --68 --64 --60 --56 --52 --50 --46 --43 --40 --38 --35 --33 --30 --29 --26 --25 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --10 --9 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -70 -62 -59 -54 -51 -46 -43 -38 -37 -33 -31 -27 -26 -23 -21 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 -105 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -107 -97 -92 -84 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -32 -30 -26 -25 -22 -21 -19 -18 -15 --12 --36 --55 --72 --86 --98 --107 --99 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --34 --31 --29 --27 --26 --23 --22 --21 --20 --18 --17 --16 --16 --14 --14 --13 --13 --11 --11 --9 --10 --8 --8 --8 --8 --7 --7 --6 --7 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --2 --3 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -81 -74 -69 -63 -59 -53 -51 -46 -43 -38 -37 -33 -31 -28 -26 -23 -22 -19 --9 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --101 --96 --89 --84 --78 --73 -105 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -106 -97 -91 -83 -79 -72 -67 -61 -58 -52 -48 -44 -42 -37 -35 -31 -30 -27 -25 -22 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -4 -5 -3 -4 -2 -2 -1 -1 -1 -1 --1 -0 --1 --1 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --28 --50 --67 --82 --94 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --101 --109 --103 --96 --91 --84 --79 --73 --69 --65 --61 --56 --53 --49 --47 --43 --40 --37 --35 --32 --31 --28 --28 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --6 --6 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -86 -81 -74 -70 -63 -59 -54 -51 -46 -43 -39 -37 -33 -31 -27 -26 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 --68 --64 --60 --56 --52 --50 --45 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -82 -74 -69 -63 -60 -53 -51 -45 -43 -39 -37 -33 -31 -28 -27 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 --68 --65 --60 --57 --52 --50 --46 --43 --39 --38 --35 --33 --31 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --8 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -38 -36 -33 -31 -28 -26 -23 -22 -20 -19 -16 -15 -13 -13 -10 -10 -9 -8 -6 -7 -5 -5 -4 -4 -2 -3 -1 -1 -0 -1 -0 -0 --1 --1 --1 --1 --2 --2 --2 --2 --3 --3 --3 --3 --3 --3 --3 --3 --4 --28 --50 --67 --82 --94 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --103 --97 --91 --84 --79 --73 --69 --64 --61 --57 --53 --49 --46 --43 --41 --37 --35 --33 --31 --29 --27 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --6 --4 --4 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --2 --3 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -101 -95 -86 -81 -74 -69 -63 -60 -54 -50 -46 -44 -39 -37 -33 -31 -27 -26 -23 -22 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --68 --64 --60 --57 --52 --49 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --10 --11 --9 --10 --8 --8 --8 --8 --7 --7 --6 --6 --5 --5 --5 --6 --4 --5 --4 --5 --4 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -101 -95 -86 -82 -74 -69 -63 -60 -53 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -20 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 -105 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -91 -84 -79 -71 -68 -61 -57 -52 -49 -44 -42 -38 -35 -32 -30 -27 -25 -22 -21 -18 -18 -15 --11 --36 --55 --72 --85 --97 --106 --99 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --80 --75 --69 --65 --61 --58 --53 --50 --46 --44 --40 --38 --35 --34 --31 --30 --27 --26 --23 --23 --21 --20 --18 --17 --16 --16 --14 --14 --13 --12 --11 --11 --9 --10 --8 --8 --8 --8 --6 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -100 -94 -86 -82 -74 -69 -63 -60 -53 -51 -45 -43 -39 -37 -33 -31 -28 -27 -23 -23 -19 -18 -16 -15 -13 -13 -10 -10 -8 -9 -7 -6 -5 -5 -3 -4 -2 -2 -1 -2 -0 -1 -0 -0 --1 --1 --1 --2 --2 --2 --3 --2 --3 --3 --3 --2 --3 --3 --4 --3 --4 --28 --50 --67 --83 --95 --105 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --101 --109 --103 --96 --90 --84 --79 --73 --69 --64 --61 --56 --53 --49 --46 --43 --40 --37 --35 --32 --31 --28 --27 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -94 -86 -81 -74 -70 -63 -60 -54 -51 -46 -43 -39 -36 -33 -31 -28 -26 -24 -22 -19 -19 -16 -15 -13 -13 -10 -10 -9 -8 -7 -7 -5 -5 -4 -4 -2 -3 -1 -1 -1 -1 -0 -0 --1 --1 --1 --1 --2 --2 --2 --2 --3 --2 --3 --2 --3 --3 --4 --3 --3 --3 --4 --4 --4 --4 --4 --4 --4 --4 --4 --3 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --29 --50 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --104 --97 --91 --84 --80 --74 --69 --64 --61 --56 --54 --49 --47 --43 --41 --37 --36 --33 --32 --29 --27 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --7 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --2 --1 --2 --2 --2 --2 --3 --2 --2 --2 --2 --1 --2 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -81 -74 -70 -63 -60 -54 -51 -46 -43 -39 -37 -33 -31 -27 -27 -23 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --68 --64 --60 --57 --52 --49 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --20 --20 --17 --17 --16 --16 --14 --14 --13 --12 --10 --11 --9 --9 --8 --8 --8 --8 --7 --7 --6 --6 --5 --5 --5 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --2 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -81 -74 -70 -63 -60 -54 -51 -46 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --79 --74 --68 --64 --60 --57 --53 --50 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --21 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --8 --8 --7 --8 --7 --7 --6 --6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -110 -100 -93 -86 -81 -73 -69 -62 -58 -53 -51 -45 -43 -38 -36 -33 -31 -28 -25 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --90 --84 --78 --74 --68 --64 --60 --57 --53 --50 --46 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --22 --21 --20 --18 --17 --16 --16 --14 --14 --13 --12 --11 --11 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -86 -82 -74 -70 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -28 -27 -23 -22 -20 --8 --33 --52 --70 --83 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --89 --84 --78 --74 -106 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -107 -97 -91 -83 -79 -72 -67 -61 -58 -52 -49 -45 -42 -37 -35 -31 -29 -27 -25 -22 -21 -19 -18 -15 --12 --36 --55 --72 --85 --98 --107 --99 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --111 --103 --97 --91 --85 --79 --74 --69 --65 --61 --57 --53 --50 --46 --44 --41 --38 --35 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --9 --9 --7 --8 --7 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -100 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -28 -27 -24 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 -105 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -107 -97 -92 -84 -79 -71 -67 -61 -57 -51 -49 -44 -42 -38 -35 -31 -30 -27 -25 -22 -21 -19 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 -5 -5 -3 -3 -2 -2 -1 -2 -0 -0 -0 -0 --1 --1 --2 --2 --2 --1 --3 --2 --3 --2 --3 --2 --3 --3 --4 --3 --4 --3 --4 --28 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --97 --91 --84 --80 --74 --69 --64 --61 --57 --53 --49 --46 --43 --41 --37 --36 --33 --31 --29 --27 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --7 --7 --5 --6 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -100 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -38 -36 -33 -31 -27 -26 -24 -22 -19 --8 --33 --52 --70 --83 --96 --105 --114 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 --68 --64 --60 --57 --52 --50 --46 --44 --40 --37 --35 --33 --30 --29 --27 --25 --23 --23 --21 --20 --18 --17 --16 --16 --14 --13 --12 --12 --10 --11 --9 --10 --8 --9 --8 --8 --7 --7 --5 --6 --5 --5 --5 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -95 -86 -81 -74 -69 -63 -60 -54 -51 -46 -44 -38 -37 -33 -31 -28 -26 -23 -22 -20 --8 --33 --52 --70 --83 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --68 --65 --60 --57 --53 --50 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --10 --11 --9 --10 --8 --8 --8 --8 --7 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --1 --3 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -101 -95 -86 -81 -74 -69 -63 -60 -53 -50 -45 -43 -39 -37 -33 -31 -28 -26 -22 -22 -19 -18 -16 -15 -14 -12 -11 -11 -8 -9 -7 -7 -5 -5 -4 -4 -3 -3 -1 -2 -1 -1 -0 -0 --1 --1 --1 --1 --2 --2 --2 --2 --3 --2 --3 --2 --3 --3 --4 --3 --4 --27 --50 --67 --82 --94 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --74 --69 --65 --61 --56 --53 --49 --47 --43 --40 --37 --35 --33 --31 --29 --27 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --12 --12 --10 --10 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -95 -86 -82 -74 -69 -63 -59 -53 -51 -45 -43 -39 -37 -33 -31 -28 -27 -24 -23 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --90 --84 --78 --74 --68 --64 --60 --57 --52 --50 --46 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --23 --20 --20 --17 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --8 --8 --8 --8 --7 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --4 --4 --3 --3 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --3 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -86 -82 -74 -70 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 -106 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -91 -83 -79 -71 -67 -61 -58 -52 -50 -44 -42 -38 -35 -31 -30 -26 -25 -22 -21 -19 -18 -16 --11 --36 --55 --72 --85 --97 --107 --99 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --111 --103 --97 --91 --86 --79 --75 --69 --65 --61 --57 --53 --50 --47 --44 --40 --38 --35 --34 --31 --29 --27 --26 --24 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --9 --7 --8 --7 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --3 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -100 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -39 -36 -33 -31 -27 -26 -23 -22 -19 -19 -16 -15 -13 -13 -10 -11 -8 -8 -6 -7 -5 -5 -4 -4 -2 -3 -2 -2 -0 -1 -0 -0 --1 --1 --2 --1 --2 --2 --2 --2 --2 --2 --3 --3 --3 --3 --4 --3 --4 --27 --49 --67 --82 --94 --105 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --74 --69 --64 --61 --56 --53 --49 --46 --43 --41 --37 --36 --33 --31 --28 --28 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --12 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --2 --2 --1 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -95 -86 -82 -74 -69 -63 -59 -54 -51 -45 -43 -39 -37 -33 -30 -28 -27 -23 -22 -19 -18 -16 -15 -13 -13 -11 -11 -8 -8 -7 -6 -5 -5 -4 -3 -2 -3 -1 -2 -1 -1 -0 -0 --1 --1 --1 --1 --2 --1 --3 --3 --3 --2 --3 --3 --3 --2 --3 --3 --4 --3 --4 --3 --5 --4 --4 --3 --4 --4 --4 --4 --4 --4 --5 --4 --4 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --29 --51 --68 --83 --95 --106 --98 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --103 --96 --91 --84 --80 --74 --69 --65 --61 --57 --54 --49 --46 --43 --40 --37 --35 --33 --31 --29 --28 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --6 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -100 -94 -86 -82 -74 -69 -63 -60 -53 -51 -45 -43 -39 -37 -33 -31 -28 -27 -23 -22 -20 --8 --33 --52 --70 --83 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 --68 --64 --60 --57 --53 --50 --46 --43 --40 --38 --35 --33 --31 --29 --26 --26 --23 --22 --21 --19 --17 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --8 --8 --8 --7 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -100 -94 -86 -81 -74 -69 -63 -60 -54 -51 -46 -43 -39 -37 -32 -31 -28 -25 -23 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --68 --64 --60 --56 --52 --50 --46 --43 --40 --38 --35 --33 --30 --29 --26 --25 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --10 --11 --9 --9 --8 --8 --7 --8 --7 --7 --6 --6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -100 -94 -85 -80 -74 -69 -62 -59 -53 -50 -45 -43 -38 -36 -33 -30 -27 -26 -23 -21 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --90 --84 --78 --74 --68 --65 --60 --57 --52 --49 --46 --43 --40 --38 --35 --33 --31 --29 --26 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --10 --9 --10 --8 --8 --7 --8 --7 --7 --6 --6 --5 --5 --5 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -101 -95 -87 -81 -74 -69 -63 -59 -54 -51 -46 -44 -38 -37 -33 -31 -28 -26 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 -105 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -107 -97 -92 -84 -79 -71 -68 -61 -57 -52 -49 -44 -41 -37 -35 -32 -30 -26 -25 -22 -21 -18 -17 -15 --11 --36 --55 --72 --86 --98 --107 --99 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --34 --31 --29 --27 --26 --24 --23 --20 --20 --18 --17 --16 --16 --15 --14 --12 --12 --11 --11 --9 --10 --8 --8 --8 --8 --7 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --2 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -82 -74 -70 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -28 -27 -23 -22 -20 --8 --33 --52 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --89 --84 --78 --74 -106 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -106 -97 -91 -83 -79 -72 -67 -61 -58 -52 -49 -44 -42 -37 -36 -31 -30 -27 -26 -22 -21 -19 -18 -16 -15 -12 -12 -10 -10 -8 -7 -6 -7 -5 -4 -4 -4 -2 -2 -1 -1 -0 -1 -0 -0 --1 --1 --2 --1 --2 --2 --2 --2 --3 --3 --3 --3 --4 --3 --4 --3 --3 --3 --4 --28 --50 --67 --82 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --91 --84 --79 --73 --69 --64 --61 --56 --53 --49 --46 --43 --40 --37 --35 --33 --31 --29 --27 --25 --24 --22 --21 --19 --19 --17 --17 --15 --14 --13 --13 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -81 -74 -69 -63 -59 -53 -51 -46 -44 -39 -37 -33 -31 -28 -26 -22 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --101 --96 --89 --84 --78 --74 --68 --65 --60 --56 --52 --50 --45 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -86 -82 -74 -70 -63 -60 -53 -51 -46 -43 -39 -37 -33 -31 -28 -26 -23 -23 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --89 --84 --78 --74 --68 --64 --60 --57 --52 --50 --46 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --23 --21 --20 --18 --17 --15 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --9 --7 --7 --7 --7 --6 --6 --5 --6 --5 --5 --5 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --4 --3 --3 --2 --3 --3 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -100 -94 -86 -81 -73 -70 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 -19 -16 -15 -13 -13 -10 -10 -8 -8 -6 -7 -5 -5 -4 -4 -2 -2 -1 -2 -0 -1 -0 -0 --1 --1 --2 --1 --2 --2 --2 --1 --3 --3 --3 --2 --4 --3 --3 --3 --4 --28 --50 --67 --82 --94 --105 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --61 --56 --53 --49 --47 --43 --41 --37 --35 --33 --31 --29 --27 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 --13 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -95 -86 -81 -74 -70 -63 -59 -54 -51 -45 -43 -39 -37 -33 -31 -27 -26 -23 -22 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --68 --64 --60 --57 --52 --49 --46 --43 --40 --38 --35 --33 --31 --29 --27 --25 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --9 --8 --8 --7 --7 --6 --6 --5 --5 --5 --6 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --3 --1 --2 --1 --2 --2 --3 --1 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -95 -86 -81 -74 -69 -63 -60 -54 -51 -45 -43 -39 -37 -33 -31 -28 -26 -23 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 -106 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -92 -83 -78 -71 -67 -61 -57 -52 -49 -44 -42 -37 -35 -31 -30 -27 -25 -23 -21 -19 -18 -15 --12 --36 --55 --72 --86 --98 --107 --99 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --34 --31 --29 --27 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --9 --7 --7 --7 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -86 -81 -74 -70 -63 -60 -54 -51 -46 -43 -39 -37 -33 -31 -28 -27 -23 -23 -20 -18 -16 -15 -13 -13 -11 -10 -8 -9 -7 -7 -6 -5 -3 -4 -3 -2 -1 -1 -0 -1 -0 -0 --1 -0 --1 --2 --2 --1 --3 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --28 --50 --67 --83 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --100 --109 --103 --96 --90 --84 --79 --73 --69 --64 --61 --56 --53 --49 --47 --43 --40 --37 --35 --33 --31 --28 --27 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 --13 --13 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -94 -86 -81 -74 -69 -63 -60 -54 -51 -45 -43 -39 -37 -32 -31 -28 -26 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -9 -8 -6 -6 -5 -5 -4 -4 -3 -3 -2 -1 -0 -1 -0 -0 --1 --1 --1 --1 --2 --2 --2 --1 --2 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --3 --5 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --29 --50 --68 --83 --95 --106 --98 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --106 --101 --109 --103 --96 --91 --84 --79 --73 --69 --65 --61 --56 --53 --49 --47 --43 --41 --37 --36 --33 --31 --29 --28 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --7 --7 --6 --6 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -100 -95 -86 -81 -74 -70 -63 -60 -54 -51 -45 -43 -39 -36 -33 -31 -28 -26 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --69 --64 --60 --56 --52 --49 --45 --43 --39 --38 --35 --33 --31 --29 --27 --25 --23 --22 --20 --20 --17 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -101 -95 -86 -81 -74 -69 -63 -60 -54 -51 -45 -43 -38 -37 -33 -31 -28 -26 -23 -22 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --68 --64 --60 --56 --53 --50 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --21 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --8 --8 --7 --8 --6 --7 --6 --6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -109 -99 -94 -86 -81 -73 -69 -63 -59 -53 -50 -45 -43 -39 -36 -32 -31 -28 -26 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --89 --84 --78 --74 --68 --64 --60 --57 --53 --50 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --8 --9 --8 --8 --7 --7 --6 --6 --5 --5 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --1 --2 --1 --1 --2 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -86 -81 -74 -70 -63 -59 -54 -51 -46 -43 -38 -37 -33 -31 -28 -26 -23 -22 -20 --8 --33 --52 --70 --83 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 -106 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -107 -97 -91 -83 -79 -72 -67 -61 -57 -52 -49 -44 -42 -38 -35 -31 -30 -26 -25 -22 -21 -19 -18 -15 --12 --36 --55 --72 --85 --98 --107 --99 --105 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --86 --79 --74 --69 --65 --60 --57 --53 --50 --47 --44 --40 --38 --35 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --5 --5 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -101 -95 -86 -80 -74 -70 -63 -59 -54 -51 -46 -43 -39 -37 -33 -31 -28 -25 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 -105 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -107 -97 -91 -83 -79 -71 -67 -61 -58 -52 -49 -44 -41 -38 -35 -32 -30 -27 -25 -22 -22 -19 -17 -15 -15 -12 -12 -10 -10 -8 -8 -6 -6 -5 -5 -3 -3 -2 -2 -1 -1 -0 -1 -0 -0 --1 --1 --2 --2 --2 --2 --3 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --3 --4 --28 --50 --67 --83 --95 --105 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --91 --84 --80 --74 --69 --64 --61 --56 --53 --49 --46 --43 --40 --37 --36 --33 --31 --29 --28 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --12 --11 --10 --10 --9 --9 --8 --8 --7 --7 --7 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --2 --2 --2 --3 --3 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --3 --1 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -94 -86 -81 -74 -69 -63 -59 -54 -51 -45 -43 -39 -37 -32 -31 -28 -26 -23 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 --68 --64 --60 --57 --52 --49 --46 --43 --40 --38 --35 --33 --30 --29 --26 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --9 --8 --8 --7 --7 --6 --6 --5 --5 --5 --5 --5 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -100 -95 -86 -81 -74 -70 -63 -60 -54 -51 -46 -44 -39 -37 -33 -31 -27 -26 -23 -22 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --68 --65 --60 --57 --53 --50 --46 --43 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --10 --11 --9 --10 --8 --8 --8 --8 --7 --7 --6 --6 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --1 --2 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -95 -86 -82 -74 -69 -63 -60 -53 -51 -45 -43 -39 -37 -33 -31 -28 -27 -23 -22 -19 -18 -16 -15 -13 -13 -11 -11 -9 -9 -6 -7 -5 -5 -3 -4 -2 -3 -1 -1 -1 -1 --1 -0 --1 --1 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --28 --50 --67 --82 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --90 --84 --79 --73 --69 --65 --61 --56 --53 --49 --46 --43 --40 --37 --36 --33 --31 --29 --27 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --13 --13 --11 --12 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --5 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -100 -95 -86 -82 -74 -69 -63 -60 -54 -51 -45 -43 -39 -37 -33 -30 -28 -27 -23 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --97 --89 --84 --78 --74 --68 --64 --60 --57 --53 --50 --46 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --22 --21 --20 --18 --18 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --5 --6 --5 --6 --5 --6 --5 --5 --4 --5 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -110 -101 -95 -86 -81 -74 -70 -63 -59 -54 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --90 --84 --78 --74 -105 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -107 -98 -91 -83 -79 -71 -67 -61 -57 -52 -49 -44 -42 -37 -36 -32 -30 -27 -25 -22 -21 -18 -17 -16 --11 --36 --55 --72 --85 --98 --107 --99 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --111 --103 --97 --91 --86 --79 --75 --69 --65 --61 --58 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --5 --5 --6 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -100 -95 -86 -81 -74 -69 -63 -59 -54 -51 -45 -44 -39 -36 -33 -31 -28 -26 -23 -22 -19 -19 -16 -15 -14 -13 -10 -11 -9 -8 -7 -7 -5 -5 -3 -4 -2 -3 -1 -1 -1 -1 -0 -0 --1 --1 --1 --1 --2 --2 --2 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --28 --50 --67 --82 --95 --106 --97 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --109 --103 --96 --91 --84 --79 --74 --69 --65 --61 --56 --53 --49 --46 --43 --40 --37 --36 --33 --31 --29 --27 --25 --24 --22 --21 --19 --18 --17 --17 --15 --15 --14 --13 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -101 -95 -86 -82 -74 -69 -63 -60 -54 -50 -45 -43 -38 -37 -33 -31 -28 -27 -24 -22 -20 -19 -15 -15 -13 -12 -11 -10 -9 -8 -7 -7 -5 -5 -4 -4 -2 -2 -1 -1 -0 -1 --1 -0 --1 --1 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --2 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --5 --4 --4 --4 --4 --4 --5 --4 --4 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --29 --50 --68 --83 --95 --106 --98 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --109 --104 --96 --91 --84 --79 --74 --70 --65 --61 --57 --54 --49 --47 --43 --40 --38 --36 --33 --31 --29 --28 --25 --24 --22 --21 --19 --19 --17 --17 --15 --15 --13 --13 --12 --12 --10 --11 --9 --9 --8 --8 --7 --8 --6 --7 --5 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -111 -101 -94 -86 -81 -74 -70 -63 -60 -54 -51 -46 -43 -38 -37 -33 -30 -28 -27 -23 -22 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --97 --90 --84 --78 --74 --68 --64 --59 --57 --52 --50 --46 --43 --40 --38 --35 --33 --30 --29 --27 --26 --23 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --9 --8 --8 --8 --7 --7 --6 --6 --5 --6 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -100 -95 -86 -81 -73 -70 -63 -59 -54 -51 -46 -44 -39 -37 -33 -31 -28 -26 -23 -22 -19 --8 --33 --52 --70 --84 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --90 --84 --78 --74 --68 --64 --60 --57 --52 --49 --46 --43 --40 --38 --35 --33 --31 --29 --27 --25 --23 --23 --20 --20 --18 --17 --16 --16 --15 --14 --12 --12 --10 --11 --9 --9 --8 --8 --8 --8 --7 --7 --6 --6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -100 -94 -84 -80 -73 -69 -62 -59 -53 -50 -45 -43 -38 -37 -33 -31 -27 -26 -23 -22 -19 --8 --33 --53 --70 --84 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 --69 --64 --60 --57 --52 --50 --45 --43 --40 --38 --35 --33 --31 --29 --27 --25 --23 --23 --20 --20 --17 --17 --16 --16 --14 --14 --13 --12 --11 --11 --9 --10 --8 --8 --7 --8 --7 --7 --6 --7 --5 --6 --5 --5 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --3 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -111 -100 -95 -86 -82 -74 -69 -63 -59 -54 -51 -45 -43 -39 -36 -33 -31 -28 -27 -24 -22 -19 --8 --33 --52 --70 --83 --96 --105 --98 --104 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --106 --99 --109 --102 --96 --89 --84 --78 --74 -105 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -107 -97 -92 -83 -79 -72 -68 -61 -57 -52 -49 -44 -42 -37 -35 -32 -30 -26 -25 -23 -22 -18 -18 -16 --11 --36 --55 --72 --85 --98 --107 --99 --105 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --58 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --13 --12 --11 --11 --10 --10 --8 --8 --8 --8 --7 --7 --6 --7 --5 --6 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --2 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -110 -101 -95 -86 -81 -74 -69 -63 -60 -54 -51 -46 -43 -39 -37 -33 -31 -28 -27 -23 -22 -20 --8 --33 --52 --70 --83 --96 --105 --98 --104 --110 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --99 --109 --102 --96 --90 --84 --78 --74 -106 -127 -127 -127 -127 -127 -127 -127 diff --git a/traces/modulation-direct-50.pm3 b/traces/modulation-direct-50.pm3 deleted file mode 100644 index a15d2e048..000000000 --- a/traces/modulation-direct-50.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -109 -99 -93 -84 -80 -72 -68 -62 -59 -52 -50 -45 -42 -38 -37 -32 -30 -27 -26 -22 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -7 --19 --42 --60 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --21 --19 --18 --18 --16 --15 --14 --14 --13 --12 --11 --11 --9 --10 --8 --8 --7 --8 --6 --7 --6 --7 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -84 -79 -72 -68 -61 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -25 -23 -21 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --22 --20 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --9 --9 --8 --8 --7 --7 --6 --7 --6 --7 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -79 -73 -69 -62 -59 -52 -49 -45 -43 -38 -36 -32 -31 -27 -26 -23 -21 -19 -18 -16 -15 -13 -12 -10 -11 -8 -8 -6 --19 --41 --59 --75 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -99 -90 -85 -77 -73 -66 -62 -56 -53 -48 -46 -41 -38 -34 -33 -29 -27 -24 -23 -20 -20 -17 -16 -14 -14 -12 -11 -10 -9 -7 -7 -5 --20 --42 --60 --76 --89 --100 --109 --101 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --41 --38 --35 --33 --31 --30 --27 --26 --24 --23 --21 --20 --18 --18 --16 --15 --14 --14 --12 --12 --11 --10 --9 --10 --8 --8 --7 --8 --6 --7 --6 --7 --5 --6 --5 --5 --4 --5 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -92 -85 -80 -72 -68 -62 -58 -53 -50 -45 -42 -38 -36 -32 -31 -27 -25 -23 -22 -19 -18 -16 -15 -13 -12 -11 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --86 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -40 -39 -35 -33 -29 -28 -25 -24 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -6 -6 -4 -4 -3 -3 -2 -2 -0 -1 -0 -0 --1 -0 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --3 --4 --3 --5 --3 --4 --4 --4 --3 --5 --4 --5 --4 --5 --4 --5 --4 --4 --28 --49 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --114 --106 --100 --94 --89 --82 --77 --72 --68 --63 --59 --54 --51 --48 --45 --42 --40 --36 --35 --32 --31 --28 --27 --24 --23 --21 --20 --18 --18 --16 --16 --15 --14 --13 --13 --11 --11 --9 --10 --8 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --5 --4 --4 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -80 -72 -68 -63 -59 -53 -50 -45 -42 -38 -36 -32 -30 -28 -26 -22 -22 -19 -18 -16 -15 -13 -12 -11 -10 -8 -8 -7 --19 --41 --59 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --15 --14 --13 --12 --12 --10 --11 --9 --10 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --4 --3 --5 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --2 --2 --2 --2 --2 --1 --3 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -85 -80 -73 -68 -62 -58 -53 -50 -44 -43 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -16 -14 -13 -13 -10 -10 -8 -8 -7 --18 --41 --59 --76 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --39 --35 --33 --31 --30 --27 --26 --24 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --10 --9 --10 --8 --9 --7 --7 --6 --7 --6 --7 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --1 --3 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -98 -92 -85 -80 -72 -68 -62 -59 -53 -50 -45 -43 -39 -36 -32 -30 -27 -26 -22 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 -6 -5 -5 -3 -4 -3 -2 -2 -2 -0 -1 -0 -0 --1 --1 --1 --1 --2 --1 --2 --2 --2 --2 --3 --2 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --4 --4 --5 --4 --5 --28 --50 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --114 --107 --100 --93 --89 --82 --77 --72 --68 --63 --59 --55 --52 --48 --45 --42 --39 --36 --34 --32 --31 --28 --27 --24 --24 --21 --20 --19 --18 --17 --16 --14 --14 --13 --13 --11 --11 --10 --10 --8 --9 --8 --8 --6 --7 --6 --7 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -93 -85 -79 -72 -68 -62 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --20 --20 --18 --18 --16 --15 --14 --13 --12 --12 --11 --11 --10 --9 --8 --9 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -85 -80 -72 -68 -62 -59 -52 -50 -45 -42 -38 -36 -32 -31 -28 -25 -22 -22 -19 -17 -16 -15 -13 -12 -10 -10 -8 -8 -7 --18 --42 --59 --76 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 --103 --97 --91 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -45 -40 -39 -34 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -13 -12 -11 -9 -9 -7 -7 -5 --20 --42 --60 --76 --89 --100 --109 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --103 --97 --91 --85 --79 --75 --70 --66 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --8 --7 --7 --6 --7 --6 --7 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -85 -80 -72 -68 -62 -59 -53 -49 -45 -42 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -7 -6 -5 -5 -4 -3 -3 -2 -1 -2 -1 -1 -0 --1 --1 -0 --1 --1 --1 --2 --2 --2 --3 --2 --3 --3 --4 --3 --4 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --4 --4 --4 --5 --4 --4 --4 --4 --4 --5 --4 --5 --28 --49 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --114 --107 --101 --94 --88 --82 --78 --72 --68 --63 --60 --55 --52 --48 --45 --42 --39 --36 --35 --32 --31 --28 --27 --25 --23 --21 --20 --18 --18 --16 --16 --15 --14 --13 --13 --11 --11 --10 --10 --9 --8 --7 --8 --6 --7 --6 --7 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -80 -72 -68 -62 -59 -53 -50 -45 -43 -38 -36 -32 -31 -27 -25 -22 -22 -19 -18 -16 -15 -12 -13 -11 -10 -8 -8 -6 -7 -5 -4 -3 -4 -3 -2 -1 -2 -1 -1 -0 -0 --1 --1 --1 --1 --2 --2 --3 --2 --2 --2 --3 --2 --3 --3 --3 --3 --4 --3 --4 --4 --4 --3 --4 --3 --4 --4 --5 --3 --5 --4 --5 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --5 --6 --4 --5 --5 --5 --4 --5 --4 --5 --4 --6 --4 --5 --5 --5 --5 --5 --4 --5 --28 --50 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --98 --106 --101 --94 --88 --82 --78 --72 --68 --63 --59 --55 --52 --48 --46 --42 --40 --36 --34 --33 --31 --28 --27 --24 --24 --21 --21 --19 --18 --17 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --7 --7 --5 --6 --5 --5 --4 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -116 -108 -99 -93 -85 -80 -72 -68 -62 -59 -53 -49 -45 -43 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -9 -9 -7 --18 --42 --60 --76 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --21 --20 --18 --18 --16 --15 --14 --14 --12 --12 --11 --11 --9 --10 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -93 -85 -80 -72 -69 -62 -59 -53 -50 -45 -43 -38 -36 -32 -31 -28 -26 -22 -22 -19 -18 -15 -15 -12 -13 -10 -10 -8 -8 -7 --19 --42 --59 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --20 --20 --18 --18 --16 --16 --14 --13 --12 --12 --11 --11 --9 --9 --8 --9 --7 --7 --7 --7 --6 --7 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -107 -99 -93 -85 -79 -72 -69 -62 -59 -53 -49 -45 -42 -37 -36 -32 -30 -28 -26 -23 -22 -19 -18 -15 -15 -13 -12 -11 -10 -8 -8 -7 --18 --41 --59 --76 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --111 --103 --97 --91 --85 --80 --74 --69 --65 --60 --58 --53 --50 --46 --44 --41 --38 --35 --33 --31 --30 --27 --26 --24 --23 --21 --20 --18 --18 --16 --15 --14 --13 --12 --12 --11 --11 --10 --10 --8 --8 --7 --8 --6 --7 --6 --6 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -107 -99 -93 -84 -80 -72 -68 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -16 -15 -13 -12 -11 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -105 -98 -89 -85 -77 -73 -66 -62 -56 -53 -48 -45 -40 -38 -34 -32 -29 -28 -24 -23 -21 -20 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -5 --20 --42 --60 --76 --89 --100 --108 --101 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --111 --103 --97 --91 --86 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --39 --35 --33 --31 --30 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --10 --11 --10 --10 --8 --9 --8 --8 --7 --7 --6 --7 --5 --5 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -116 -109 -98 -93 -85 -79 -73 -68 -62 -59 -53 -50 -45 -43 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 --19 --41 --59 --76 --88 --99 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -34 -32 -29 -27 -24 -23 -20 -19 -17 -16 -14 -14 -12 -11 -9 -9 -7 -7 -5 -5 -4 -5 -3 -3 -2 -2 -1 -1 -0 -0 --1 --1 --1 --1 --2 --1 --2 --1 --2 --3 --3 --2 --4 --3 --3 --3 --4 --3 --4 --3 --4 --3 --4 --3 --4 --4 --4 --3 --5 --4 --4 --4 --5 --4 --4 --4 --4 --4 --5 --28 --50 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --114 --106 --100 --94 --88 --82 --77 --72 --68 --63 --59 --55 --52 --48 --45 --42 --39 --36 --35 --32 --30 --28 --27 --24 --23 --21 --21 --19 --18 --16 --16 --15 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --7 --6 --7 --6 --6 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --3 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -98 -93 -85 -79 -72 -69 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -22 -21 -19 -19 -16 -15 -13 -13 -10 -9 -8 -8 -7 --19 --42 --60 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --20 --19 --18 --17 --16 --15 --14 --14 --13 --12 --11 --11 --10 --10 --8 --8 --7 --8 --7 --7 --6 --7 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -107 -99 -93 -84 -80 -72 -68 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -7 --19 --42 --60 --76 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --20 --19 --18 --18 --16 --15 --14 --14 --12 --12 --11 --11 --10 --10 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -79 -73 -69 -62 -58 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -23 -21 -19 -18 -16 -15 -12 -12 -11 -10 -9 -8 -6 -7 -5 -5 -3 -3 -2 -2 -1 -1 -0 -1 -0 -0 --1 --1 --1 --1 --2 --1 --3 --2 --3 --2 --3 --2 --4 --3 --3 --3 --4 --3 --4 --4 --4 --4 --5 --3 --4 --4 --4 --4 --4 --4 --4 --4 --5 --4 --5 --5 --5 --28 --49 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --114 --106 --100 --94 --88 --82 --77 --71 --67 --63 --59 --54 --51 --47 --45 --42 --40 --36 --34 --32 --31 --28 --27 --24 --23 --21 --21 --19 --18 --17 --16 --15 --14 --13 --12 --11 --11 --9 --10 --8 --9 --8 --8 --7 --7 --6 --7 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -107 -99 -93 -84 -80 -73 -69 -62 -58 -52 -50 -45 -42 -37 -36 -32 -30 -27 -26 -23 -22 -19 -18 -16 -15 -13 -12 -11 -10 -8 -8 -7 --18 --41 --59 --75 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --29 --27 --26 --23 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --9 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --2 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -98 -93 -85 -79 -72 -69 -62 -59 -53 -50 -45 -43 -38 -35 -32 -30 -27 -26 -22 -22 -19 -18 -15 -15 -13 -13 -10 -9 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --102 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --43 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -98 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -34 -33 -29 -27 -25 -24 -20 -19 -16 -16 -14 -14 -11 -10 -9 -9 -7 -8 -5 --20 --42 --60 --76 --88 --100 --109 --101 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --10 --9 --10 --8 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -80 -72 -68 -62 -58 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -22 -22 -19 -18 -16 -15 -13 -12 -11 -11 -8 -8 -6 -6 -5 -5 -3 -3 -2 -3 -1 -1 -0 -1 -0 -0 --2 -0 --1 --1 --2 --2 --2 --2 --3 --2 --3 --2 --3 --3 --3 --3 --4 --4 --4 --3 --4 --3 --4 --4 --4 --3 --5 --4 --4 --4 --5 --4 --5 --4 --4 --4 --5 --29 --50 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --103 --114 --106 --100 --94 --88 --82 --77 --71 --67 --62 --59 --54 --52 --48 --45 --42 --39 --37 --34 --32 --30 --28 --27 --24 --23 --21 --21 --19 --18 --16 --16 --15 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --6 --5 --6 --4 --5 --4 --5 --4 --5 --4 --4 --3 --4 --3 --4 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -79 -73 -69 -62 -58 -53 -50 -45 -43 -38 -36 -33 -31 -27 -26 -23 -21 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -7 -6 -4 -5 -4 -4 -2 -2 -1 -1 -1 -1 --1 -0 --1 -0 --1 --1 --2 --2 --2 --2 --4 --2 --3 --2 --3 --3 --4 --3 --3 --3 --4 --4 --4 --4 --4 --4 --5 --4 --4 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --5 --6 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --29 --50 --67 --82 --94 --105 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --113 --106 --100 --94 --88 --82 --77 --72 --68 --63 --59 --55 --52 --48 --45 --41 --39 --36 --34 --32 --31 --28 --27 --24 --24 --21 --21 --18 --18 --17 --16 --14 --14 --12 --13 --11 --11 --10 --10 --8 --9 --7 --8 --6 --7 --6 --6 --6 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --1 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -80 -72 -68 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -22 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -7 --19 --42 --60 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --29 --27 --26 --24 --22 --20 --20 --18 --18 --16 --16 --14 --14 --12 --12 --10 --11 --9 --10 --8 --8 --8 --8 --7 --7 --6 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -93 -84 -79 -73 -69 -61 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -25 -23 -21 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 --19 --42 --59 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --43 --40 --38 --35 --33 --31 --30 --27 --26 --23 --22 --21 --20 --18 --17 --15 --15 --14 --14 --12 --12 --10 --11 --9 --10 --8 --8 --7 --7 --6 --7 --6 --7 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -92 -85 -79 -72 -68 -62 -57 -53 -50 -45 -42 -38 -36 -31 -31 -27 -25 -22 -22 -19 -18 -16 -15 -13 -13 -10 -9 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 --35 --33 --31 --30 --27 --26 --23 --23 --20 --19 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --9 --8 --9 --7 --7 --6 --7 --6 --7 --5 --6 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -79 -72 -68 -62 -58 -52 -50 -45 -42 -38 -36 -32 -31 -27 -25 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -9 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -72 -66 -62 -56 -54 -48 -45 -41 -39 -35 -32 -29 -28 -24 -23 -20 -19 -17 -16 -14 -14 -12 -11 -9 -9 -7 -7 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --103 --97 --91 --86 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --23 --22 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --8 --8 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -84 -79 -73 -68 -62 -58 -53 -50 -45 -42 -38 -36 -32 -30 -27 -26 -22 -22 -19 -18 -16 -15 -13 -13 -11 -10 -8 -8 -7 --19 --41 --60 --76 --88 --99 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -104 -98 -90 -85 -77 -73 -66 -62 -56 -53 -48 -45 -41 -39 -35 -32 -29 -28 -25 -23 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 -6 -4 -4 -2 -3 -2 -2 -1 -1 -0 -1 --1 --1 --1 --1 --2 --1 --2 --2 --3 --2 --3 --3 --3 --2 --4 --3 --3 --3 --4 --3 --4 --3 --4 --4 --5 --4 --4 --4 --4 --4 --5 --4 --5 --4 --5 --4 --4 --4 --5 --29 --50 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --114 --106 --100 --94 --88 --82 --77 --72 --67 --63 --59 --54 --51 --48 --45 --42 --40 --36 --34 --32 --30 --28 --26 --24 --23 --21 --20 --19 --18 --17 --16 --14 --14 --13 --12 --11 --11 --9 --10 --9 --9 --7 --8 --7 --7 --7 --7 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --4 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -80 -73 -68 -61 -58 -52 -49 -45 -42 -38 -36 -32 -31 -27 -26 -23 -21 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -7 --18 --41 --59 --75 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --101 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --41 --38 --35 --33 --31 --30 --27 --26 --23 --22 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --10 --11 --10 --10 --8 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -85 -80 -73 -68 -62 -59 -52 -50 -45 -43 -38 -36 -32 -30 -28 -26 -22 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -7 --19 --41 --59 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --80 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --23 --23 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --10 --10 --10 --10 --8 --9 --7 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -80 -73 -68 -62 -59 -53 -50 -45 -42 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -7 -6 -5 -5 -4 -4 -2 -3 -1 -1 -1 -1 --1 -0 --1 --1 --1 --1 --2 --2 --2 --1 --3 --2 --3 --3 --3 --3 --4 --3 --3 --3 --4 --3 --4 --3 --4 --4 --5 --3 --5 --4 --4 --3 --4 --4 --5 --4 --4 --4 --5 --29 --50 --67 --82 --94 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --113 --106 --100 --94 --88 --82 --77 --72 --68 --63 --59 --55 --52 --48 --45 --42 --39 --36 --35 --32 --31 --28 --27 --24 --23 --21 --21 --18 --18 --16 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --8 --7 --8 --6 --7 --6 --6 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --2 --3 --3 --3 --2 --2 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -84 -80 -72 -68 -62 -59 -52 -50 -45 -42 -38 -36 -32 -30 -27 -26 -22 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 --19 --41 --59 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --86 --79 --75 --69 --66 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --23 --23 --20 --19 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --9 --8 --9 --7 --8 --7 --7 --6 --7 --6 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --3 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -85 -80 -72 -68 -62 -59 -53 -49 -45 -43 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -7 --18 --41 --59 --75 --88 --99 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --100 --110 --103 --97 --91 --85 --79 --75 --69 --66 --61 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -84 -77 -73 -66 -62 -57 -53 -48 -46 -41 -39 -34 -32 -29 -27 -25 -23 -20 -20 -17 -16 -14 -14 -11 -11 -9 -9 -7 -7 -6 --20 --42 --60 --76 --89 --100 --109 --101 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --103 --97 --91 --86 --80 --75 --70 --66 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --21 --19 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --9 --8 --9 --7 --8 --6 --7 --6 --6 --6 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -85 -79 -72 -69 -62 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -25 -23 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 -6 -5 -4 -4 -4 -2 -2 -1 -1 -0 -1 -0 -0 --1 -0 --2 --1 --2 --1 --3 --2 --3 --2 --3 --3 --4 --3 --3 --3 --3 --3 --4 --3 --4 --4 --4 --4 --5 --4 --4 --4 --4 --4 --4 --4 --5 --4 --5 --4 --5 --28 --49 --67 --82 --94 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --114 --107 --101 --94 --88 --82 --78 --72 --68 --63 --59 --54 --52 --48 --45 --42 --40 --36 --34 --32 --31 --28 --27 --25 --23 --21 --21 --18 --18 --17 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --8 --8 --8 --6 --7 --6 --7 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -109 -99 -92 -84 -80 -73 -68 -62 -58 -52 -50 -45 -42 -38 -36 -32 -31 -28 -26 -22 -22 -19 -18 -16 -15 -13 -13 -11 -10 -8 -8 -6 -6 -5 -5 -3 -4 -3 -3 -1 -1 -0 -1 -0 -0 --1 --1 --2 --1 --2 --1 --3 --2 --2 --2 --3 --3 --3 --3 --4 --3 --4 --4 --4 --3 --4 --3 --4 --3 --4 --4 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --5 --4 --4 --4 --5 --4 --5 --5 --4 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --6 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --5 --5 --4 --5 --5 --5 --4 --5 --29 --50 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --98 --107 --101 --94 --88 --82 --77 --72 --67 --63 --59 --55 --52 --48 --46 --42 --39 --36 --34 --32 --31 --28 --27 --24 --24 --21 --21 --19 --18 --17 --16 --14 --14 --13 --13 --11 --11 --10 --10 --9 --9 --7 --8 --7 --7 --6 --7 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -98 -93 -85 -80 -72 -68 -62 -59 -53 -50 -45 -43 -38 -36 -32 -31 -27 -26 -22 -22 -18 -18 -16 -15 -13 -13 -11 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --28 --26 --24 --23 --21 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --8 --8 --7 --7 --6 --7 --6 --6 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -80 -73 -68 -62 -58 -52 -50 -45 -42 -38 -36 -32 -31 -28 -26 -22 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -9 -7 --18 --41 --59 --76 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 --103 --97 --91 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --29 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --13 --12 --12 --11 --11 --9 --10 --9 --9 --8 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -80 -72 -68 -62 -59 -53 -49 -45 -42 -38 -36 -32 -31 -27 -26 -22 -22 -19 -18 -15 -14 -13 -12 -10 -10 -9 -8 -6 --19 --41 --59 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --108 --101 --110 --103 --97 --91 --85 --79 --75 --69 --65 --61 --57 --53 --50 --47 --44 --40 --38 --35 --33 --31 --29 --27 --26 --24 --23 --20 --20 --18 --17 --16 --15 --14 --14 --12 --12 --11 --11 --9 --10 --9 --8 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --4 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -84 -80 -72 -69 -62 -59 -53 -50 -45 -42 -37 -36 -32 -31 -27 -25 -23 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 --19 --41 --60 --76 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -99 -90 -85 -77 -73 -66 -62 -56 -53 -47 -45 -40 -38 -35 -33 -29 -28 -25 -24 -20 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -8 -6 --19 --42 --60 --76 --89 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --103 --98 --91 --85 --80 --75 --69 --65 --61 --57 --53 --50 --46 --44 --41 --38 --35 --33 --31 --30 --27 --26 --23 --23 --21 --20 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --8 --9 --8 --8 --6 --7 --6 --7 --5 --6 --4 --5 --5 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -109 -99 -93 -84 -79 -72 -69 -62 -58 -53 -50 -45 -42 -38 -36 -32 -31 -27 -26 -22 -22 -19 -18 -16 -15 -12 -13 -10 -10 -8 -8 -6 --19 --42 --60 --76 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --108 --101 --110 --103 --97 --91 --86 --79 --75 --69 --66 --61 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -98 -90 -85 -77 -73 -66 -62 -56 -54 -48 -45 -41 -39 -34 -33 -29 -27 -24 -23 -21 -19 -17 -16 -14 -13 -11 -11 -9 -9 -7 -7 -5 -6 -4 -4 -3 -3 -2 -2 -1 -1 -0 -0 --1 --1 --1 --1 --2 --1 --2 --2 --2 --2 --3 --3 --3 --3 --3 --3 --4 --3 --3 --3 --4 --4 --4 --4 --4 --4 --5 --4 --4 --4 --5 --4 --4 --4 --4 --4 --5 --4 --5 --28 --50 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --98 --107 --101 --94 --88 --82 --77 --72 --68 --63 --59 --55 --51 --48 --45 --42 --40 --36 --35 --32 --31 --28 --27 --24 --23 --21 --21 --18 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --8 --7 --8 --6 --7 --7 --7 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -85 -80 -72 -68 -63 -59 -52 -50 -45 -42 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --29 --27 --26 --24 --22 --20 --19 --18 --18 --16 --15 --14 --14 --12 --12 --10 --10 --9 --10 --8 --8 --7 --7 --7 --7 --6 --6 --5 --6 --5 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --2 --2 --2 --2 --3 --2 --3 --2 --3 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -116 -109 -98 -93 -84 -79 -73 -68 -62 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -25 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --22 --20 --20 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --8 --7 --8 --6 --7 --6 --7 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --3 --3 --3 --3 --3 --3 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -85 -80 -72 -68 -62 -59 -52 -50 -45 -42 -38 -36 -32 -31 -28 -26 -22 -22 -19 -18 -16 -15 -13 -13 -11 -10 -8 -8 -7 -6 -5 -5 -3 -4 -2 -2 -1 -2 -1 -1 -0 -0 --1 --1 --2 --1 --2 --2 --2 --2 --2 --2 --3 --3 --3 --2 --4 --3 --4 --4 --4 --3 --5 --3 --4 --4 --4 --3 --4 --4 --4 --4 --5 --4 --5 --5 --4 --4 --4 --28 --50 --66 --81 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --114 --107 --100 --94 --88 --82 --77 --72 --67 --63 --59 --55 --52 --48 --45 --42 --40 --36 --34 --32 --31 --28 --27 --25 --24 --21 --20 --19 --18 --16 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --7 --7 --6 --7 --6 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -93 -85 -79 -72 -69 -62 -58 -52 -50 -45 -43 -38 -36 -33 -31 -27 -26 -23 -22 -19 -18 -15 -14 -13 -13 -10 -10 -8 -8 -7 --18 --41 --59 --76 --88 --99 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --61 --58 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --23 --22 --21 --20 --18 --17 --16 --16 --14 --13 --12 --12 --11 --11 --9 --10 --8 --9 --7 --8 --7 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -92 -85 -80 -73 -69 -62 -58 -53 -50 -45 -42 -38 -36 -32 -30 -27 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --74 --69 --65 --60 --57 --52 --49 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -85 -77 -72 -66 -62 -56 -53 -48 -45 -40 -38 -34 -32 -30 -28 -24 -23 -20 -19 -17 -16 -14 -13 -12 -11 -9 -9 -7 -7 -6 --19 --42 --60 --76 --88 --100 --109 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --101 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --23 --21 --20 --18 --18 --16 --16 --14 --13 --12 --12 --11 --11 --10 --10 --8 --9 --8 --8 --6 --7 --6 --7 --5 --6 --5 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --2 --3 --2 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --2 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -108 -99 -93 -84 -80 -72 -68 -62 -58 -53 -50 -45 -43 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -16 -15 -13 -12 -10 -11 -8 -8 -6 -7 -5 -5 -3 -4 -2 -3 -1 -1 -1 -1 -0 -0 --1 --1 --1 --1 --2 --2 --2 --2 --3 --2 --3 --3 --3 --3 --3 --3 --4 --3 --4 --3 --4 --4 --4 --3 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --28 --50 --67 --82 --93 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --111 --104 --114 --106 --100 --94 --88 --82 --77 --71 --68 --63 --59 --55 --52 --48 --46 --42 --39 --36 --34 --32 --30 --28 --27 --24 --24 --22 --21 --19 --18 --17 --16 --14 --14 --12 --12 --11 --11 --10 --10 --9 --9 --8 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --2 --2 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -92 -85 -80 -72 -68 -62 -59 -53 -50 -45 -42 -38 -36 -32 -31 -28 -25 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 -7 -5 -5 -3 -4 -2 -2 -2 -2 -0 -1 -0 -0 --1 -0 --2 --1 --2 --2 --3 --2 --3 --3 --3 --3 --4 --2 --3 --3 --4 --3 --4 --4 --4 --3 --4 --3 --4 --4 --4 --3 --4 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --4 --4 --5 --4 --5 --5 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --4 --6 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --4 --5 --5 --5 --28 --50 --67 --82 --94 --104 --112 --104 --109 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --110 --104 --113 --106 --100 --94 --88 --82 --77 --72 --68 --63 --59 --54 --52 --48 --45 --42 --39 --36 --35 --32 --31 --28 --27 --24 --23 --21 --21 --18 --18 --17 --16 --14 --14 --13 --12 --11 --11 --10 --10 --9 --9 --7 --8 --7 --7 --6 --7 --6 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -93 -84 -80 -73 -68 -62 -59 -53 -50 -45 -42 -38 -36 -32 -31 -27 -26 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -7 --18 --41 --59 --76 --88 --99 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --29 --27 --26 --23 --22 --21 --20 --18 --18 --16 --15 --14 --14 --12 --12 --10 --10 --9 --10 --8 --8 --8 --8 --6 --7 --6 --6 --6 --6 --4 --5 --4 --5 --4 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --2 --2 --3 --1 --2 --1 --2 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -98 -92 -85 -80 -72 -68 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -25 -23 -22 -19 -18 -16 -15 -13 -13 -10 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --49 --46 --43 --40 --38 --35 --33 --31 --30 --27 --26 --23 --23 --20 --19 --18 --17 --16 --16 --14 --14 --12 --12 --11 --11 --9 --10 --8 --8 --7 --8 --7 --7 --6 --7 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --3 --3 --2 --3 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -108 -99 -92 -84 -79 -72 -67 -62 -59 -53 -50 -45 -43 -38 -36 -32 -30 -27 -26 -22 -22 -19 -18 -15 -15 -13 -12 -10 -10 -8 -8 -6 --19 --42 --60 --76 --88 --100 --108 --100 --106 --111 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --112 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --29 --27 --26 --24 --23 --20 --19 --18 --18 --16 --15 --14 --14 --12 --12 --11 --11 --9 --9 --8 --9 --8 --8 --6 --7 --6 --6 --5 --6 --5 --5 --4 --5 --4 --4 --4 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --2 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -109 -99 -93 -84 -80 -73 -68 -62 -58 -52 -50 -45 -43 -38 -36 -32 -31 -27 -26 -22 -22 -19 -18 -16 -15 -13 -13 -11 -10 -8 -8 -7 --19 --41 --59 --76 --88 --100 --108 --100 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --90 --85 --79 --75 --69 --65 --60 --57 --53 --50 --46 --44 --40 --38 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -99 -90 -84 -77 -73 -65 -62 -56 -53 -48 -46 -41 -39 -35 -32 -29 -28 -24 -23 -21 -20 -17 -16 -14 -14 -12 -11 -9 -9 -7 -7 -5 --20 --43 --61 --77 --89 --100 --109 --101 --106 --112 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --127 --107 --100 --110 --103 --97 --91 --85 --79 --75 --70 --65 --60 --57 --53 --50 --46 --44 --40 --38 --35 --33 --31 --30 --27 --26 --24 --22 --20 --20 --18 --18 --16 --16 --14 --14 --12 --12 --10 --11 --9 --9 --8 --8 --7 --8 --6 --7 --6 --7 --5 --6 --5 --5 --4 --4 --3 --4 --3 --4 --3 --4 --3 --3 --3 --3 --2 --3 --2 --3 --2 --2 --2 --3 --2 --3 --2 --3 --2 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --2 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --2 --1 --1 --1 --2 diff --git a/traces/modulation-fsk1-50.pm3 b/traces/modulation-fsk1-50.pm3 deleted file mode 100644 index 01fb01c56..000000000 --- a/traces/modulation-fsk1-50.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --48 -21 -28 --2 --28 --49 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --3 --28 --49 -22 -30 -0 --27 --47 -21 -29 --2 --27 --49 -22 -30 -0 --26 --48 -21 -30 --1 --26 --48 -21 -28 --1 --28 --49 -21 -30 --2 --27 --49 -23 -30 -0 --27 --48 -21 -30 --1 --26 --49 -23 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -21 -28 --2 --28 --49 -21 -30 --1 --26 --48 -22 -29 -0 --27 --47 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -20 -29 --2 --27 --49 -22 -30 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -20 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -29 --1 --28 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --2 --27 --49 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --27 --48 -22 -30 --1 --27 --48 -20 -29 --3 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -20 -27 -0 --16 --39 --59 --75 --89 -30 -55 -22 --3 --27 --49 --66 --82 -30 -58 -25 -1 --24 --47 --64 --80 -37 -64 -30 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -40 -67 -32 -7 --19 --42 --60 --77 -40 -67 -32 -0 --24 -43 -49 -14 --13 --37 -34 -40 -9 --19 --41 -29 -38 -6 --20 --43 -28 -34 -4 --23 --45 -26 -35 -3 --23 --46 -26 -33 -2 --24 --46 -24 -33 -1 --24 --47 -24 -31 -1 --26 --47 -22 -31 -0 --25 --48 -22 -30 -0 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -20 -30 --2 --27 --49 -22 -30 --1 --27 --48 -21 -30 --1 --27 --49 -22 -30 --1 --27 --48 -21 -30 --1 --27 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --2 --27 --49 -23 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -30 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 -1 --16 --39 --59 --75 --89 -29 -54 -22 --3 --28 --50 --67 --82 -29 -58 -25 -1 --24 --47 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --43 --61 --77 -40 -67 -32 -7 --19 --42 --60 --77 -41 -67 -33 -8 --18 --42 --59 -52 -28 --2 --27 --48 -51 -25 --3 --29 --49 -49 -25 --5 --29 --50 -50 -23 --5 --31 --50 -48 -23 --7 --31 --52 -48 -22 --6 --31 --51 -47 -22 --8 --32 --52 -48 -21 --7 --32 --52 -46 -22 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --53 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --9 --33 --53 -45 -22 --8 --32 --53 -46 -20 --9 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -46 -22 --9 --32 --53 -46 -20 --8 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -46 -22 --8 --32 --53 -47 -20 --8 --33 --53 -45 -21 --9 --32 --53 -46 -20 --8 --33 --53 -45 -21 --9 --33 --53 -46 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -20 --10 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 --70 -38 -61 -27 -2 --24 --46 --64 --80 -33 -61 -28 -4 --22 --44 --62 --78 -38 -65 -31 -6 --20 --43 --61 --77 -42 -68 -33 -7 --18 --42 --60 --76 -41 -68 -33 -7 --18 --42 --60 --77 -42 -68 -34 -8 --18 --41 --59 --76 -45 -70 -35 -8 --18 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -41 -68 -33 -8 --18 --41 --59 --76 -44 -70 -35 -8 --18 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -42 -69 -35 -8 --18 --41 --59 --76 -42 -69 -33 -2 --23 -44 -50 -15 --12 --36 -36 -42 -10 --18 --40 -30 -38 -5 --21 --44 -28 -35 -4 --23 --44 -24 -33 -1 --24 --46 -25 -32 -2 --25 --46 -23 -33 -1 --24 --47 -24 -31 -1 --26 --47 -22 -31 -0 --25 --48 -22 -29 --1 --27 --48 -22 -31 -0 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -30 -0 --27 --48 -22 -31 --1 --26 --48 -21 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -30 --1 --27 --48 -21 -30 --1 --27 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --47 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -20 -28 --2 --28 --49 -21 -30 --1 --26 --48 -22 -30 -0 --26 --47 -21 -30 --2 --27 --48 -22 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -30 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -21 -28 --1 --28 --48 -21 -30 --2 --27 --49 -22 -30 -0 --26 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -20 -28 -0 --16 --39 --59 --75 --89 -29 -55 -22 --3 --28 --49 --67 --82 -30 -58 -26 -1 --24 --46 --64 --80 -35 -63 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --43 --61 --77 -40 -66 -32 -7 --19 --42 --60 --76 -41 -68 -32 -1 --24 -42 -49 -14 --13 --37 -35 -41 -10 --18 --40 -29 -37 -5 --21 --44 -28 -35 -5 --22 --44 -26 -34 -2 --23 --46 -25 -33 -3 --24 --46 -24 -32 -0 --25 --47 -24 -31 -1 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --26 --47 -21 -31 --1 --26 --48 -23 -30 -0 --27 --47 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -30 --2 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --28 --49 -21 -30 --1 --26 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -30 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -23 -29 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 -1 --16 --39 --59 --75 --89 -29 -54 -22 --3 --28 --50 --67 --82 -30 -58 -25 -1 --24 --47 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --41 --59 -52 -29 --2 --27 --48 -52 -25 --4 --29 --49 -49 -25 --5 --29 --50 -50 -23 --6 --31 --51 -48 -24 --7 --31 --51 -49 -22 --7 --31 --51 -47 -22 --8 --32 --52 -47 -21 --7 --32 --52 -47 -22 --8 --32 --53 -47 -20 --8 --33 --53 --70 -38 -61 -27 -2 --24 --46 --64 --80 -33 -62 -29 -4 --22 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -41 -68 -33 -8 --18 --42 --60 --76 -41 -68 -33 -7 --18 --42 --60 --77 -41 -68 -34 -8 --18 --41 --59 -49 -27 --3 --28 --49 -52 -26 --3 --29 --49 -49 -25 --5 --29 --50 -50 -23 --5 --31 --50 -48 -24 --6 --30 --51 -47 -21 --7 --32 --51 -46 -23 --7 --31 --52 -48 -22 --7 --32 --51 -47 -22 --8 --31 --52 -47 -21 --7 --33 --52 -44 -21 --9 --33 --53 -47 -20 --8 --33 --52 -46 -22 --8 --32 --52 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -45 -20 --9 --33 --53 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -44 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -45 -19 --9 --33 --53 -46 -22 --8 --32 --52 -47 -20 --8 --33 --53 -46 -22 --8 --32 --53 -47 -20 --8 --33 --52 -43 -19 --10 --33 --54 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -46 -21 --8 --32 --53 -45 -20 --9 --33 --53 -46 -21 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -43 -19 --10 --33 --54 -46 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -21 --7 --33 --52 -45 -21 --8 --32 --53 -46 -20 --8 --33 --53 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 --70 -41 -62 -28 -2 --23 --46 --64 --80 -33 -61 -27 -3 --22 --45 --63 --79 -38 -65 -31 -6 --20 --43 --61 --77 -42 -68 -33 -8 --18 --42 --60 --76 -40 -67 -33 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --41 --60 --76 -42 -69 -34 -8 --18 --41 --59 --76 -42 -68 -33 -8 --18 --41 --59 --76 -42 -68 -34 -8 --17 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -42 -69 -35 -8 --18 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -42 -69 -33 -1 --24 -43 -50 -15 --12 --36 -36 -42 -10 --18 --40 -29 -39 -6 --20 --43 -28 -36 -5 --22 --44 -26 -35 -3 --23 --45 -25 -32 -1 --25 --46 -24 -33 -1 --24 --47 -24 -30 -0 --26 --47 -22 -31 -0 --26 --48 -22 -30 -0 --26 --47 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --47 -21 -29 --2 --27 --49 -22 -29 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -30 -0 --27 --47 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --28 --48 -21 -30 --2 --27 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -30 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -1 --16 --39 --59 --75 --89 -29 -55 -22 --3 --28 --50 --67 --82 -29 -57 -24 -1 --25 --47 --64 --80 -36 -63 -30 -4 --21 --44 --62 --78 -39 -66 -31 -6 --20 --42 --61 --77 -40 -67 -32 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --41 --60 --76 -41 -68 -33 -8 --18 --41 --60 --76 -41 -68 -34 -8 --18 --41 --60 --76 -42 -68 -34 -8 --17 --41 --59 --76 -43 -69 -35 -8 --17 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -46 -70 -36 -9 --17 --40 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -44 -70 -35 -9 --17 --40 --59 --76 -41 -68 -34 -8 --18 --41 --60 --76 -42 -69 -34 -8 --18 --41 --59 --76 -42 -69 -33 -2 --23 -44 -50 -15 --12 --36 -35 -42 -10 --18 --40 -30 -38 -5 --21 --44 -28 -35 -4 --23 --44 -24 -32 -1 --24 --47 -25 -33 -3 --24 --45 -24 -33 -1 --24 --47 -24 -31 -1 --26 --47 -23 -31 -0 --25 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -23 -30 -0 --26 --47 -22 -30 --1 --27 --48 -22 -29 -0 --27 --47 -20 -28 --3 --28 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -23 -30 -0 --27 --48 -21 -31 --1 --26 --48 -21 -28 --2 --28 --48 -21 -30 --2 --27 --49 -23 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -20 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -21 -28 --2 --28 --49 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -19 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -21 -27 --1 --16 --39 --59 --75 --89 -30 -56 -23 --3 --27 --49 --67 --82 -29 -58 -25 -1 --24 --47 --64 --80 -36 -63 -30 -4 --21 --44 --62 --78 -39 -66 -32 -6 --19 --42 --61 --77 -40 -66 -32 -7 --19 --42 --60 --77 -41 -68 -33 -1 --24 -42 -49 -15 --13 --37 -35 -41 -10 --18 --40 -29 -38 -5 --21 --44 -28 -35 -4 --23 --44 -25 -35 -2 --23 --45 -24 -32 -1 --25 --46 -23 -32 -1 --25 --47 -24 -31 -1 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --26 --48 -21 -31 --1 --26 --48 -22 -30 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --28 --49 -21 -31 --1 --26 --48 -22 -29 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -21 -29 -0 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -23 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --28 --48 -21 -30 --1 --26 --48 -22 -28 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --16 --39 --59 --75 --89 -29 -55 -22 --4 --28 --50 --67 --82 -29 -58 -25 -0 --24 --47 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -38 -65 -31 -6 --19 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --76 -40 -67 -33 -8 --18 --42 --59 -52 -29 --2 --27 --48 -52 -25 --4 --29 --49 -49 -25 --6 --30 --50 -50 -23 --6 --31 --50 -48 -23 --7 --31 --52 -48 -22 --7 --31 --51 -47 -22 --8 --31 --52 -47 -21 --7 --32 --52 -46 -22 --8 --32 --52 -47 -21 --7 --33 --52 -45 -21 --8 --32 --53 -47 -21 --7 --32 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -46 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 --70 -37 -60 -27 -1 --24 --46 --64 --80 -33 -61 -28 -3 --22 --45 --63 --79 -39 -66 -31 -6 --20 --43 --61 --77 -41 -67 -33 -7 --19 --42 --60 --77 -41 -67 -33 -8 --18 --42 --60 --76 -42 -68 -34 -8 --18 --41 --59 -50 -28 --3 --27 --49 -52 -26 --3 --29 --49 -50 -25 --5 --29 --50 -50 -23 --5 --30 --50 -48 -24 --7 --31 --51 -46 -21 --7 --32 --51 -47 -23 --7 --31 --52 -48 -22 --7 --32 --51 -47 -22 --8 --32 --52 -47 -21 --8 --33 --52 -44 -20 --10 --33 --53 -47 -21 --7 --32 --52 -45 -21 --9 --32 --53 -47 -21 --7 --33 --52 -45 -21 --9 --32 --53 -45 -20 --9 --33 --53 -45 -21 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -43 -20 --10 --33 --54 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -21 --7 --32 --52 -45 -21 --8 --32 --53 -45 -20 --8 --33 --53 -45 -21 --9 --32 --53 -47 -21 --7 --32 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -43 -20 --10 --33 --54 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -45 -20 --9 --33 --53 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -46 -21 --8 --32 --53 -47 -20 --8 --33 --53 --71 -40 -63 -29 -2 --23 --46 --63 --79 -33 -61 -28 -3 --22 --45 --63 --79 -38 -65 -31 -6 --20 --43 --61 --77 -41 -68 -33 -7 --18 --42 --60 --76 -41 -67 -33 -7 --19 --42 --60 --77 -41 -68 -34 -8 --18 --41 --59 --76 -42 -69 -33 -2 --23 -43 -50 -15 --12 --36 -35 -42 -10 --18 --40 -30 -38 -5 --21 --44 -28 -35 -5 --23 --44 -24 -32 -0 --25 --47 -25 -33 -2 --24 --45 -23 -33 -1 --24 --47 -24 -32 -1 --25 --46 -23 -32 -0 --25 --48 -22 -29 -1 --16 --39 --59 --74 --89 -29 -55 -22 --3 --27 --49 --67 --82 -30 -58 -25 -1 --24 --46 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --42 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -41 -68 -32 -1 --24 -43 -49 -14 --13 --37 -35 -41 -9 --18 --41 -30 -38 -5 --21 --44 -28 -35 -4 --23 --44 -26 -34 -2 --23 --46 -25 -33 -2 --24 --46 -23 -32 -1 --25 --47 -23 -31 -1 --25 --47 -22 -31 -0 --25 --47 -23 -30 -0 --26 --47 -22 -30 --1 --26 --48 -23 -30 -0 --27 --48 -21 -30 --2 --27 --49 -22 -30 -0 --27 --47 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --27 --49 -22 -29 --1 --27 --48 -20 -30 --2 --27 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --48 -21 -28 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -28 --1 --28 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -1 --17 --39 --60 --75 --90 -29 -54 -22 --3 --28 --49 --67 --82 -29 -57 -24 -1 --24 --47 --65 --80 -36 -64 -30 -4 --21 --44 --62 --78 -38 -65 -31 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --41 --59 -52 -28 --3 --27 --48 -52 -26 --3 --29 --49 -49 -25 --6 --30 --50 -50 -23 --5 --31 --50 -48 -23 --7 --31 --52 -49 -22 --7 --32 --51 -47 -22 --8 --32 --52 -48 -21 --7 --32 --51 -45 -22 --8 --32 --52 -47 -21 --8 --33 --52 --70 -38 -61 -28 -2 --23 --46 --64 --79 -33 -61 -28 -4 --22 --44 --62 --78 -38 -66 -32 -6 --19 --42 --61 --77 -42 -68 -33 -7 --18 --42 --60 --76 -41 -67 -33 -7 --19 --42 --60 --76 -42 -68 -34 -8 --18 --41 --60 --76 -45 -70 -35 -8 --18 --41 --59 --76 -42 -68 -34 -8 --18 --41 --60 --76 -41 -68 -33 -8 --18 --41 --59 --76 -44 -70 -36 -8 --18 --41 --59 --76 -41 -68 -34 -8 --17 --41 --59 --76 -41 -68 -34 -8 --18 --41 --59 --76 -43 -69 -34 -2 --23 -43 -49 -15 --12 --36 -35 -42 -10 --18 --40 -29 -38 -5 --20 --43 -28 -35 -4 --23 --44 -24 -33 -2 --24 --46 -25 -32 -2 --25 --46 -24 -33 -1 --24 --47 -24 -31 -1 --26 --47 -22 -32 -0 --25 --47 -22 -28 --1 --27 --48 -21 -31 --1 --26 --48 -22 -30 -0 --26 --47 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -30 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -20 -28 --1 --28 --49 -21 -30 --2 --27 --48 -22 -30 -0 --26 --48 -21 -30 --1 --27 --49 -23 -30 -0 --27 --47 -20 -28 --3 --28 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --28 --48 -21 -30 --1 --27 --49 -22 -30 -0 --26 --47 -21 -30 --1 --26 --49 -22 -30 --1 --27 --48 -20 -29 --3 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --26 --48 -21 -30 --1 --26 --48 -22 -29 --1 --28 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -19 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -21 -27 --3 --28 --49 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --47 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -21 -27 --2 --28 --49 -21 -31 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -20 -28 --2 --28 --48 -21 -30 --1 --26 --48 -22 -30 -0 --26 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -20 -28 --3 --28 --50 -22 -29 --1 --27 --47 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -20 -28 --3 --28 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -21 -27 --2 --28 --49 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -21 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -22 -30 --1 --26 --48 -21 -28 --2 --28 --49 -20 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -20 -28 --3 --27 --49 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --48 -21 -28 --1 --27 --48 -21 -30 --1 --27 --48 -22 -30 -0 --26 --47 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -23 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 -0 --16 --39 --59 --75 --89 -29 -55 -22 --3 --28 --50 --67 --82 -30 -58 -25 -1 --24 --46 --64 --80 -36 -62 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --42 --61 --77 -40 -66 -32 -7 --19 --42 --60 --77 -41 -68 -32 -1 --24 -42 -49 -14 --13 --37 -35 -41 -10 --18 --40 -29 -38 -5 --21 --44 -28 -36 -5 --22 --44 -26 -35 -2 --23 --46 -25 -32 -2 --25 --46 -24 -32 -0 --25 --47 -23 -31 -1 --26 --47 -22 -31 --1 --26 --48 -23 -31 -1 --26 --47 -21 -29 --2 --27 --49 -22 -30 -0 --26 --47 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --2 --27 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --47 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --26 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -20 -29 --2 --27 --49 -21 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -1 --16 --39 --59 --75 --89 -29 -54 -22 --3 --28 --49 --67 --82 -30 -58 -25 -1 --25 --47 --64 --80 -36 -63 -29 -5 --21 --44 --62 --78 -39 -66 -32 -6 --19 --42 --61 --77 -40 -67 -32 -7 --19 --42 --60 --77 -40 -68 -33 -8 --18 --42 --59 -51 -28 --3 --27 --48 -52 -25 --3 --29 --49 -49 -25 --6 --30 --51 -50 -23 --6 --31 --50 -48 -24 --7 --31 --51 -48 -22 --7 --32 --51 -47 -23 --8 --31 --52 -48 -21 --7 --32 --52 -46 -22 --8 --32 --53 -48 -21 --7 --32 --52 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -22 --8 --32 --53 -47 -20 --8 --33 --53 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --53 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --53 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --33 --53 -45 -20 --9 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -21 --7 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 -45 -21 --9 --33 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -19 --9 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 -46 -22 --8 --32 --53 -47 -20 --8 --33 --53 --71 -37 -60 -26 -1 --24 --46 --64 --80 -33 -62 -29 -3 --22 --44 --63 --79 -38 -65 -31 -6 --19 --42 --61 --77 -42 -68 -33 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --41 --60 --76 -41 -68 -33 -8 --18 --41 --60 --76 -46 -70 -35 -8 --18 --41 --59 --76 -42 -68 -33 -8 --18 --41 --60 --76 -41 -68 -34 -8 --18 --41 --60 --76 -44 -70 -35 -9 --17 --41 --59 --76 -41 -68 -34 -8 --18 --41 --59 --76 -42 -69 -35 -8 --18 --41 --59 --76 -42 -69 -33 -2 --23 -45 -50 -15 --12 --36 -35 -41 -10 --18 --40 -30 -38 -5 --21 --43 -28 -35 -4 --23 --44 -25 -33 -1 --24 --46 -25 -33 -2 --24 --45 -24 -32 -1 --24 --47 -23 -31 -1 --25 --47 -23 -32 -0 --25 --47 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -23 -30 -0 --26 --47 -22 -30 --1 --27 --49 -23 -30 --1 --27 --47 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --27 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --47 -21 -30 --1 --27 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -21 -28 --1 --28 --49 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --26 --48 -22 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --28 --48 -21 -30 --1 --26 --48 -21 -27 --1 --16 --39 --59 --75 --89 -29 -55 -22 --3 --27 --49 --67 --82 -30 -57 -25 -1 --24 --47 --64 --80 -36 -64 -30 -4 --21 --44 --62 --78 -39 -66 -32 -6 --19 --42 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -41 -68 -32 -1 --24 -42 -49 -14 --13 --37 -35 -41 -9 --18 --40 -29 -38 -6 --20 --43 -28 -35 -4 --23 --44 -26 -35 -3 --23 --46 -25 -33 -2 --25 --46 -23 -32 -1 --25 --47 -23 -31 -0 --26 --47 -22 -31 -0 --25 --48 -23 -30 -0 --27 --47 -21 -31 --1 --26 --48 -22 -30 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --27 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --27 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -29 -0 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -23 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --48 -22 -28 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 -1 --16 --39 --59 --75 --89 -28 -54 -22 --3 --28 --49 --67 --82 -29 -57 -25 -0 --25 --47 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -39 -67 -33 -7 --19 --42 --60 --77 -40 -67 -33 -8 --18 --41 --59 -52 -29 --2 --27 --48 -52 -26 --3 --29 --49 -49 -25 --5 --29 --50 -49 -23 --5 --30 --50 -48 -23 --7 --31 --51 -47 -21 --7 --32 --51 -47 -22 --8 --32 --52 -47 -21 --7 --33 --52 -46 -21 --8 --32 --53 -47 -21 --7 --32 --52 --70 -37 -61 -27 -1 --24 --46 --64 --80 -34 -62 -29 -4 --21 --44 --62 --78 -38 -66 -32 -6 --20 --42 --61 --77 -42 -68 -33 -7 --19 --42 --60 --77 -41 -67 -33 -8 --18 --41 --60 --76 -42 -68 -34 -8 --18 --41 --58 -50 -28 --3 --27 --48 -51 -25 --3 --29 --49 -50 -26 --5 --29 --50 -50 -24 --5 --30 --50 -48 -24 --7 --31 --51 -47 -21 --7 --32 --51 -47 -22 --8 --31 --52 -47 -21 --7 --32 --52 -47 -22 --7 --31 --52 -47 -21 --7 --32 --52 -44 -21 --9 --33 --53 -47 -20 --7 --33 --52 -45 -22 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --32 --53 -45 -20 --8 --33 --53 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -43 -20 --10 --33 --54 -47 -21 --7 --33 --52 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --32 --53 -45 -19 --9 --33 --53 -45 -21 --9 --32 --53 -47 -21 --7 --32 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -43 -20 --10 --33 --54 -46 -20 --8 --33 --52 -46 -22 --8 --32 --53 -47 -21 --7 --33 --52 -45 -22 --8 --32 --53 -46 -20 --9 --33 --53 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -22 --8 --32 --53 -47 -21 --8 --33 --52 -44 -21 --9 --33 --53 -46 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -22 --8 --32 --53 -45 -19 --9 --34 --53 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -46 -22 --8 --32 --53 -47 -20 --8 --33 --52 --70 -40 -61 -28 -2 --24 --46 --64 --80 -33 -62 -28 -3 --22 --45 --63 --79 -37 -65 -31 -6 --20 --43 --61 --77 -42 -68 -33 -7 --19 --42 --60 --76 -41 -67 -33 -8 --19 --42 --60 --76 -41 -67 -33 -8 --18 --41 --60 --76 -42 -69 -35 -8 --18 --41 --59 --76 -41 -68 -34 -8 --18 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -42 -68 -34 -9 --17 --40 --59 --76 -42 -69 -35 -8 --18 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -42 -68 -33 -1 --24 -44 -50 -16 --12 --36 -35 -41 -10 --18 --40 -30 -39 -6 --20 --43 -28 -35 -4 --23 --44 -25 -34 -2 --23 --46 -25 -33 -3 --24 --45 -24 -32 -1 --24 --47 -24 -31 -1 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --26 --47 -22 -31 --1 --26 --48 -23 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 -0 --27 --48 -21 -31 --1 --26 --48 -22 -30 -0 --26 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -30 -0 --27 --47 -21 -30 --2 --27 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --27 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --27 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -1 --16 --39 --59 --75 --89 -29 -54 -22 --4 --28 --50 --67 --82 -29 -57 -25 -0 --25 --47 --65 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -40 -68 -33 -7 --19 --42 --60 --76 -40 -67 -33 -8 --18 --42 --60 --76 -42 -68 -34 -8 --18 --41 --60 --76 -42 -68 -34 -8 --17 --41 --59 --76 -41 -69 -34 -8 --18 --41 --59 --76 -44 -70 -35 -9 --17 --40 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -42 -69 -35 -9 --17 --41 --59 --76 -45 -70 -35 -9 --17 --41 --59 --76 -42 -68 -34 -8 --18 --41 --60 --76 -42 -68 -34 -8 --18 --41 --59 --76 -44 -70 -35 -8 --18 --41 --59 --76 -42 -69 -35 -8 --18 --41 --59 --76 -41 -68 -33 -8 --18 --41 --59 --76 -42 -69 -34 -2 --23 -43 -49 -14 --13 --37 -35 -42 -10 --18 --40 -30 -37 -5 --21 --44 -28 -35 -5 --22 --44 -24 -33 -2 --23 --46 -26 -33 -3 --24 --46 -24 -33 -1 --24 --47 -24 -31 -1 --26 --47 -22 -31 -0 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --47 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -30 -0 --26 --47 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -27 --2 --28 --49 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --47 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 -1 --16 --39 --59 --75 --89 -29 -55 -22 --3 --27 --49 --66 --82 -29 -58 -25 -1 --24 --47 --64 --80 -36 -63 -30 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -40 -67 -32 -0 --24 -43 -49 -15 --13 --37 -35 -41 -9 --18 --40 -29 -38 -6 --20 --43 -28 -34 -4 --23 --45 -26 -34 -2 --23 --46 -25 -32 -2 --25 --46 -24 -33 -1 --24 --47 -24 -31 -1 --26 --47 -23 -31 --1 --26 --48 -23 -30 -0 --27 --48 -22 -31 --1 --26 --48 -23 -30 -0 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -21 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -23 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -28 --1 --27 --48 -21 -31 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -30 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 -1 --16 --39 --59 --75 --89 -29 -55 -22 --3 --28 --50 --67 --82 -29 -58 -25 -1 --24 --47 --64 --80 -36 -63 -30 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -41 -68 -33 -7 --19 --42 --60 --77 -40 -67 -33 -8 --18 --42 --59 -52 -28 --3 --27 --48 -53 -26 --3 --29 --49 -49 -25 --6 --30 --50 -50 -23 --5 --31 --50 -48 -23 --7 --31 --51 -49 -22 --6 --32 --51 -47 -23 --7 --31 --52 -48 -21 --7 --32 --52 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -22 --8 --32 --53 -47 -20 --8 --33 --53 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --53 --70 -37 -61 -27 -2 --24 --46 --64 --80 -33 -62 -28 -4 --22 --45 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -41 -67 -33 -7 --19 --42 --60 --77 -41 -68 -33 -7 --19 --42 --60 --76 -41 -68 -34 -8 --18 --42 --59 -50 -27 --4 --28 --49 -53 -26 --3 --29 --49 -49 -25 --6 --29 --50 -50 -23 --5 --30 --50 -48 -24 --6 --31 --51 -47 -21 --7 --32 --51 -47 -23 --7 --31 --52 -48 -21 --7 --32 --51 -46 -22 --8 --32 --53 -47 -21 --7 --32 --52 -44 -21 --9 --33 --53 -47 -21 --7 --32 --52 -46 -22 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -45 -19 --9 --33 --53 -45 -21 --8 --32 --53 -47 -21 --7 --32 --52 -46 -22 --8 --32 --53 -47 -20 --8 --33 --52 -44 -21 --9 --33 --53 -47 -20 --8 --33 --53 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -45 -19 --9 --33 --53 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -46 -22 --8 --32 --53 -47 -20 --8 --33 --52 -44 -20 --10 --33 --54 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -46 -22 --8 --32 --53 -45 -20 --8 --33 --53 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 --70 -40 -62 -28 -2 --24 --46 --64 --80 -33 -61 -28 -3 --22 --45 --63 --79 -38 -65 -31 -6 --20 --43 --61 --77 -42 -68 -34 -7 --19 --42 --60 --77 -40 -67 -33 -8 --19 --42 --60 --76 -41 -68 -33 -8 --18 --42 --60 --76 -42 -68 -33 -1 --23 -43 -49 -15 --12 --36 -35 -41 -10 --18 --40 -29 -39 -6 --20 --43 -28 -35 -4 --23 --44 -24 -34 -2 --24 --46 -25 -32 -1 --25 --46 -24 -33 -1 --24 --47 -24 -31 -1 --26 --47 -23 -32 -0 --25 --47 -21 -29 -1 --15 --38 --59 --74 --89 -29 -56 -23 --2 --27 --49 --66 --82 -30 -58 -25 -1 --24 --46 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -40 -66 -32 -6 --19 --43 --61 --77 -40 -66 -32 -7 --19 --42 --60 --77 -41 -68 -32 -1 --24 -43 -48 -14 --13 --37 -35 -42 -10 --18 --40 -29 -38 -5 --21 --44 -28 -35 -4 --23 --44 -26 -34 -2 --23 --46 -25 -32 -2 --25 --46 -23 -33 -1 --24 --47 -24 -31 -0 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --26 --47 -21 -31 --1 --26 --48 -23 -30 --1 --27 --48 -22 -31 --1 --26 --48 -22 -28 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --47 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -28 --1 --28 --49 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --2 --27 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -29 -1 --16 --39 --59 --74 --89 -28 -54 -21 --4 --28 --50 --67 --83 -30 -58 -26 -1 --24 --46 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --19 --43 --61 --77 -40 -67 -32 -7 --19 --42 --60 --77 -41 -68 -33 -7 --18 --42 --59 -52 -29 --2 --27 --48 -51 -25 --4 --29 --49 -49 -25 --5 --29 --50 -50 -23 --5 --31 --50 -48 -24 --7 --31 --51 -48 -22 --7 --32 --51 -47 -22 --8 --31 --52 -47 -21 --7 --32 --52 -45 -22 --8 --32 --52 -47 -21 --8 --33 --52 --70 -38 -61 -27 -2 --23 --46 --63 --80 -34 -62 -29 -4 --21 --44 --62 --78 -39 -65 -31 -6 --19 --42 --61 --77 -42 -68 -33 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --42 --60 --76 -41 -67 -33 -8 --18 --41 --60 --76 -46 -71 -36 -9 --18 --41 --59 --76 -42 -68 -33 -8 --18 --41 --59 --76 -41 -68 -34 -8 --18 --41 --59 --76 -44 -70 -35 -9 --17 --41 --59 --76 -41 -68 -34 -8 --18 --41 --60 --76 -42 -68 -34 -8 --18 --41 --59 --76 -42 -69 -33 -2 --23 -44 -50 -15 --12 --36 -35 -42 -10 --18 --40 -30 -39 -6 --20 --43 -28 -35 -4 --23 --45 -25 -34 -2 --24 --46 -25 -32 -2 --24 --46 -24 -33 -1 --24 --47 -24 -31 -1 --25 --46 -22 -31 -0 --25 --48 -21 -28 --1 --28 --48 -22 -31 --1 --26 --48 -22 -30 -0 --26 --48 -22 -31 --1 --26 --48 -22 -30 -0 --26 --47 -21 -29 --2 --27 --49 -22 -30 -0 --26 --47 -21 -30 --1 --26 --48 -22 -30 -0 --27 --47 -21 -30 --1 --27 --48 -21 -28 --1 --28 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --47 -21 -30 --2 --27 --49 -21 -28 --1 --28 --48 -21 -30 --2 --27 --49 -23 -30 -0 --27 --48 -22 -31 --1 --26 --48 -22 -30 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -31 --1 --26 --48 -21 -28 --2 --28 --49 -20 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -21 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -21 -28 --1 --28 --49 -21 -30 --1 --26 --49 -22 -30 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --2 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -22 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --49 -22 -30 -0 --26 --48 -21 -30 --1 --26 --48 -21 -28 --1 --27 --49 -21 -30 --1 --27 --49 -22 -30 -0 --27 --48 -21 -30 --2 --27 --48 -22 -30 -0 --27 --47 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --2 --27 --49 -23 -30 -0 --27 --47 -21 -30 --2 --26 --48 -22 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -20 -30 --1 --26 --48 -22 -30 -0 --26 --47 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --28 --49 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -20 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --47 -20 -29 --2 --27 --49 -21 -30 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -20 -29 --2 --26 --49 -22 -30 -0 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -21 -28 --1 --28 --48 -21 -30 --2 --26 --49 -22 -30 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -20 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -20 -27 -0 --16 --39 --59 --75 --89 -29 -55 -22 --3 --28 --49 --66 --82 -29 -58 -25 -1 --24 --47 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -66 -31 -6 --19 --42 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -41 -68 -32 -1 --24 -42 -49 -14 --13 --37 -35 -41 -9 --18 --41 -29 -38 -5 --20 --43 -28 -35 -4 --23 --44 -25 -35 -2 --23 --46 -25 -33 -2 --24 --46 -23 -32 -1 --24 --47 -24 -31 -1 --26 --47 -22 -31 -0 --25 --48 -23 -30 -0 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --28 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --2 --27 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --27 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -23 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --49 -22 -29 -1 --16 --39 --59 --75 --89 -28 -55 -22 --3 --28 --50 --67 --82 -29 -57 -25 -1 --24 --47 --65 --80 -36 -63 -30 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --76 -40 -68 -33 -8 --18 --42 --59 -52 -29 --2 --27 --48 -52 -25 --4 --30 --49 -50 -25 --5 --29 --50 -50 -23 --5 --31 --51 -48 -24 --6 --31 --51 -48 -22 --6 --31 --51 -47 -23 --7 --31 --52 -47 -21 --7 --32 --52 -47 -22 --8 --32 --52 -47 -21 --7 --33 --52 -46 -22 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --53 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -46 -20 --8 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --53 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --53 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 -45 -21 --9 --33 --53 -46 -20 --8 --33 --53 -46 -21 --9 --32 --53 -46 -20 --9 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --53 --70 -38 -61 -27 -1 --24 --46 --64 --80 -33 -62 -29 -4 --22 --44 --62 --78 -38 -65 -31 -6 --20 --43 --61 --77 -42 -68 -33 -7 --18 --42 --60 --77 -41 -67 -33 -7 --19 --42 --60 --76 -42 -69 -34 -8 --18 --42 --60 --76 -45 -70 -35 -9 --17 --41 --59 --76 -41 -68 -34 -8 --18 --41 --60 --76 -42 -69 -34 -8 --18 --41 --59 --76 -44 -70 -35 -8 --18 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -41 -68 -34 -8 --18 --41 --59 --76 -42 -69 -33 -2 --23 -43 -49 -15 --12 --36 -36 -42 -11 --17 --40 -30 -38 -5 --21 --44 -28 -35 -4 --23 --44 -25 -33 -1 --24 --46 -25 -32 -2 --25 --46 -24 -32 -1 --24 --47 -24 -31 -1 --26 --46 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -23 -30 -0 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --28 --49 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -21 -28 --2 --28 --49 -21 -30 --2 --26 --48 -23 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 -0 --27 --48 -21 -31 --1 --26 --48 -21 -28 --2 --28 --49 -21 -30 --2 --27 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 -0 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -20 -28 -0 --16 --38 --59 --75 --89 -29 -54 -21 --3 --28 --49 --67 --82 -30 -58 -25 -1 --24 --46 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -40 -67 -32 -1 --24 -43 -49 -15 --13 --36 -35 -40 -9 --19 --41 -29 -38 -5 --21 --44 -28 -35 -4 --23 --44 -26 -35 -3 --23 --46 -25 -33 -2 --24 --46 -24 -33 -1 --24 --47 -24 -31 -1 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --27 --47 -21 -30 --1 --26 --48 -22 -30 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --27 --48 -22 -30 -0 --27 --47 -21 -30 --2 --27 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -30 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --27 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --26 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -28 --1 --28 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --26 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -30 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 -1 --16 --39 --59 --75 --89 -29 -54 -22 --3 --28 --49 --67 --82 -30 -57 -25 -1 --24 --47 --65 --80 -37 -63 -30 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -41 -67 -33 -7 --18 --42 --59 -52 -28 --3 --27 --48 -52 -25 --3 --29 --49 -49 -25 --5 --29 --50 -50 -23 --5 --31 --50 -48 -24 --7 --30 --51 -49 -22 --7 --32 --51 -46 -22 --8 --32 --52 -48 -21 --7 --32 --51 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 --70 -38 -61 -27 -2 --23 --46 --64 --80 -34 -62 -29 -4 --21 --44 --62 --78 -39 -66 -31 -6 --20 --42 --61 --77 -42 -68 -33 -7 --19 --42 --60 --77 -41 -68 -33 -7 --18 --42 --60 --76 -41 -68 -34 -8 --18 --41 --59 -50 -27 --3 --28 --49 -52 -26 --3 --29 --49 -50 -25 --5 --29 --50 -50 -24 --5 --30 --50 -48 -23 --7 --31 --51 -47 -21 --7 --32 --51 -47 -23 --7 --31 --52 -48 -22 --7 --32 --51 -46 -22 --8 --32 --53 -47 -21 --7 --32 --52 -44 -21 --9 --33 --53 -47 -21 --7 --33 --52 -46 -22 --8 --32 --53 -47 -21 --7 --32 --52 -45 -21 --8 --32 --53 -45 -19 --9 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --53 -44 -20 --9 --33 --53 -47 -20 --7 --33 --52 -45 -21 --8 --32 --53 -47 -21 --8 --32 --52 -45 -21 --9 --32 --53 -45 -20 --9 --33 --52 -45 -21 --9 --32 --53 -46 -20 --9 --33 --52 -45 -21 --9 --32 --53 -47 -20 --9 --33 --53 -44 -20 --10 --33 --53 -47 -20 --8 --33 --52 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -46 -21 --8 --32 --53 -45 -19 --9 --33 --53 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -44 -20 --9 --33 --54 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -45 -19 --9 --33 --53 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -46 -21 --9 --32 --53 -46 -20 --8 --33 --53 --70 -41 -62 -28 -2 --23 --46 --64 --80 -34 -62 -28 -4 --22 --44 --62 --79 -38 -65 -31 -5 --20 --43 --61 --77 -42 -68 -34 -8 --19 --42 --60 --76 -40 -66 -32 -7 --19 --42 --60 --77 -41 -68 -34 -8 --18 --42 --60 --76 -42 -68 -34 -8 --17 --41 --59 --76 -41 -69 -34 -8 --18 --41 --60 --76 -42 -68 -33 -8 --17 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -42 -69 -35 -9 --17 --41 --59 --76 -42 -68 -34 -9 --18 --41 --59 --76 -42 -69 -33 -2 --23 -44 -50 -15 --12 --36 -36 -42 -10 --18 --40 -30 -38 -5 --21 --44 -28 -36 -5 --22 --44 -26 -34 -2 --24 --46 -25 -32 -2 --25 --46 -24 -32 -0 --25 --47 -24 -31 -1 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --26 --47 -21 -31 --1 --26 --48 -23 -30 -0 --27 --47 -22 -31 --1 --26 --48 -22 -30 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --28 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -28 --1 --28 --49 -21 -30 --1 --26 --48 -22 -28 --1 --28 --48 -22 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --47 -20 -29 --2 --27 --49 -22 -30 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --26 --48 -21 -30 --2 --26 --49 -22 -30 -0 --26 --48 -21 -30 --1 --26 --49 -22 -29 -1 --16 --39 --59 --75 --89 -28 -54 -22 --3 --28 --50 --67 --82 -30 -58 -25 -1 --24 --46 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --43 --61 --77 -40 -67 -32 -7 --19 --42 --60 --77 -41 -68 -34 -8 --18 --42 --60 --76 -41 -68 -33 -8 --18 --41 --59 --76 -41 -68 -34 -8 --18 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -43 -69 -35 -8 --18 --41 --59 --76 -42 -69 -35 -8 --18 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -46 -70 -36 -9 --17 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -41 -68 -34 -8 --18 --41 --60 --76 -44 -70 -36 -9 --17 --40 --59 --76 -42 -68 -33 -8 --18 --41 --60 --76 -42 -68 -34 -8 --17 --41 --59 --76 -42 -69 -33 -2 --23 -44 -50 -15 --12 --36 -35 -41 -10 --18 --40 -30 -39 -6 --20 --43 -28 -35 -4 --23 --45 -25 -33 -2 --24 --46 -25 -33 -2 --24 --46 -24 -33 -1 --24 --47 -24 -31 -1 --26 --47 -23 -31 -0 --25 --48 -22 -29 --1 --27 --48 -22 -31 -0 --26 --48 -23 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --26 --47 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -20 -28 --2 --28 --48 -21 -30 --1 --26 --48 -22 -30 -0 --26 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --49 -23 -30 -0 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --26 --47 -21 -30 --2 --27 --49 -21 -28 -0 --16 --39 --59 --75 --89 -29 -54 -22 --3 --28 --50 --67 --82 -30 -58 -25 -1 --24 --46 --64 --80 -36 -62 -29 -4 --22 --44 --62 --78 -40 -67 -32 -6 --20 --43 --61 --77 -39 -67 -32 -7 --19 --42 --60 --77 -40 -67 -32 -1 --24 -42 -49 -14 --13 --37 -35 -42 -10 --18 --40 -30 -38 -6 --20 --43 -28 -35 -5 --22 --44 -26 -35 -2 --23 --46 -25 -33 -2 --24 --46 -24 -32 -0 --25 --47 -24 -31 -1 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --26 --47 -22 -31 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --47 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -21 -29 --1 --27 --48 -20 -29 --2 --27 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -30 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 -1 --16 --39 --59 --75 --89 -28 -54 -21 --3 --28 --50 --67 --82 -30 -58 -25 -1 --24 --47 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --76 -40 -67 -33 -8 --18 --41 --59 -52 -29 --2 --27 --48 -52 -25 --4 --29 --49 -49 -25 --5 --29 --50 -49 -23 --5 --31 --50 -48 -23 --7 --30 --51 -48 -22 --6 --31 --51 -47 -22 --8 --31 --52 -48 -21 --7 --32 --52 -46 -22 --8 --32 --52 -47 -20 --8 --33 --52 -45 -22 --8 --32 --53 -47 -20 --8 --33 --52 -46 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --53 -46 -21 --9 --32 --53 -46 -20 --8 --33 --53 -45 -21 --9 --33 --53 -47 -20 --8 --33 --53 --70 -37 -60 -26 -1 --24 --46 --64 --80 -33 -62 -29 -4 --22 --45 --62 --78 -38 -65 -31 -6 --20 --43 --61 --77 -42 -68 -33 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --42 --60 --76 -42 -68 -34 -8 --18 --41 --59 -50 -28 --3 --27 --49 -52 -26 --3 --29 --49 -49 -25 --5 --29 --50 -50 -23 --5 --31 --50 -48 -23 --7 --31 --51 -47 -21 --7 --32 --52 -47 -23 --7 --31 --52 -48 -21 --7 --32 --52 -47 -22 --8 --32 --52 -47 -20 --8 --33 --52 -44 -21 --9 --32 --53 -47 -21 --7 --33 --52 -46 -22 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --8 --32 --53 -45 -19 --9 --33 --53 -46 -22 --8 --32 --52 -47 -20 --8 --33 --52 -46 -22 --8 --32 --53 -47 -20 --8 --33 --52 -44 -20 --10 --33 --53 -46 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -45 -19 --9 --33 --53 -45 -21 --8 --32 --53 -47 -21 --8 --33 --52 -46 -21 --9 --32 --53 -47 -20 --8 --33 --52 -43 -20 --10 --33 --54 -47 -21 --7 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --53 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 --70 -41 -62 -28 -2 --23 --46 --64 --80 -33 -61 -27 -3 --22 --45 --63 --79 -39 -66 -32 -6 --20 --43 --61 --78 -42 -68 -33 -7 --18 --42 --60 --76 -41 -67 -33 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --41 --60 --76 -42 -69 -33 -1 --24 -44 -50 -15 --12 --36 -35 -40 -9 --19 --41 -29 -38 -5 --21 --44 -27 -35 -4 --23 --44 -24 -33 -2 --24 --46 -25 -33 -2 --24 --46 -24 -33 -1 --24 --46 -24 -31 -1 --25 --47 -22 -31 -0 --25 --48 -21 -29 -1 --16 --39 --59 --75 --89 -29 -55 -23 --3 --27 --49 --67 --82 -30 -58 -25 -1 --24 --46 --64 --80 -36 -64 -30 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -41 -68 -33 -7 --19 --42 --60 --77 -41 -68 -32 -0 --24 -43 -49 -15 --13 --37 -35 -40 -9 --19 --41 -30 -38 -5 --21 --43 -28 -35 -4 --23 --44 -25 -35 -2 --23 --46 -25 -33 -3 --24 --46 -24 -33 -1 --25 --47 -24 -31 -0 --26 --47 -22 -31 -0 --26 --48 -23 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -23 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -20 -30 --2 --27 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --26 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -23 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -23 -30 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -28 -0 --17 --39 --59 --75 --90 -29 -55 -22 --3 --28 --50 --67 --82 -29 -57 -25 -1 --25 --47 --65 --80 -36 -63 -30 -4 --21 --44 --62 --78 -39 -66 -31 -6 --19 --43 --61 --77 -40 -66 -32 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --42 --59 -52 -29 --2 --27 --48 -52 -25 --4 --29 --49 -50 -25 --5 --29 --50 -50 -23 --6 --31 --50 -48 -24 --6 --31 --51 -48 -22 --7 --32 --51 -47 -23 --8 --32 --52 -47 -21 --7 --32 --52 -46 -21 --9 --32 --53 -46 -20 --8 --33 --52 --70 -38 -61 -27 -2 --24 --46 --64 --80 -34 -63 -29 -4 --21 --44 --62 --78 -38 -65 -31 -6 --20 --43 --61 --77 -42 -68 -33 -7 --19 --42 --60 --76 -41 -67 -33 -7 --19 --42 --60 --76 -42 -68 -34 -8 --18 --41 --60 --76 -45 -70 -35 -9 --17 --41 --59 --76 -42 -68 -33 -8 --18 --42 --60 --76 -42 -68 -34 -8 --18 --41 --59 --76 -44 -69 -35 -8 --18 --41 --59 --76 -42 -69 -35 -8 --18 --41 --60 --76 -41 -68 -34 -8 --17 --41 --59 --76 -42 -69 -33 -2 --23 -44 -50 -15 --13 --36 -35 -42 -10 --18 --40 -30 -38 -5 --21 --44 -28 -36 -5 --22 --44 -24 -33 -1 --24 --46 -25 -33 -3 --24 --46 -24 -32 -1 --25 --47 -24 -31 -1 --26 --47 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -23 -30 -0 --26 --47 -22 -31 --1 --26 --48 -23 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -29 -0 --27 --48 -21 -30 --2 --27 --49 -22 -30 --1 --27 --48 -21 -30 --1 --27 --48 -21 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -23 -29 --1 --27 --48 -20 -29 --3 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -31 --1 --26 --48 -21 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -21 -31 --1 --26 --48 -23 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --48 -20 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -23 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --26 --48 -22 -29 --2 --27 --49 -22 -30 -0 --27 --47 -21 -30 --2 --26 --49 -21 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -19 -29 --2 --27 --49 -22 -30 -0 --27 --48 -22 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -20 -28 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --26 --47 -21 -30 --2 --27 --49 -22 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 --1 --27 --48 -21 -30 --1 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -21 -29 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -28 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --28 --49 -21 -31 --1 --26 --48 -23 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -20 -28 -0 --16 --39 --59 --75 --89 -29 -54 -22 --3 --28 --49 --67 --82 -29 -58 -25 -1 --24 --46 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --76 -40 -67 -31 -0 --25 -43 -49 -15 --12 --37 -35 -41 -10 --18 --41 -30 -38 -5 --21 --43 -28 -35 -4 --23 --44 -26 -34 -2 --23 --46 -25 -32 -2 --25 --46 -24 -33 -1 --24 --47 -24 -30 -0 --26 --47 -22 -32 -0 --25 --48 -23 -30 -0 --27 --48 -22 -31 --1 --26 --48 -23 -30 -0 --27 --47 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --47 -21 -30 --1 --27 --49 -23 -30 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --26 --47 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --2 --27 --49 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -28 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -28 -0 --16 --39 --59 --75 --89 -29 -54 -22 --3 --28 --50 --67 --82 -29 -57 -25 -1 --24 --46 --64 --80 -37 -64 -30 -4 --21 --44 --62 --78 -39 -66 -31 -6 --19 --42 --61 --77 -40 -67 -33 -7 --19 --42 --61 --77 -41 -68 -33 -8 --18 --41 --59 -52 -29 --2 --27 --48 -52 -26 --3 --29 --49 -49 -25 --6 --30 --50 -50 -23 --6 --31 --50 -48 -23 --7 --31 --52 -49 -22 --7 --32 --51 -47 -22 --8 --31 --52 -48 -22 --7 --32 --52 -46 -22 --8 --32 --53 -47 -21 --7 --32 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -21 --7 --32 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --53 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --53 -45 -21 --9 --32 --53 -47 -20 --9 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 -46 -22 --8 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --33 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -20 --8 --33 --52 -45 -20 --10 --33 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -20 --9 --33 --53 -46 -20 --8 --33 --52 -45 -20 --10 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 --70 -38 -61 -27 -1 --24 --46 --64 --80 -33 -62 -28 -4 --22 --45 --63 --78 -38 -66 -32 -6 --20 --43 --61 --77 -41 -68 -33 -7 --19 --42 --60 --76 -41 -68 -33 -8 --18 --42 --60 --76 -41 -68 -33 -8 --18 --41 --59 --76 -45 -70 -35 -8 --18 --41 --59 --76 -41 -68 -33 -8 --18 --41 --60 --76 -42 -68 -34 -8 --18 --41 --59 --76 -44 -70 -35 -9 --17 --41 --59 --76 -42 -68 -33 -8 --18 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -43 -69 -33 -2 --23 -44 -50 -15 --12 --36 -35 -41 -10 --18 --40 -29 -38 -6 --20 --43 -28 -35 -4 --23 --44 -24 -33 -2 --24 --46 -25 -33 -2 --24 --46 -24 -33 -1 --24 --47 -24 -30 -0 --26 --47 -22 -31 -0 --25 --48 -21 -28 --1 --27 --48 -22 -31 -0 --25 --47 -23 -29 -0 --27 --48 -22 -31 --1 --26 --48 -23 -30 -0 --26 --47 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --28 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --26 --47 -21 -30 --1 --26 --48 -20 -28 --1 --27 --49 -21 -30 --1 --26 --48 -22 -30 -0 --26 --47 -21 -29 --2 --27 --49 -22 -30 -0 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -22 -28 --2 --28 --49 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 -0 --16 --39 --59 --75 --89 -29 -55 -22 --3 --27 --49 --67 --82 -30 -58 -25 -1 --24 --47 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -66 -31 -6 --19 --43 --61 --77 -40 -66 -32 -7 --19 --42 --60 --77 -41 -68 -33 -1 --24 -43 -49 -14 --13 --37 -35 -41 -10 --18 --40 -29 -37 -5 --21 --44 -28 -35 -4 --23 --44 -25 -33 -2 --24 --46 -25 -33 -3 --24 --45 -24 -32 -0 --25 --47 -24 -31 -1 --26 --47 -22 -31 -0 --26 --48 -23 -30 -0 --27 --48 -22 -31 --1 --26 --48 -22 -30 -0 --26 --47 -22 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -28 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --48 -22 -28 --1 --27 --48 -20 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -30 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 -0 --16 --39 --59 --75 --89 -28 -54 -22 --3 --28 --50 --67 --82 -30 -58 -25 -1 --24 --46 --64 --80 -36 -62 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --42 --61 --77 -40 -67 -32 -7 --19 --42 --60 --77 -41 -68 -33 -7 --18 --42 --59 -52 -29 --2 --27 --48 -52 -25 --4 --29 --49 -49 -25 --5 --29 --50 -49 -23 --5 --31 --50 -48 -24 --7 --31 --51 -49 -22 --7 --32 --51 -47 -23 --8 --31 --52 -47 -20 --8 --33 --52 -46 -22 --8 --32 --52 -47 -20 --8 --33 --53 --70 -37 -61 -27 -2 --23 --46 --64 --80 -34 -62 -29 -4 --22 --44 --62 --79 -39 -66 -32 -7 --19 --42 --61 --77 -41 -68 -33 -7 --19 --42 --60 --76 -41 -68 -33 -8 --18 --41 --60 --76 -41 -68 -33 -8 --18 --41 --59 -49 -28 --3 --27 --49 -52 -26 --3 --29 --49 -49 -26 --5 --29 --50 -50 -24 --5 --31 --50 -48 -24 --6 --31 --51 -47 -21 --8 --32 --52 -47 -23 --7 --31 --52 -47 -21 --7 --32 --52 -47 -22 --8 --31 --52 -47 -20 --8 --33 --52 -44 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --52 -45 -19 --9 --34 --53 -45 -22 --8 --32 --52 -47 -20 --8 --33 --52 -46 -22 --8 --32 --53 -47 -21 --8 --33 --52 -44 -20 --10 --33 --53 -47 -20 --8 --33 --52 -46 -21 --8 --32 --53 -46 -20 --8 --33 --52 -45 -22 --8 --32 --53 -44 -19 --9 --33 --53 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -46 -21 --8 --32 --53 -47 -21 --8 --33 --52 -43 -19 --10 --33 --54 -47 -20 --8 --33 --52 -46 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -46 -19 --9 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -44 -20 --10 --33 --53 -47 -20 --8 --32 --52 -45 -22 --8 --32 --53 -48 -21 --7 --32 --52 -45 -21 --9 --32 --53 -45 -20 --8 --33 --53 -45 -21 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 --70 -40 -62 -28 -2 --23 --46 --63 --80 -33 -61 -28 -3 --22 --45 --63 --79 -38 -65 -31 -6 --20 --43 --61 --77 -41 -67 -33 -7 --19 --42 --60 --77 -41 -68 -33 -7 --18 --42 --60 --76 -41 -68 -33 -8 --18 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -41 -68 -34 -8 --18 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -41 -69 -34 -9 --17 --40 --59 --76 -42 -69 -35 -8 --18 --41 --59 --76 -42 -68 -33 -1 --24 -43 -50 -15 --12 --36 -35 -42 -10 --18 --40 -30 -39 -6 --20 --43 -28 -35 -4 --23 --44 -26 -35 -3 --22 --45 -25 -33 -2 --24 --46 -24 -33 -1 --24 --47 -24 -30 -0 --26 --47 -23 -31 --1 --26 --48 -23 -29 --1 --27 --48 -22 -31 --1 --26 --48 -23 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --27 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -22 -30 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -30 --1 --27 --47 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --2 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -21 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 -1 --16 --39 --59 --75 --89 -28 -54 -22 --3 --28 --49 --67 --82 -29 -57 -25 -1 --24 --47 --64 --80 -36 -64 -30 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -40 -66 -33 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --41 --60 --76 -41 -68 -33 -8 --18 --41 --60 --76 -42 -69 -34 -8 --18 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -43 -70 -35 -9 --17 --41 --59 --76 -42 -68 -33 -8 --17 --41 --59 --76 -42 -68 -34 -8 --17 --41 --59 --76 -46 -71 -36 -9 --17 --40 --59 --76 -42 -68 -34 -8 --18 --42 --60 --76 -42 -69 -35 -8 --17 --41 --59 --76 -44 -69 -34 -8 --18 --41 --59 --76 -42 -69 -34 -8 --18 --41 --59 --76 -41 -68 -34 -8 --18 --41 --59 --76 -43 -69 -33 -2 --23 -44 -50 -15 --12 --36 -36 -42 -10 --18 --40 -30 -38 -5 --21 --44 -28 -35 -4 --23 --44 -24 -33 -1 --24 --46 -25 -33 -2 --24 --46 -24 -33 -1 --24 --46 -24 -31 -1 --25 --47 -22 -31 -0 --25 --48 -22 -29 -0 --27 --48 -22 -31 --1 --26 --48 -23 -30 -0 --26 --47 -21 -30 --1 --26 --48 -23 -30 -0 --27 --48 -20 -29 --3 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -23 -30 -0 --26 --47 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 -0 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -21 -28 --2 --28 --49 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -20 -29 --2 --27 --49 -22 -28 --1 --28 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -27 -0 --16 --39 --59 --75 --89 -29 -55 -22 --3 --27 --49 --67 --82 -29 -57 -24 -1 --24 --46 --64 --80 -36 -64 -30 -4 --21 --44 --62 --78 -39 -65 -31 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -41 -68 -32 -1 --24 -43 -49 -14 --13 --37 -35 -41 -10 --18 --40 -30 -38 -5 --21 --44 -28 -35 -4 --23 --44 -26 -34 -2 --23 --46 -25 -33 -2 --25 --46 -23 -32 -0 --25 --47 -24 -31 -0 --26 --47 -22 -31 -0 --25 --47 -23 -30 -0 --26 --47 -21 -31 --1 --26 --48 -22 -30 -0 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -28 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -29 --1 --27 --48 -20 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -22 -30 -0 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --28 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -20 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -1 --16 --39 --59 --75 --89 -28 -54 -22 --3 --28 --50 --67 --82 -29 -57 -25 -1 --24 --47 --64 --80 -36 -63 -30 -4 --21 --44 --62 --78 -39 -66 -31 -6 --20 --42 --61 --77 -40 -66 -32 -7 --19 --42 --60 --77 -41 -68 -33 -8 --18 --42 --59 -52 -29 --2 --27 --48 -52 -25 --3 --29 --49 -49 -25 --5 --30 --50 -49 -23 --6 --31 --50 -48 -23 --7 --31 --51 -48 -22 --7 --32 --51 -47 -22 --8 --31 --52 -47 -21 --7 --32 --51 -45 -21 --8 --32 --53 -47 -21 --7 --32 --52 -46 -22 --8 --32 --53 -47 -21 --7 --33 --52 -45 -21 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --53 --70 -37 -61 -27 -1 --24 --46 --64 --80 -33 -62 -29 -4 --22 --44 --62 --78 -38 -65 -31 -6 --20 --43 --61 --77 -42 -67 -33 -7 --18 --42 --60 --77 -41 -68 -33 -7 --19 --42 --60 --76 -42 -68 -34 -8 --18 --41 --59 -50 -28 --3 --28 --49 -51 -26 --3 --29 --49 -50 -25 --5 --29 --50 -50 -23 --5 --31 --50 -48 -24 --7 --30 --51 -46 -21 --7 --32 --52 -47 -23 --7 --31 --52 -47 -21 --7 --32 --52 -47 -22 --8 --32 --52 -47 -21 --7 --32 --52 -44 -20 --10 --33 --54 -47 -21 --7 --33 --52 -46 -22 --8 --32 --53 -47 -21 --8 --33 --52 -46 -21 --9 --32 --53 -45 -19 --9 --33 --53 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -46 -21 --9 --32 --53 -46 -20 --8 --33 --52 -44 -21 --9 --33 --53 -46 -20 --8 --33 --52 -45 -22 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -45 -19 --9 --33 --53 -45 -20 --9 --33 --53 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -21 --7 --33 --52 -44 -20 --9 --33 --53 -47 -21 --8 --33 --52 -45 -21 --8 --32 --53 -47 -21 --8 --33 --52 -45 -21 --9 --33 --53 -45 -19 --9 --34 --53 -45 -21 --8 --32 --53 -47 -20 --8 --33 --52 -46 -22 --8 --32 --53 -47 -20 --8 --33 --52 --70 -40 -62 -28 -2 --23 --46 --64 --80 -33 -61 -28 -3 --22 --45 --63 --79 -39 -66 -31 -6 --20 --43 --61 --77 -42 -68 -33 -7 --19 --42 --60 --77 -41 -68 -33 -8 --19 --42 --60 --76 -41 -67 -33 -8 --18 --42 --60 --76 -42 -69 -33 -2 --23 -43 -49 -14 --13 --37 -36 -42 -10 --18 --40 -30 -37 -5 --21 --44 -28 -35 -4 --23 --44 -24 -33 -1 --24 --47 -25 -33 -2 --24 --46 -24 -33 -1 --24 --47 -25 -31 -1 --25 --46 -22 -31 -0 --25 --48 -22 -29 -1 --15 --38 --58 --74 --88 -29 -55 -22 --3 --27 --49 --67 --82 -30 -58 -25 -1 --24 --46 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -66 -32 -6 --20 --42 --61 --77 -40 -68 -33 -7 --19 --42 --60 --77 -41 -68 -32 -1 --24 -43 -49 -14 --13 --37 -35 -41 -10 --18 --40 -29 -38 -5 --21 --44 -27 -35 -5 --22 --44 -25 -34 -2 --23 --46 -25 -32 -2 --25 --46 -23 -32 -0 --25 --47 -24 -31 -1 --26 --46 -22 -31 --1 --26 --48 -23 -31 -1 --26 --47 -21 -30 --1 --26 --48 -23 -30 -0 --26 --47 -22 -30 --1 --27 --49 -22 -30 --1 --27 --48 -21 -30 --2 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --28 --48 -20 -30 --1 --26 --48 -22 -29 --1 --28 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --26 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 -1 --16 --39 --59 --74 --89 -29 -54 -22 --3 --28 --49 --67 --82 -30 -57 -25 -1 --25 --47 --65 --80 -36 -63 -30 -4 --21 --44 --62 --78 -38 -65 -31 -6 --20 --43 --61 --77 -40 -67 -33 -7 --18 --42 --60 --76 -40 -67 -33 -8 --18 --42 --59 -52 -29 --2 --27 --48 -52 -26 --3 --29 --49 -49 -25 --6 --30 --51 -50 -24 --5 --31 --50 -48 -23 --7 --31 --52 -49 -22 --7 --31 --51 -47 -22 --8 --31 --52 -48 -21 --7 --32 --52 -45 -22 --8 --32 --53 -47 -21 --8 --33 --52 --70 -38 -61 -27 -2 --24 --46 --64 --80 -34 -62 -28 -4 --22 --44 --62 --79 -39 -66 -32 -6 --19 --42 --61 --77 -42 -68 -33 -7 --19 --42 --60 --76 -41 -68 -33 -8 --18 --42 --60 --76 -41 -68 -34 -8 --18 --41 --60 --76 -45 -70 -35 -8 --18 --41 --59 --76 -42 -68 -33 -8 --18 --41 --59 --76 -41 -68 -33 -8 --18 --41 --59 --76 -44 -70 -35 -8 --18 --41 --59 --76 -42 -68 -34 -8 --18 --41 --59 --76 -41 -68 -34 -8 --18 --41 --59 --76 -42 -69 -33 -2 --23 -43 -50 -15 --12 --36 -36 -42 -10 --18 --40 -30 -38 -5 --20 --43 -27 -35 -4 --23 --44 -25 -34 -2 --23 --46 -26 -33 -2 --24 --45 -24 -32 -0 --25 --47 -24 -31 -1 --25 --46 -22 -31 -0 --25 --48 -22 -29 --1 --27 --48 -21 -31 -0 --25 --48 -23 -30 -0 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -21 -27 --2 --28 --49 -21 -30 --1 --26 --48 -22 -30 -0 --26 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -21 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --26 --49 -21 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -21 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -21 -29 --1 --28 --49 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -23 -30 -0 --27 --48 -20 -29 --3 --27 --49 -22 -30 -0 --26 --47 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -20 -31 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -28 --2 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -27 --2 --28 --49 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --47 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -22 -30 --1 --26 --48 -21 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -21 -28 --1 --27 --48 -20 -29 --2 --27 --49 -22 -30 -0 --27 --47 -21 -30 --1 --26 --49 -23 -29 -0 --27 --48 -21 -29 --2 --27 --49 -22 -30 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 -0 --27 --48 -21 -30 --1 --26 --48 -21 -28 --2 --28 --49 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --48 -21 -27 --2 --28 --49 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -22 -31 -0 --26 --48 -21 -28 --2 --28 --49 -21 -31 --1 --26 --48 -22 -30 -0 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --3 --27 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -30 -0 --27 --48 -21 -30 --2 --27 --49 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -29 --2 --27 --49 -21 -29 -0 --27 --47 -21 -30 --1 --26 --48 -22 -30 -0 --26 --47 -21 -30 --1 --26 --49 -21 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -30 -0 --27 --48 -21 -30 --1 --26 --49 -22 -30 --1 --27 --48 -20 -29 --3 --27 --49 -22 -30 -0 --27 --47 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -20 -28 --1 --16 --39 --59 --75 --89 -29 -55 -22 --3 --28 --49 --66 --82 -30 -58 -25 -1 --24 --47 --64 --80 -36 -63 -29 -4 --21 --44 --62 --78 -39 -65 -31 -6 --19 --43 --61 --77 -40 -67 -32 -7 --19 --42 --60 --77 -41 -68 -32 -1 --24 -43 -49 -14 --13 --37 -34 -41 -10 --18 --40 -29 -38 -5 --21 --43 -27 -35 -4 --23 --44 -25 -35 -2 --23 --45 -25 -32 -2 --24 --46 -23 -32 -0 --25 --47 -24 -31 -1 --25 --47 -22 -30 --1 --26 --48 -22 -30 -0 --26 --47 -21 -30 --1 --26 --48 -23 -30 -0 --27 --47 -22 -30 --1 --26 --48 -23 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -23 -30 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --28 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -20 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -28 --1 --28 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -22 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -29 --1 --27 --48 -21 -31 --1 --26 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --49 -22 -30 -0 --27 --48 -21 -30 --1 --27 --49 -22 -29 --1 --27 --48 -21 -30 --2 --27 --48 -21 -29 --1 --27 --48 -21 -30 --1 --26 --48 -22 -29 --1 --27 --48 -21 -30 --1 --27 --48 -22 -29 -0 --27 --48 -21 -30 --2 --27 --49 -22 -30 -0 --27 --48 -21 -30 --2 --27 --49 -22 -29 --1 --27 --48 -21 -29 --2 --27 --49 -22 -29 -1 --16 --39 --59 --75 --89 -29 -54 -21 --3 --28 --49 --67 --82 -30 -58 -25 -0 --25 --47 --64 --80 -36 -63 -30 -5 --21 --44 --62 --78 -38 -65 -31 -6 --20 --43 --61 --77 -40 -67 -33 -7 --19 --42 --60 --77 -41 -67 -33 -8 --18 --41 --59 -52 -29 --2 --27 --48 -52 -25 --4 --29 --49 -49 -25 --6 --29 --50 -50 -23 --6 --31 --50 -48 -23 --7 --31 --51 -49 -22 --7 --32 --51 -46 -22 --8 --32 --52 -48 -21 --7 --32 --51 -45 -22 --8 --32 --52 -47 -20 --8 --33 --52 -45 -22 --8 --32 --52 -47 -20 --8 --33 --52 -46 -22 --8 --32 --52 -47 -20 --8 --33 --52 -45 -21 --8 --32 --53 -47 -20 --8 --33 --53 -46 -21 --8 --32 --53 -47 -20 --8 --33 --53 -46 -22 --8 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --33 --53 -46 -20 --8 --33 --52 -45 -21 --8 --32 --53 -46 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --8 --33 --52 -45 -21 --9 --32 --53 -47 -20 --9 --33 --52 -45 -21 --9 --32 --53 -47 diff --git a/traces/modulation-fsk1a-50.pm3 b/traces/modulation-fsk1a-50.pm3 deleted file mode 100644 index 01153d4c4..000000000 --- a/traces/modulation-fsk1a-50.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ -45 --7 --49 --85 --82 -17 -77 -96 -40 --11 --52 --88 --86 -13 -72 -92 -36 --14 --55 --91 --87 -11 -71 -90 -34 --16 --56 --91 --90 -10 -68 -88 -33 --17 --57 --92 --91 -8 -67 -87 -32 --18 --58 --93 --91 -8 -68 -87 -32 --18 --58 --93 --91 -8 -67 -87 -32 --18 --58 --93 --93 -6 -66 -86 -31 --18 --58 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --58 --93 --93 -6 -66 -85 -31 --19 --59 --94 --91 -7 -67 -87 -32 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -6 -66 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --92 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --58 --93 --92 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --58 --94 --92 -7 -67 -85 -31 --19 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --59 --94 --91 -8 -66 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --18 --58 --53 --6 --37 --74 --106 --37 -16 --12 --54 --88 --24 -26 --6 --48 --83 --19 -30 --1 --45 --79 --14 -36 -3 --39 --76 --11 -37 -6 --38 --74 --9 -41 -8 --36 --73 --7 -42 -10 --35 --71 --6 -43 -10 --34 --71 --5 -44 -12 --33 --70 --103 --48 -45 -103 -122 -63 -9 --35 --74 --64 -32 -91 -109 -52 --1 --44 --81 --75 -22 -81 -100 -43 --8 --50 --86 --82 -16 -75 -95 -39 --12 --53 --89 --86 -13 -72 -91 -36 --15 --55 --91 --88 -11 -70 -90 -34 --16 --56 --92 --90 -9 -69 -88 -33 --17 --57 --92 --91 -9 -67 -87 -32 --18 --58 --93 --91 -8 -68 -88 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --93 -6 -65 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --93 -6 -65 -85 -30 --19 --59 --94 --92 -7 -67 -87 -31 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -6 -66 -86 -31 --18 --59 --94 --91 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -66 -86 -32 --18 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --58 --94 --93 -7 -66 -86 -31 --19 --59 --94 --91 -8 -67 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --58 --53 --5 --36 --73 --105 --36 -16 --13 --55 --88 --25 -26 --6 --48 --83 --19 -31 --1 --44 --79 --15 -36 -4 --39 --76 --11 -38 -6 --38 --74 --10 -41 -8 --36 --73 --7 -41 -10 --35 --71 --6 -44 -11 --33 --71 --5 -43 -13 --33 --69 --6 -44 -11 --33 --70 --4 -44 -12 --33 --69 --4 -46 -12 --32 --70 --3 -45 -14 --32 --69 --4 -46 -13 --32 --69 --3 -44 -13 --33 --69 --4 -47 -12 --32 --69 --3 -45 -14 --32 --69 --3 -47 -13 --31 --69 --3 -45 -14 --32 --69 --102 --47 -47 -105 -124 -65 -10 --34 --73 --64 -33 -91 -109 -52 --1 --43 --81 --75 -23 -82 -101 -45 --7 --49 --85 --83 -15 -75 -94 -38 --12 --53 --89 --86 -13 -72 -92 -36 --14 --55 --91 --88 -10 -70 -90 -35 --16 --56 --92 --91 -8 -68 -87 -32 --17 --58 --93 --90 -8 -69 -88 -33 --17 --57 --92 --91 -8 -68 -87 -32 --18 --58 --93 --92 -7 -67 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --59 --94 --91 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --91 -8 -68 -87 -32 --18 --58 --93 --92 -7 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --17 --58 --93 --93 -7 -66 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --92 -8 -66 -86 -32 --18 --58 --93 --93 -6 -65 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --92 -7 -66 -86 -31 --18 --58 --53 --6 --37 --74 --106 --37 -16 --12 --54 --88 --25 -26 --6 --48 --83 --19 -31 --1 --44 --79 --15 -35 -3 --40 --76 --11 -38 -6 --38 --74 --9 -41 -8 --35 --72 --7 -42 -10 --36 --71 --6 -44 -10 --33 --71 --5 -44 -12 --34 --70 --103 --48 -46 -104 -123 -63 -9 --35 --74 --64 -32 -91 -109 -51 --1 --44 --81 --76 -22 -82 -100 -44 --7 --49 --86 --83 -15 -74 -94 -38 --12 --53 --89 --86 -13 -73 -91 -36 --15 --55 --91 --88 -11 -70 -90 -34 --16 --56 --92 --90 -9 -69 -88 -33 --17 --57 --93 --91 -9 -68 -88 -32 --17 --58 --93 --92 -7 -67 -87 -31 --18 --58 --93 --91 -8 -67 -87 -32 --18 --58 --93 --92 -7 -67 -87 -31 --18 --59 --93 --92 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --19 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --19 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -66 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --94 -6 -65 -85 -30 --19 --59 --94 --91 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -6 -66 -85 -31 --19 --59 --94 --91 -8 -67 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --58 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -65 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --93 -7 -66 -86 -31 --19 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -6 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --92 -8 -67 -86 -31 --18 --59 --54 --5 --36 --73 --105 --36 -16 --13 --54 --88 --26 -25 --7 --48 --84 --19 -30 --1 --44 --79 --15 -36 -4 --40 --76 --11 -37 -6 --39 --74 --10 -41 -8 --36 --73 --7 -41 -10 --36 --71 --7 -44 -10 --34 --71 --4 -43 -13 --33 --70 --102 --48 -45 -104 -122 -63 -9 --35 --73 --65 -32 -91 -109 -52 --1 --44 --81 --76 -22 -80 -100 -44 --8 --49 --86 --83 -15 -75 -94 -38 --12 --53 --89 --86 -13 -73 -92 -37 --14 --55 --90 --88 -10 -70 -89 -34 --16 --57 --51 --4 --35 --72 --104 --35 -18 --11 --53 --86 --24 -27 --6 --47 --83 --17 -31 -0 --44 --78 --14 -36 -3 --39 --76 --10 -38 -6 --38 --74 --9 -41 -8 --35 --72 --7 -42 -10 --35 --71 --6 -44 -11 --33 --70 --5 -44 -12 --34 --71 --103 --48 -46 -104 -123 -64 -9 --35 --73 --64 -32 -91 -109 -51 --1 --44 --81 --75 -23 -82 -100 -44 --8 --49 --86 --83 -15 -75 -95 -39 --12 --53 --89 --86 -13 -72 -91 -36 --14 --55 --91 --88 -11 -70 -90 -35 --15 --56 --92 --90 -9 -69 -88 -32 --17 --57 --93 --91 -9 -68 -88 -33 --17 --58 --93 --91 -8 -67 -87 -32 --18 --58 --93 --91 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --59 --93 --92 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --92 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -85 -30 --19 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -6 -66 -86 -31 --19 --59 --94 --91 -8 -67 -88 -32 --18 --58 --93 --92 -8 -67 -86 -31 --18 --59 --94 --92 -6 -45 --6 --48 --50 --1 -8 --36 --74 --66 --5 -17 --29 --67 --54 -6 -23 --23 --63 --50 -8 -28 --20 --59 --46 -13 -29 --17 --58 --44 -14 -33 --16 --56 --43 -17 -33 --14 --55 --40 -17 -35 --13 --54 --41 -18 -34 --13 --54 --39 -18 -36 --13 --53 --39 -20 -36 --11 --53 --39 -18 -37 --12 --53 --39 -20 -37 --11 --52 --39 -19 -38 --11 --52 --39 -19 -36 --11 --53 --38 -20 -38 --11 --51 --38 -20 -36 --11 --53 --38 -20 -39 --11 --51 --38 -21 -37 --11 --52 --38 -19 -58 -73 -22 --25 --64 --98 --63 -36 -96 -116 -57 -3 --40 --78 --73 -24 -83 -102 -45 --7 --49 --85 --81 -17 -76 -95 -39 --12 --53 --89 --85 -13 -72 -92 -37 --14 --54 --90 --89 -11 -71 -90 -34 --16 --56 --92 --89 -10 -69 -88 -33 --17 --57 --92 --92 -8 -68 -87 -32 --18 --58 --93 --91 -8 -67 -87 -32 --18 --58 --93 --92 -8 -68 -87 -32 --18 --58 --93 --92 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --92 -8 -66 -86 -32 --18 --58 --93 --93 -6 -66 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --92 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --19 --59 --94 --92 -7 -66 -86 -31 --19 --59 --94 --92 -7 -67 -86 -31 --18 --58 --93 --93 -6 -66 -86 -31 --18 --59 --94 --91 -8 -67 -86 -31 --18 --58 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -6 -65 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --58 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -6 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --59 --94 --93 -7 -66 -85 -31 --19 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --54 --5 --36 --73 --105 --37 -15 --13 --54 --88 --25 -26 --6 --48 --83 --18 -30 -0 --44 --79 --15 -36 -3 --40 --76 --11 -37 -6 --38 --74 --9 -41 -7 --36 --73 --8 -41 -10 --35 --71 --6 -44 -10 --34 --71 --5 -44 -12 --33 --69 --5 -45 -11 --33 --70 --4 -45 -13 --33 --69 --4 -45 -12 --33 --70 --3 -45 -13 --33 --69 --3 -46 -13 --32 --69 --3 -44 -12 --33 --69 --3 -47 -13 --32 --69 --3 -45 -13 --33 --69 --4 -47 -12 --32 --69 --3 -46 -15 --31 --67 --3 -46 -12 --32 --70 --4 -45 -14 --32 --68 --3 -47 -13 --31 --69 --3 -45 -14 --32 --68 --3 -47 -13 --31 --68 --3 -45 -13 --33 --69 --4 -46 -13 --32 --69 --3 -45 -14 --32 --68 --4 -46 -13 --31 --69 --3 -45 -14 --32 --69 --102 --47 -48 -106 -124 -64 -10 --35 --73 --64 -33 -91 -110 -53 -0 --43 --80 --76 -22 -82 -100 -44 --8 --50 --86 --82 -16 -75 -95 -39 --12 --53 --89 --86 -13 -73 -92 -36 --14 --55 --91 --88 -11 -71 -90 -34 --16 --56 --92 --91 -8 -68 -88 -33 --17 --57 --92 --91 -9 -69 -87 -32 --18 --58 --93 --91 -8 -67 -88 -32 --17 --58 --93 --93 -6 -67 -86 -31 --18 --59 --94 --91 -8 -67 -87 -32 --18 --58 --93 --92 -8 -67 -87 -31 --18 --58 --93 --92 -7 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --92 -7 -66 -86 -31 --18 --59 --54 --5 --36 --73 --105 --37 -16 --13 --54 --88 --25 -25 --7 --49 --84 --19 -31 -0 --44 --79 --15 -36 -4 --39 --76 --11 -37 -6 --39 --74 --10 -41 -8 --36 --73 --7 -41 -10 --35 --71 --7 -43 -10 --33 --71 --5 -44 -12 --33 --70 --103 --49 -46 -104 -122 -63 -9 --35 --74 --64 -32 -90 -109 -52 --1 --44 --81 --76 -22 -81 -100 -44 --8 --49 --86 --83 -15 -75 -94 -38 --12 --53 --89 --86 -13 -73 -92 -36 --15 --55 --91 --88 -11 -70 -90 -34 --16 --56 --92 --91 -8 -67 -88 -32 --17 --58 --93 --90 -9 -69 -87 -32 --17 --58 --93 --91 -8 -67 -87 -32 --18 --58 --93 --92 -8 -67 -87 -31 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --92 -7 -67 -86 -31 --19 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --92 -8 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --58 --93 --93 -6 -66 -86 -31 --19 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -6 -65 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --19 --59 --94 --92 -7 -66 -86 -31 --18 --58 --94 --94 -6 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --92 -8 -67 -87 -31 --18 --58 --94 --92 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --19 --59 --94 --92 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -46 --5 --47 --50 --2 -7 --37 --75 --67 --5 -17 --29 --67 --53 -6 -23 --23 --63 --50 -8 -27 --20 --60 --47 -13 -30 --17 --58 --44 -14 -32 --16 --56 --43 -17 -33 --14 --55 --41 -17 -36 --13 --53 --41 -18 -35 --13 --54 --40 -18 -58 -73 -22 --26 --64 --98 --64 -35 -95 -114 -56 -2 --41 --78 --74 -24 -83 -102 -45 --7 --49 --85 --81 -17 -76 -95 -40 --11 --53 --88 --86 -13 -72 -92 -36 --14 --55 --91 --89 -11 -71 -90 -34 --16 --56 --92 --90 -10 -69 -88 -33 --17 --57 --92 --91 -8 -68 -88 -32 --17 --58 --93 --91 -8 -67 -87 -32 --17 --58 --93 --91 -7 -67 -87 -32 --18 --58 --93 --93 -6 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --58 --94 --92 -8 -68 -87 -32 --18 --58 --54 --7 --38 --75 --106 --37 -16 --12 --54 --87 --24 -27 --7 --48 --84 --19 -30 --1 --44 --79 --15 -36 -3 --39 --76 --11 -37 -6 --39 --74 --9 -42 -8 --36 --73 --7 -42 -10 --35 --71 --6 -44 -10 --34 --71 --5 -44 -12 --33 --70 --103 --48 -45 -104 -123 -64 -9 --35 --73 --64 -33 -91 -109 -52 --1 --44 --81 --76 -22 -81 -100 -43 --8 --50 --86 --83 -16 -75 -94 -38 --12 --53 --89 --86 -13 -73 -92 -36 --14 --55 --91 --88 -11 -70 -89 -33 --16 --57 --92 --90 -9 -69 -88 -33 --17 --57 --93 --91 -8 -67 -87 -32 --18 --58 --93 --91 -8 -68 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --58 --93 --92 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --92 -7 -66 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --92 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --17 --58 --93 --93 -6 -66 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -6 -65 -85 -31 --19 --59 --94 --92 -7 -67 -87 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --58 --54 --6 --37 --74 --106 --37 -15 --12 --54 --87 --25 -26 --7 --49 --84 --19 -30 -0 --44 --78 --15 -36 -3 --40 --76 --11 -37 -6 --38 --74 --9 -41 -8 --36 --73 --7 -41 -10 --35 --71 --6 -45 -11 --33 --71 --5 -44 -12 --34 --71 --103 --48 -45 -104 -123 -64 -9 --35 --73 --65 -32 -91 -109 -51 --1 --44 --81 --75 -23 -81 -100 -44 --8 --49 --86 --83 -16 -75 -94 -38 --13 --53 --89 --86 -13 -72 -92 -36 --14 --55 --91 --89 -11 -71 -90 -34 --16 --56 --92 --90 -10 -46 --4 --47 --49 -0 -9 --35 --74 --65 --3 -18 --28 --67 --53 -6 -23 --22 --63 --49 -10 -28 --19 --59 --46 -13 -29 --17 --58 --44 -14 -33 --16 --55 --42 -17 -34 --13 --55 --41 -17 -36 --13 --53 --41 -18 -36 --12 --54 --38 -18 -57 -72 -21 --26 --64 --98 --64 -36 -96 -115 -56 -3 --40 --78 --74 -24 -83 -101 -45 --7 --49 --85 --81 -17 -77 -96 -40 --11 --53 --88 --86 -13 -73 -92 -36 --14 --55 --91 --88 -11 -71 -90 -34 --16 --56 --92 --90 -9 -69 -88 -33 --17 --57 --93 --91 -8 -68 -88 -32 --17 --58 --93 --92 -8 -68 -87 -32 --18 --58 --93 --92 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --93 --92 -7 -67 -86 -31 --18 --59 --94 --91 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -6 -66 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -6 -65 -86 -31 --19 --59 --94 --92 -8 -68 -86 -31 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -66 -85 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -7 -46 --5 --47 --50 --2 -7 --36 --75 --67 --5 -17 --29 --67 --54 -5 -22 --23 --63 --50 -8 -28 --20 --59 --47 -12 -30 --17 --58 --45 -13 -32 --16 --56 --43 -17 -33 --13 --55 --42 -16 -35 --14 --54 --41 -18 -35 --12 --54 --39 -18 -58 -73 -22 --25 --64 --98 --64 -35 -95 -115 -56 -3 --40 --78 --74 -24 -83 -101 -45 --7 --49 --85 --81 -17 -76 -95 -40 --11 --52 --88 --87 -13 -72 -92 -36 --14 --55 --91 --88 -11 -71 -90 -34 --16 --56 --91 --90 -9 -69 -89 -33 --17 --57 --52 --4 --35 --72 --104 --36 -16 --12 --54 --87 --25 -27 --6 --47 --83 --18 -31 -0 --44 --79 --15 -36 -4 --39 --76 --10 -38 -7 --38 --74 --10 -41 -8 --36 --73 --7 -41 -10 --35 --71 --6 -44 -10 --34 --71 --5 -43 -13 --33 --69 --6 -45 -11 --33 --70 --4 -45 -12 --33 --69 --4 -46 -12 --32 --69 --3 -45 -13 --32 --68 --4 -46 -13 --31 --69 --3 -44 -13 --33 --69 --4 -47 -13 --32 --69 --3 -45 -13 --33 --69 --4 -47 -13 --31 --69 --3 -45 -14 --32 --69 --101 --47 -47 -105 -124 -64 -10 --34 --72 --64 -33 -92 -109 -52 --1 --43 --80 --75 -23 -82 -101 -45 --7 --49 --85 --83 -16 -75 -94 -38 --12 --53 --89 --85 -13 -72 -92 -36 --14 --55 --90 --89 -10 -70 -90 -34 --16 --56 --91 --91 -8 -68 -87 -32 --17 --58 --93 --90 -9 -69 -88 -33 --17 --57 --93 --91 -8 -68 -87 -32 --18 --58 --93 --92 -8 -66 -86 -31 --18 --58 --94 --92 -7 -67 -87 -32 --18 --58 --93 --92 -8 -67 -87 -31 --18 --58 --94 --92 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -31 --18 --58 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -8 -66 -86 -31 --19 --59 --94 --93 -6 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -87 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -6 -65 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -32 --18 --58 --93 --94 -6 -65 -85 -30 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --58 --94 --93 -7 -66 -86 -31 --18 --58 --94 --92 -8 -67 -87 -31 --18 --59 --93 --92 -8 -67 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --17 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -7 -66 -85 -30 --19 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -6 -66 -86 -31 --19 --59 --94 --93 -8 -68 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -5 -66 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -85 -30 --19 --59 --94 --92 -7 -66 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --92 -8 -68 -87 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --92 -8 -67 -86 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --19 --59 --94 --93 -8 -68 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --58 --94 --94 -6 -65 -85 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --94 -5 -65 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --94 -7 -66 -85 -30 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --92 -7 -67 -85 -30 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -8 -66 -86 -31 --18 --59 --94 --92 -7 -46 --5 --47 --50 --2 -6 --38 --76 --68 --5 -17 --29 --67 --54 -6 -23 --23 --63 --50 -8 -27 --20 --59 --48 -13 -30 --17 --58 --44 -13 -33 --16 --56 --43 -17 -33 --14 --55 --42 -16 -35 --13 --53 --40 -19 -35 --12 --53 --40 -18 -58 -73 -22 --26 --64 --98 --63 -36 -95 -115 -57 -3 --40 --78 --74 -24 -83 -101 -45 --7 --49 --85 --82 -17 -76 -95 -39 --12 --53 --89 --86 -13 -73 -92 -36 --14 --55 --90 --89 -11 -70 -89 -33 --16 --57 --92 --90 -10 -69 -88 -33 --16 --57 --92 --92 -8 -68 -88 -32 --17 --58 --93 --91 -9 -68 -87 -32 --18 --58 --93 --92 -8 -68 -87 -32 --17 --58 --93 --93 -7 -66 -86 -31 --19 --59 --94 --92 -7 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -6 -65 -85 -31 --19 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --92 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -86 -32 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --94 -6 -66 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --54 --6 --37 --74 --106 --37 -16 --13 --54 --88 --26 -25 --7 --48 --84 --19 -30 --1 --44 --79 --15 -36 -3 --40 --76 --11 -37 -6 --38 --74 --9 -42 -8 --36 --73 --7 -41 -9 --36 --72 --7 -45 -10 --34 --71 --4 -43 -12 --33 --70 --103 --48 -46 -104 -123 -64 -10 --35 --73 --65 -32 -91 -109 -51 --1 --44 --81 --75 -23 -81 -101 -44 --7 --49 --85 --83 -16 -75 -94 -38 --13 --53 --89 --86 -14 -72 -92 -36 --14 --55 --90 --89 -11 -70 -90 -34 --16 --56 --91 --90 -9 -69 -88 -32 --17 --58 --93 --91 -9 -68 -88 -33 --17 --57 --92 --92 -8 -68 -87 -31 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --92 -7 -66 -86 -31 --18 --59 --94 --93 -7 -68 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -66 -86 -31 --18 --59 --94 --94 -7 -67 -86 -31 --18 --58 --94 --93 -8 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --94 -6 -66 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --94 -6 -65 -85 -31 --19 --59 --94 --92 -8 -68 -87 -32 --18 --58 --93 --92 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --19 --59 --94 --94 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --55 --6 --37 --74 --106 --37 -16 --13 --54 --88 --26 -26 --8 --49 --84 --19 -30 --1 --44 --79 --15 -36 -3 --39 --76 --12 -36 -5 --39 --74 --10 -42 -8 --35 --72 --7 -42 -10 --35 --71 --6 -44 -10 --34 --71 --5 -44 -13 --33 --69 --5 -43 -10 --34 --71 --4 -44 -13 --33 --69 --4 -46 -12 --32 --69 --4 -45 -13 --33 --69 --4 -46 -13 --31 --69 --4 -45 -13 --33 --69 --4 -46 -12 --32 --69 --3 -46 -14 --32 --68 --4 -47 -12 --32 --69 --3 -45 -15 --31 --69 --101 --47 -48 -106 -124 -65 -10 --34 --72 --64 -34 -93 -111 -53 -0 --43 --80 --76 -23 -82 -101 -44 --8 --49 --85 --83 -16 -75 -95 -39 --12 --53 --89 --86 -13 -73 -92 -36 --14 --55 --90 --89 -11 -71 -89 -34 --16 --56 --92 --91 -8 -67 -88 -32 --17 --57 --93 --91 -9 -69 -88 -32 --17 --58 --93 --91 -9 -68 -88 -32 --17 --57 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --92 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --94 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --19 --59 --93 --92 -8 -67 -86 -31 --18 --58 --93 --95 -6 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -87 -32 --18 --58 --55 --6 --38 --75 --106 --37 -16 --13 --54 --88 --25 -26 --7 --48 --84 --19 -29 --1 --44 --79 --15 -36 -3 --39 --76 --11 -37 -5 --39 --74 --10 -41 -7 --36 --73 --7 -42 -10 --35 --71 --7 -44 -10 --34 --71 --5 -43 -12 --33 --70 --103 --48 -46 -104 -123 -64 -9 --35 --73 --65 -33 -92 -109 -52 --1 --43 --80 --76 -22 -81 -100 -44 --8 --49 --86 --83 -16 -76 -94 -38 --13 --53 --89 --86 -13 -72 -92 -36 --14 --55 --90 --89 -11 -71 -90 -34 --16 --56 --92 --90 -9 -69 -88 -33 --17 --57 --92 --91 -9 -68 -88 -32 --17 --58 --93 --92 -8 -68 -87 -32 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --94 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --93 --95 -6 -66 -85 -30 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --94 -6 -65 -86 -31 --19 --59 --94 --92 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --93 --93 -6 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -66 -86 -31 --18 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --94 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --54 --5 --37 --74 --106 --38 -15 --13 --55 --88 --25 -26 --7 --48 --84 --19 -30 --1 --44 --79 --15 -36 -3 --39 --76 --12 -37 -6 --38 --74 --10 -41 -7 --36 --73 --7 -42 -10 --35 --71 --6 -44 -10 --34 --71 --5 -43 -12 --33 --70 --102 --49 -46 -105 -123 -64 -10 --35 --73 --65 -33 -91 -109 -52 --1 --43 --80 --76 -22 -82 -100 -44 --8 --49 --86 --84 -16 -76 -94 -39 --12 --53 --89 --87 -13 -72 -91 -35 --15 --55 --91 --89 -11 -71 -90 -34 --16 --56 --52 --5 --36 --73 --105 --35 -17 --11 --53 --86 --24 -27 --6 --47 --83 --18 -31 -0 --43 --78 --14 -37 -4 --39 --76 --10 -37 -6 --38 --74 --10 -42 -8 --35 --72 --7 -42 -10 --35 --71 --7 -44 -10 --33 --71 --4 -43 -12 --33 --70 --102 --48 -45 -104 -123 -63 -9 --35 --73 --65 -33 -91 -109 -52 --1 --43 --80 --76 -23 -82 -101 -44 --8 --49 --85 --83 -16 -76 -94 -38 --12 --53 --89 --87 -14 -73 -92 -36 --14 --55 --90 --89 -11 -71 -90 -34 --16 --56 --91 --91 -10 -69 -88 -33 --17 --57 --92 --92 -9 -68 -88 -32 --17 --58 --93 --92 -8 -68 -86 -31 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -85 -31 --19 --59 --94 --93 -8 -67 -86 -32 --18 --58 --93 --94 -6 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -68 -87 -32 --18 --58 --93 --94 -6 -66 -85 -30 --19 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --93 --94 -7 -66 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -6 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -46 --5 --48 --51 --2 -7 --36 --75 --68 --5 -17 --29 --67 --55 -5 -22 --23 --63 --50 -8 -28 --20 --59 --47 -12 -29 --17 --58 --45 -14 -33 --16 --55 --43 -16 -33 --14 --55 --42 -17 -35 --14 --54 --41 -19 -36 --12 --53 --39 -18 -36 --13 --53 --40 -19 -36 --11 --53 --39 -19 -37 --12 --52 --39 -20 -36 --11 --53 --39 -20 -38 --11 --51 --38 -20 -36 --11 --53 --39 -19 -37 --12 --52 --39 -21 -37 --11 --52 --38 -20 -37 --12 --52 --40 -20 -37 --10 --52 --37 -20 -58 -74 -23 --25 --63 --97 --63 -37 -97 -116 -57 -4 --39 --77 --74 -25 -83 -102 -45 --7 --48 --85 --81 -18 -78 -97 -40 --11 --52 --88 --86 -13 -73 -92 -36 --14 --55 --90 --88 -11 -71 -91 -35 --15 --56 --91 --91 -10 -69 -88 -33 --17 --57 --92 --91 -8 -68 -88 -32 --17 --58 --93 --92 -8 -68 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --92 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -65 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --58 --94 --94 -5 -66 -85 -30 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -85 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --55 --6 --37 --74 --106 --37 -16 --13 --55 --88 --25 -25 --8 --49 --84 --19 -30 --1 --44 --79 --15 -36 -3 --40 --76 --12 -37 -5 --39 --75 --10 -42 -8 --36 --73 --7 -42 -10 --35 --71 --7 -43 -10 --34 --71 --5 -44 -12 --33 --69 --5 -45 -11 --33 --70 --5 -45 -13 --33 --69 --4 -46 -13 --32 --69 --3 -45 -12 --33 --69 --4 -46 -13 --31 --68 --3 -45 -13 --33 --69 --5 -46 -12 --32 --69 --3 -45 -13 --32 --68 --3 -47 -13 --32 --69 --3 -45 -14 --32 --68 --4 -46 -12 --32 --69 --3 -45 -13 --33 --69 --4 -47 -13 --32 --69 --3 -46 -14 --32 --68 --4 -47 -14 --31 --69 --3 -45 -13 --32 --69 --4 -47 -13 --31 --69 --3 -45 -13 --32 --69 --4 -47 -13 --31 --69 --3 -45 -14 --32 --69 --101 --47 -48 -106 -125 -65 -10 --34 --72 --64 -34 -92 -110 -53 -0 --43 --80 --76 -23 -83 -101 -45 --7 --49 --85 --83 -16 -76 -94 -38 --12 --53 --89 --86 -13 -73 -91 -35 --14 --55 --91 --89 -10 -70 -90 -35 --15 --56 --91 --92 -8 -68 -87 -32 --18 --58 --93 --91 -10 -69 -88 -33 --17 --57 --92 --92 -8 -68 -88 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --92 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -68 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --94 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -85 -30 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --56 --6 --37 --74 --106 --37 -16 --14 --55 --88 --26 -26 --7 --49 --84 --19 -30 --1 --44 --79 --16 -36 -4 --39 --76 --11 -37 -5 --39 --74 --10 -41 -8 --36 --73 --7 -42 -10 --35 --71 --7 -44 -10 --34 --71 --5 -44 -13 --33 --70 --102 --48 -47 -104 -123 -63 -9 --35 --73 --65 -33 -92 -110 -52 -0 --43 --80 --76 -22 -82 -100 -44 --7 --49 --86 --83 -16 -76 -95 -38 --12 --53 --89 --87 -13 -72 -92 -36 --14 --55 --91 --89 -11 -71 -89 -34 --16 --56 --91 --92 -8 -68 -88 -32 --17 --57 --93 --91 -9 -69 -88 -32 --17 --57 --93 --92 -9 -69 -88 -32 --17 --57 --92 --93 -7 -67 -86 -31 --18 --58 --93 --92 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -68 -86 -31 --18 --58 --93 --94 -6 -67 -86 -31 --18 --59 --93 --93 -8 -68 -86 -31 --18 --59 --93 --93 -8 -67 -86 -32 --18 --58 --93 --94 -7 -67 -85 -30 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --93 --94 -6 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --92 -8 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --58 --93 --94 -8 -68 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --93 --93 -7 -68 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -46 --4 --47 --51 --3 -6 --37 --75 --69 --6 -16 --30 --68 --55 -5 -23 --22 --63 --51 -8 -27 --20 --59 --48 -12 -30 --17 --57 --45 -14 -33 --16 --55 --44 -16 -33 --14 --55 --42 -16 -35 --13 --53 --41 -18 -35 --12 --53 --40 -18 -58 -73 -22 --25 --64 --97 --63 -35 -96 -115 -57 -3 --40 --77 --74 -24 -84 -102 -45 --6 --48 --85 --81 -18 -77 -96 -40 --11 --52 --88 --87 -13 -73 -92 -36 --14 --55 --91 --89 -11 -70 -90 -34 --16 --56 --91 --90 -10 -69 -89 -33 --16 --57 --92 --92 -8 -68 -87 -32 --17 --58 --92 --92 -8 -68 -88 -32 --18 --58 --93 --92 -9 -68 -87 -32 --18 --58 --93 --94 -6 -67 -86 -31 --18 --59 --93 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -32 --18 --58 --54 --7 --38 --75 --106 --38 -16 --13 --54 --88 --25 -26 --7 --49 --84 --19 -30 --1 --44 --79 --15 -36 -3 --40 --76 --11 -38 -6 --39 --74 --9 -41 -7 --36 --73 --7 -42 -10 --35 --71 --6 -44 -10 --33 --71 --5 -43 -12 --33 --70 --102 --49 -47 -105 -123 -64 -10 --35 --73 --65 -33 -91 -109 -52 --1 --43 --80 --77 -23 -83 -101 -44 --7 --49 --85 --84 -16 -75 -95 -39 --12 --53 --89 --86 -14 -73 -92 -36 --14 --55 --90 --89 -11 -70 -90 -35 --15 --56 --91 --91 -9 -69 -88 -33 --17 --57 --92 --92 -9 -69 -88 -32 --17 --57 --92 --92 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -6 -66 -86 -31 --18 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -30 --19 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -66 -86 -31 --18 --59 --94 --93 -7 -68 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --94 -6 -66 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --58 --55 --7 --39 --75 --107 --38 -16 --13 --54 --87 --25 -26 --8 --49 --84 --20 -30 -0 --44 --79 --15 -37 -3 --39 --76 --12 -37 -5 --39 --75 --10 -41 -8 --36 --73 --7 -42 -10 --35 --71 --7 -43 -10 --34 --71 --5 -44 -12 --33 --70 --102 --49 -46 -105 -123 -63 -9 --35 --73 --64 -33 -92 -111 -53 -0 --43 --80 --77 -22 -82 -100 -44 --8 --49 --85 --83 -16 -75 -95 -39 --12 --53 --89 --86 -14 -73 -92 -36 --14 --55 --90 --89 -11 -70 -90 -34 --16 --56 --92 --91 -9 -47 --4 --46 --50 --1 -7 --36 --74 --67 --4 -18 --28 --66 --54 -7 -23 --22 --62 --50 -8 -28 --20 --59 --47 -13 -30 --17 --58 --44 -14 -33 --15 --55 --43 -17 -33 --14 --55 --41 -17 -36 --13 --53 --41 -18 -35 --13 --54 --39 -17 -57 -73 -22 --26 --64 --97 --63 -37 -96 -115 -57 -3 --40 --77 --74 -25 -84 -102 -46 --6 --48 --84 --82 -18 -77 -95 -40 --11 --53 --88 --86 -13 -74 -93 -37 --14 --54 --90 --89 -11 -71 -89 -34 --16 --56 --92 --90 -10 -69 -88 -33 --16 --57 --92 --93 -8 -69 -88 -32 --17 --57 --92 --92 -9 -68 -87 -32 --18 --58 --93 --93 -8 -68 -88 -32 --17 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -6 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --95 -6 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --94 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -46 --5 --47 --51 --3 -6 --37 --75 --68 --5 -16 --29 --67 --54 -5 -23 --23 --63 --51 -8 -27 --21 --60 --48 -12 -30 --17 --58 --44 -14 -32 --16 --56 --44 -16 -33 --14 --55 --41 -17 -35 --13 --53 --42 -18 -35 --12 --54 --40 -18 -57 -74 -23 --25 --64 --97 --64 -36 -96 -115 -56 -3 --40 --78 --74 -25 -84 -102 -46 --6 --48 --84 --82 -17 -77 -96 -40 --11 --52 --88 --87 -14 -72 -92 -36 --14 --55 --90 --89 -11 -71 -90 -35 --15 --56 --91 --91 -10 -69 -88 -33 --16 --57 --54 --4 --35 --72 --104 --36 -17 --12 --54 --87 --25 -26 --7 --48 --84 --19 -31 -0 --44 --79 --15 -36 -3 --39 --76 --11 -37 -6 --38 --74 --10 -42 -8 --36 --73 --7 -42 -10 --35 --71 --7 -44 -10 --34 --71 --5 -44 -13 --33 --69 --6 -44 -10 --34 --71 --4 -45 -13 --33 --69 --4 -47 -12 --32 --69 --5 -45 -13 --33 --69 --3 -47 -13 --31 --69 --3 -45 -13 --33 --69 --4 -47 -13 --31 --69 --3 -46 -14 --32 --68 --4 -46 -13 --32 --69 --3 -46 -15 --31 --68 --101 --47 -48 -106 -123 -64 -9 --34 --73 --64 -34 -93 -111 -54 -0 --42 --80 --76 -23 -82 -101 -44 --7 --49 --85 --84 -16 -76 -95 -39 --12 --53 --89 --86 -13 -73 -92 -36 --14 --55 --90 --89 -12 -71 -89 -34 --16 --56 --92 --92 -9 -68 -88 -33 --17 --57 --92 --91 -9 -69 -88 -33 --17 --57 --92 --92 -9 -68 -88 -32 --17 --57 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --95 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -8 -68 -87 -31 --18 --58 --93 --94 -7 -66 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --94 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -85 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --95 -6 -66 -86 -31 --19 --59 --94 --93 -8 -68 -87 -31 --18 --59 --94 --92 -8 -68 -87 -32 --17 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --93 -6 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --94 -7 -66 -86 -31 --19 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -86 -31 --18 --58 --93 --95 -6 -65 -85 -30 --19 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -30 --19 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -66 -86 -31 --19 --59 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --95 -6 -66 -86 -30 --19 --59 --94 --93 -8 -68 -86 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --93 -8 -68 -87 -32 --17 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --94 -7 -67 -86 -31 --18 --59 --94 --93 -7 -68 -87 -31 --18 --58 --93 --94 -8 -68 -86 -31 --18 --59 --93 --94 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -46 --5 --47 --52 --3 -6 --37 --75 --68 --5 -16 --30 --67 --55 -5 -22 --23 --63 --51 -8 -28 --20 --59 --48 -13 -30 --17 --57 --45 -14 -32 --16 --56 --43 -16 -33 --14 --55 --42 -16 -35 --13 --53 --42 -18 -35 --12 --53 --40 -18 -58 -74 -23 --25 --64 --97 --64 -35 -96 -116 -57 -3 --40 --77 --73 -25 -84 -101 -45 --7 --49 --85 --82 -17 -77 -96 -40 --11 --52 --88 --87 -13 -73 -92 -36 --14 --55 --90 --88 -12 -71 -90 -35 --15 --56 --91 --91 -10 -70 -89 -33 --17 --57 --92 --92 -8 -67 -87 -32 --17 --58 --93 --93 -8 -68 -88 -32 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --58 --93 --95 -6 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --92 -8 -68 -87 -32 --18 --58 --93 --95 -6 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --94 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --94 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --94 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -87 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -6 -67 -86 -31 --18 --58 --93 --94 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --94 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -87 -32 --18 --58 --55 --7 --39 --76 --107 --38 -16 --13 --55 --88 --25 -26 --7 --49 --84 --20 -30 --1 --44 --79 --15 -36 -3 --39 --76 --12 -37 -5 --39 --74 --10 -41 -8 --35 --73 --7 -42 -10 --35 --71 --7 -44 -10 --34 --71 --5 -44 -12 --33 --70 --102 --48 -46 -105 -124 -64 -9 --35 --73 --65 -34 -93 -111 -53 -0 --43 --80 --76 -23 -82 -100 -43 --8 --49 --86 --84 -16 -76 -95 -39 --12 --53 --89 --87 -12 -73 -92 -37 --14 --54 --90 --90 -11 -71 -89 -33 --16 --56 --92 --91 -9 -69 -89 -33 --16 --56 --92 --92 -9 -69 -87 -31 --18 --58 --93 --92 -9 -68 -88 -32 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --94 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --94 -7 -68 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --93 -7 -67 -87 -32 --17 --58 --93 --94 -8 -67 -86 -31 --18 --58 --93 --94 -6 -66 -86 -31 --18 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -68 -87 -32 --18 --58 --93 --94 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --93 --94 -8 -68 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -68 -86 -31 --19 --59 --94 --93 -7 -66 -86 -31 --18 --58 --94 --94 -8 -68 -87 -31 --18 --59 --94 --94 -8 -67 -86 -31 --18 --58 --93 --93 -8 -68 -87 -31 --18 --58 --93 --94 -8 -68 -87 -32 --18 --58 --93 --94 -6 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -32 --18 --58 --55 --6 --37 --74 --106 --37 -15 --14 --55 --88 --26 -26 --7 --48 --84 --20 -30 --1 --44 --79 --16 -36 -3 --40 --76 --12 -38 -6 --38 --74 --10 -40 -7 --36 --73 --7 -42 -10 --35 --71 --6 -44 -10 --34 --71 --5 -44 -13 --33 --69 --5 -45 -11 --33 --70 --5 -45 -12 --33 --69 --5 -46 -12 --32 --69 --3 -45 -13 --33 --69 --5 -46 -13 --32 --69 --4 -45 -12 --33 --69 --4 -47 -13 --32 --69 --3 -45 -13 --33 --69 --4 -47 -13 --31 --69 --3 -46 -14 --32 --69 --101 --46 -48 -106 -125 -65 -11 --33 --72 --64 -34 -93 -111 -53 -0 --43 --80 --76 -24 -82 -101 -45 --7 --49 --85 --84 -15 -75 -95 -38 --12 --53 --89 --86 -14 -73 -92 -36 --14 --55 --90 --89 -11 -71 -90 -35 --15 --56 --91 --92 -8 -68 -88 -33 --17 --57 --93 --91 -9 -69 -88 -33 --17 --57 --92 --92 -9 -68 -88 -32 --17 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -68 -86 -31 --18 --58 --93 --93 -8 -68 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -68 -87 -31 --18 --58 --93 --94 -8 -67 -86 -31 --18 --58 --94 --94 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --94 -8 -67 -87 -31 --18 --58 --93 --94 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --95 -6 -66 -86 -31 --19 --59 --94 --94 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --55 --6 --38 --75 --107 --38 -16 --13 --55 --88 --26 -26 --7 --49 --84 --20 -30 --1 --44 --79 --15 -35 -2 --40 --77 --11 -38 -5 --39 --74 --10 -41 -8 --36 --73 --7 -42 -10 --35 --71 --6 -45 -11 --33 --70 --5 -44 -12 --34 --71 --103 --48 -47 -105 -124 -64 -10 --34 --72 --65 -33 -92 -109 -52 -0 --43 --80 --76 -23 -83 -101 -44 --8 --49 --85 --84 -16 -75 -94 -38 --12 --53 --89 --86 -13 -73 -92 -36 --14 --55 --90 --90 -11 -71 -90 -34 --16 --56 --92 --91 -9 -69 -88 -33 --17 --57 --92 --92 -9 -69 -88 -32 --17 --58 --93 --92 -8 -68 -88 -32 --18 --58 --93 --92 -8 -68 -87 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -68 -87 -31 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --94 --93 -8 -68 -86 -31 --18 --58 --93 --94 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --94 -6 -67 -86 -31 --18 --59 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --94 -6 -66 -86 -31 --18 --59 --93 --94 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -87 -32 --18 --58 --93 --95 -6 -66 -86 -31 --19 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --95 -7 -67 -86 -31 --19 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --94 -8 -68 -87 -31 --18 --58 --93 --94 -8 -67 -86 -31 --18 --59 --94 --93 -8 -68 -88 -32 --18 --58 --93 --94 -8 -67 -86 -31 --18 --58 --94 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --56 --6 --37 --74 --106 --37 -16 --14 --55 --89 --26 -25 --8 --49 --84 --19 -31 --1 --44 --79 --16 -36 -3 --40 --76 --12 -37 -6 --38 --74 --10 -41 -8 --36 --73 --8 -41 -9 --35 --71 --7 -43 -10 --33 --71 --5 -43 -12 --34 --71 --103 --49 -47 -106 -124 -64 -10 --34 --73 --64 -33 -92 -110 -52 -0 --43 --80 --76 -23 -83 -101 -44 --7 --49 --85 --84 -16 -75 -94 -38 --12 --53 --89 --87 -14 -74 -93 -37 --14 --54 --90 --89 -11 -70 -89 -34 --16 --56 --52 --5 --37 --73 --105 --37 -17 --12 --54 --87 --24 -27 --6 --47 --83 --19 -31 -0 --44 --78 --15 -35 -3 --40 --76 --10 -38 -6 --38 --74 --9 -41 -8 --35 --72 --7 -42 -10 --35 --71 --6 -44 -10 --33 --71 --5 -44 -12 --33 --70 --103 --48 -47 -106 -124 -64 -10 --34 --72 --65 -33 -92 -109 -52 --1 --43 --80 --76 -23 -83 -101 -44 --8 --49 --85 --84 -16 -76 -95 -39 --12 --53 --89 --86 -13 -73 -92 -36 --14 --55 --91 --90 -11 -71 -90 -34 --16 --56 --92 --91 -9 -69 -88 -33 --17 --57 --92 --92 -10 -69 -88 -32 --17 --57 --93 --93 -8 -68 -88 -32 --17 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --19 --59 --94 --94 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --94 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --95 -6 -66 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --59 --93 --93 -8 -68 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --94 -8 -68 -87 -31 --18 --58 --93 --93 -7 -46 --6 --47 --52 --3 -7 --37 --75 --68 --5 -17 --29 --67 --55 -5 -22 --23 --63 --51 -8 -27 --20 --59 --47 -12 -29 --17 --58 --45 -14 -32 --16 --56 --44 -17 -33 --14 --55 --41 -17 -36 --13 --54 --42 -18 -35 --12 --54 --39 -18 -37 --12 --53 --40 -20 -37 --11 --53 --39 -18 -37 --12 --52 --40 -20 -37 --10 --52 --39 -18 -37 --12 --52 --39 -21 -37 --11 --52 --38 -19 -38 --11 --51 --40 -20 -37 --10 --52 --38 -19 -38 --11 --51 --39 -20 -36 --11 --53 --38 -19 -59 -75 -23 --24 --63 --97 --63 -37 -97 -116 -57 -3 --40 --77 --74 -25 -84 -103 -46 --6 --48 --84 --82 -18 -77 -96 -40 --11 --52 --88 --86 -14 -73 -93 -37 --14 --55 --90 --89 -12 -71 -90 -34 --16 --56 --91 --91 -10 -69 -89 -33 --17 --57 --92 --92 -8 -69 -88 -33 --17 --57 --92 --93 -8 -68 -87 -32 --18 --58 --93 --92 -8 -68 -88 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --94 -8 -68 -87 -32 --18 --58 --93 --94 -7 -66 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -66 -86 -31 --18 --59 --94 --94 -6 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --94 -6 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -68 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --59 --93 --93 -8 -67 -86 -31 --18 --58 --93 --94 -6 -67 -86 -31 --19 --59 --94 --93 -8 -68 -86 -31 --18 --58 --93 --94 -8 -67 -87 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -68 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -86 -31 --18 --59 --94 --94 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --94 -8 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --56 --6 --37 --74 --106 --38 -16 --14 --55 --89 --26 -25 --7 --49 --84 --19 -30 --1 --44 --79 --16 -36 -3 --40 --76 --11 -38 -6 --38 --74 --10 -41 -7 --36 --73 --7 -42 -9 --36 --71 --6 -45 -10 --33 --71 --5 -44 -13 --33 --69 --6 -45 -11 --33 --70 --4 -44 -12 --33 --69 --5 -46 -12 --32 --70 --4 -45 -14 --32 --68 --4 -47 -13 --31 --69 --4 -44 -12 --33 --69 --4 -47 -12 --32 --69 --3 -45 -13 --32 --69 --4 -47 -13 --31 --69 --3 -46 -15 --31 --67 --4 -46 -12 --32 --70 --3 -45 -14 --32 --68 --4 -47 -13 --31 --69 --3 -45 -13 --32 --69 --4 -47 -13 --31 --68 --3 -45 -13 --33 --69 --4 -47 -13 --31 --69 --3 -46 -14 --32 --68 --4 -47 -12 --32 --69 --3 -46 -14 --32 --69 --101 --46 -48 -106 -124 -65 -10 --34 --72 --64 -34 -93 -111 -53 -0 --43 --80 --75 -23 -82 -101 -44 --7 --49 --85 --83 -16 -77 -95 -39 --11 --53 --88 --86 -13 -73 -93 -36 --14 --54 --90 --89 -11 -71 -89 -34 --16 --56 --92 --92 -9 -68 -88 -33 --17 --57 --92 --92 -9 -69 -88 -32 --17 --58 --93 --92 -9 -69 -88 -33 --17 --57 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --58 --94 --93 -9 -68 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -68 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --95 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --94 -8 -68 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --93 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --55 --6 --37 --74 --106 --37 -15 --13 --55 --88 --26 -25 --8 --49 --84 --19 -30 --1 --44 --79 --16 -36 -2 --40 --77 --11 -37 -6 --38 --74 --9 -42 -7 --36 --73 --8 -41 -9 --36 --71 --6 -44 -10 --34 --71 --5 -43 -12 --33 --70 --102 --48 -47 -105 -124 -64 -9 --35 --73 --65 -33 -92 -109 -52 --1 --43 --80 --76 -22 -82 -101 -45 --7 --49 --85 --84 -16 -75 -94 -38 --12 --53 --89 --86 -14 -73 -92 -37 --14 --54 --90 --90 -11 -71 -90 -34 --16 --56 --91 --92 -8 -68 -88 -32 --17 --58 --93 --91 -9 -69 -88 -33 --17 --57 --92 --92 -9 -68 -88 -32 --17 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --94 -7 -67 -87 -31 --18 --58 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -8 -68 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -8 -68 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --93 --94 -8 -68 -87 -31 --18 --58 --93 --93 -8 -67 -87 -32 --17 --58 --93 --94 -6 -66 -86 -30 --19 --59 --94 --93 -8 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --58 --93 --95 -6 -66 -86 -30 --19 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -68 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -45 --5 --47 --52 --3 -6 --38 --76 --68 --5 -16 --29 --67 --56 -5 -23 --23 --63 --51 -8 -27 --20 --60 --48 -13 -30 --17 --58 --45 -14 -32 --16 --56 --44 -17 -34 --13 --55 --41 -17 -35 --14 --54 --42 -18 -35 --13 --54 --40 -18 -58 -74 -23 --25 --64 --97 --64 -36 -96 -115 -57 -3 --40 --78 --73 -25 -84 -102 -45 --6 --48 --85 --82 -18 -77 -95 -40 --11 --52 --88 --87 -14 -73 -92 -36 --14 --55 --91 --89 -11 -71 -91 -35 --15 --56 --91 --91 -10 -69 -88 -33 --17 --57 --92 --92 -8 -68 -88 -32 --18 --58 --93 --93 -8 -68 -88 -32 --17 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --56 --8 --39 --75 --107 --38 -16 --13 --54 --87 --25 -26 --7 --48 --84 --20 -31 --1 --44 --79 --15 -36 -3 --40 --76 --11 -38 -6 --39 --74 --10 -41 -8 --35 --72 --7 -42 -10 --35 --71 --7 -44 -10 --34 --71 --5 -44 -12 --33 --70 --102 --48 -47 -105 -124 -64 -9 --35 --73 --65 -34 -92 -109 -52 --1 --43 --80 --76 -23 -82 -101 -44 --8 --49 --85 --83 -16 -75 -95 -39 --12 --53 --89 --87 -14 -73 -92 -36 --14 --55 --90 --89 -11 -70 -90 -34 --16 --56 --92 --91 -9 -69 -89 -33 --17 --57 --92 --92 -9 -68 -88 -32 --17 --58 --93 --92 -9 -69 -87 -32 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -68 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --94 -8 -67 -86 -31 --18 --59 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --93 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -66 -86 -31 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -85 -30 --19 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --56 --7 --38 --75 --107 --38 -16 --13 --55 --88 --25 -26 --7 --48 --83 --19 -31 --1 --44 --79 --16 -35 -3 --40 --77 --11 -38 -6 --38 --74 --10 -41 -8 --36 --73 --7 -41 -9 --36 --72 --7 -45 -11 --33 --71 --5 -43 -12 --33 --70 --103 --48 -47 -105 -123 -64 -10 --35 --73 --65 -33 -91 -109 -52 --1 --44 --81 --76 -23 -82 -101 -44 --8 --49 --85 --83 -16 -76 -95 -39 --12 --53 --88 --87 -14 -73 -91 -35 --15 --55 --91 --89 -11 -71 -90 -35 --16 --56 --91 --92 -9 -47 --4 --46 --50 -0 -8 --35 --74 --66 --4 -18 --28 --66 --54 -6 -23 --22 --62 --50 -9 -29 --19 --59 --46 -12 -29 --17 --58 --45 -14 -33 --16 --55 --42 -17 -34 --13 --54 --42 -16 -35 --13 --54 --41 -18 -36 --11 --53 --39 -18 -57 -72 -21 --26 --64 --98 --64 -36 -97 -116 -57 -3 --40 --77 --74 -24 -83 -101 -45 --7 --49 --85 --81 -17 -77 -96 -40 --11 --52 --88 --86 -14 -73 -92 -36 --14 --55 --90 --88 -12 -71 -91 -35 --15 --56 --91 --91 -10 -69 -89 -33 --16 --57 --92 --92 -8 -69 -88 -32 --17 --58 --93 --91 -9 -68 -88 -32 --17 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -68 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --93 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --95 -6 -66 -86 -31 --19 --59 --94 --92 -7 -67 -86 -31 --18 --58 --94 --93 -8 -68 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --93 -8 -68 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -8 -68 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -68 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -86 -31 --18 --59 --94 --93 -7 -46 --5 --47 --51 --2 -6 --37 --75 --67 --5 -17 --29 --67 --55 -6 -23 --23 --63 --50 -8 -27 --20 --59 --48 -13 -29 --17 --58 --45 -13 -32 --16 --56 --43 -17 -33 --14 --55 --42 -16 -35 --13 --53 --41 -19 -36 --12 --53 --40 -18 -58 -74 -22 --25 --64 --97 --64 -36 -96 -115 -57 -4 --40 --78 --74 -25 -83 -102 -45 --6 --48 --85 --82 -18 -78 -95 -39 --12 --53 --88 --87 -13 -73 -92 -36 --14 --55 --90 --89 -11 -71 -90 -35 --15 --56 --92 --90 -10 -70 -89 -34 --16 --56 --54 --4 --36 --73 --104 --37 -16 --12 --54 --87 --24 -27 --6 --48 --83 --20 -31 --1 --44 --79 --15 -36 -4 --39 --76 --11 -38 -6 --38 --74 --10 -41 -8 --36 --73 --7 -42 -10 --35 --71 --6 -43 -10 --34 --71 --5 -43 -12 --33 --70 --5 -45 -11 --33 --70 --4 -45 -13 --33 --69 --5 -46 -12 --32 --70 --3 -45 -13 --33 --69 --4 -46 -13 --32 --69 --4 -45 -13 --33 --69 --4 -46 -12 --32 --69 --4 -45 -13 --33 --69 --4 -47 -13 --31 --69 --3 -45 -13 --32 --69 --102 --47 -48 -106 -124 -65 -10 --34 --72 --64 -33 -92 -111 -53 -0 --43 --80 --75 -23 -83 -101 -45 --7 --49 --85 --83 -16 -75 -95 -39 --12 --53 --89 --86 -14 -73 -92 -36 --14 --55 --90 --89 -11 -71 -90 -35 --15 --56 --91 --92 -8 -68 -88 -32 --17 --58 --93 --91 -10 -69 -88 -33 --17 --57 --92 --92 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --92 -8 -68 -88 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --95 -6 -66 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --94 -8 -67 -86 -31 --18 --59 --93 --94 -6 -66 -86 -30 --19 --59 --94 --93 -8 -68 -86 -31 --18 --58 --93 --93 -8 -68 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --92 -8 -67 -87 -31 --18 --58 --93 --94 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -87 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -86 -31 --18 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --94 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --94 -7 -67 -86 -31 --18 --59 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -66 -86 -31 --19 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --94 -7 -66 -85 -30 --19 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --93 --94 -6 -66 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -6 -66 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --94 -7 -67 -85 -30 --19 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --94 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --94 --93 -8 -68 -86 -31 --18 --59 --94 --94 -7 -66 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -7 -68 -86 -31 --18 --59 --94 --93 -7 -67 -86 -32 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --92 -8 -67 -86 -31 --18 --58 --94 --95 -6 -65 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -68 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --19 --59 --94 --93 -7 -66 -86 -31 --18 --58 --94 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -46 --5 --47 --52 --3 -6 --37 --76 --68 --5 -16 --29 --67 --55 -6 -23 --22 --63 --50 -8 -27 --20 --59 --48 -13 -30 --17 --57 --44 -13 -32 --16 --56 --44 -16 -33 --14 --55 --41 -17 -36 --13 --53 --42 -18 -35 --12 --54 --40 -18 -58 -74 -22 --25 --64 --97 --64 -36 -96 -115 -56 -3 --40 --78 --74 -25 -84 -102 -46 --6 --48 --84 --82 -17 -76 -94 -38 --12 --53 --89 --87 -13 -73 -92 -36 --14 --55 --90 --89 -11 -71 -90 -34 --16 --56 --92 --90 -10 -70 -89 -33 --16 --57 --92 --92 -8 -68 -88 -32 --17 --57 --92 --92 -8 -68 -86 -31 --18 --58 --93 --92 -8 -68 -88 -33 --17 --58 --93 --94 -7 -66 -86 -31 --18 --59 --94 --92 -8 -68 -87 -32 --18 --58 --93 --93 -8 -68 -87 -31 --18 --58 --93 --94 -6 -65 -86 -31 --19 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -67 -87 -32 --18 --58 --93 --92 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -87 -31 --18 --59 --93 --93 -7 -67 -85 -30 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -86 -31 --18 --59 --94 --94 -7 -66 -86 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --59 --93 --93 -7 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --54 --7 --38 --75 --106 --37 -16 --12 --54 --88 --24 -26 --7 --48 --83 --19 -31 --1 --44 --79 --16 -35 -2 --40 --76 --11 -38 -5 --39 --74 --10 -41 -7 --36 --73 --7 -42 -9 --36 --72 --7 -44 -10 --33 --71 --5 -44 -11 --34 --71 --103 --48 -47 -104 -123 -64 -9 --35 --73 --65 -32 -91 -109 -52 --1 --44 --80 --76 -23 -82 -100 -44 --8 --49 --85 --83 -16 -75 -95 -39 --12 --53 --89 --86 -14 -73 -92 -35 --14 --55 --91 --89 -11 -71 -90 -35 --15 --56 --91 --91 -9 -69 -88 -33 --17 --57 --93 --91 -10 -69 -88 -33 --17 --57 --92 --92 -8 -67 -87 -32 --18 --58 --93 --92 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -66 -86 -31 --18 --59 --94 --93 -8 -67 -87 -31 --18 --58 --93 --95 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -8 -68 -87 -32 --18 --58 --93 --93 -7 -65 -85 -31 --19 --59 --94 --92 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -87 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --56 --6 --37 --74 --106 --37 -16 --13 --55 --88 --26 -25 --7 --49 --84 --19 -30 --1 --44 --79 --16 -35 -3 --39 --76 --11 -36 -5 --39 --74 --10 -42 -8 --36 --72 --7 -41 -10 --35 --71 --7 -44 -10 --34 --71 --5 -43 -13 --33 --69 --6 -45 -11 --33 --71 --4 -45 -13 --32 --69 --4 -47 -12 --32 --70 --4 -45 -13 --32 --69 --4 -47 -13 --32 --69 --4 -45 -13 --33 --69 --4 -47 -13 --32 --69 --3 -45 -14 --32 --69 --4 -47 -13 --31 --69 --3 -46 -14 --32 --69 --101 --46 -48 -106 -124 -65 -10 --34 --72 --64 -34 -93 -109 -52 --1 --43 --80 --76 -23 -82 -101 -44 --7 --49 --85 --83 -16 -75 -95 -39 --12 --53 --89 --86 -14 -73 -92 -37 --14 --54 --90 --89 -11 -70 -89 -34 --16 --56 --92 --91 -8 -67 -88 -33 --17 --58 --92 --91 -8 -69 -88 -33 --17 --57 --93 --92 -9 -68 -87 -32 --17 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -66 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --94 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --92 -8 -67 -87 -32 --18 --58 --55 --7 --38 --75 --106 --37 -16 --12 --54 --87 --25 -26 --7 --48 --84 --20 -31 -0 --44 --79 --15 -36 -3 --39 --76 --11 -37 -5 --39 --75 --10 -41 -8 --35 --72 --7 -42 -10 --35 --71 --7 -43 -10 --34 --71 --5 -44 -12 --33 --70 --102 --48 -46 -104 -123 -64 -9 --35 --73 --64 -33 -91 -109 -52 --1 --43 --80 --76 -22 -81 -100 -43 --8 --50 --86 --83 -16 -75 -95 -39 --12 --53 --88 --87 -14 -73 -92 -36 --14 --55 --90 --89 -11 -70 -89 -34 --16 --56 --92 --91 -9 -69 -88 -33 --17 --57 --92 --91 -9 -68 -88 -32 --17 --57 --92 --92 -8 -68 -87 -32 --18 --58 --93 --92 -8 -68 -86 -31 --18 --58 --94 --92 -8 -67 -87 -31 --18 --59 --93 --93 -8 -68 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --93 --93 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -87 -32 --18 --58 --93 --92 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --94 -7 -66 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --95 -6 -66 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -6 -66 -86 -31 --18 --59 --94 --92 -8 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -66 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --55 --6 --37 --74 --106 --38 -16 --13 --55 --88 --25 -26 --7 --48 --84 --20 -30 --1 --44 --79 --16 -36 -3 --40 --76 --11 -37 -6 --39 --74 --10 -41 -8 --36 --73 --7 -42 -10 --35 --71 --7 -44 -10 --34 --71 --5 -43 -13 --33 --70 --102 --48 -47 -105 -123 -63 -9 --35 --73 --65 -33 -92 -109 -52 --1 --43 --80 --76 -22 -81 -100 -44 --7 --49 --85 --84 -16 -76 -95 -38 --12 --53 --89 --87 -13 -72 -92 -36 --14 --55 --91 --89 -11 -71 -90 -34 --16 --56 --52 --5 --36 --73 --105 --36 -18 --11 --53 --86 --24 -27 --6 --47 --83 --19 -31 -0 --44 --78 --14 -37 -4 --39 --76 --10 -38 -5 --39 --74 --9 -41 -8 --35 --72 --6 -42 -10 --35 --71 --7 -44 -10 --34 --71 --4 -44 -12 --33 --70 --103 --48 -46 -104 -123 -64 -9 --35 --73 --65 -33 -92 -109 -52 --1 --43 --80 --75 -23 -82 -100 -43 --8 --50 --86 --83 -16 -75 -95 -39 --12 --53 --89 --86 -14 -73 -92 -36 --14 --55 --90 --89 -11 -70 -90 -34 --16 --56 --92 --91 -10 -69 -88 -33 --17 --57 --92 --91 -9 -68 -88 -32 --17 --58 --93 --92 -8 -68 -88 -32 --17 --58 --93 --92 -8 -68 -87 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --17 --58 --93 --95 -6 -66 -86 -30 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -85 -30 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --93 --93 -7 -45 --5 --47 --51 --2 -6 --37 --75 --67 --6 -16 --30 --67 --54 -6 -23 --23 --63 --50 -8 -27 --20 --59 --47 -12 -29 --18 --58 --44 -14 -33 --15 --55 --43 -16 -33 --14 --55 --42 -16 -36 --13 --53 --40 -19 -35 --12 --54 --39 -18 -36 --13 --53 --40 -20 -37 --11 --53 --39 -19 -37 --12 --53 --40 -19 -36 --11 --53 --38 -20 -38 --11 --51 --38 -20 -36 --12 --53 --39 -19 -38 --11 --52 --38 -21 -37 --10 --52 --39 -19 -38 --11 --52 --39 -20 -37 --10 --52 --38 -19 -59 -73 -22 --26 --64 --98 --63 -37 -97 -116 -58 -4 --39 --77 --74 -25 -84 -102 -45 --7 --49 --85 --81 -18 -77 -96 -40 --11 --52 --88 --86 -14 -74 -93 -37 --14 --55 --90 --88 -12 -71 -90 -35 --15 --56 --91 --90 -9 -69 -88 -33 --17 --57 --92 --92 -8 -68 -86 -31 --18 --58 --93 --92 -8 -68 -88 -32 --17 --58 --93 --93 -8 -68 -87 -32 --17 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -6 -65 -86 -30 --19 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --58 --94 --93 -6 -66 -86 -31 --18 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --92 -8 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --58 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --55 --6 --37 --74 --106 --37 -15 --13 --55 --88 --26 -25 --8 --49 --84 --19 -30 --1 --44 --79 --15 -36 -3 --39 --76 --12 -37 -5 --39 --74 --10 -42 -8 --36 --73 --7 -42 -10 --35 --71 --6 -44 -10 --33 --71 --5 -44 -13 --33 --69 --5 -45 -10 --33 --71 --4 -45 -13 --33 --69 --4 -47 -12 --32 --70 --4 -45 -13 --32 --69 --4 -47 -13 --31 --69 --3 -45 -13 --33 --69 --4 -47 -13 --31 --69 --3 -45 -14 --32 --68 --4 -46 -12 --32 --69 --3 -45 -15 --31 --68 --3 -46 -12 --32 --69 --3 -45 -14 --32 --69 --3 -47 -13 --32 --69 --3 -45 -14 --32 --69 --4 -47 -13 --31 --69 --3 -45 -13 --32 --69 --4 -47 -13 --31 --69 --3 -45 -13 --33 --69 --4 -47 -13 --31 --69 --3 -45 -14 --32 --69 --102 --46 -48 -107 -125 -65 -11 --34 --72 --64 -33 -92 -110 -52 --1 --43 --80 --75 -23 -82 -101 -45 --7 --49 --85 --83 -16 -75 -94 -38 --12 --53 --89 --86 -13 -73 -92 -36 --14 --55 --90 --89 -11 -71 -90 -35 --15 --56 --92 --91 -8 -67 -87 -32 --17 --58 --93 --91 -9 -69 -88 -33 --17 --57 --92 --92 -8 -68 -87 -32 --17 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --92 -8 -68 -88 -32 --17 --58 --93 --92 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -87 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --94 --93 -7 -66 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --55 --7 --37 --74 --106 --37 -16 --13 --55 --88 --25 -25 --8 --49 --84 --19 -30 --1 --44 --79 --15 -36 -4 --39 --76 --12 -37 -6 --39 --74 --10 -41 -8 --36 --73 --7 -42 -10 --35 --71 --7 -44 -10 --34 --71 --5 -44 -13 --33 --70 --102 --48 -47 -105 -123 -64 -10 --35 --73 --65 -33 -91 -109 -52 --1 --44 --81 --76 -22 -81 -100 -44 --8 --49 --86 --83 -16 -75 -94 -38 --12 --53 --89 --86 -13 -73 -92 -37 --14 --55 --90 --89 -11 -70 -89 -34 --16 --56 --92 --91 -8 -68 -88 -33 --17 --57 --92 --91 -9 -68 -87 -32 --17 --58 --93 --91 -8 -68 -88 -32 --17 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -66 -85 -30 --19 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --92 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -68 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -6 -66 -86 -31 --19 --59 --94 --93 -8 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -85 -30 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -30 --19 --59 --94 --92 -8 -68 -86 -31 --18 --58 --93 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -46 --4 --47 --51 --2 -6 --37 --75 --68 --6 -16 --29 --67 --54 -6 -23 --23 --63 --51 -8 -27 --20 --60 --48 -13 -30 --17 --58 --45 -14 -33 --16 --56 --43 -16 -33 --14 --55 --41 -17 -36 --13 --53 --41 -18 -35 --12 --53 --40 -18 -58 -74 -22 --25 --64 --97 --64 -36 -96 -115 -56 -3 --40 --78 --74 -24 -83 -102 -45 --7 --48 --85 --82 -18 -77 -95 -39 --12 --53 --88 --86 -13 -73 -93 -37 --14 --55 --90 --89 -11 -70 -89 -34 --16 --56 --92 --90 -10 -69 -88 -33 --17 --57 --92 --92 -8 -68 -87 -32 --18 --58 --93 --91 -8 -67 -88 -32 --17 --58 --93 --92 -8 -68 -88 -32 --17 --58 --93 --94 -7 -66 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --54 --6 --39 --75 --107 --38 -16 --13 --54 --88 --24 -26 --7 --48 --83 --20 -30 --1 --44 --79 --15 -36 -3 --39 --76 --11 -37 -5 --39 --74 --10 -41 -8 --35 --72 --7 -41 -10 --35 --71 --6 -45 -10 --34 --71 --5 -43 -12 --34 --70 --103 --48 -47 -105 -124 -64 -9 --35 --73 --65 -33 -91 -109 -51 --1 --44 --81 --75 -22 -82 -100 -44 --8 --49 --85 --84 -16 -76 -95 -39 --12 --53 --89 --86 -13 -73 -92 -36 --14 --55 --90 --89 -11 -71 -90 -34 --16 --56 --92 --91 -9 -68 -88 -32 --17 --57 --92 --91 -9 -69 -88 -32 --17 --57 --93 --92 -8 -68 -87 -32 --18 --58 --93 --92 -7 -67 -87 -31 --18 --58 --93 --92 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --94 -7 -66 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --93 --94 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --19 --59 --55 --7 --38 --74 --106 --37 -16 --12 --54 --87 --25 -25 --8 --49 --84 --19 -30 --1 --44 --79 --15 -36 -3 --40 --76 --11 -37 -5 --39 --74 --10 -42 -9 --35 --72 --6 -41 -10 --35 --71 --7 -44 -9 --34 --71 --5 -44 -12 --33 --70 --102 --48 -45 -104 -123 -63 -9 --35 --73 --65 -33 -91 -109 -52 --1 --43 --80 --76 -22 -82 -100 -44 --8 --49 --85 --83 -16 -76 -94 -38 --12 --53 --89 --86 -14 -73 -93 -37 --13 --54 --90 --89 -11 -71 -89 -33 --16 --56 --92 --91 -9 -47 --4 --46 --49 --1 -8 --35 --74 --66 --4 -17 --28 --67 --53 -7 -24 --22 --62 --50 -9 -27 --20 --59 --46 -13 -30 --17 --58 --44 -14 -33 --15 --55 --43 -16 -33 --14 --55 --40 -17 -36 --13 --53 --41 -19 -35 --12 --53 --39 -18 -57 -73 -22 --25 --64 --97 --63 -36 -96 -115 -57 -3 --40 --78 --73 -25 -83 -102 -45 --6 --48 --85 --82 -17 -76 -95 -39 --12 --53 --88 --86 -13 -73 -92 -36 --14 --55 --90 --89 -11 -71 -90 -34 --16 --56 --92 --90 -9 -69 -88 -32 --17 --58 --93 --91 -8 -69 -88 -33 --17 --57 --92 --92 -8 -68 -86 -31 --18 --58 --93 --92 -8 -68 -87 -32 --17 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --92 -8 -67 -86 -31 --18 --58 --93 --92 -7 -68 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --94 -6 -65 -86 -31 --19 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -8 -46 --5 --47 --51 --2 -5 --38 --76 --68 --5 -17 --29 --67 --54 -6 -23 --23 --63 --51 -8 -27 --20 --59 --47 -13 -30 --17 --57 --44 -13 -32 --16 --56 --43 -16 -33 --14 --55 --41 -17 -36 --13 --53 --41 -18 -35 --13 --54 --40 -18 -58 -73 -22 --25 --64 --97 --64 -34 -95 -115 -56 -2 --41 --78 --74 -25 -84 -102 -45 --7 --48 --85 --82 -17 -76 -96 -40 --11 --52 --88 --87 -13 -73 -92 -36 --14 --55 --90 --88 -12 -71 -90 -35 --15 --56 --91 --90 -10 -69 -89 -33 --17 --57 --53 --4 --35 --72 --104 --36 -17 --12 --54 --87 --25 -26 --6 --48 --83 --19 -31 -0 --43 --78 --15 -36 -3 --39 --76 --11 -38 -6 --39 --74 --9 -41 -8 --36 --73 --7 -42 -10 --35 --71 --7 -44 -10 --34 --71 --5 -44 -12 --33 --69 --6 -45 -11 --33 --71 --4 -45 -14 --32 --69 --4 -47 -12 --32 --70 --3 -45 -13 --33 --69 --4 -47 -14 --31 --69 --3 -45 -13 --33 --69 --4 -47 -13 --31 --69 --3 -45 -13 --32 --68 --4 -47 -13 --31 --69 --3 -45 -14 --31 --69 --101 --47 -47 -105 -124 -64 -9 --35 --73 --64 -34 -93 -110 -52 --1 --43 --80 --76 -22 -81 -101 -45 --7 --49 --85 --83 -16 -76 -94 -38 --12 --53 --89 --86 -14 -73 -93 -37 --14 --54 --90 --89 -11 -70 -89 -34 --16 --56 --92 --92 -8 -68 -88 -32 --17 --57 --93 --91 -9 -68 -88 -33 --17 --57 --93 --92 -9 -68 -87 -32 --17 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -87 -32 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --94 -6 -67 -86 -31 --18 --59 --93 --93 -8 -67 -87 -31 --18 --59 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -6 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -86 -32 --18 --58 --93 --94 -6 -66 -85 -30 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -87 -32 --17 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --92 -8 -68 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -6 -66 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -66 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -66 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --94 -5 -65 -86 -31 --19 --59 --94 --92 -8 -68 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -68 -88 -32 --17 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -68 -87 -31 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --58 --93 --94 -7 -67 -86 -31 --19 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -8 -67 -87 -31 --18 --58 --93 --94 -7 -65 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -8 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -6 -67 -86 -31 --18 --59 --94 --92 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -87 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -87 -32 --18 --58 --93 --93 -7 -45 --5 --47 --51 --2 -6 --38 --76 --67 --5 -17 --29 --67 --54 -6 -23 --23 --63 --51 -8 -28 --20 --59 --47 -13 -30 --17 --58 --45 -13 -32 --16 --56 --43 -17 -34 --13 --54 --42 -16 -35 --14 --54 --41 -19 -35 --12 --53 --40 -18 -58 -73 -22 --25 --64 --98 --64 -35 -95 -115 -56 -3 --40 --78 --73 -24 -83 -102 -45 --7 --49 --85 --81 -18 -77 -96 -40 --11 --52 --88 --87 -13 -72 -92 -36 --14 --55 --90 --89 -11 -71 -90 -34 --16 --56 --92 --90 -10 -69 -89 -33 --16 --57 --92 --92 -8 -68 -87 -32 --18 --58 --93 --92 -9 -68 -88 -32 --17 --58 --93 --92 -7 -67 -87 -32 --18 --58 --93 --93 -7 -66 -86 -31 --18 --59 --94 --92 -7 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -6 -66 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -6 -67 -86 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --59 --94 --92 -8 -67 -87 -32 --17 --58 --93 --94 -7 -66 -86 -30 --19 --59 --94 --92 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --92 -8 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -68 -87 -31 --18 --58 --93 --94 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -6 -66 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --94 -6 -67 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --55 --7 --38 --74 --106 --37 -16 --12 --54 --87 --25 -26 --7 --49 --84 --19 -29 --1 --44 --79 --15 -36 -3 --39 --76 --11 -37 -5 --39 --74 --10 -42 -8 --35 --72 --7 -41 -10 --35 --71 --7 -44 -10 --34 --71 --5 -44 -13 --33 --70 --102 --48 -46 -104 -123 -63 -9 --35 --73 --64 -33 -92 -109 -52 --1 --43 --80 --76 -23 -81 -100 -44 --8 --49 --86 --83 -16 -75 -95 -39 --12 --53 --89 --86 -14 -73 -92 -36 --14 --55 --90 --89 -11 -71 -89 -34 --16 --56 --92 --91 -9 -69 -88 -32 --17 --57 --93 --91 -8 -68 -88 -33 --17 --57 --93 --92 -8 -68 -87 -32 --18 --58 --93 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -87 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -31 --19 --59 --94 --93 -6 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --93 --93 -8 -67 -86 -31 --18 --58 --93 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -32 --18 --58 --93 --94 -6 -66 -86 -31 --19 --59 --94 --92 -8 -67 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --94 -6 -65 -86 -31 --19 --59 --94 --92 -8 -68 -88 -32 --17 --58 --93 --93 -8 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -8 -67 -86 -31 --18 --59 --94 --93 -7 -67 -87 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -68 -87 -32 --18 --58 --93 --93 -7 -67 -86 -31 --18 --59 --94 --93 -7 -67 -86 -31 --18 --58 --93 --93 -8 -68 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --59 --93 --93 -7 -67 -86 -31 --19 --59 --94 --93 -7 -67 -86 -31 --18 --58 --94 --93 -7 -67 -86 -31 --18 --58 --93 --94 -7 -66 -86 -31 --18 --59 --94 --92 -7 -67 -86 -31 --18 --59 --94 --93 -8 -67 -86 -32 --18 --58 --55 --6 --37 --74 --106 --37 -16 --13 --54 --88 --25 -26 --7 --48 --84 --20 -30 --1 --44 --79 --15 -36 -3 --39 --76 --12 -37 -6 --39 --74 --10 -41 -8 --36 --73 --7 -42 -10 --35 --71 --6 -43 -10 --34 --71 --5 -43 -13 --33 --69 --5 -45 -11 --33 --70 --5 -44 -12 --33 --69 --5 -46 -12 --32 --69 --3 -45 -13 --32 --69 --4 -47 -13 --31 --68 --4 -45 -13 --33 --69 --4 -46 -13 --32 --69 --3 -45 -14 --32 --68 --3 -47 -13 --31 --69 --3 -45 -14 --32 --69 --101 --47 -48 -106 -124 -65 -10 --34 --72 --64 -34 -92 -109 -52 --1 diff --git a/traces/modulation-fsk2-50.pm3 b/traces/modulation-fsk2-50.pm3 deleted file mode 100644 index 667ab6740..000000000 --- a/traces/modulation-fsk2-50.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --87 -82 -70 -41 -36 -4 --20 --42 --60 --75 --86 -82 -70 -41 -36 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --43 --60 --75 --86 -82 -71 -42 -36 -5 --20 --42 --60 --75 --87 -81 -70 -42 -11 --16 --37 --57 --71 -79 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --42 --60 --74 -75 -61 -33 -4 --22 --42 --61 --75 -75 -61 -32 -3 --23 --43 --62 --76 -73 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -26 --4 --27 --48 --65 --80 --91 -76 -65 -36 -30 -0 --24 --46 --63 --78 --89 -79 -68 -39 -33 -2 --22 --44 --61 --77 --88 -80 -69 -40 -33 -3 --21 --43 --61 --76 --87 -81 -70 -40 -34 -3 --21 --43 --60 --76 --87 -81 -70 -41 -11 --17 --38 --57 --72 -79 -65 -37 -7 --19 --40 --59 --73 -77 -63 -34 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --42 --61 --75 -74 -60 -33 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -2 --23 --44 --62 --77 --89 -79 -64 -38 -30 -1 --25 --45 --63 --77 --89 -81 -67 -40 -32 -3 --23 --43 --62 --76 --88 -82 -68 -41 -33 -4 --22 --42 --61 --75 --88 -82 -68 -42 -33 -4 --22 --42 --61 --75 --88 -83 -69 -43 -33 -4 --22 --42 --61 --75 --88 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -35 -5 --21 --41 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -35 -5 --21 --42 --60 --75 --87 -83 -69 -42 -35 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 -77 -64 -36 -6 --20 --41 --60 --74 -76 -63 -34 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --42 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 -74 -59 -31 -2 --24 --44 --62 --76 -72 -59 -31 -2 --24 --44 --62 --76 -74 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -26 --4 --27 --48 --65 --80 --91 -76 -64 -36 -30 -0 --24 --46 --63 --78 --89 -78 -67 -39 -32 -2 --23 --44 --61 --77 --88 -80 -69 -41 -33 -3 --22 --44 --61 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -69 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --43 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -81 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --76 --86 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --20 --42 --60 --76 --86 -82 -70 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -70 -42 -11 --16 --37 --56 --71 -79 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --42 --61 --75 -75 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -59 -31 -2 --24 --44 --62 --76 -74 -59 -31 -2 --23 --44 --62 --76 -74 -59 -31 -2 --23 --43 --62 --76 -73 -58 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --76 -73 -59 -31 -2 --24 --44 --62 --77 -72 -59 -31 -2 --24 --44 --62 --76 -72 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --76 -72 -58 -31 -2 --24 --44 --63 --76 -72 -59 -31 -2 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 --89 -78 -64 -38 -30 -1 --25 --45 --63 --77 --89 -80 -66 -39 -32 -3 --23 --43 --62 --76 --88 -82 -68 -41 -33 -4 --22 --42 --61 --75 --88 -82 -68 -42 -34 -4 --22 --42 --61 --75 --88 -83 -69 -42 -34 -5 --22 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 -77 -64 -37 -7 --19 --41 --59 --74 -77 -62 -34 -4 --22 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -31 -2 --24 --44 --62 --76 -73 -60 -32 -3 --23 --43 --62 --76 -74 -59 -31 -26 --4 --27 --48 --65 --80 --91 -76 -64 -36 -30 -0 --24 --46 --63 --78 --89 -79 -67 -39 -33 -2 --22 --44 --61 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -81 -69 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -81 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --42 --60 --76 --86 -82 -70 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -70 -42 -35 -4 --20 --43 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -36 -5 --20 --42 --59 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -81 -70 -41 -36 -4 --20 --43 --60 --75 --86 -81 -71 -42 -35 -4 --21 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --43 --60 --75 --86 -82 -70 -41 -36 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --87 -82 -70 -42 -36 -4 --20 --42 --59 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -41 -35 -4 --21 --42 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -70 -42 -36 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -70 -42 -35 -4 --20 --42 --60 --76 --86 -82 -70 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -11 --16 --37 --57 --71 -80 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --42 --60 --74 -75 -61 -33 -4 --22 --43 --61 --75 -74 -61 -33 -3 --22 --43 --61 --76 -73 -60 -32 -3 --23 --43 --62 --76 -74 -59 -31 -27 --3 --27 --48 --65 --80 --90 -76 -65 -36 -31 -0 --24 --45 --62 --77 --89 -79 -67 -39 -32 -2 --22 --44 --61 --77 --88 -79 -69 -40 -33 -3 --22 --44 --61 --76 --87 -81 -69 -41 -34 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -81 -70 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -11 --16 --37 --57 --71 -80 -66 -38 -8 --19 --40 --59 --73 -77 -62 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --42 --61 --75 -74 -60 -33 -3 --22 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 --89 -79 -64 -38 -30 -1 --24 --45 --63 --77 --89 -80 -66 -40 -32 -3 --23 --44 --62 --76 --88 -82 -68 -41 -33 -4 --22 --43 --61 --76 --88 -83 -69 -42 -33 -4 --22 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -35 -5 --21 --42 --60 --75 -77 -64 -36 -6 --20 --41 --60 --74 -76 -62 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -59 -32 -3 --23 --43 --62 --76 -74 -60 -33 -3 --23 --43 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 --89 -79 -64 -38 -30 -1 --24 --45 --63 --77 --89 -81 -67 -40 -32 -3 --23 --43 --62 --76 --88 -81 -68 -42 -33 -4 --22 --43 --61 --75 --88 -81 -68 -42 -34 -5 --22 --42 --61 --75 --88 -83 -68 -43 -34 -4 --22 --42 --61 --75 -77 -64 -36 -6 --20 --41 --60 --74 -76 -61 -34 -5 --22 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -59 -32 -3 --23 --43 --62 --76 -74 -60 -32 -2 --23 --43 --62 --76 -73 -59 -32 -2 --23 --44 --62 --76 -73 -59 -32 -26 --4 --28 --49 --65 --80 --91 -76 -65 -37 -30 -0 --24 --46 --63 --78 --89 -78 -67 -39 -32 -2 --22 --44 --61 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -81 -70 -40 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -71 -41 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --43 --60 --76 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -81 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --42 --60 --76 --86 -82 -70 -42 -35 -4 --20 --43 --60 --75 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --43 --60 --76 --86 -81 -70 -42 -35 -4 --20 --43 --60 --76 --86 -82 -70 -42 -11 --16 --37 --57 --71 -80 -66 -37 -7 --19 --40 --59 --74 -77 -63 -35 -6 --21 --41 --60 --75 -76 -61 -33 -4 --22 --43 --61 --75 -74 -60 -33 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -26 --4 --27 --48 --65 --80 --91 -76 -65 -36 -31 -0 --24 --46 --63 --78 --88 -78 -67 -39 -33 -3 --22 --44 --61 --76 --88 -79 -69 -40 -34 -3 --22 --44 --61 --76 --87 -80 -69 -41 -34 -3 --21 --43 --61 --76 --87 -81 -70 -42 -11 --16 --37 --57 --72 -79 -65 -37 -7 --19 --40 --59 --74 -77 -62 -35 -5 --21 --42 --61 --75 -76 -61 -34 -4 --22 --42 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -73 -60 -32 -3 --23 --43 --62 --76 -74 -59 -31 -2 --24 --44 --62 --76 -73 -59 -32 -2 --23 --44 --62 --76 -74 -59 -31 -2 --23 --44 --62 --77 -73 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --76 -72 -58 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 --89 -78 -64 -38 -30 -1 --24 --45 --63 --77 --89 -80 -65 -40 -32 -3 --23 --43 --62 --76 --88 -81 -68 -42 -33 -3 --22 --43 --61 --76 --88 -82 -69 -42 -33 -4 --22 --42 --61 --75 --88 -82 -69 -42 -34 -5 --21 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -4 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -4 --22 --42 --61 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -84 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -4 --22 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --61 --75 --87 -83 -68 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 -77 -64 -36 -6 --20 --41 --60 --74 -77 -62 -34 -5 --21 --42 --60 --75 -75 -61 -33 -3 --22 --43 --61 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -2 --23 --43 --62 --76 -73 -59 -32 -2 --24 --44 --62 --76 -73 -59 -32 -26 --4 --27 --48 --65 --80 --90 -76 -64 -36 -30 -0 --24 --46 --63 --78 --89 -78 -67 -39 -33 -2 --22 --44 --61 --77 --88 -80 -69 -40 -34 -3 --22 --43 --61 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -82 -71 -41 -35 -4 --21 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -42 -35 -4 --20 --43 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -11 --16 --37 --57 --72 -79 -65 -38 -8 --19 --40 --59 --73 -77 -62 -35 -5 --21 --42 --60 --75 -76 -61 -33 -4 --22 --43 --61 --76 -74 -60 -33 -3 --23 --43 --62 --76 -74 -60 -31 -2 --23 --44 --62 --76 -74 -60 -32 -27 --3 --27 --48 --65 --80 --91 -76 -65 -37 -30 -0 --24 --46 --63 --78 --89 -78 -68 -39 -33 -2 --22 --44 --61 --77 --88 -80 -69 -41 -33 -3 --22 --44 --61 --76 --87 -80 -70 -41 -35 -3 --21 --43 --60 --76 --87 -81 -70 -42 -34 -3 --21 --43 --61 --76 --87 -82 -71 -42 -35 -4 --20 --43 --60 --76 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -36 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -81 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --76 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --87 -82 -70 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --75 --87 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -70 -42 -35 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -81 -71 -42 -36 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -81 -71 -42 -35 -4 --21 --42 --60 --76 --86 -81 -71 -42 -35 -4 --20 --43 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --87 -82 -71 -41 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -81 -71 -42 -11 --16 --37 --57 --71 -79 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --41 --60 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -72 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --23 --44 --62 --77 --89 -78 -63 -37 -30 -1 --25 --45 --63 --77 --89 -80 -66 -40 -32 -3 --23 --44 --62 --76 --88 -82 -68 -42 -33 -3 --22 --43 --61 --76 --88 -82 -68 -42 -33 -4 --22 --42 --61 --75 --88 -83 -69 -42 -33 -4 --22 --42 --61 --75 --88 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -82 -68 -43 -35 -5 --21 --42 --60 --75 --87 -83 -68 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -33 -4 --22 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -84 -69 -43 -35 -5 --21 --42 --60 --74 -77 -64 -36 -7 --20 --40 --60 --74 -77 -62 -34 -5 --22 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -59 -32 -3 --23 --43 --62 --76 -73 -60 -32 -3 --23 --44 --62 --76 -74 -59 -31 -26 --4 --28 --48 --65 --80 --91 -76 -65 -36 -30 -0 --24 --46 --63 --78 --89 -78 -67 -39 -32 -2 --22 --44 --61 --77 --88 -80 -68 -40 -34 -3 --21 --43 --61 --76 --87 -80 -69 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -72 -42 -35 -4 --21 --42 --60 --75 --86 -83 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -71 -41 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --43 --60 --76 --87 -82 -70 -41 -35 -4 --20 --42 --60 --76 --87 -82 -70 -41 -35 -4 --21 --42 --60 --76 --87 -82 -70 -41 -35 -4 --20 --42 --59 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --42 --60 --76 --87 -82 -70 -42 -35 -5 --20 --42 --59 --75 --86 -82 -70 -42 -35 -4 --21 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -81 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --43 --60 --75 --87 -82 -70 -42 -11 --16 --37 --57 --72 -80 -65 -37 -8 --19 --40 --59 --73 -77 -62 -35 -5 --21 --42 --60 --75 -76 -61 -33 -4 --22 --42 --61 --75 -74 -60 -33 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -26 --3 --27 --48 --65 --80 --90 -76 -65 -36 -31 -0 --24 --45 --62 --78 --89 -78 -67 -39 -32 -2 --23 --44 --61 --77 --88 -80 -69 -40 -34 -3 --22 --43 --61 --76 --87 -81 -69 -41 -35 -4 --21 --43 --60 --76 --87 -80 -70 -41 -11 --16 --37 --57 --72 -80 -65 -37 -7 --19 --40 --60 --74 -77 -63 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -61 -33 -3 --23 --43 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 -74 -59 -31 -2 --24 --44 --62 --77 --89 -78 -64 -38 -30 -1 --24 --45 --63 --77 --89 -80 -67 -40 -32 -3 --23 --43 --62 --76 --88 -82 -68 -42 -33 -4 --22 --43 --61 --76 --88 -82 -69 -43 -33 -4 --22 --42 --61 --75 --88 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -35 -5 --21 --42 --60 --74 -77 -63 -36 -6 --20 --41 --60 --74 -77 -63 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --43 --62 --76 -74 -60 -33 -3 --23 --43 --62 --76 -74 -60 -32 -2 --23 --43 --62 --76 -74 -59 -32 -2 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --76 -74 -59 -31 -2 --24 --44 --62 --76 -72 -58 -31 -2 --24 --44 --63 --76 -73 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -58 -31 -26 --4 --27 --49 --65 --80 --91 -76 -64 -36 -30 -0 --24 --46 --63 --78 --89 -78 -67 -39 -33 -2 --22 --44 --61 --77 --88 -80 -69 -40 -33 -3 --22 --44 --61 --76 --87 -80 -70 -41 -34 -3 --21 --43 --61 --76 --87 -82 -71 -41 -35 -4 --21 --43 --60 --76 --87 -81 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -41 -35 -4 --20 --43 --60 --75 --86 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -41 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --43 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -81 -71 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --20 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -11 --16 --37 --57 --72 -79 -65 -37 -7 --19 --40 --59 --73 -76 -63 -35 -6 --21 --41 --60 --74 -75 -61 -33 -3 --22 --43 --62 --76 -75 -60 -33 -3 --22 --43 --61 --76 -74 -60 -31 -2 --23 --44 --62 --76 -74 -59 -32 -3 --23 --43 --62 --76 -74 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -3 --24 --44 --62 --76 -73 -59 -31 -2 --23 --44 --62 --76 -73 -59 -31 -1 --24 --45 --63 --77 -72 -59 -31 -3 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -72 -58 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --76 -72 -58 -31 -2 --24 --44 --63 --76 -72 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -72 -59 -31 -2 --23 --44 --62 --77 --89 -78 -63 -37 -30 -1 --24 --45 --63 --77 --89 -80 -66 -40 -31 -2 --23 --44 --62 --76 --88 -81 -68 -42 -33 -3 --23 --43 --61 --75 --88 -82 -68 -42 -34 -4 --22 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -82 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --22 --42 --61 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -44 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 -77 -64 -37 -7 --20 --41 --59 --74 -77 -62 -34 -4 --22 --42 --61 --75 -75 -61 -33 -4 --22 --42 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -59 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 -73 -59 -31 -26 --4 --27 --48 --65 --80 --91 -76 -64 -36 -30 -0 --24 --46 --63 --78 --89 -78 -67 -39 -32 -1 --23 --44 --61 --77 --88 -80 -69 -40 -34 -3 --22 --44 --61 --76 --87 -80 -69 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --42 --60 --76 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --43 --60 --76 --86 -82 -70 -42 -35 -4 --20 --42 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --76 --86 -82 -70 -42 -35 -5 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --43 --60 --76 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -41 -35 -4 --20 --42 --60 --76 --86 -81 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -42 -35 -5 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --43 --60 --75 --86 -82 -71 -42 -11 --16 --37 --56 --71 -79 -65 -38 -8 --19 --40 --59 --73 -76 -63 -35 -6 --21 --42 --60 --74 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -26 --3 --27 --48 --65 --80 --91 -76 -65 -36 -30 -0 --24 --46 --63 --78 --89 -79 -67 -39 -32 -2 --22 --44 --61 --77 --88 -80 -69 -40 -33 -3 --22 --43 --61 --76 --87 -81 -70 -41 -34 -3 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -80 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -12 --16 --37 --56 --71 -79 -65 -37 -7 --19 --40 --59 --73 -77 -63 -35 -6 --21 --42 --60 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -61 -33 -3 --22 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 -73 -59 -32 -2 --23 --44 --62 --76 --89 -79 -64 -37 -30 -1 --24 --45 --63 --77 --89 -81 -67 -40 -32 -3 --23 --43 --62 --76 --88 -81 -68 -42 -33 -4 --22 --42 --61 --75 --88 -82 -68 -42 -34 -4 --22 --42 --61 --75 --87 -82 -68 -42 -34 -5 --21 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -68 -43 -35 -5 --21 --42 --60 --75 --87 -82 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --41 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --22 --42 --60 --75 --87 -83 -70 -43 -34 -4 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --61 --74 -77 -64 -36 -7 --19 --40 --59 --74 -77 -62 -34 -5 --22 --42 --61 --75 -74 -61 -33 -4 --22 --43 --61 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 --89 -78 -64 -38 -30 -1 --24 --45 --63 --77 --89 -80 -66 -40 -32 -3 --23 --44 --62 --76 --88 -81 -68 -42 -33 -3 --22 --43 --61 --76 --88 -82 -69 -43 -33 -4 --22 --42 --61 --75 --88 -83 -69 -43 -33 -4 --22 --42 --61 --75 -77 -63 -36 -7 --20 --41 --60 --74 -77 -63 -34 -5 --22 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -73 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 -74 -59 -31 -26 --3 --27 --48 --65 --80 --90 -75 -64 -36 -31 -0 --24 --46 --63 --78 --89 -78 -67 -39 -32 -2 --23 --44 --61 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -80 -69 -40 -35 -4 --21 --43 --60 --76 --87 -81 -69 -41 -35 -4 --20 --42 --60 --75 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --42 --60 --76 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -81 -71 -42 -35 -4 --21 --43 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --87 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -11 --16 --37 --57 --71 -79 -65 -37 -8 --19 --40 --59 --73 -77 -63 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --42 --61 --75 -74 -61 -33 -4 --22 --43 --61 --75 -74 -59 -32 -3 --23 --44 --62 --76 -73 -59 -32 -27 --3 --27 --48 --65 --80 --90 -75 -65 -37 -30 -0 --24 --45 --63 --78 --89 -78 -67 -39 -32 -1 --23 --44 --62 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -81 -70 -41 -34 -4 --21 --43 --60 --76 --87 -81 -70 -42 -11 --16 --37 --57 --71 -78 -64 -37 -7 --19 --40 --59 --73 -77 -63 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --22 --43 --62 --76 -74 -59 -32 -3 --23 --43 --62 --76 -74 -59 -31 -2 --23 --44 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -72 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 --89 -78 -63 -38 -29 -1 --25 --45 --63 --77 --89 -80 -66 -40 -31 -2 --24 --44 --62 --77 --88 -82 -68 -42 -33 -4 --22 --42 --61 --75 --88 -82 -68 -42 -34 -4 --22 --42 --61 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 --87 -82 -69 -43 -34 -5 --22 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -35 -6 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -82 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -35 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -35 -5 --21 --42 --60 --75 --87 -82 -68 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -4 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 -77 -64 -37 -7 --20 --40 --59 --74 -77 -63 -35 -5 --21 --42 --60 --75 -75 -60 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -59 -32 -3 --23 --44 --62 --76 -73 -60 -32 -3 --23 --44 --62 --76 -73 -59 -31 -26 --3 --27 --48 --65 --80 --90 -75 -64 -36 -31 -0 --24 --46 --63 --78 --89 -78 -67 -39 -33 -2 --22 --44 --61 --77 --88 -80 -69 -40 -33 -3 --22 --44 --61 --76 --87 -81 -69 -40 -34 -3 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --42 --60 --76 --87 -81 -70 -41 -35 -4 --20 --42 --60 --75 --87 -81 -70 -42 -35 -4 --21 --42 --60 --75 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --76 --86 -81 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -72 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -5 --20 --42 --60 --75 --86 -81 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --76 --87 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -71 -41 -35 -4 --21 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -81 -70 -42 -11 --16 --37 --57 --71 -79 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --43 --61 --75 -75 -61 -32 -3 --22 --43 --62 --76 -73 -59 -32 -3 --23 --43 --62 --76 -73 -59 -31 -26 --3 --27 --48 --65 --80 --90 -77 -65 -36 -30 -0 --24 --45 --63 --78 --89 -79 -68 -38 -32 -2 --22 --44 --61 --77 --88 -80 -69 -40 -33 -3 --22 --44 --61 --76 --87 -81 -70 -41 -34 -3 --21 --43 --61 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --43 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --42 --60 --75 --87 -81 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --43 --60 --76 --87 -81 -71 -42 -35 -4 --21 --42 --60 --76 --87 -81 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --75 --86 -81 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --76 --86 -82 -70 -41 -35 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --20 --43 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --43 --60 --76 --86 -81 -70 -41 -11 --16 --37 --57 --72 -79 -66 -38 -8 --19 --40 --59 --73 -77 -63 -34 -5 --21 --42 --60 --75 -76 -61 -34 -4 --22 --42 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 -72 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -3 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -72 -58 -31 -2 --24 --44 --63 --77 --89 -78 -64 -38 -30 -1 --24 --45 --63 --77 --89 -80 -65 -40 -32 -3 --23 --43 --62 --76 --88 -81 -67 -41 -33 -4 --22 --43 --61 --76 --88 -82 -68 -42 -33 -5 --22 --42 --61 --75 --88 -83 -68 -42 -34 -5 --21 --42 --61 --75 --87 -82 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --74 -77 -64 -36 -6 --20 --41 --60 --74 -76 -61 -34 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -59 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -31 -2 --24 --44 --62 --76 -73 -59 -31 -27 --3 --27 --48 --65 --80 --90 -76 -64 -36 -30 -0 --24 --45 --63 --78 --89 -78 -67 -38 -32 -1 --23 --44 --62 --77 --88 -80 -69 -40 -33 -2 --22 --44 --61 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --42 --60 --76 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --43 --60 --75 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -41 -36 -5 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --43 --60 --75 --86 -81 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --20 --42 --60 --75 --86 -81 -69 -41 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -81 -70 -42 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -35 -4 --21 --42 --60 --76 --86 -81 -71 -42 -35 -4 --20 --42 --60 --76 --86 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --75 --86 -82 -70 -42 -35 -4 --21 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -36 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -11 --16 --37 --57 --71 -79 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --41 --60 --75 -75 -61 -34 -4 --22 --42 --61 --75 -74 -61 -33 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -31 -26 --4 --27 --48 --65 --80 --90 -75 -65 -36 -30 -0 --24 --46 --63 --78 --89 -79 -67 -39 -33 -2 --22 --44 --61 --76 --87 -79 -69 -41 -34 -3 --21 --43 --61 --76 --87 -81 -70 -41 -35 -3 --21 --43 --60 --76 --87 -80 -70 -41 -11 --16 --37 --57 --71 -79 -65 -37 -7 --19 --40 --59 --74 -77 -62 -34 -5 --21 --42 --60 --75 -76 -61 -33 -4 --22 --43 --61 --75 -74 -60 -33 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 --89 -78 -64 -38 -30 -1 --24 --45 --63 --77 --89 -80 -66 -40 -32 -3 --23 --43 --62 --76 --88 -82 -68 -42 -33 -4 --22 --42 --61 --75 --88 -82 -68 -42 -33 -4 --22 --42 --61 --75 --87 -82 -68 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -33 -4 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 -77 -64 -36 -7 --20 --40 --59 --74 -77 -63 -34 -4 --22 --42 --61 --75 -75 -61 -34 -4 --22 --42 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 -72 -59 -31 -2 --24 --44 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --63 --76 -73 -58 -31 -2 --24 --44 --62 --77 -74 -59 -31 -25 --4 --28 --48 --65 --80 --91 -76 -65 -36 -30 -0 --24 --46 --63 --78 --89 -79 -67 -38 -32 -2 --23 --44 --61 --77 --88 -80 -69 -40 -33 -3 --22 --44 --61 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --75 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --86 -81 -69 -41 -35 -4 --21 --43 --60 --76 --87 -81 -71 -41 -35 -4 --21 --43 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -41 -35 -5 --20 --43 --60 --75 --86 -81 -70 -41 -35 -4 --20 --43 --60 --76 --87 -82 -70 -41 -35 -4 --20 --43 --60 --75 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --43 --60 --76 --86 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --43 --60 --76 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -70 -42 -11 --16 --37 --57 --71 -79 -65 -37 -8 --19 --40 --59 --73 -77 -63 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --42 --61 --75 -74 -61 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -74 -59 -31 -2 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -72 -59 -31 -2 --24 --44 --63 --76 -73 -59 -31 -2 --24 --44 --62 --76 -72 -58 -31 -2 --23 --44 --62 --76 -72 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -3 --23 --44 --62 --76 --89 -78 -64 -37 -29 -1 --25 --45 --63 --77 --89 -80 -66 -40 -32 -3 --23 --43 --62 --76 --88 -81 -68 -42 -33 -4 --22 --43 --61 --75 --88 -82 -68 -42 -33 -4 --22 --42 --61 --75 --88 -83 -68 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --41 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --74 -77 -64 -36 -7 --20 --41 --60 --74 -76 -62 -34 -5 --21 --42 --61 --75 -75 -61 -33 -3 --22 --43 --61 --76 -74 -60 -33 -3 --22 --43 --62 --76 -74 -59 -31 -2 --24 --44 --62 --77 -74 -60 -32 -2 --23 --43 --62 --76 -73 -59 -32 -26 --3 --27 --48 --65 --80 --90 -76 -64 -36 -30 -0 --24 --46 --63 --78 --89 -79 -67 -39 -32 -2 --23 --44 --62 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -80 -69 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --76 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --87 -82 -70 -41 -35 -4 --20 --42 --60 --76 --86 -82 -70 -41 -35 -5 --20 --42 --60 --75 --86 -81 -69 -41 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --43 --60 --76 --87 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -34 -3 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -82 -71 -41 -35 -4 --21 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -11 --16 --37 --57 --71 -79 -65 -37 -7 --19 --40 --59 --73 -77 -63 -35 -5 --21 --41 --60 --74 -75 -60 -33 -3 --22 --43 --61 --76 -75 -61 -33 -3 --23 --43 --62 --76 -74 -59 -32 -2 --23 --43 --62 --76 -73 -60 -32 -25 --4 --28 --49 --65 --80 --91 -76 -65 -37 -30 -0 --24 --46 --63 --78 --89 -79 -68 -39 -33 -2 --22 --44 --61 --77 --87 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -81 -70 -41 -35 -4 --21 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -41 -11 --16 --38 --57 --71 -79 -65 -38 -8 --19 --40 --59 --73 -77 -63 -35 -5 --21 --41 --60 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -61 -33 -4 --22 --43 --62 --76 -74 -59 -31 -2 --23 --44 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 --89 -78 -64 -38 -30 -1 --24 --45 --63 --77 --89 -79 -66 -40 -32 -3 --23 --43 --62 --76 --88 -81 -68 -42 -33 -4 --22 --43 --61 --75 --88 -82 -69 -42 -33 -4 --22 --42 --61 --75 --87 -83 -69 -43 -33 -5 --22 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -4 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -84 -70 -43 -34 -5 --21 --42 --60 --75 --87 -84 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --75 --87 -83 -68 -42 -34 -5 --21 --42 --60 --75 --87 -83 -68 -42 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 -77 -64 -36 -7 --20 --41 --59 --74 -76 -62 -34 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --42 --61 --75 -73 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -2 --23 --44 --62 --76 --89 -78 -64 -38 -30 -1 --24 --45 --63 --77 --89 -81 -67 -41 -32 -3 --23 --43 --62 --76 --88 -82 -68 -41 -33 -4 --22 --42 --61 --75 --88 -82 -68 -42 -34 -5 --21 --42 --61 --75 --88 -83 -69 -42 -34 -5 --21 --42 --61 --75 -77 -64 -36 -6 --20 --41 --60 --74 -76 -61 -34 -5 --22 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -59 -31 -2 --23 --44 --62 --76 -74 -60 -32 -2 --23 --44 --62 --76 -73 -58 -31 -26 --4 --27 --48 --65 --80 --91 -76 -64 -37 -30 -0 --24 --46 --63 --78 --89 -79 -67 -39 -33 -2 --22 --44 --61 --77 --88 -80 -69 -40 -34 -3 --22 --43 --61 --76 --87 -80 -69 -41 -34 -3 --21 --43 --61 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --59 --75 --86 -82 -70 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --42 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --20 --43 --60 --75 --86 -81 -69 -42 -11 --16 --37 --57 --71 -79 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --42 --61 --75 -75 -61 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -31 -26 --3 --27 --48 --65 --80 --90 -76 -65 -36 -31 -0 --24 --46 --63 --78 --89 -79 -68 -39 -33 -2 --22 --44 --61 --76 --88 -80 -69 -40 -34 -3 --22 --43 --61 --76 --87 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -81 -70 -40 -10 --17 --38 --57 --72 -79 -65 -38 -8 --19 --40 --59 --73 -77 -63 -34 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -33 -3 --23 --43 --62 --76 -74 -59 -32 -3 --23 --44 --62 --76 -74 -59 -32 -3 --23 --43 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -72 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --77 --89 -78 -64 -38 -30 -1 --24 --45 --63 --77 --89 -80 -66 -40 -32 -3 --23 --43 --62 --76 --88 -81 -68 -41 -33 -4 --22 --43 --61 --75 --88 -82 -68 -42 -34 -5 --22 --42 --61 --75 --87 -82 -68 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -68 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -84 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -35 -5 --20 --41 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -68 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --88 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --22 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --22 --42 --61 --75 --88 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --22 --42 --60 --75 --87 -83 -70 -43 -34 -4 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -84 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 -77 -64 -36 -6 --20 --41 --60 --74 -76 -62 -34 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -75 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -26 --4 --27 --48 --65 --80 --91 -76 -65 -37 -31 -0 --24 --45 --63 --78 --88 -78 -67 -39 -32 -2 --23 --44 --62 --77 --88 -80 -69 -40 -34 -3 --22 --43 --61 --76 --87 -80 -70 -41 -35 -4 --21 --43 --60 --76 --87 -80 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -34 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -36 -4 --20 --43 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -69 -41 -35 -4 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --76 --86 -82 -71 -42 -36 -5 --20 --42 --59 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -11 --16 --37 --57 --72 -80 -66 -37 -8 --19 --40 --59 --73 -77 -63 -35 -5 --21 --42 --60 --75 -76 -62 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -59 -32 -3 --23 --43 --62 --76 -74 -60 -31 -27 --3 --27 --48 --65 --79 --90 -76 -65 -36 -31 -0 --24 --46 --63 --78 --89 -78 -67 -39 -33 -2 --22 --44 --61 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -81 -69 -41 -34 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -81 -71 -42 -35 -4 --20 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -41 -36 -4 --20 --42 --60 --75 --86 -82 -71 -41 -35 -4 --21 --42 --60 --76 --87 -82 -71 -41 -35 -4 --20 --42 --60 --76 --87 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --43 --60 --75 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --87 -81 -70 -41 -35 -4 --20 --42 --60 --75 --86 -81 -69 -41 -35 -4 --21 --43 --60 --75 --87 -81 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -11 --16 --37 --56 --71 -80 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --41 --60 --74 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -31 -3 --23 --44 --62 --76 -72 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 -73 -58 -31 -2 --24 --44 --62 --77 -74 -59 -31 -2 --24 --44 --62 --77 --89 -78 -64 -38 -29 -0 --25 --45 --63 --77 --89 -79 -66 -40 -31 -2 --23 --44 --62 --76 --88 -81 -68 -42 -33 -4 --22 --43 --61 --76 --88 -82 -69 -42 -34 -5 --22 --42 --61 --75 --87 -83 -68 -42 -34 -5 --21 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -35 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -34 -5 --21 --42 --60 --75 -77 -64 -36 -7 --19 --41 --60 --74 -76 -62 -34 -5 --22 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 -74 -59 -32 -3 --23 --43 --62 --76 -73 -59 -31 -25 --4 --28 --49 --65 --80 --91 -76 -65 -36 -30 -0 --25 --46 --63 --78 --89 -79 -68 -39 -32 -2 --22 --44 --61 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --42 --60 --75 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --20 --43 --60 --76 --87 -82 -70 -42 -35 -4 --20 --43 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --60 --76 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --20 --43 --60 --76 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -36 -4 --20 --42 --60 --75 --86 -82 -71 -41 -35 -4 --20 --43 --60 --76 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --75 --86 -81 -70 -41 -11 --16 --38 --57 --72 -80 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -75 -61 -33 -3 --22 --43 --62 --76 -74 -59 -32 -3 --23 --44 --62 --76 -74 -60 -32 -26 --4 --27 --48 --65 --80 --91 -76 -65 -37 -31 -1 --24 --45 --62 --77 --89 -79 -67 -39 -32 -2 --23 --44 --61 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -11 --16 --38 --57 --72 -79 -65 -37 -7 --19 --40 --59 --74 -77 -63 -34 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --76 -75 -61 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -59 -32 -3 --23 --44 --62 --77 --89 -79 -64 -38 -30 -1 --24 --45 --63 --77 --89 -80 -66 -40 -32 -3 --23 --43 --62 --76 --88 -81 -67 -41 -33 -4 --22 --43 --61 --76 --88 -83 -69 -42 -33 -4 --22 --42 --61 --75 --88 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -84 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -84 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --74 -78 -64 -36 -6 --20 --41 --60 --74 -76 -62 -34 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --76 -74 -59 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -31 -2 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --63 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -73 -58 -31 -26 --4 --28 --48 --65 --80 --91 -75 -64 -36 -30 -0 --24 --46 --63 --78 --89 -79 -67 -39 -33 -2 --22 --44 --61 --77 --87 -80 -68 -40 -34 -3 --21 --43 --61 --76 --87 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -81 -70 -41 -35 -3 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -81 -71 -42 -35 -4 --21 --43 --60 --76 --86 -81 -70 -42 -35 -4 --21 --42 --60 --76 --86 -81 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --75 --86 -82 -70 -42 -35 -4 --20 --43 --60 --76 --86 -82 -71 -42 -35 -5 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --76 --86 -83 -71 -42 -36 -5 --20 --42 --60 --75 --86 -82 -71 -41 -36 -5 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --76 --86 -81 -70 -41 -35 -4 --21 --43 --60 --76 --86 -82 -70 -42 -35 -4 --20 --43 --60 --76 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -36 -4 --21 --43 --60 --75 --86 -81 -70 -42 -12 --16 --37 --56 --71 -80 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -6 --21 --42 --60 --74 -75 -61 -33 -4 --22 --42 --61 --75 -74 -60 -33 -3 --23 --43 --62 --76 -73 -60 -32 -3 --23 --43 --62 --76 -74 -59 -31 -2 --24 --44 --62 --77 -73 -60 -32 -3 --23 --43 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --76 -72 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -73 -58 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --76 -73 -58 -31 -1 --24 --44 --63 --77 --89 -78 -64 -37 -30 -1 --24 --45 --63 --77 --89 -81 -66 -40 -32 -3 --23 --43 --62 --76 --88 -81 -68 -41 -33 -4 --22 --43 --61 --75 --88 -82 -68 -42 -33 -4 --22 --42 --61 --75 --88 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -82 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 -77 -63 -36 -7 --20 --41 --60 --74 -76 -63 -34 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -2 --23 --44 --62 --76 -73 -60 -32 -3 --23 --44 --62 --76 -74 -59 -31 -26 --4 --27 --48 --65 --80 --91 -76 -64 -36 -30 -0 --24 --45 --63 --78 --89 -79 -67 -38 -32 -2 --22 --44 --61 --77 --88 -80 -68 -40 -34 -3 --21 --43 --61 --76 --87 -80 -69 -40 -34 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --42 --60 --75 --87 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -81 -70 -42 -36 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --76 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -34 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -71 -41 -35 -4 --20 --42 --60 --76 --86 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --76 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -81 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -12 --16 --37 --57 --71 -80 -65 -37 -7 --19 --40 --59 --73 -77 -62 -35 -5 --21 --42 --60 --75 -75 -61 -34 -4 --22 --42 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -73 -60 -32 -3 --23 --43 --62 --76 -74 -60 -31 -26 --3 --27 --48 --65 --80 --91 -76 -65 -36 -30 -0 --24 --46 --62 --78 --89 -79 -67 -39 -32 -2 --23 --44 --61 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -80 -69 -41 -35 -4 --21 --43 --60 --76 --87 -81 -69 -41 -35 -4 --20 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --75 --87 -81 -70 -42 -11 --16 --37 --56 --71 -79 -65 -37 -8 --19 --40 --59 --74 -77 -62 -34 -5 --21 --42 --61 --75 -76 -62 -34 -4 --22 --42 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 --89 -79 -64 -38 -30 -1 --24 --45 --63 --77 --89 -81 -66 -40 -32 -3 --23 --43 --62 --76 --88 -81 -68 -42 -33 -4 --22 --43 --61 --75 --88 -82 -68 -42 -34 -4 --22 --42 --61 --75 --88 -83 -69 -42 -33 -4 --22 --42 --61 --75 --88 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 --87 -83 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 -77 -64 -36 -6 --20 --41 --60 --74 -77 -63 -34 -5 --21 --42 --61 --75 -75 -61 -33 -4 --22 --43 --62 --76 -73 -60 -32 -3 --23 --43 --62 --76 -74 -60 -31 -2 --23 --44 --62 --76 -73 -59 -31 -2 --23 --44 --62 --76 --89 -78 -64 -38 -30 -1 --24 --44 --63 --77 --89 -80 -66 -40 -32 -3 --23 --43 --62 --76 --88 -82 -68 -41 -33 -4 --22 --42 --61 --75 --88 -82 -68 -42 -33 -4 --22 --42 --61 --75 --88 -82 -68 -42 -34 -5 --21 --42 --60 --75 -77 -63 -35 -6 --20 --41 --60 --74 -76 -63 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --43 --61 --76 -74 -59 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -74 -59 -31 -25 --4 --28 --49 --65 --80 --91 -76 -65 -36 -30 -0 --24 --46 --63 --78 --88 -78 -67 -39 -33 -2 --22 --44 --61 --76 --88 -80 -69 -40 -34 -3 --22 --44 --61 --76 --87 -80 -69 -41 -34 -3 --21 --43 --60 --76 --87 -81 -70 -41 -34 -3 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --75 --86 -82 -71 -41 -35 -4 --21 --42 --60 --75 --86 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -41 -35 -4 --21 --42 --60 --76 --87 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -36 -4 --20 --42 --59 --75 --86 -82 -69 -41 -35 -4 --20 --42 --60 --75 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --59 --75 --86 -82 -70 -41 -35 -4 --21 --43 --60 --76 --86 -81 -70 -42 -35 -4 --21 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --76 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --76 --86 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -11 --16 --37 --57 --72 -80 -66 -38 -8 --19 --40 --59 --73 -76 -63 -35 -5 --21 --41 --60 --74 -75 -61 -33 -4 --22 --43 --62 --76 -74 -61 -33 -3 --23 --43 --61 --76 -74 -60 -32 -3 --23 --44 --62 --76 -73 -59 -32 -27 --3 --27 --48 --65 --80 --91 -76 -65 -36 -31 -0 --24 --45 --63 --78 --89 -78 -67 -38 -33 -2 --22 --44 --61 --77 --88 -80 -69 -40 -34 -3 --21 --44 --61 --76 --87 -81 -70 -41 -34 -3 --21 --43 --60 --76 --87 -81 -70 -41 -11 --16 --37 --57 --72 -79 -65 -37 -7 --20 --40 --59 --74 -77 -62 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 -73 -59 -31 -2 --23 --44 --62 --76 -72 -59 -32 -3 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -73 -59 -31 -2 --24 --44 --62 --76 -72 -59 -32 -3 --23 --44 --62 --76 -73 -58 -31 -1 --24 --44 --63 --77 -72 -59 -31 -3 --23 --44 --62 --76 --89 -77 -63 -37 -30 -1 --24 --45 --63 --77 --89 -80 -66 -40 -32 -3 --23 --43 --62 --76 --88 -81 -68 -41 -33 -4 --22 --43 --61 --75 --88 -82 -69 -42 -34 -4 --22 --42 --61 --75 --88 -82 -68 -42 -34 -5 --21 --42 --61 --75 --87 -82 -69 -42 -34 -4 --22 --42 --61 --75 --87 -83 -70 -43 -33 -4 --22 --42 --61 --75 --88 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -4 --22 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -68 -43 -34 -5 --21 --41 --60 --75 --87 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -4 --22 --42 --61 --75 --87 -83 -70 -43 -34 -4 --22 --42 --61 --75 --88 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -82 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --74 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -6 --20 --41 --60 --74 --87 -82 -68 -43 -35 -5 --21 --42 --60 --75 --87 -83 -68 -42 -34 -5 --21 --42 --61 --75 -77 -64 -36 -6 --20 --41 --60 --74 -76 -62 -34 -5 --21 --42 --61 --75 -75 -61 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --44 --62 --76 -73 -59 -32 -3 --23 --44 --62 --76 -73 -59 -31 -26 --4 --27 --48 --65 --80 --90 -76 -64 -36 -30 -0 --24 --46 --63 --78 --89 -79 -67 -38 -32 -2 --22 --44 --61 --77 --88 -80 -69 -40 -33 -3 --21 --43 --61 --76 --87 -81 -70 -41 -34 -3 --21 --43 --60 --76 --87 -81 -70 -42 -35 -3 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --87 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -70 -42 -35 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --43 --60 --76 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --20 --42 --60 --75 --86 -81 -69 -41 -35 -4 --20 --42 --60 --76 --86 -82 -70 -41 -35 -4 --21 --42 --60 --76 --87 -82 -70 -42 -35 -4 --20 --43 --60 --75 --87 -82 -71 -42 -36 -5 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -71 -42 -12 --16 --37 --56 --71 -79 -65 -37 -7 --19 --40 --59 --74 -77 -63 -35 -5 --21 --42 --60 --75 -75 -61 -33 -4 --22 --43 --61 --75 -74 -61 -33 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -72 -59 -32 -26 --4 --27 --48 --65 --80 --91 -76 -65 -37 -30 -0 --24 --46 --63 --78 --89 -78 -67 -39 -33 -2 --22 --44 --61 --77 --88 -80 -69 -40 -33 -3 --22 --43 --61 --76 --87 -80 -69 -41 -34 -3 --21 --43 --61 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -70 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --20 --43 --60 --75 --86 -81 -70 -41 -36 -5 --20 --42 --60 --75 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --20 --42 --60 --75 --86 -81 -70 -41 -35 -4 --20 --42 --60 --75 --87 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -81 -71 -42 -35 -4 --21 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --87 -81 -70 -42 -35 -4 --21 --42 --60 --75 --86 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -81 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -72 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -71 -42 -36 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -81 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -5 --20 --42 --60 --75 --86 -81 -70 -42 -11 --16 --37 --57 --72 -80 -65 -37 -8 --19 --40 --59 --73 -77 -63 -35 -5 --21 --42 --60 --75 -76 -61 -33 -4 --22 --42 --61 --75 -74 -60 -33 -3 --22 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -74 -59 -32 -3 --23 --43 --62 --76 -72 -59 -31 -2 --24 --44 --62 --77 -73 -59 -32 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --77 -72 -58 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --23 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --77 --89 -78 -64 -38 -29 -0 --25 --45 --63 --77 --89 -80 -67 -41 -32 -3 --23 --43 --62 --76 --88 -82 -68 -41 -33 -4 --22 --42 --61 --75 --88 -82 -68 -42 -33 -4 --22 --42 --61 --75 --88 -83 -69 -42 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -82 -68 -43 -34 -5 --21 --42 --60 --75 --87 -82 -68 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -82 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --74 -77 -64 -36 -6 --20 --41 --60 --74 -77 -62 -34 -5 --21 --42 --61 --75 -75 -60 -33 -4 --22 --43 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -3 --23 --43 --62 --76 -73 -59 -31 -2 --23 --44 --62 --76 -74 -59 -31 -26 --3 --27 --48 --65 --80 --91 -76 -65 -36 -31 -0 --24 --45 --62 --78 --89 -78 -67 -38 -32 -2 --23 --44 --61 --77 --88 -80 -68 -40 -33 -3 --21 --44 --61 --76 --87 -80 -69 -41 -35 -4 --21 --43 --60 --76 --87 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -81 -70 -41 -35 -4 --21 --43 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -70 -42 -36 -5 --21 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -70 -42 -35 -4 --21 --43 --60 --75 --86 -81 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -41 -35 -4 --21 --42 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -82 -70 -42 -36 -4 --20 --42 --60 --75 --86 -82 -70 -42 -35 -4 --20 --43 --60 --75 --86 -82 -70 -41 -35 -4 --21 --43 --60 --76 --86 -82 -71 -41 -35 -4 --20 --42 --60 --75 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -41 -36 -5 --20 --42 --60 --75 --86 -81 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --42 --60 --75 --87 -81 -70 -41 -36 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --86 -82 -71 -42 -35 -4 --20 --42 --60 --75 --87 -82 -70 -42 -35 -4 --20 --42 --60 --75 --87 -82 -70 -42 -35 -4 --21 --43 --60 --75 --87 -81 -71 -42 -35 -4 --21 --43 --60 --75 --86 -82 -71 -42 -12 --16 --37 --56 --71 -80 -65 -36 -7 --20 --40 --59 --74 -77 -63 -35 -6 --20 --41 --60 --74 -76 -61 -33 -4 --22 --42 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -74 -60 -32 -3 --23 --43 --62 --76 -73 -59 -32 -26 --3 --27 --48 --65 --80 --91 -76 -64 -36 -30 -0 --24 --46 --63 --78 --89 -79 -67 -39 -32 -2 --23 --44 --61 --77 --88 -80 -69 -40 -34 -3 --21 --43 --61 --76 --87 -80 -69 -41 -35 -4 --21 --43 --60 --76 --87 -80 -69 -41 -11 --16 --37 --57 --72 -79 -65 -37 -7 --19 --40 --59 --73 -77 -62 -34 -5 --21 --42 --61 --75 -75 -61 -34 -4 --22 --42 --61 --75 -74 -60 -32 -3 --23 --43 --62 --76 -73 -60 -32 -3 --23 --43 --62 --76 -74 -59 -31 -2 --24 --44 --62 --77 --89 -79 -64 -38 -29 -1 --25 --45 --63 --77 --89 -80 -67 -40 -31 -2 --23 --44 --62 --76 --88 -82 -68 -42 -33 -4 --22 --43 --61 --76 --88 -82 -69 -42 -33 -4 --22 --42 --61 --75 --87 -83 -69 -43 -34 -5 --22 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -42 -34 -5 --21 --42 --60 --75 --87 -83 -69 -42 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -35 -5 --21 --41 --60 --74 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -68 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 --87 -83 -70 -43 -35 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --60 --75 --87 -83 -70 -43 -34 -5 --21 --42 --60 --75 --87 -83 -69 -43 -34 -5 --21 --42 --61 --75 -77 -65 -37 -7 --19 --40 --59 --74 -76 -62 -35 -5 --21 --42 --61 --75 -75 -61 -33 -3 --22 --43 --61 --76 -73 -60 -33 -3 --23 --43 --62 --76 -74 -59 -31 -2 --23 --44 --62 --76 -73 -59 -32 -3 --23 --43 --62 --76 -73 -59 -31 -2 --24 --44 --63 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --76 -72 -59 -31 -2 --24 --44 --62 --76 -73 -59 -31 -2 --24 --44 --63 --76 -73 -59 -31 -26 --4 --27 --48 --65 --80 --91 -75 -64 -36 -30 -0 --24 --45 --63 --78 --89 -78 -67 -38 -32 -1 --23 --45 --62 --77 --88 -80 -69 -40 -34 -3 --22 --44 --61 --76 --87 -81 -70 -41 -34 -3 --21 --43 --61 --76 --87 -81 -71 -41 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -41 -35 -4 --21 --42 --60 --75 --87 -82 -71 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -42 -35 -4 --21 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --75 --87 -82 -71 -41 -35 -4 --20 --42 --60 --75 --86 -82 -71 -41 -36 -5 --20 --42 --60 --75 --86 -82 -70 -41 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -70 -41 -35 -4 --21 --42 --60 --76 --87 -82 -71 -41 -35 -5 --20 --42 --60 --75 --86 -81 -70 -42 -36 -5 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --76 --87 -82 -71 -42 -35 -4 --21 --42 --60 --76 --87 -82 -71 -42 -35 -4 --20 --42 --60 --75 --86 -81 -70 -42 -35 -4 --21 --43 --60 --75 --86 diff --git a/traces/modulation-fsk2a-40.pm3 b/traces/modulation-fsk2a-40.pm3 deleted file mode 100644 index aa83baca2..000000000 --- a/traces/modulation-fsk2a-40.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --63 --78 --85 -83 -70 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --43 --60 --72 -86 -64 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --64 --76 -84 -60 -31 -0 --24 --46 --64 --76 -82 -60 -31 -0 --25 --46 --64 --76 -82 -58 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -81 -59 -30 -0 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -31 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --26 --47 --65 --77 -81 -59 -31 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -58 -30 -21 --7 --32 --51 --69 --83 --91 -77 -63 -36 -26 --2 --27 --48 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -70 -43 -32 -3 --23 --44 --63 --77 --86 -83 -72 -44 -33 -3 --23 --44 --63 --77 --84 -84 -72 -44 -33 -4 --23 --44 --62 --77 --85 -85 -72 -44 -33 -4 --22 --43 --62 --77 --84 -85 -72 -44 -11 --15 --38 --57 --69 -90 -67 -38 -6 --19 --42 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -86 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -61 -32 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -82 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -60 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --76 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -27 --1 --27 --47 --66 --80 --88 -79 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --64 --78 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -66 -38 -6 --20 --42 --60 --73 -86 -63 -34 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -84 -61 -31 -0 --24 --46 --64 --76 -82 -60 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -60 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 -0 --25 --47 --64 --76 -81 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -82 -58 -30 -0 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -21 --7 --32 --51 --69 --83 --91 -77 -65 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --65 --79 --87 -82 -70 -42 -31 -2 --24 --45 --64 --78 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -65 -37 -5 --20 --43 --61 --73 -86 -64 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -85 -61 -32 -22 --6 --31 --50 --68 --82 --91 -78 -65 -37 -27 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --86 -83 -70 -42 -32 -3 --23 --45 --63 --77 --85 -83 -70 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --43 --60 --73 -87 -64 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --64 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -60 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -82 -60 -31 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --26 --47 --65 --77 -81 -58 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -36 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -83 -69 -42 -32 -3 --24 --45 --63 --78 --85 -84 -70 -42 -32 -3 --23 --44 --63 --77 --86 -83 -71 -43 -33 -4 --23 --44 --63 --77 --84 -84 -72 -44 -33 -4 --23 --44 --62 --77 --85 -84 -72 -44 -33 -4 --22 --43 --62 --77 --84 -84 -71 -44 -11 --15 --39 --57 --69 -89 -67 -38 -6 --19 --42 --60 --72 -87 -64 -35 -4 --21 --44 --62 --74 -84 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --63 --75 -83 -60 -31 -1 --24 --46 --64 --76 -83 -60 -31 -0 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -27 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --45 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -71 -43 -32 -3 --23 --44 --63 --77 --86 -84 -71 -43 -33 -4 --23 --44 --63 --77 --85 -84 -72 -44 -33 -4 --23 --44 --62 --77 --85 -84 -72 -44 -33 -4 --22 --44 --62 --77 --83 -85 -71 -44 -33 -4 --23 --44 --62 --77 --85 -84 -72 -45 -33 -4 --22 --43 --62 --77 --84 -84 -72 -44 -33 -4 --22 --43 --62 --77 --85 -84 -72 -44 -33 -3 --23 --44 --63 --77 --84 -85 -72 -44 -11 --15 --38 --57 --69 -90 -67 -38 -6 --19 --42 --60 --72 -86 -64 -35 -4 --22 --44 --61 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -85 -61 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -27 --2 --27 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -66 -38 -6 --20 --42 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -84 -61 -32 -1 --24 --46 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -81 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --65 --76 -82 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -29 -0 --26 --46 --65 --79 --87 -83 -70 -42 -32 -3 --24 --45 --63 --77 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --43 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -85 -61 -33 -1 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -60 -31 -0 --25 --46 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -84 -60 -31 -21 --7 --32 --51 --69 --83 --91 -77 -64 -36 -27 --2 --27 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -32 -2 --24 --45 --63 --78 --85 -83 -70 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --43 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -84 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --63 --75 -84 -60 -32 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -21 --6 --31 --51 --69 --83 --91 -77 -64 -37 -27 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --86 -84 -71 -42 -10 --17 --40 --58 --70 -89 -66 -38 -6 --20 --42 --60 --73 -87 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -59 -31 -22 --6 --31 --51 --68 --82 --91 -78 -65 -37 -28 --1 --27 --47 --66 --80 --88 -81 -68 -41 -30 -1 --25 --45 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -67 -38 -6 --19 --42 --60 --73 -86 -63 -34 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -60 -31 -1 --24 --46 --64 --76 -83 -60 -31 -0 --25 --46 --64 --76 -82 -58 -30 -0 --25 --47 --64 --76 -82 -60 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -21 --7 --32 --51 --69 --83 --91 -77 -63 -37 -27 --2 --27 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -6 --20 --42 --60 --72 -86 -62 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -31 -1 --24 --46 --63 --75 -84 -61 -32 -22 --6 --31 --51 --69 --82 --91 -78 -64 -37 -27 --1 --27 --47 --66 --80 --88 -81 -68 -41 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -71 -43 -32 -3 --23 --44 --63 --77 --86 -83 -72 -43 -33 -4 --23 --44 --63 --77 --85 -84 -72 -44 -33 -3 --23 --44 --62 --77 --85 -84 -72 -44 -33 -4 --22 --44 --62 --77 --84 -85 -72 -45 -11 --15 --38 --57 --69 -89 -67 -38 -6 --19 --42 --60 --72 -86 -64 -35 -4 --22 --44 --61 --74 -86 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -61 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -82 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --76 -81 -57 -30 --1 --26 --48 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -31 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -27 --2 --28 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -32 -2 --24 --45 --63 --78 --86 -83 -70 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --43 --61 --73 -86 -63 -35 -3 --22 --44 --62 --74 -86 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -60 -31 -0 --25 --47 --64 --76 -82 -58 -31 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -31 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -21 --7 --32 --51 --69 --83 --91 -77 -65 -37 -26 --2 --28 --48 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --64 --78 --85 -84 -71 -43 -10 --16 --39 --57 --69 -89 -66 -37 -6 --20 --42 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -86 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -84 -61 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -84 -60 -30 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -82 -58 -30 --1 --25 --47 --64 --76 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --26 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -21 --7 --32 --52 --69 --83 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -83 -70 -42 -31 -2 --24 --45 --63 --78 --85 -85 -71 -43 -32 -3 --23 --44 --63 --77 --86 -84 -71 -43 -33 -3 --23 --44 --63 --77 --84 -85 -71 -43 -33 -4 --23 --44 --62 --77 --85 -85 -72 -44 -33 -4 --23 --44 --63 --77 --84 -85 -72 -44 -11 --15 --38 --57 --69 -89 -67 -38 -6 --20 --42 --60 --72 -87 -64 -35 -4 --21 --44 --61 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -61 -32 -0 --24 --46 --63 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --26 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -60 -31 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -26 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -32 -3 --24 --45 --63 --78 --85 -83 -70 -43 -10 --16 --39 --58 --70 -89 -66 -37 -6 --20 --42 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -29 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -36 -26 --2 --28 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --45 --64 --78 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -42 -10 --16 --39 --58 --70 -89 -67 -38 -6 --20 --42 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -31 -1 --24 --46 --64 --75 -84 -60 -31 -22 --6 --31 --51 --68 --82 --91 -77 -65 -38 -27 --2 --27 --47 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -1 --24 --45 --64 --78 --85 -84 -70 -43 -10 --16 --39 --57 --69 -89 -66 -37 -6 --20 --42 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -61 -32 -1 --24 --46 --63 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 -0 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -21 --7 --32 --51 --69 --83 --92 -77 -65 -37 -27 --2 --27 --48 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --64 --78 --85 -83 -71 -43 -32 -3 --24 --44 --63 --77 --86 -84 -72 -44 -33 -3 --23 --44 --62 --77 --85 -84 -72 -44 -33 -3 --23 --44 --63 --77 --85 -84 -72 -44 -33 -4 --22 --43 --62 --77 --84 -85 -72 -44 -11 --15 --38 --57 --69 -89 -67 -38 -6 --19 --42 --60 --72 -86 -64 -35 -4 --21 --44 --62 --74 -86 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -60 -30 --1 --25 --47 --64 --76 -80 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -60 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -80 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -21 --7 --31 --51 --69 --83 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -32 -2 --24 --45 --63 --77 --85 -84 -71 -43 -32 -3 --23 --44 --63 --77 --86 -84 -72 -43 -33 -4 --23 --43 --63 --77 --84 -85 -71 -43 -33 -4 --22 --44 --63 --77 --85 -84 -72 -44 -33 -4 --22 --43 --62 --77 --84 -85 -71 -44 -33 -4 --22 --43 --62 --77 --85 -84 -72 -44 -33 -4 --22 --43 --62 --77 --84 -85 -71 -44 -33 -4 --22 --43 --62 --77 --85 -84 -72 -45 -34 -4 --22 --43 --62 --77 --84 -85 -72 -44 -11 --15 --39 --57 --69 -89 -67 -38 -6 --19 --42 --60 --72 -87 -64 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --23 --46 --63 --75 -83 -60 -31 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -27 --2 --28 --48 --66 --80 --88 -81 -68 -40 -29 -0 --25 --46 --64 --79 --87 -82 -70 -42 -31 -3 --24 --45 --63 --77 --85 -83 -70 -43 -10 --16 --39 --58 --70 -89 -66 -37 -6 --20 --42 --60 --73 -86 -63 -34 -3 --22 --44 --62 --74 -85 -61 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --45 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -58 -30 -21 --7 --32 --51 --69 --83 --91 -77 -65 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -42 -10 --16 --39 --58 --70 -89 -67 -37 -5 --20 --42 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -84 -60 -31 -1 --24 --46 --64 --76 -83 -59 -31 -0 --25 --46 --64 --76 -82 -58 -30 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -21 --7 --32 --51 --69 --83 --91 -77 -65 -37 -27 --2 --27 --48 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -66 -38 -6 --20 --42 --60 --72 -85 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -1 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -60 -31 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -58 -31 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --76 -80 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -21 --7 --31 --51 --69 --82 --91 -77 -64 -37 -27 --2 --27 --48 --66 --80 --88 -80 -68 -40 -29 -0 --26 --46 --64 --79 --87 -82 -70 -43 -31 -2 --24 --45 --63 --78 --85 -83 -71 -43 -10 --16 --39 --57 --69 -89 -66 -37 -5 --20 --42 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -61 -31 -22 --6 --31 --51 --68 --82 --91 -78 -65 -37 -27 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -83 -70 -42 -32 -3 --23 --44 --63 --77 --85 -84 -70 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --42 --61 --73 -87 -64 -35 -3 --22 --44 --62 --74 -84 -61 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -61 -31 -1 --24 --46 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -81 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 -21 --7 --32 --51 --69 --83 --91 -76 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -29 -0 --25 --46 --65 --79 --87 -83 -70 -42 -32 -3 --24 --45 --63 --77 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --42 --60 --73 -86 -64 -35 -4 --22 --44 --61 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -22 --6 --31 --51 --68 --82 --91 -77 -64 -37 -27 --1 --27 --47 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -43 -32 -3 --23 --44 --63 --77 --86 -84 -72 -43 -33 -4 --22 --44 --63 --77 --84 -84 -71 -44 -33 -4 --22 --43 --62 --77 --85 -83 -71 -44 -33 -4 --23 --43 --62 --77 --85 -84 -71 -44 -11 --15 --39 --57 --69 -90 -67 -38 -6 --19 --42 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -1 --24 --46 --64 --76 -82 -60 -31 -0 --25 --47 --64 --76 -81 -58 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -81 -58 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -60 -31 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -20 --7 --32 --52 --69 --83 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -83 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -70 -42 -10 --16 --39 --58 --70 -89 -66 -38 -5 --20 --42 --60 --73 -86 -64 -35 -4 --22 --44 --62 --74 -85 -61 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -60 -31 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --76 -80 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 -21 --7 --31 --51 --69 --82 --91 -77 -64 -36 -27 --2 --27 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -32 -3 --23 --44 --63 --77 --85 -83 -70 -42 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --42 --60 --73 -87 -64 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -83 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -60 -31 -0 --25 --47 --64 --76 -81 -58 -31 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -58 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -27 --1 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -84 -70 -43 -32 -3 --24 --44 --63 --77 --86 -84 -71 -43 -33 -3 --23 --43 --63 --77 --85 -84 -71 -44 -33 -4 --22 --43 --62 --77 --85 -84 -72 -44 -33 -4 --23 --43 --62 --77 --84 -84 -72 -44 -11 --15 --38 --57 --69 -90 -67 -38 -6 --19 --42 --60 --72 -86 -64 -35 -4 --21 --44 --62 --74 -86 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -61 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -27 --2 --28 --48 --66 --80 --88 -80 -67 -40 -30 -0 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -83 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -6 --20 --42 --60 --73 -86 -63 -34 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -61 -32 -1 --24 --46 --63 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --46 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -60 -31 -0 --25 --46 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -21 --7 --32 --52 --69 --83 --91 -77 -65 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -83 -70 -42 -32 -3 --24 --45 --63 --78 --85 -83 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --43 --61 --73 -86 -63 -35 -4 --22 --44 --62 --74 -85 -62 -33 -1 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -85 -60 -31 -22 --5 --31 --50 --68 --82 --91 -77 -64 -37 -28 --1 --27 --47 --66 --80 --88 -81 -68 -40 -30 -1 --25 --45 --64 --78 --87 -83 -70 -42 -32 -3 --24 --44 --63 --78 --85 -83 -70 -43 -10 --16 --39 --57 --70 -88 -66 -37 -6 --20 --42 --60 --72 -87 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --64 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -29 --1 --26 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -82 -58 -29 --1 --26 --47 --65 --77 -81 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -83 -60 -30 -21 --7 --31 --51 --69 --83 --91 -77 -63 -36 -27 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -32 -3 --24 --45 --63 --78 --85 -84 -70 -42 -32 -3 --23 --44 --63 --77 --86 -83 -71 -43 -33 -4 --23 --44 --63 --77 --85 -84 -71 -43 -33 -4 --22 --43 --62 --77 --85 -84 -71 -44 -33 -4 --23 --43 --62 --77 --84 -85 -71 -44 -11 --15 --38 --57 --69 -90 -67 -38 -6 --19 --42 --60 --72 -87 -64 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --25 --46 --64 --76 -82 -60 -31 -0 --25 --46 --64 --76 -81 -58 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -58 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -27 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -43 -32 -3 --23 --44 --63 --78 --86 -84 -71 -43 -33 -4 --23 --44 --62 --77 --84 -84 -71 -44 -33 -4 --23 --44 --62 --77 --85 -84 -72 -44 -33 -4 --23 --44 --62 --77 --84 -85 -72 -44 -33 -4 --23 --43 --62 --77 --85 -84 -72 -44 -33 -4 --22 --43 --62 --77 --84 -84 -72 -44 -33 -4 --23 --43 --62 --77 --85 -84 -72 -44 -33 -3 --23 --44 --63 --77 --84 -85 -72 -44 -11 --15 --38 --57 --69 -90 -67 -38 -6 --19 --42 --60 --72 -87 -64 -36 -4 --21 --44 --61 --74 -85 -62 -33 -2 --23 --45 --62 --75 -83 -60 -32 -1 --24 --46 --63 --75 -85 -61 -32 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -31 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -60 -31 -21 --7 --32 --51 --69 --83 --91 -77 -63 -36 -27 --2 --27 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --46 --64 --79 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --43 --61 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -61 -32 -1 --24 --46 --63 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -60 -31 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 -21 --7 --32 --51 --69 --82 --91 -77 -65 -37 -26 --3 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -83 -70 -42 -31 -3 --24 --45 --63 --77 --85 -83 -70 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --42 --61 --73 -86 -64 -35 -4 --22 --44 --62 --74 -85 -62 -33 -1 --23 --45 --63 --75 -83 -61 -32 -1 --23 --46 --63 --75 -84 -61 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -84 -59 -30 -21 --6 --31 --51 --69 --82 --91 -77 -64 -36 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -69 -42 -31 -2 --24 --45 --63 --77 --86 -83 -70 -43 -10 --16 --39 --58 --70 -89 -67 -38 -6 --20 --42 --60 --72 -86 -63 -34 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --76 -83 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -78 -64 -37 -27 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -69 -41 -31 -2 --24 --45 --63 --78 --85 -83 -70 -42 -10 --16 --40 --58 --70 -89 -66 -38 -6 --20 --42 --60 --72 -87 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -22 --6 --31 --51 --68 --82 --91 -77 -65 -37 -27 --1 --27 --47 --66 --80 --88 -81 -68 -40 -30 -1 --25 --45 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -70 -43 -10 --16 --39 --58 --70 -90 -67 -38 -6 --20 --42 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -83 -60 -31 -0 --24 --46 --64 --76 -83 -59 -31 -0 --25 --46 --64 --76 -82 -58 -31 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -60 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -27 --2 --27 --48 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -66 -38 -6 --20 --42 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -84 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --63 --76 -84 -61 -32 -22 --6 --31 --51 --69 --82 --91 -77 -65 -37 -27 --1 --27 --47 --66 --80 --88 -80 -68 -40 -30 -1 --25 --45 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -85 -71 -43 -32 -3 --23 --44 --63 --77 --86 -84 -72 -44 -33 -4 --22 --44 --62 --77 --85 -85 -72 -44 -33 -4 --23 --44 --62 --77 --85 -85 -72 -44 -33 -3 --23 --44 --63 --77 --84 -85 -72 -44 -11 --15 --38 --57 --69 -90 -67 -38 -6 --19 --42 --60 --72 -86 -64 -35 -4 --21 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -61 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -60 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --26 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --76 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --26 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -43 -10 --16 --39 --57 --70 -89 -67 -38 -6 --20 --42 --60 --72 -86 -63 -34 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -60 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 -21 --7 --31 --51 --69 --83 --91 -77 -63 -37 -27 --1 --27 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -83 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --43 --61 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -85 -61 -32 -1 --24 --46 --63 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -60 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -83 -60 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -20 --7 --32 --51 --69 --83 --91 -77 -64 -37 -26 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -71 -43 -32 -3 --23 --44 --63 --77 --86 -84 -71 -43 -32 -3 --23 --44 --63 --77 --84 -84 -72 -44 -33 -4 --23 --44 --63 --77 --85 -85 -72 -44 -33 -4 --23 --44 --62 --77 --84 -85 -72 -44 -11 --15 --39 --57 --69 -89 -66 -38 -6 --19 --42 --60 --72 -87 -64 -35 -4 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -32 -1 --24 --46 --64 --76 -81 -59 -31 -0 --25 --46 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --82 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -29 -1 --26 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -70 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --43 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -61 -33 -1 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -82 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -58 -30 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -81 -57 -29 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -81 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --86 -83 -70 -43 -10 --16 --39 --58 --70 -89 -67 -38 -6 --20 --42 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -85 -60 -31 -22 --6 --31 --51 --69 --82 --91 -77 -65 -37 -27 --1 --27 --47 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -43 -10 --16 --39 --57 --70 -89 -66 -37 -6 --20 --42 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -31 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --26 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 -21 --6 --31 --51 --69 --83 --91 -77 -63 -37 -27 --2 --27 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --86 -83 -71 -43 -32 -3 --24 --44 --63 --77 --86 -83 -72 -44 -33 -3 --23 --44 --63 --77 --84 -84 -72 -44 -32 -3 --23 --44 --63 --77 --85 -84 -72 -44 -33 -4 --23 --44 --62 --77 --84 -85 -72 -44 -11 --15 --38 --57 --69 -89 -67 -38 -6 --19 --42 --60 --72 -87 -64 -35 -4 --21 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -85 -61 -32 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --77 -82 -59 -31 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -83 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -20 --7 --32 --51 --69 --83 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -83 -70 -42 -31 -2 --24 --45 --63 --77 --85 -84 -70 -43 -33 -3 --23 --44 --63 --77 --85 -84 -71 -43 -33 -3 --23 --44 --63 --77 --84 -84 -72 -44 -33 -3 --23 --44 --63 --77 --85 -85 -72 -44 -33 -4 --22 --43 --62 --77 --84 -86 -72 -43 -33 -4 --23 --44 --63 --77 --85 -84 -72 -43 -33 -4 --23 --43 --62 --77 --84 -85 -72 -44 -33 -4 --23 --44 --62 --77 --85 -84 -72 -44 -34 -4 --22 --43 --62 --77 --84 -85 -72 -43 -10 --16 --39 --57 --69 -89 -67 -38 -6 --19 --42 --60 --72 -87 -64 -35 -4 --21 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -83 -60 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -82 -58 -30 -0 --25 --47 --64 --76 -83 -60 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -36 -27 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --42 --60 --73 -86 -64 -35 -3 --22 --44 --62 --74 -85 -61 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -81 -59 -31 -0 --25 --46 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -82 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -21 --7 --31 --51 --69 --83 --91 -77 -64 -36 -27 --1 --27 --47 --66 --80 --88 -80 -67 -39 -30 -1 --25 --46 --64 --79 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -84 -70 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --42 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -32 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 -21 --6 --32 --51 --69 --83 --91 -77 -64 -37 -26 --2 --27 --48 --66 --80 --88 -80 -68 -40 -29 -0 --26 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --64 --78 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -66 -38 -6 --20 --42 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -1 --24 --46 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -60 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -21 --7 --31 --51 --69 --83 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -67 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -32 -2 --24 --45 --63 --78 --85 -84 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --43 --60 --73 -86 -63 -35 -4 --22 --44 --62 --74 -85 -61 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -84 -60 -31 -21 --6 --31 --51 --69 --82 --91 -78 -65 -37 -27 --1 --27 --47 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -83 -70 -42 -32 -3 --24 --45 --63 --77 --85 -84 -71 -43 -10 --16 --39 --58 --70 -89 -66 -37 -6 --20 --42 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -32 -1 --24 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -58 -31 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -20 --7 --32 --51 --69 --83 --91 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -41 -30 -1 --25 --46 --64 --79 --87 -82 -70 -43 -31 -2 --24 --44 --63 --78 --85 -84 -71 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --42 --60 --73 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -22 --6 --31 --51 --69 --82 --91 -78 -65 -37 -27 --2 --27 --47 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -70 -42 -32 -3 --23 --44 --63 --77 --86 -83 -71 -43 -33 -4 --23 --44 --63 --77 --85 -84 -71 -44 -33 -4 --23 --44 --62 --77 --85 -84 -71 -44 -33 -4 --23 --44 --62 --77 --85 -85 -72 -44 -11 --15 --39 --57 --69 -90 -67 -38 -6 --19 --42 --60 --72 -87 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -60 -31 -0 --25 --46 --64 --76 -82 -58 -30 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -80 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -81 -58 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --65 --76 -83 -60 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -31 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -83 -60 -31 -0 --25 --47 --64 --76 -82 -58 -29 --1 --26 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -20 --7 --32 --51 --69 --83 --91 -77 -65 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -83 -70 -42 -31 -2 --24 --45 --63 --77 --86 -84 -71 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --42 --61 --73 -87 -64 -35 -4 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -60 -31 -0 --25 --46 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --82 --91 -77 -64 -36 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --77 --86 -84 -71 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --43 --60 --73 -86 -64 -35 -3 --22 --44 --62 --74 -85 -61 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -83 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -31 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -31 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -81 -59 -30 -0 --25 --47 --64 --76 -83 -59 -31 -21 --7 --31 --51 --69 --83 --91 -77 -64 -37 -27 --2 --27 --48 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -69 -42 -31 -2 --24 --45 --63 --77 --85 -83 -70 -43 -32 -3 --24 --44 --63 --77 --86 -84 -71 -43 -33 -4 --23 --44 --62 --77 --85 -84 -71 -44 -33 -4 --23 --43 --62 --77 --85 -83 -72 -44 -33 -4 --23 --44 --62 --77 --84 -85 -72 -44 -11 --15 --38 --57 --69 -89 -67 -39 -6 --19 --42 --60 --72 -86 -63 -35 -4 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -83 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 -0 --25 --47 --64 --76 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -58 -30 -21 --6 --31 --51 --69 --82 --91 -76 -63 -37 -27 --2 --27 --48 --66 --80 --88 -80 -67 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --86 -83 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --42 --60 --73 -87 -63 -35 -3 --22 --44 --62 --74 -84 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --83 --91 -77 -64 -37 -26 --3 --28 --48 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -83 -71 -43 -10 --16 --39 --57 --69 -89 -66 -37 -5 --20 --42 --61 --73 -86 -63 -35 -4 --22 --44 --62 --74 -86 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -85 -60 -31 -22 --6 --31 --51 --68 --82 --91 -78 -65 -37 -27 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -32 -2 --24 --45 --63 --78 --85 -84 -71 -43 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --42 --60 --73 -86 -64 -35 -3 --22 --44 --62 --74 -85 -61 -33 -2 --23 --45 --63 --75 -83 -61 -33 -1 --24 --45 --63 --75 -83 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -31 -0 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --82 --91 -77 -64 -36 -26 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -43 -32 -3 --23 --44 --63 --77 --86 -84 -72 -43 -33 -3 --23 --44 --63 --77 --85 -84 -72 -43 -33 -4 --22 --43 --62 --77 --85 -84 -72 -43 -33 -4 --22 --43 --62 --77 --84 -85 -71 -43 -10 --16 --39 --57 --69 -89 -67 -38 -6 --19 --42 --60 --72 -87 -64 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -60 -31 -0 --25 --46 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -82 -60 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --76 -82 -58 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -21 --6 --31 --51 --69 --83 --91 -77 -64 -37 -27 --2 --27 --48 --66 --80 --88 -80 -67 -39 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -31 -2 --24 --45 --63 --78 --85 -83 -70 -43 -32 -3 --23 --44 --63 --77 --86 -83 -71 -44 -33 -4 --23 --44 --62 --77 --85 -84 -71 -44 -33 -3 --23 --44 --62 --77 --85 -84 -72 -44 -33 -4 --23 --44 --62 --77 --84 -85 -72 -44 -33 -4 --23 --44 --62 --77 --85 -85 -72 -44 -33 -4 --22 --43 --62 --77 --84 -85 -72 -44 -33 -4 --23 --44 --62 --77 --85 -84 -72 -44 -33 -4 --22 --44 --62 --77 --84 -85 -72 -44 -11 --15 --38 --57 --69 -90 -67 -38 -6 --20 --42 --60 --72 -87 -64 -35 -4 --21 --44 --61 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --23 --46 --63 --75 -84 -61 -32 -1 --24 --46 --63 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 -21 --6 --31 --51 --69 --82 --91 -76 -63 -37 -27 --2 --28 --48 --66 --80 --88 -80 -68 -40 -30 -0 --25 --46 --64 --79 --87 -82 -70 -43 -31 -2 --24 --45 --63 --78 --85 -83 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --43 --61 --73 -86 -64 -35 -4 --22 --44 --62 --74 -84 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --76 -84 -60 -31 -1 --24 --46 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 -21 --6 --31 --51 --69 --82 --91 -76 -64 -37 -27 --2 --27 --48 --66 --80 --88 -79 -68 -40 -30 -1 --25 --46 --64 --78 --87 -81 -70 -42 -31 -2 --24 --45 --63 --78 --86 -83 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -6 --20 --42 --60 --73 -86 -63 -35 -4 --22 --44 --61 --74 -85 -62 -33 -1 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -31 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --76 -83 -60 -31 -21 --7 --32 --51 --69 --83 --91 -77 -64 -36 -27 --1 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -32 -3 --24 --44 --63 --77 --85 -83 -70 -42 -10 --16 --39 --58 --70 -89 -66 -37 -5 --20 --42 --60 --73 -86 -63 -34 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --63 --75 -83 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --24 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --77 -81 -57 -30 --1 --25 --47 --65 --77 -82 -59 -31 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -30 -21 --7 --32 --51 --69 --82 --91 -77 -65 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -69 -42 -31 -3 --24 --45 --63 --77 --86 -83 -70 -43 -10 --16 --39 --57 --70 -89 -66 -38 -6 --20 --42 --60 --72 -86 -63 -35 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -84 -60 -31 -22 --5 --31 --50 --68 --82 --91 -77 -65 -37 -27 --2 --27 --47 --66 --80 --88 -81 -67 -40 -30 -1 --25 --45 --64 --78 --87 -82 -69 -42 -32 -2 --24 --45 --63 --78 --85 -83 -70 -43 -10 --16 --39 --57 --70 -89 -66 -37 -6 --20 --42 --60 --73 -86 -63 -34 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -83 -60 -31 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -58 -30 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -80 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -21 --6 --31 --51 --69 --82 --91 -77 -64 -37 -27 --2 --27 --47 --66 --80 --88 -80 -67 -40 -30 -0 --25 --46 --64 --79 --87 -82 -69 -42 -32 -3 --24 --45 --63 --78 --85 -83 -71 -43 -10 --16 --39 --57 --70 -89 -67 -38 -5 --20 --42 --60 --73 -86 -64 -35 -4 --22 --44 --62 --74 -84 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -83 -60 -31 -22 --6 --31 --51 --68 --82 --91 -77 -65 -37 -27 --2 --27 --48 --66 --80 --88 -81 -68 -40 -30 -1 --25 --45 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -70 -43 -33 -3 --23 --44 --63 --77 --86 -83 -71 -43 -33 -4 --23 --44 --63 --77 --85 -84 -71 -43 -33 -3 --23 --44 --63 --77 --85 -84 -72 -45 -33 -4 --23 --44 --62 --77 --85 -85 -72 -44 -11 --15 --38 --57 --69 -89 -67 -38 -6 --19 --42 --60 --72 -86 -64 -35 -4 --21 --44 --61 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --63 --75 -85 -61 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -83 -60 -31 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -58 -31 -0 --25 --47 --64 --77 -81 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --65 --76 -82 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -82 -59 -31 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -60 -30 -21 --6 --31 --51 --69 --82 --91 -77 -64 -36 -26 --2 --28 --48 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --86 -84 -70 -43 -10 --16 --39 --58 --70 -89 -67 -38 -6 --20 --42 --60 --72 -86 -63 -34 -3 --22 --44 --62 --74 -85 -62 -33 -2 --23 --45 --63 --75 -83 -60 -32 -1 --24 --46 --64 --75 -84 -60 -31 -1 --24 --46 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -81 -58 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --65 --76 -83 -60 -30 -0 --25 --47 --64 --77 -80 -58 -30 --1 --25 --47 --64 --77 -81 -58 -31 -0 --25 --47 --64 --76 -82 -58 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -31 -21 --7 --32 --51 --69 --82 --92 -77 -64 -37 -26 --2 --28 --48 --66 --80 --88 -80 -68 -40 -30 -1 --25 --46 --64 --79 --87 -82 -70 -42 -31 -2 --24 --44 --63 --78 --85 -83 -71 -43 -10 --16 --39 --57 --70 -89 -66 -37 -5 --20 --43 --61 --73 -86 -63 -35 -3 --22 --44 --62 --74 -84 -62 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --24 --46 --63 --75 -83 -60 -32 -1 --24 --46 --64 --76 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --76 -83 -60 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -81 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --65 --76 -82 -58 -30 -0 --25 --47 --64 --76 -81 -58 -30 -0 --25 --47 --64 --76 -83 -59 -31 -0 --25 --47 --64 --77 -81 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -58 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -58 -30 --1 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -31 -0 --25 --47 --64 --77 -81 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -59 -30 --1 --25 --47 --65 --76 -83 -59 -31 -21 --7 --32 --51 --69 --83 --91 -76 -64 -37 -26 --2 --28 --48 --66 --80 --88 -80 -68 -40 -29 -0 --25 --46 --65 --79 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -71 -43 -32 -3 --23 --44 --63 --77 --86 -84 -72 -44 -33 -3 --23 --44 --63 --77 --84 -85 -72 -44 -33 -4 --23 --44 --62 --77 --85 -85 -72 -44 -33 -4 --22 --43 --62 --77 --85 -85 -72 -43 -10 --16 --39 --57 --69 -90 -67 -38 -6 --19 --42 --60 --72 -87 -64 -35 -4 --21 --44 --61 --74 -84 -61 -33 -2 --23 --45 --63 --75 -84 -61 -32 -1 --24 --46 --63 --75 -84 -60 -31 -0 --24 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -59 -31 -0 --25 --46 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -83 -58 -30 --1 --25 --47 --64 --76 -81 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 -0 --25 --47 --64 --76 -83 -60 -30 -20 --7 --32 --51 --69 --83 --91 -77 -65 -37 -26 --2 --28 --48 --66 --80 --88 -81 -68 -41 -30 -1 --25 --46 --64 --78 --87 -82 -70 -42 -31 -2 --24 --45 --63 --78 --85 -84 -70 -43 -10 --16 --39 --58 --70 -89 -66 -37 -6 --20 --42 --60 --73 -86 -63 -34 -3 --22 --44 --62 --74 -85 -61 -33 -2 --23 --45 --63 --75 -83 -61 -32 -1 --23 --45 --63 --75 -84 -60 -31 -0 --25 --46 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -82 -58 -30 --1 --25 --47 --64 --76 -82 -59 -31 --1 --25 --47 --64 --76 -82 -59 -31 -0 --25 --47 --64 --76 -83 -59 -30 --1 --25 --47 --64 --76 -81 -59 -31 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --76 -82 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 --1 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --77 -82 -59 -30 --1 --25 --47 --65 --77 -81 -58 -30 --1 --25 --47 --64 --76 -83 -59 -30 -0 --25 --47 --64 --77 -82 -59 -30 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 --47 --65 --76 -82 -59 -31 -0 --25 --47 --64 --77 -81 -58 -30 --1 --25 diff --git a/traces/modulation-fsk2a-50.pm3 b/traces/modulation-fsk2a-50.pm3 deleted file mode 100644 index 3fd2d18b5..000000000 --- a/traces/modulation-fsk2a-50.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -23 --5 --30 --50 --67 --81 --93 -71 -64 -38 -29 --1 --26 --46 --65 --78 --91 -75 -68 -42 -30 -1 --25 --45 --63 --78 --90 -78 -70 -43 -32 -3 --23 --44 --63 --77 --89 -79 -71 -44 -34 -5 --22 --43 --62 --76 --88 -79 -72 -45 -12 --15 --38 --56 --72 -84 -66 -38 -6 --19 --42 --59 --75 -82 -63 -36 -4 --21 --43 --61 --76 -79 -61 -34 -3 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --77 -77 -59 -32 -1 --24 --45 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -76 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --64 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --25 --46 --64 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -80 -59 -31 -23 --5 --30 --50 --67 --81 --93 -72 -64 -38 -28 --1 --26 --46 --65 --79 --91 -75 -68 -41 -31 -2 --24 --45 --63 --77 --90 -78 -70 -43 -33 -3 --23 --44 --62 --76 --89 -78 -71 -44 -33 -4 --22 --43 --62 --76 --88 -79 -71 -44 -11 --15 --38 --57 --72 -85 -66 -38 -6 --19 --41 --59 --75 -82 -63 -35 -4 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --23 --45 --63 --78 -79 -60 -32 -1 --24 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --79 --90 -72 -66 -37 -29 --1 --25 --47 --64 --79 --90 -75 -69 -40 -32 -1 --23 --45 --62 --78 --89 -77 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -42 -35 -3 --22 --44 --61 --77 --88 -77 -73 -43 -35 -4 --21 --43 --61 --76 -84 -66 -38 -6 --19 --42 --60 --75 -81 -62 -35 -4 --21 --44 --61 --76 -80 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --63 --77 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -60 -31 -1 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --64 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -80 -60 -31 -1 --24 --46 --63 --78 -76 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --63 --78 -78 -59 -32 -1 --23 --45 --63 --78 -78 -58 -31 -0 --25 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --79 --90 -72 -66 -37 -30 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -2 --23 --45 --62 --78 --89 -76 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -43 -35 -4 --21 --44 --61 --77 --88 -77 -72 -43 -35 -4 --21 --43 --61 --76 -84 -66 -37 -5 --20 --42 --60 --75 -81 -63 -35 -4 --21 --43 --61 --76 -80 -61 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --78 -79 -60 -32 -1 --23 --45 --63 --77 -78 -59 -32 -1 --24 --46 --63 --78 --90 -72 -67 -38 -29 --1 --25 --47 --64 --79 --90 -75 -70 -41 -32 -1 --23 --45 --62 --78 --89 -77 -72 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -42 -34 -3 --22 --44 --61 --77 --88 -77 -73 -43 -35 -4 --21 --43 --61 --76 -84 -66 -38 -6 --19 --42 --59 --75 -81 -62 -35 -4 --21 --44 --61 --76 -80 -62 -34 -2 --22 --44 --62 --77 -81 -60 -33 -1 --23 --45 --63 --77 -78 -60 -32 -1 --23 --45 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -80 -60 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --64 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -80 -60 -31 -23 --5 --30 --50 --68 --81 --93 -71 -64 -38 -28 --1 --26 --46 --65 --78 --91 -75 -67 -41 -31 -2 --24 --45 --63 --77 --90 -77 -69 -43 -33 -3 --23 --44 --62 --76 --89 -78 -71 -44 -34 -4 --22 --43 --62 --76 --89 -79 -72 -45 -11 --15 --38 --56 --72 -85 -66 -38 -6 --19 --42 --59 --75 -82 -63 -36 -4 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -61 -33 -1 --23 --45 --62 --77 -78 -60 -33 -2 --23 --45 --62 --77 -78 -59 -32 -24 --5 --30 --49 --67 --81 --93 -73 -65 -38 -29 -0 --26 --46 --64 --78 --91 -76 -68 -41 -32 -2 --24 --44 --63 --77 --90 -78 -70 -43 -33 -3 --23 --43 --62 --76 --89 -78 -71 -44 -34 -4 --22 --43 --62 --76 --89 -79 -72 -45 -34 -4 --22 --43 --62 --76 --88 -79 -71 -45 -35 -5 --21 --42 --61 --75 --88 -79 -71 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --22 --43 --61 --75 --88 -79 -72 -45 -34 -5 --22 --42 --61 --75 --88 -79 -72 -45 -12 --14 --37 --56 --71 -85 -67 -39 -7 --19 --41 --59 --75 -82 -63 -36 -4 --21 --43 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -80 -61 -33 -2 --23 --45 --62 --77 -78 -60 -33 -1 --23 --45 --63 --77 -78 -60 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --64 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --64 --78 -78 -59 -32 -1 --24 --46 --63 --78 -79 -59 -32 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -76 -58 -31 -0 --24 --46 --63 --78 -78 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -77 -59 -32 -1 --24 --46 --63 --78 -80 -59 -31 -22 --5 --30 --50 --68 --81 --93 -72 -64 -38 -28 --1 --26 --47 --65 --79 --91 -76 -68 -41 -31 -2 --24 --44 --63 --77 --90 -77 -69 -43 -33 -4 --23 --43 --62 --76 --89 -78 -70 -44 -34 -4 --22 --43 --62 --76 --89 -79 -71 -45 -11 --15 --38 --56 --72 -84 -66 -39 -7 --19 --41 --59 --74 -82 -63 -35 -4 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -1 --23 --45 --63 --77 -78 -60 -33 -2 --23 --45 --63 --77 -79 -60 -32 -1 --24 --45 --63 --77 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -80 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 --90 -72 -66 -37 -29 --1 --25 --47 --64 --79 --90 -74 -70 -40 -32 -1 --23 --45 --63 --78 --89 -77 -71 -41 -33 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -4 --21 --44 --61 --77 --88 -77 -73 -43 -35 -4 --21 --43 --61 --76 -84 -66 -38 -6 --19 --42 --60 --75 -81 -62 -35 -4 --21 --43 --61 --76 -79 -61 -34 -2 --22 --44 --62 --77 -79 -60 -33 -1 --23 --45 --63 --77 -78 -60 -32 -1 --23 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -60 -32 -1 --24 --45 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --64 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -57 -31 -0 --24 --46 --64 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --64 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -23 --5 --30 --50 --67 --81 --93 -72 -64 -38 -28 --1 --26 --47 --65 --79 --91 -76 -68 -42 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -4 --23 --44 --62 --76 --89 -78 -71 -44 -33 -4 --22 --43 --62 --76 --89 -78 -71 -44 -34 -5 --22 --43 --61 --76 --88 -79 -72 -45 -33 -4 --22 --43 --62 --76 --88 -79 -72 -45 -34 -5 --22 --43 --61 --76 --88 -80 -72 -46 -35 -5 --21 --42 --61 --75 --88 -80 -72 -45 -34 -5 --22 --42 --61 --75 --88 -79 -72 -45 -12 --14 --37 --56 --72 -86 -67 -39 -7 --18 --41 --59 --74 -82 -63 -36 -4 --21 --43 --61 --76 -81 -62 -34 -2 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -60 -33 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --64 --78 -78 -58 -32 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --64 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -0 --24 --46 --63 --78 -77 -58 -32 -0 --24 --46 --63 --78 --90 -72 -66 -37 -29 --1 --25 --47 --64 --79 --90 -75 -70 -40 -32 -1 --23 --45 --63 --78 --89 -77 -72 -42 -33 -3 --22 --44 --61 --77 --88 -77 -72 -43 -34 -3 --22 --44 --61 --76 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 -84 -65 -38 -6 --19 --42 --60 --75 -81 -62 -35 -4 --21 --43 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --23 --45 --63 --77 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --64 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -23 --5 --30 --50 --68 --81 --93 -72 -64 -38 -29 --1 --26 --46 --65 --78 --91 -76 -69 -42 -31 -2 --24 --45 --63 --77 --90 -77 -69 -43 -33 -3 --23 --43 --62 --76 --89 -78 -71 -44 -33 -3 --23 --43 --62 --76 --89 -79 -72 -45 -11 --15 --38 --56 --72 -85 -66 -39 -6 --19 --42 --59 --75 -82 -63 -36 -4 --21 --43 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 --90 -72 -67 -38 -30 --1 --25 --47 --64 --79 --90 -75 -70 -40 -33 -2 --23 --45 --62 --77 --89 -77 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -43 -35 -4 --21 --44 --61 --76 --88 -77 -73 -43 -35 -4 --21 --44 --61 --76 -84 -66 -38 -6 --19 --42 --59 --75 -81 -62 -35 -3 --21 --44 --61 --76 -79 -61 -34 -2 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --63 --77 -78 -60 -32 -1 --23 --45 --63 --78 -79 -60 -32 -1 --24 --45 --63 --77 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --64 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 --90 -71 -66 -37 -29 --1 --26 --47 --64 --79 --90 -74 -70 -40 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -43 -34 -3 --22 --44 --61 --77 --88 -77 -73 -44 -35 -3 --21 --44 --61 --77 --88 -78 -74 -44 -35 -4 --21 --43 --61 --76 --88 -79 -73 -44 -36 -5 --20 --43 --61 --76 --87 -77 -73 -44 -36 -4 --21 --43 --61 --76 --88 -78 -74 -44 -35 -4 --21 --43 --61 --76 --88 -79 -74 -44 -36 -4 --21 --43 --61 --75 -83 -66 -38 -6 --19 --42 --59 --75 -82 -63 -35 -4 --21 --44 --61 --76 -80 -62 -34 -3 --22 --44 --62 --76 -82 -61 -32 -1 --23 --45 --63 --78 -79 -60 -33 -1 --23 --45 --63 --78 -78 -60 -32 -1 --24 --45 --63 --77 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -23 --5 --30 --50 --67 --81 --93 -72 -65 -38 -27 --1 --27 --47 --65 --79 --91 -76 -68 -41 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -4 --23 --43 --62 --76 --89 -79 -71 -44 -33 -4 --22 --43 --62 --76 --89 -79 -71 -45 -34 -4 --22 --43 --62 --76 --88 -79 -72 -45 -34 -4 --22 --42 --61 --76 --88 -79 -72 -45 -34 -5 --22 --42 --61 --75 --88 -79 -72 -45 -34 -4 --22 --43 --61 --76 --88 -79 -73 -46 -34 -5 --22 --43 --61 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -46 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -12 --14 --37 --56 --72 -85 -67 -39 -6 --19 --42 --59 --74 -82 -63 -36 -4 --21 --43 --61 --76 -80 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -60 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -23 --5 --30 --50 --67 --81 --93 -72 -64 -38 -29 -0 --26 --46 --65 --79 --91 -75 -68 -41 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -4 --22 --43 --62 --76 --89 -78 -71 -44 -33 -4 --22 --43 --62 --76 --89 -79 -70 -44 -11 --15 --38 --56 --72 -86 -66 -39 -6 --19 --41 --59 --75 -82 -63 -35 -4 --21 --43 --61 --76 -80 -62 -34 -3 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -59 -32 -1 --23 --45 --63 --77 -78 -60 -32 -1 --23 --45 --63 --77 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --64 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -58 -31 -23 --5 --30 --50 --68 --81 --93 -72 -63 -38 -28 -0 --26 --46 --65 --78 --91 -75 -68 -42 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -3 --23 --44 --62 --76 --89 -78 -71 -44 -33 -4 --22 --43 --62 --76 --89 -79 -71 -45 -11 --15 --38 --56 --72 -85 -67 -39 -7 --19 --41 --59 --74 -81 -63 -36 -4 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -1 --23 --45 --62 --77 -78 -60 -33 -2 --23 --45 --63 --77 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --79 --90 -72 -66 -37 -29 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -2 --23 --45 --62 --77 --89 -76 -71 -42 -34 -3 --22 --44 --62 --77 --89 -77 -72 -43 -34 -3 --22 --44 --61 --77 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 -84 -65 -38 -6 --19 --42 --60 --75 -82 -63 -35 -4 --21 --43 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --63 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -79 -60 -32 -1 --24 --45 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 --90 -72 -66 -37 -29 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -43 -35 -3 --22 --44 --61 --77 --88 -77 -73 -44 -35 -4 --21 --44 --61 --76 -84 -66 -38 -6 --19 --42 --59 --75 -81 -63 -35 -4 --21 --43 --61 --76 -80 -61 -34 -2 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --23 --45 --63 --78 --90 -72 -66 -38 -30 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -43 -35 -4 --21 --44 --61 --76 --88 -77 -73 -44 -35 -4 --21 --43 --61 --75 -84 -65 -38 -6 --19 --42 --60 --75 -82 -63 -36 -4 --21 --43 --61 --76 -80 -61 -33 -2 --23 --44 --62 --77 -81 -60 -33 -1 --23 --45 --62 --77 -78 -60 -32 -1 --23 --45 --63 --77 -78 -59 -31 -1 --24 --46 --63 --78 -80 -60 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --64 --78 -78 -58 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -23 --5 --30 --50 --67 --81 --93 -72 -63 -38 -28 --1 --26 --47 --65 --79 --91 -75 -68 -41 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -4 --23 --43 --62 --76 --89 -78 -71 -44 -33 -4 --22 --43 --62 --76 --88 -78 -71 -45 -11 --15 --38 --56 --72 -85 -66 -39 -6 --19 --41 --59 --74 -81 -63 -36 -4 --21 --43 --61 --76 -82 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -59 -32 -24 --4 --30 --49 --67 --81 --93 -72 -65 -39 -29 -0 --26 --46 --64 --78 --91 -75 -68 -42 -31 -2 --24 --45 --63 --77 --90 -78 -70 -43 -33 -4 --23 --43 --62 --76 --89 -78 -70 -44 -34 -5 --22 --43 --61 --76 --88 -79 -71 -45 -34 -5 --22 --43 --62 --76 --88 -79 -72 -45 -34 -5 --22 --43 --61 --76 --88 -79 -72 -45 -35 -5 --22 --42 --61 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --76 --88 -79 -72 -45 -34 -5 --22 --43 --61 --75 --88 -79 -72 -46 -12 --14 --37 --56 --71 -86 -67 -39 -7 --18 --41 --59 --74 -81 -63 -36 -5 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -60 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --23 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --64 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --25 --46 --64 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -58 -31 -0 --25 --46 --64 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -80 -58 -31 -23 --5 --30 --50 --68 --81 --93 -72 -64 -38 -28 --1 --26 --46 --65 --79 --91 -75 -68 -41 -31 -2 --24 --44 --63 --77 --90 -77 -70 -43 -32 -3 --23 --44 --62 --77 --89 -78 -71 -44 -34 -4 --22 --43 --62 --76 --88 -79 -71 -45 -11 --15 --38 --56 --72 -86 -67 -38 -6 --19 --42 --59 --75 -81 -62 -36 -4 --21 --43 --61 --76 -81 -62 -34 -2 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --24 --45 --63 --77 -78 -59 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -79 -58 -31 -0 --25 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 --90 -72 -65 -37 -29 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -43 -35 -3 --22 --44 --61 --77 --88 -77 -72 -43 -35 -4 --21 --43 --61 --75 -84 -65 -38 -6 --19 --42 --60 --75 -82 -63 -35 -4 --21 --43 --61 --76 -79 -61 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --63 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -23 --5 --31 --50 --68 --81 --93 -73 -65 -38 -28 --1 --26 --46 --65 --79 --91 -75 -68 -42 -32 -3 --24 --44 --63 --77 --90 -78 -70 -43 -33 -3 --23 --43 --62 --76 --89 -78 -71 -43 -34 -4 --22 --43 --62 --76 --89 -79 -72 -45 -34 -5 --22 --43 --62 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -34 -5 --22 --43 --61 --75 --88 -79 -72 -45 -35 -5 --22 --42 --61 --75 --88 -80 -72 -45 -34 -5 --22 --42 --61 --76 --88 -79 -72 -45 -12 --14 --37 --56 --72 -85 -67 -39 -7 --19 --41 --59 --74 -82 -64 -36 -4 --21 --43 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --23 --45 --63 --77 -78 -60 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --64 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 --90 -71 -65 -37 -30 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -1 --23 --45 --62 --77 --89 -76 -70 -42 -34 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -3 --22 --44 --61 --76 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 -83 -65 -38 -6 --19 --42 --60 --75 -82 -63 -36 -4 --21 --43 --61 --76 -80 -61 -33 -2 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -60 -33 -2 --23 --45 --63 --77 -78 -58 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -58 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -76 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --64 --78 -77 -59 -32 -1 --24 --45 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -23 --5 --30 --50 --68 --81 --93 -72 -65 -38 -28 --1 --26 --46 --65 --78 --91 -76 -68 -41 -31 -1 --24 --45 --63 --77 --90 -78 -70 -43 -33 -3 --23 --43 --62 --76 --89 -79 -71 -44 -34 -4 --22 --43 --62 --76 --89 -79 -71 -45 -11 --15 --38 --56 --72 -85 -66 -38 -6 --19 --42 --60 --75 -82 -63 -36 -4 --21 --43 --61 --76 -80 -62 -33 -2 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -60 -33 -1 --23 --45 --63 --77 -78 -59 -32 -1 --24 --46 --63 --78 --90 -72 -67 -38 -30 --1 --25 --46 --64 --79 --90 -74 -69 -40 -32 -2 --23 --45 --62 --78 --89 -76 -71 -42 -34 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -4 --21 --44 --61 --77 --88 -77 -73 -43 -35 -4 --21 --43 --61 --75 -84 -65 -37 -6 --19 --42 --60 --75 -82 -63 -35 -4 --21 --43 --61 --76 -80 -61 -33 -2 --23 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -60 -33 -1 --23 --45 --62 --77 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -77 -59 -32 -1 --24 --45 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --79 --90 -72 -67 -37 -29 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -2 --23 --45 --62 --77 --89 -75 -70 -42 -34 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -3 --22 --44 --61 --77 --88 -77 -73 -43 -35 -4 --21 --44 --61 --76 --88 -77 -73 -43 -35 -4 --21 --43 --61 --76 --88 -78 -73 -44 -35 -4 --21 --43 --61 --76 --88 -77 -73 -44 -36 -4 --21 --43 --61 --76 --88 -77 -73 -44 -36 -4 --21 --43 --60 --76 --88 -77 -73 -44 -35 -4 --21 --43 --60 --75 -85 -66 -38 -6 --20 --42 --60 --75 -82 -63 -36 -4 --21 --43 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -80 -60 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --23 --45 --63 --78 -78 -58 -32 -1 --24 --45 --63 --78 -80 -60 -32 -1 --24 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -57 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -23 --5 --30 --50 --67 --81 --93 -72 -65 -38 -29 -0 --26 --46 --65 --78 --91 -75 -68 -41 -31 -2 --24 --44 --63 --77 --90 -77 -69 -42 -33 -3 --23 --44 --62 --76 --89 -78 -71 -44 -34 -5 --22 --43 --62 --76 --89 -78 -71 -45 -34 -4 --22 --43 --61 --76 --88 -79 -71 -45 -34 -5 --22 --43 --61 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -71 -45 -34 -5 --22 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -46 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -34 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -34 -5 --22 --42 --61 --75 --88 -79 -72 -45 -12 --14 --37 --56 --71 -86 -67 -39 -6 --19 --41 --59 --74 -82 -63 -36 -4 --21 --43 --61 --76 -80 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -60 -33 -2 --23 --45 --63 --77 -78 -59 -32 -1 --23 --45 --63 --77 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --64 --78 -78 -59 -31 -23 --5 --30 --50 --68 --81 --93 -72 -65 -38 -28 --1 --26 --46 --65 --79 --91 -75 -68 -42 -31 -2 --24 --45 --63 --77 --90 -78 -70 -43 -33 -3 --23 --44 --62 --76 --89 -78 -71 -45 -33 -4 --22 --43 --62 --76 --89 -79 -72 -45 -12 --14 --38 --56 --72 -85 -66 -38 -6 --19 --42 --60 --75 -82 -63 -36 -5 --21 --43 --61 --76 -80 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --45 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --63 --78 -80 -60 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -80 -59 -31 -23 --5 --30 --50 --67 --81 --93 -72 -64 -38 -29 -0 --26 --46 --65 --78 --91 -75 -68 -42 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -32 -3 --23 --44 --62 --76 --89 -79 -72 -45 -33 -4 --22 --43 --62 --76 --89 -79 -72 -45 -11 --15 --38 --56 --72 -85 -66 -39 -7 --19 --42 --59 --74 -82 -64 -36 -4 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 --90 -71 -66 -37 -29 --1 --26 --47 --64 --79 --90 -75 -70 -41 -32 -1 --23 --45 --63 --78 --89 -77 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -43 -35 -4 --21 --44 --61 --76 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 -84 -66 -38 -6 --19 --42 --59 --75 -82 -63 -35 -4 --21 --44 --61 --76 -79 -61 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --63 --77 -79 -60 -32 -1 --24 --45 --63 --78 -79 -60 -32 -1 --24 --45 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -32 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 --90 -72 -67 -38 -29 --1 --26 --47 --64 --79 --90 -74 -70 -41 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -34 -3 --22 --44 --62 --77 --88 -77 -73 -43 -34 -3 --21 --44 --61 --77 --88 -77 -73 -43 -35 -4 --21 --43 --61 --75 -83 -66 -38 -6 --19 --42 --60 --75 -82 -63 -35 -4 --21 --44 --61 --76 -79 -61 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --63 --77 -79 -60 -33 -1 --23 --45 --63 --77 -78 -59 -32 -1 --24 --46 --63 --78 --90 -72 -67 -38 -30 --1 --25 --47 --64 --79 --90 -75 -70 -41 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -43 -35 -3 --21 --44 --61 --77 --88 -77 -73 -44 -35 -4 --21 --44 --61 --76 -84 -65 -38 -6 --19 --42 --59 --75 -82 -63 -35 -4 --21 --43 --61 --76 -80 -61 -34 -3 --22 --44 --62 --76 -81 -61 -33 -2 --23 --45 --63 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --64 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -79 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -80 -59 -31 -22 --5 --30 --50 --68 --81 --94 -72 -65 -38 -28 --1 --26 --46 --65 --79 --91 -75 -68 -42 -31 -2 --24 --45 --63 --77 --90 -78 -70 -43 -33 -3 --23 --43 --62 --76 --89 -79 -71 -44 -33 -4 --22 --43 --62 --76 --89 -79 -71 -45 -11 --15 --38 --56 --72 -84 -66 -38 -6 --19 --42 --59 --75 -83 -64 -36 -4 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --77 -78 -59 -32 -24 --5 --30 --49 --67 --81 --93 -72 -65 -39 -29 -0 --26 --46 --65 --78 --91 -76 -68 -42 -31 -2 --24 --45 --63 --77 --90 -78 -71 -44 -33 -3 --23 --44 --62 --76 --89 -79 -71 -44 -33 -4 --22 --43 --62 --76 --89 -79 -72 -45 -34 -4 --22 --43 --62 --76 --89 -79 -72 -45 -34 -5 --22 --42 --61 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --76 --88 -79 -72 -45 -12 --14 --37 --56 --71 -85 -66 -39 -6 --19 --41 --59 --75 -82 -64 -36 -4 --21 --43 --61 --76 -79 -61 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -60 -33 -1 --23 --45 --63 --77 -77 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -76 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --64 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -57 -31 -0 --25 --46 --64 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -80 -59 -31 -23 --5 --30 --50 --68 --81 --93 -72 -64 -38 -28 --1 --26 --46 --65 --78 --91 -75 -68 -42 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -3 --23 --44 --62 --76 --89 -79 -71 -44 -33 -4 --22 --43 --62 --76 --89 -79 -72 -45 -11 --15 --38 --56 --72 -85 -66 -39 -7 --19 --41 --59 --74 -82 -63 -36 -4 --21 --43 --61 --76 -82 -62 -35 -3 --22 --44 --62 --77 -78 -60 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --24 --45 --63 --78 -78 -60 -32 -1 --23 --45 --63 --77 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --64 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 --90 -72 -66 -37 -29 --1 --26 --47 --64 --79 --90 -75 -69 -40 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -34 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -3 --22 --44 --61 --76 --88 -77 -74 -44 -35 -3 --21 --44 --61 --76 -84 -65 -38 -6 --19 --42 --60 --75 -82 -63 -35 -4 --21 --43 --61 --76 -79 -61 -34 -3 --22 --45 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -59 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --64 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -23 --5 --30 --50 --68 --81 --93 -72 -65 -38 -28 --1 --26 --47 --65 --78 --91 -75 -68 -41 -31 -2 --24 --45 --63 --77 --90 -78 -70 -43 -33 -3 --23 --44 --62 --76 --89 -79 -71 -44 -33 -4 --22 --43 --62 --76 --89 -79 -72 -45 -34 -4 --22 --43 --61 --76 --89 -79 -72 -44 -34 -5 --22 --43 --62 --76 --88 -79 -72 -45 -35 -5 --22 --42 --61 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -71 -45 -35 -5 --21 --42 --61 --75 --88 -79 -71 -45 -12 --14 --38 --56 --72 -86 -67 -39 -7 --19 --41 --59 --74 -82 -63 -36 -4 --21 --43 --61 --76 -80 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --78 -79 -60 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -60 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 --90 -72 -66 -37 -29 --2 --26 --48 --65 --80 --91 -75 -70 -41 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -33 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -4 --21 --43 --61 --76 --88 -77 -73 -43 -35 -3 --22 --44 --61 --76 -84 -66 -38 -6 --19 --42 --59 --75 -82 -63 -35 -4 --21 --43 --61 --76 -79 -61 -34 -2 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --25 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -60 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --64 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -80 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --64 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -23 --5 --30 --50 --68 --81 --93 -72 -65 -38 -28 --1 --26 --46 --65 --79 --91 -76 -68 -41 -31 -2 --24 --45 --63 --77 --90 -78 -70 -43 -33 -3 --23 --43 --62 --77 --89 -78 -71 -44 -33 -4 --22 --43 --62 --76 --89 -79 -71 -45 -11 --15 --38 --56 --72 -85 -67 -39 -6 --19 --41 --59 --75 -82 -63 -36 -4 --21 --43 --61 --76 -79 -62 -34 -3 --22 --44 --62 --77 -79 -61 -33 -1 --23 --45 --63 --77 -78 -60 -33 -1 --23 --45 --63 --77 -79 -60 -32 -1 --24 --45 --63 --78 --90 -72 -67 -38 -29 --1 --26 --47 --64 --79 --90 -75 -70 -41 -32 -1 --23 --45 --63 --78 --89 -76 -72 -43 -34 -3 --22 --44 --61 --77 --88 -76 -72 -43 -35 -4 --21 --44 --61 --76 --88 -77 -73 -44 -35 -3 --22 --44 --61 --76 -84 -66 -38 -6 --19 --42 --59 --75 -82 -63 -35 -4 --21 --43 --61 --76 -79 -61 -34 -2 --22 --45 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -78 -59 -32 -1 --23 --45 --63 --77 -78 -59 -32 -1 --24 --45 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --64 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 --90 -71 -66 -37 -29 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -34 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -3 --21 --44 --61 --76 --88 -77 -72 -43 -35 -4 --21 --43 --61 --76 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 --88 -77 -73 -44 -36 -4 --21 --43 --61 --76 --88 -77 -74 -45 -35 -4 --21 --43 --61 --76 --88 -77 -74 -44 -35 -4 --21 --43 --61 --76 --88 -78 -74 -44 -35 -4 --21 --43 --61 --75 -85 -66 -39 -6 --19 --41 --59 --74 -82 -63 -36 -4 --21 --43 --61 --76 -81 -62 -33 -2 --22 --44 --62 --77 -81 -61 -33 -2 --23 --45 --62 --77 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -80 -60 -32 -1 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -32 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -23 --5 --30 --50 --67 --81 --93 -72 -64 -38 -28 --1 --26 --46 --65 --79 --91 -76 -68 -41 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -3 --23 --44 --62 --76 --89 -78 -71 -44 -34 -4 --22 --43 --62 --76 --89 -78 -72 -45 -34 -4 --22 --43 --61 --76 --88 -79 -72 -45 -34 -4 --22 --43 --62 --76 --88 -79 -72 -46 -35 -5 --22 --42 --61 --75 --88 -79 -72 -46 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --22 --42 --61 --75 --88 -79 -72 -46 -34 -5 --22 --42 --61 --75 --88 -79 -72 -46 -35 -5 --22 --42 --61 --75 --88 -79 -72 -46 -35 -5 --21 --42 --61 --75 --88 -80 -72 -45 -35 -5 --21 --42 --61 --75 --88 -80 -72 -45 -35 -5 --21 --42 --61 --75 --88 -80 -73 -45 -12 --14 --37 --56 --72 -85 -66 -39 -6 --19 --41 --59 --75 -83 -64 -36 -4 --21 --43 --61 --76 -80 -61 -35 -3 --22 --44 --62 --76 -79 -61 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --77 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -22 --6 --30 --50 --68 --81 --93 -72 -65 -38 -28 --1 --26 --47 --65 --79 --91 -76 -68 -42 -31 -2 --24 --45 --63 --77 --90 -78 -70 -43 -33 -4 --22 --43 --62 --76 --89 -79 -71 -44 -34 -4 --22 --43 --62 --76 --88 -79 -71 -44 -11 --15 --38 --56 --72 -85 -66 -39 -6 --19 --42 --59 --75 -82 -63 -36 -4 --21 --43 --61 --76 -80 -61 -33 -2 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --23 --45 --63 --78 -78 -60 -32 -1 --23 --45 --63 --77 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -78 -58 -31 -0 --24 --46 --63 --78 -80 -59 -31 -22 --5 --30 --50 --68 --81 --93 -72 -64 -37 -28 -0 --26 --46 --65 --79 --91 -76 -68 -41 -31 -2 --24 --44 --63 --77 --90 -77 -70 -43 -33 -3 --23 --44 --62 --76 --89 -78 -70 -43 -33 -4 --22 --43 --62 --76 --88 -78 -71 -44 -11 --15 --38 --56 --72 -85 -66 -39 -6 --19 --42 --59 --75 -82 -63 -35 -4 --21 --43 --61 --76 -82 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -1 --23 --45 --63 --77 -79 -59 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --45 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --79 --90 -72 -66 -37 -30 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -1 --23 --45 --62 --78 --89 -76 -70 -41 -34 -3 --22 --44 --62 --77 --88 -77 -72 -43 -34 -3 --22 --44 --61 --77 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 -84 -65 -38 -6 --19 --42 --60 --75 -82 -62 -35 -4 --21 --44 --61 --76 -79 -61 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --63 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -80 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --25 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 --90 -72 -66 -37 -29 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -2 --23 --45 --62 --78 --89 -76 -71 -42 -34 -3 --22 --44 --61 --77 --88 -77 -72 -43 -35 -3 --22 --44 --61 --77 --88 -77 -73 -43 -35 -4 --21 --43 --61 --76 -84 -66 -38 -6 --19 --42 --60 --75 -82 -62 -35 -4 --21 --43 --61 --76 -80 -61 -34 -2 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -78 -59 -32 -1 --24 --45 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 --90 -72 -67 -37 -30 --1 --25 --47 --64 --79 --90 -75 -69 -40 -32 -2 --23 --45 --62 --77 --89 -77 -71 -42 -33 -3 --22 --44 --62 --77 --89 -77 -73 -43 -35 -4 --21 --43 --61 --76 --88 -77 -73 -43 -35 -4 --21 --43 --61 --75 -84 -65 -38 -6 --19 --42 --60 --75 -82 -63 -35 -4 --21 --44 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -80 -60 -33 -1 --23 --45 --63 --77 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -58 -31 -23 --5 --30 --50 --67 --81 --93 -71 -63 -38 -28 --1 --26 --47 --65 --79 --91 -75 -68 -42 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -4 --22 --43 --62 --76 --89 -78 -70 -44 -34 -4 --22 --43 --62 --76 --88 -78 -70 -44 -11 --15 --38 --56 --72 -85 -67 -39 -7 --19 --41 --59 --74 -82 -63 -36 -4 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --22 --45 --62 --77 -78 -60 -32 -1 --24 --45 --63 --78 -78 -60 -32 -24 --5 --30 --49 --67 --81 --93 -73 -65 -38 -29 -0 --26 --46 --64 --78 --91 -76 -68 -41 -31 -2 --24 --44 --63 --77 --90 -77 -69 -43 -33 -4 --22 --43 --62 --76 --89 -78 -71 -44 -34 -4 --22 --43 --62 --76 --89 -78 -71 -45 -34 -5 --22 --43 --61 --76 --88 -79 -72 -45 -34 -5 --22 --42 --61 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -71 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -12 --14 --38 --56 --72 -86 -67 -39 -6 --19 --41 --59 --74 -82 -63 -36 -4 --21 --43 --61 --76 -79 -62 -34 -3 --22 --44 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --23 --45 --63 --77 -79 -60 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --64 --78 -78 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --25 --46 --64 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -59 -32 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --64 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -57 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -81 -59 -31 -22 --6 --31 --50 --68 --81 --94 -72 -64 -38 -29 -0 --26 --46 --65 --78 --91 -75 -68 -41 -31 -2 --24 --45 --63 --77 --90 -78 -70 -43 -33 -3 --23 --44 --62 --76 --89 -79 -71 -44 -34 -4 --22 --43 --62 --76 --88 -79 -71 -44 -11 --15 --38 --56 --72 -85 -66 -38 -6 --19 --42 --59 --75 -82 -64 -36 -4 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --23 --45 --63 --77 -78 -60 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --64 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 --90 -72 -66 -37 -29 --1 --25 --47 --64 --79 --90 -75 -69 -40 -32 -1 --23 --45 --62 --78 --89 -76 -71 -42 -34 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -4 --21 --44 --61 --76 --88 -77 -72 -43 -35 -4 --21 --43 --61 --76 -84 -65 -38 -6 --19 --42 --60 --75 -81 -62 -35 -4 --21 --44 --61 --76 -79 -61 -34 -3 --22 --44 --62 --77 -79 -60 -33 -1 --23 --45 --62 --77 -78 -60 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -80 -59 -31 -0 --25 --46 --64 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --64 --78 -79 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -76 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --45 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -80 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -23 --5 --30 --50 --68 --81 --93 -72 -65 -38 -28 --1 --26 --47 --65 --79 --91 -75 -68 -42 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -3 --23 --43 --62 --76 --89 -78 -71 -44 -33 -4 --22 --43 --62 --76 --88 -79 -71 -45 -34 -4 --22 --43 --62 --76 --88 -79 -72 -45 -35 -5 --22 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --76 --88 -79 -72 -45 -34 -5 --22 --42 --61 --76 --88 -79 -72 -45 -34 -5 --22 --43 --62 --76 --88 -79 -72 -45 -12 --14 --37 --56 --71 -85 -66 -39 -7 --19 --41 --59 --74 -82 -64 -36 -4 --21 --43 --61 --76 -80 -62 -34 -3 --22 --44 --61 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --45 --63 --77 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -80 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 --90 -72 -66 -37 -29 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -1 --23 --45 --62 --77 --89 -76 -71 -41 -33 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -4 --21 --44 --61 --76 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 -84 -65 -37 -6 --19 --42 --60 --75 -82 -62 -35 -4 --21 --44 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -79 -60 -32 -1 --23 --45 --63 --77 -79 -60 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -76 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --45 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --25 --46 --64 --78 -78 -59 -32 -23 --5 --30 --50 --68 --81 --93 -72 -65 -38 -28 -0 --26 --46 --65 --78 --91 -75 -68 -41 -31 -2 --24 --45 --63 --77 --90 -77 -70 -43 -33 -3 --23 --43 --62 --76 --89 -78 -71 -44 -33 -4 --22 --43 --62 --76 --89 -79 -72 -45 -12 --14 --38 --56 --72 -85 -66 -38 -6 --19 --42 --59 --75 -81 -63 -36 -4 --21 --43 --61 --76 -79 -61 -34 -3 --22 --44 --62 --77 -79 -61 -33 -1 --23 --45 --62 --77 -78 -60 -33 -2 --23 --45 --62 --77 -78 -59 -31 -1 --24 --46 --63 --78 --90 -72 -67 -38 -30 --1 --25 --47 --64 --79 --90 -74 -70 -40 -33 -2 --23 --45 --62 --77 --89 -76 -71 -42 -34 -3 --22 --44 --62 --77 --88 -77 -72 -43 -35 -4 --21 --44 --61 --76 --88 -77 -73 -44 -36 -4 --21 --43 --61 --75 -84 -65 -37 -6 --19 --42 --60 --75 -81 -62 -35 -3 --21 --44 --61 --76 -79 -62 -34 -3 --22 --44 --62 --77 -79 -60 -32 -1 --23 --45 --63 --78 -79 -60 -33 -1 --23 --45 --63 --77 -78 -59 -32 -1 --24 --45 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -60 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 --90 -71 -66 -37 -29 --1 --26 --47 --64 --79 --90 -74 -70 -41 -32 -1 --23 --45 --63 --78 --89 -76 -72 -42 -33 -2 --22 --44 --62 --77 --88 -77 -72 -43 -35 -3 --22 --44 --61 --77 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 --88 -77 -73 -44 -35 -4 --21 --44 --61 --76 --88 -77 -74 -44 -35 -4 --21 --43 --61 --76 --88 -79 -74 -44 -35 -4 --21 --43 --61 --76 --88 -78 -73 -44 -36 -5 --20 --43 --60 --75 -84 -66 -38 -6 --19 --42 --60 --75 -82 -63 -36 -4 --21 --43 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -81 -61 -32 -1 --23 --45 --63 --78 -78 -60 -32 -2 --23 --45 --63 --77 -78 -59 -32 -1 --24 --46 --63 --78 -79 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -59 -32 -22 --5 --30 --50 --68 --81 --93 -73 -65 -38 -28 -0 --26 --46 --65 --79 --91 -76 -68 -41 -31 -2 --24 --44 --63 --77 --90 -77 -69 -43 -33 -3 --23 --44 --62 --76 --89 -78 -71 -44 -33 -3 --23 --44 --62 --76 --89 -79 -72 -45 -34 -4 --22 --43 --62 --76 --88 -79 -72 -45 -34 -5 --21 --42 --61 --75 --88 -79 -72 -45 -34 -5 --22 --42 --61 --76 --88 -79 -72 -45 -35 -5 --22 --42 --61 --75 --88 -79 -72 -45 -34 -5 --22 --42 --61 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -34 -5 --22 --42 --61 --76 --88 -79 -72 -45 -34 -5 --22 --42 --61 --76 --88 -79 -72 -45 -35 -5 --21 --42 --61 --75 --88 -79 -72 -45 -12 --14 --38 --56 --72 -86 -67 -39 -7 --19 --41 --59 --74 -82 -63 -36 -4 --21 --43 --61 --76 -80 -61 -34 -3 --22 --44 --62 --77 -80 -61 -33 -2 --23 --45 --62 --77 -78 -59 -32 -1 --23 --45 --63 --77 -78 -59 -32 -1 --23 --45 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --64 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -23 --5 --30 --50 --67 --81 --93 -72 -64 -38 -29 -0 --26 --46 --65 --78 --91 -75 -68 -42 -31 -2 --24 --45 --63 --77 --90 -77 -69 -43 -32 -3 --23 --44 --62 --77 --89 -78 -70 -44 -34 -4 --22 --43 --62 --76 --89 -79 -72 -45 -12 --14 --38 --56 --72 -85 -66 -38 -6 --19 --42 --59 --75 -82 -63 -35 -4 --21 --43 --61 --76 -80 -62 -34 -3 --22 --44 --61 --77 -79 -60 -33 -2 --23 --45 --63 --77 -78 -59 -32 -1 --23 --45 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -32 -1 --23 --45 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --25 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -79 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -77 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -58 -31 -0 --24 --46 --63 --78 -80 -59 -31 -23 --5 --30 --50 --68 --81 --93 -72 -64 -38 -28 --1 --26 --46 --65 --79 --91 -75 -68 -41 -31 -1 --24 --45 --63 --77 --90 -77 -69 -43 -33 -3 --23 --44 --62 --77 --89 -78 -70 -44 -34 -4 --22 --43 --62 --76 --88 -79 -71 -45 -12 --15 --38 --56 --72 -85 -66 -38 -6 --19 --42 --59 --75 -82 -63 -36 -4 --21 --43 --61 --76 -81 -62 -34 -3 --22 --44 --62 --77 -79 -60 -33 -2 --23 --45 --62 --77 -78 -60 -32 -1 --23 --45 --63 --77 -78 -59 -31 -1 --24 --46 --63 --78 -78 -59 -32 -1 --24 --45 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 --90 -72 -65 -37 -29 --1 --25 --47 --64 --79 --90 -74 -69 -40 -32 -1 --23 --45 --63 --78 --89 -76 -71 -42 -34 -3 --22 --44 --62 --77 --88 -77 -73 -43 -35 -3 --21 --43 --61 --76 --88 -77 -73 -44 -35 -4 --21 --43 --61 --76 -84 -65 -38 -6 --19 --42 --60 --75 -81 -63 -36 -4 --21 --43 --61 --76 -80 -61 -33 -2 --22 --45 --62 --77 -79 -61 -33 -2 --23 --45 --62 --77 -79 -60 -32 -1 --24 --46 --63 --78 -78 -60 -32 -1 --23 --45 --63 --77 -79 -59 -32 -1 --24 --46 --63 --78 -78 -58 -31 -1 --24 --46 --63 --78 -78 -59 -31 -1 --24 --46 --63 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --64 --78 -79 -59 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -79 -59 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -78 -59 -31 -0 --24 --46 --63 --78 -78 -59 -32 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 --63 --78 -77 -58 -31 -0 --24 --46 --63 --78 -77 -58 -31 -1 --24 --46 diff --git a/traces/modulation-psk1-32-4.pm3 b/traces/modulation-psk1-32-4.pm3 deleted file mode 100644 index 504c305f6..000000000 --- a/traces/modulation-psk1-32-4.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ -8 -52 -65 -26 --13 --46 --6 -17 --20 --52 -1 -14 --23 --54 -3 -17 --20 --52 -5 -19 --18 --50 -5 -20 --18 --50 -6 -21 --16 --49 -8 -22 --16 --49 --75 --98 -55 -101 -51 -7 -11 -11 --25 --57 -5 -24 --14 --47 -6 -21 --16 --49 -7 -21 --17 --49 -8 -22 --16 --48 -8 -22 --16 --48 -8 -22 --16 --48 -8 -21 --16 --49 -8 -22 --16 --48 -8 -23 --15 --48 -9 -23 --15 --48 -9 -22 --15 --48 -8 -23 --14 --47 -9 -23 --15 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --15 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -8 -23 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -10 -24 --14 --47 -9 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -10 -24 --14 --47 -9 -25 --14 --46 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --47 -9 -23 --14 --47 -10 -24 --14 --47 -10 -53 -67 -28 --10 --44 --4 -18 --19 --51 -3 -15 --22 --54 -3 -19 --19 --51 -5 -20 --18 --50 -6 -21 --17 --49 -7 -21 --16 --49 -7 -22 --16 --48 -8 -23 --15 --48 -8 -22 --15 --48 -9 -23 --15 --47 -9 -23 --15 --48 -9 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -9 -24 --14 --48 --74 --98 -56 -102 -52 -8 -12 -12 --24 --56 -6 -25 --14 --47 -8 -22 --16 --48 -8 -22 --16 --49 -8 -22 --16 --49 -9 -22 --16 --48 -8 -23 --15 --48 -8 -22 --16 --49 -8 -22 --16 --48 -9 -23 --15 --48 -8 -23 --15 --48 -9 -23 --15 --48 -9 -24 --14 --47 -9 -24 --15 --47 -9 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -8 -23 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -9 -24 --14 --47 -10 -25 --14 --46 -10 -23 --15 --47 -9 -23 --15 --47 -10 -24 --14 --47 -9 -24 --14 --47 -9 -23 --15 --48 -10 -24 --14 --47 -10 -23 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -54 -67 -28 --10 --44 --5 -18 --19 --51 -2 -15 --21 --53 -4 -18 --19 --51 -5 -19 --18 --50 -5 -20 --17 --50 -7 -22 --16 --49 -8 -22 --16 --49 -7 -22 --15 --48 -8 -22 --15 --48 -9 -24 --14 --47 -9 -23 --15 --48 -9 -23 --14 --47 -8 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 --74 --97 -55 -102 -52 -8 -12 -13 --23 --55 -6 -25 --13 --46 -8 -22 --16 --49 -8 -21 --16 --49 -7 -22 --16 --48 -8 -22 --15 --48 -9 -23 --15 --48 -9 -21 --17 --49 -8 -22 --16 --48 -8 -23 --15 --48 -8 -24 --14 --47 -9 -23 --15 --48 -9 -23 --15 --48 -9 -23 --14 --47 -9 -24 --14 --47 -9 -23 --15 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -10 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -9 -24 --14 --47 -9 -23 --15 --47 -9 -24 --14 --47 -10 -23 --15 --48 -10 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -53 -67 -29 --10 --44 --4 -18 --19 --51 -2 -15 --22 --53 -3 -18 --19 --51 -5 -19 --18 --50 -6 -20 --17 --50 -7 -22 --17 --49 -8 -22 --16 --49 --75 --98 -54 -100 -50 -6 -11 -12 --25 --56 -5 -25 --14 --47 -8 -22 --16 --49 -7 -21 --17 --49 -8 -22 --16 --49 -8 -22 --16 --48 -8 -23 --15 --48 -8 -22 --16 --48 -8 -22 --16 --49 -8 -22 --16 --48 -8 -23 --15 --48 -9 -23 --15 --48 -9 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -9 -24 --14 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --48 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --13 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -25 --14 --47 -10 -23 --15 --47 -10 -24 --14 --47 -9 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -10 -24 --14 --47 -9 -25 --13 --46 -10 -23 --15 --48 -10 -24 --14 --47 -10 -24 --15 --48 -10 -25 --13 --47 -9 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -54 -67 -28 --10 --44 --4 -18 --19 --51 -3 -16 --21 --53 -3 -18 --19 --51 -5 -20 --18 --50 -5 -20 --17 --50 -7 -22 --16 --49 -7 -22 --16 --48 --75 --99 -54 -101 -51 -7 -11 -11 --25 --57 -5 -24 --14 --47 -7 -22 --16 --49 -7 -22 --16 --49 -8 -22 --16 --48 -8 -22 --16 --48 -8 -22 --15 --48 -8 -22 --16 --49 -8 -22 --16 --48 -8 -22 --16 --48 -8 -23 --15 --48 -8 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -9 -53 -67 -29 --10 --44 --5 -17 --20 --52 -1 -15 --22 --54 -3 -19 --19 --51 -5 -20 --17 --50 -5 -20 --17 --50 -7 -21 --17 --49 -8 -22 --16 --49 --75 --99 -53 -100 -51 -6 -11 -12 --25 --56 -5 -24 --14 --47 -7 -22 --16 --49 -8 -22 --17 --49 -8 -22 --16 --49 -8 -22 --16 --48 -8 -23 --15 --48 -8 -22 --16 --49 -8 -22 --16 --48 -8 -22 --16 --48 -8 -24 --14 --47 -9 -23 --15 --48 -9 -23 --15 --48 -10 -23 --15 --48 -9 -24 --14 --47 -9 -24 --14 --47 -9 -23 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -25 --13 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -53 -67 -29 --10 --44 --5 -18 --19 --51 -2 -16 --21 --53 -3 -19 --19 --51 -5 -20 --17 --50 -5 -20 --17 --50 -7 -22 --16 --49 -8 -22 --16 --48 --75 --99 -53 -101 -51 -7 -11 -12 --24 --56 -5 -24 --14 --47 -6 -21 --16 --49 -7 -21 --17 --49 -8 -22 --15 --48 -8 -22 --16 --49 -8 -52 -65 -27 --12 --46 --6 -16 --21 --53 -1 -14 --23 --54 -2 -17 --20 --52 -4 -19 --18 --51 -5 -20 --18 --50 -7 -20 --17 --50 -6 -21 --17 --49 --76 --99 -53 -100 -51 -6 -11 -12 --24 --56 -5 -24 --14 --47 -7 -22 --16 --49 -7 -21 --17 --50 -8 -22 --16 --49 -8 -23 --15 --48 -8 -23 --15 --48 -8 -22 --16 --49 -7 -22 --16 --49 -8 -22 --16 --48 -8 -23 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -8 -24 --14 --47 -9 -23 --15 --48 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --48 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -10 -25 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -9 -54 -67 -28 --11 --44 --5 -18 --19 --52 -2 -16 --21 --53 -4 -19 --19 --51 -5 -20 --17 --50 -6 -20 --18 --50 -6 -21 --16 --49 -7 -22 --15 --48 --75 --99 -53 -101 -51 -7 -11 -12 --24 --56 -5 -24 --14 --47 -7 -22 --17 --49 -7 -21 --17 --49 -8 -22 --16 --48 -9 -23 --15 --48 -9 -52 -65 -27 --12 --46 --6 -17 --20 --52 -1 -14 --23 --55 -1 -17 --20 --52 -4 -19 --19 --51 -5 -20 --18 --50 -7 -21 --17 --50 -7 -22 --16 --49 -7 -23 --15 --48 -8 -22 --15 --48 -8 -23 --15 --48 -8 -22 --15 --48 -9 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 --74 --98 -54 -101 -51 -7 -13 -13 --24 --55 -6 -24 --14 --47 -8 -22 --16 --49 -7 -22 --16 --49 -8 -22 --16 --48 -9 -23 --15 --48 -8 -22 --15 --48 -8 -22 --16 --49 -8 -23 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -8 -23 --15 --48 -9 -24 --14 --48 -9 -24 --14 --47 -9 -24 --14 --47 -9 -23 --15 --48 -8 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -8 -24 --15 --48 -10 -24 --14 --47 -10 -25 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -10 -24 --14 --47 -10 -24 --14 --48 -9 -24 --14 --47 -9 -24 --14 --47 -9 -24 --14 --47 -10 -24 --15 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -10 -25 --14 --47 -9 -23 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --47 -10 -25 --14 --47 -9 -24 --14 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --15 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -9 -24 --14 --47 -10 -25 --14 --47 -10 -23 --15 --48 -9 -24 --15 --47 -9 -24 --14 --47 -10 -25 --13 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -25 --13 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -24 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -9 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -25 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -25 --13 --47 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -25 --13 --46 -10 -23 --15 --48 -10 -24 --15 --48 -10 -24 --14 --47 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --14 --48 -10 -54 -68 -29 --10 --44 --5 -18 --20 --52 -2 -16 --21 --54 -3 -19 --19 --51 -6 -20 --18 --50 -6 -20 --17 --50 -7 -21 --17 --49 -7 -22 --16 --49 --75 --99 -52 -100 -50 -6 -11 -13 --24 --56 -5 -25 --14 --47 -8 -22 --16 --49 -7 -21 --17 --49 -7 -22 --16 --49 -8 -23 --15 --48 -8 -22 --15 --48 -8 -21 --17 --49 -7 -22 --16 --49 -8 -23 --15 --48 -9 -24 --15 --48 -9 -23 --15 --48 -9 -23 --15 --48 -8 -23 --15 --48 -9 -24 --14 --47 -10 -23 --15 --48 -10 -23 --15 --48 -9 -24 --15 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -10 -24 --14 --47 -10 -25 --13 --46 -10 -24 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -25 --13 --46 -10 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --47 -10 -25 --13 --46 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --47 -10 -54 -67 -29 --10 --44 --5 -17 --20 --52 -2 -16 --21 --53 -4 -19 --18 --51 -5 -19 --18 --50 -4 -20 --18 --50 -7 -22 --16 --49 -8 -22 --16 --49 --75 --99 -51 -100 -50 -6 -12 -13 --24 --56 -5 -25 --14 --47 -7 -22 --17 --49 -7 -21 --17 --49 -8 -22 --16 --49 -8 -22 --16 --49 -9 -23 --15 --48 -9 -22 --16 --49 -7 -22 --16 --49 -8 -23 --15 --48 -9 -24 --14 --47 -9 -22 --16 --49 -8 -23 --15 --48 -9 -24 --14 --47 -9 -24 --14 --47 -9 -23 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --47 -9 -24 --14 --47 -10 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --47 -10 -24 --14 --48 -9 -24 --14 --47 -10 -24 --15 --48 -9 -25 --14 --47 -10 -24 --14 --47 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -25 --14 --47 -10 -23 --15 --48 -8 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -10 -24 --14 --47 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -10 -24 --14 --47 -9 -25 --14 --47 -10 -24 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -9 -54 -68 -30 --10 --44 --5 -17 --20 --52 -2 -16 --21 --53 -4 -19 --19 --51 -5 -20 --18 --50 -5 -20 --18 --50 -7 -22 --16 --49 -7 -22 --16 --49 -8 -23 --15 --48 -8 -22 --16 --49 -9 -23 --15 --48 -9 -23 --15 --48 -9 -24 --14 --47 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 --75 --98 -53 -101 -51 -7 -13 -13 --24 --56 -5 -25 --13 --47 -9 -23 --16 --49 -8 -22 --16 --49 -8 -22 --16 --49 -8 -23 --15 --48 -8 -23 --15 --48 -8 -22 --16 --49 -8 -23 --15 --48 -8 -22 --16 --48 -8 -23 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -8 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --47 -10 -23 --15 --48 -10 -24 --14 --47 -9 -24 --14 --48 -9 -24 --14 --48 -10 -24 --14 --47 -10 -25 --14 --47 -10 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -25 --13 --47 -10 -25 --14 --47 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --15 --48 -10 -24 --14 --48 -9 -54 -68 -30 --10 --44 --5 -17 --20 --52 -1 -16 --21 --53 -4 -19 --18 --51 -6 -20 --17 --50 -5 -20 --18 --50 -6 -22 --16 --49 -8 -22 --15 --48 --75 --99 -51 -100 -50 -6 -12 -13 --24 --56 -5 -25 --14 --47 -7 -21 --17 --49 -7 -21 --17 --49 -8 -22 --16 --49 -8 -23 --15 --48 -8 -23 --15 --48 -8 -21 --17 --49 -7 -22 --16 --49 -7 -23 --15 --48 -9 -24 --15 --48 -9 -23 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --47 -10 -24 --15 --48 -9 -23 --15 --48 -9 -24 --14 --48 -9 -24 --14 --47 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -24 --14 --47 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -24 --14 --48 -9 -24 --14 --47 -10 -24 --14 --48 -10 -25 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --47 -10 -25 --13 --47 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --47 -9 -24 --14 --47 -9 -24 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -53 -68 -30 --9 --44 --5 -17 --20 --52 -2 -15 --22 --54 -3 -19 --19 --51 -5 -20 --17 --50 -6 -20 --17 --50 -7 -21 --17 --50 -7 -22 --16 --49 --76 --99 -51 -100 -50 -6 -11 -12 --24 --56 -5 -25 --13 --47 -7 -22 --16 --49 -7 -22 --17 --50 -8 -22 --16 --49 -8 -23 --15 --48 -8 -52 -66 -28 --11 --45 --7 -16 --21 --53 -1 -14 --22 --54 -2 -18 --20 --52 -4 -19 --19 --51 -5 -20 --18 --50 -6 -21 --17 --49 -7 -22 --16 --49 --76 --99 -51 -100 -50 -6 -13 -12 --24 --56 -4 -24 --15 --48 -7 -22 --17 --49 -7 -22 --17 --49 -8 -22 --16 --49 -9 -23 --16 --48 -8 -22 --16 --49 -8 -22 --17 --49 -8 -22 --16 --49 -9 -23 --15 --48 -9 -23 --15 --48 -8 -22 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -23 --15 --48 -9 -23 --15 --48 -9 -24 --14 --47 -9 -24 --14 --48 -10 -24 --14 --47 -10 -24 --14 --48 -9 -23 --15 --48 -9 -24 --14 --48 -9 -25 --14 --47 -10 -24 --15 --48 -10 -23 --15 --48 -10 -24 --14 --47 -10 -25 --14 --47 -10 -24 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -9 -24 --14 --47 -9 -24 --15 --48 -9 -24 --14 --47 -10 -24 --14 --48 -9 -24 --14 --47 -9 -24 --14 --48 -10 -25 --14 --47 -10 -24 --14 --48 -10 -53 -68 -30 --9 --44 --5 -17 --20 --53 -2 -15 --22 --54 -3 -19 --19 --51 -5 -21 --17 --50 -6 -20 --17 --50 -7 -22 --16 --49 -7 -22 --16 --49 -8 -23 --15 --48 -8 -22 --16 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -23 --15 --48 -8 -23 --15 --48 -9 -25 --14 --47 -10 -24 --15 --48 --75 --98 -51 -101 -51 -6 -14 -14 --23 --55 -5 -25 --14 --47 -8 -22 --16 --49 -8 -22 --16 --49 -9 -23 --16 --49 -8 -22 --16 --48 -7 -23 --16 --48 -9 -22 --16 --49 -8 -22 --16 --49 -8 -23 --15 --48 -9 -23 --15 --48 -8 -22 --16 --49 -8 -24 --15 --48 -9 -24 --14 --47 -10 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --48 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --15 --48 -10 -24 --14 --47 -10 -24 --14 --48 -9 -25 --14 --47 -10 -24 --14 --48 -9 -24 --15 --48 -10 -23 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --14 --48 -10 -24 --14 --47 -9 -24 --14 --47 -9 -23 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --47 -9 -24 --15 --48 -10 -24 --14 --47 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -53 -68 -30 --9 --44 --5 -18 --20 --52 -2 -15 --22 --54 -3 -19 --19 --51 -5 -20 --18 --51 -6 -20 --18 --50 -7 -22 --17 --49 -8 -22 --16 --49 -8 -23 --15 --48 -7 -22 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -9 -23 --15 --48 -8 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --16 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 --75 --98 -51 -101 -51 -6 -13 -14 --23 --55 -5 -25 --14 --47 -8 -22 --16 --49 -8 -22 --17 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -8 -22 --16 --49 -7 -22 --16 --49 -9 -23 --15 --48 -9 -24 --15 --48 -9 -22 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -9 -23 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --14 --47 -9 -24 --15 --48 -9 -24 --14 --47 -10 -23 --15 --48 -10 -24 --14 --47 -10 -24 --14 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -10 -53 -68 -30 --9 --43 --6 -17 --20 --53 -3 -16 --22 --54 -3 -19 --19 --51 -5 -20 --18 --50 -6 -20 --17 --50 -7 -21 --17 --49 -8 -22 --16 --49 --76 --100 -50 -99 -49 -5 -12 -13 --24 --56 -4 -25 --14 --48 -8 -22 --16 --49 -8 -22 --17 --49 -8 -22 --16 --49 -8 -23 --15 --48 -9 -23 --15 --48 -8 -22 --16 --49 -8 -23 --15 --48 -8 -22 --16 --49 -9 -24 --15 --48 -8 -23 --15 --48 -9 -23 --15 --48 -10 -24 --14 --47 -9 -24 --14 --48 -8 -23 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --48 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -9 -24 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -25 --14 --47 -10 -23 --15 --48 -9 -24 --14 --48 -9 -25 --14 --47 -10 -25 --13 --47 -10 -23 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --47 -10 -24 --14 --47 -9 -23 --15 --48 -10 -24 --14 --47 -10 -24 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -24 --14 --48 -10 -25 --14 --47 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --47 -10 -24 --14 --48 -9 -23 --15 --48 -9 -24 --14 --48 -10 -24 --14 --47 -10 -54 -67 -30 --9 --44 --6 -17 --21 --53 -2 -16 --21 --53 -4 -18 --19 --51 -4 -20 --18 --50 -5 -21 --17 --50 -8 -22 --16 --49 -8 -21 --17 --50 --76 --100 -49 -100 -50 -5 -13 -13 --24 --56 -4 -24 --14 --48 -7 -22 --16 --49 -8 -22 --16 --49 -8 -22 --16 --49 -8 -22 --16 --49 -8 -23 --15 --48 -8 -22 --16 --49 -8 -23 --16 --49 -8 -23 --16 --48 -9 -24 --15 --48 -8 -22 --16 --49 -8 -24 --15 --48 -10 -24 --14 --47 -10 -52 -67 -30 --9 --44 --6 -17 --20 --53 -2 -16 --21 --53 -2 -18 --19 --52 -5 -20 --18 --50 -5 -20 --17 --50 -7 -21 --17 --49 -8 -22 --17 --50 --76 --100 -50 -100 -50 -5 -13 -13 --24 --56 -4 -25 --14 --48 -8 -22 --16 --49 -8 -22 --17 --49 -8 -22 --17 --49 -8 -23 --15 --48 -9 -24 --15 --48 -8 -22 --16 --49 -8 -22 --17 --49 -8 -23 --15 --48 -9 -24 --15 --48 -9 -23 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -8 -23 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -25 --14 --47 -10 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --47 -10 -54 -67 -31 --9 --44 --6 -17 --21 --53 -3 -16 --21 --54 -4 -19 --19 --52 -5 -20 --18 --51 -5 -20 --17 --50 -7 -22 --16 --49 -8 -22 --16 --49 --76 --100 -50 -100 -50 -5 -13 -13 --24 --56 -4 -24 --14 --48 -7 -22 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -8 -51 -66 -29 --11 --45 --7 -16 --22 --54 -1 -14 --23 --55 -1 -18 --20 --52 -5 -19 --18 --51 -5 -20 --18 --50 -6 -21 --17 --50 -7 -22 --16 --49 --76 --100 -49 -99 -49 -5 -12 -13 --24 --56 -5 -25 --14 --47 -7 -22 --16 --49 -7 -22 --17 --49 -8 -22 --17 --49 -8 -22 --16 --49 -8 -23 --15 --48 -9 -22 --16 --49 -8 -22 --16 --49 -7 -23 --16 --49 -9 -24 --14 --48 -9 -24 --15 --48 -9 -23 --16 --48 -9 -24 --15 --48 -9 -25 --14 --47 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --14 --47 -9 -24 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -10 -24 --14 --48 -9 -23 --16 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -25 --13 --47 -10 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -54 -68 -31 --9 --43 --7 -17 --21 --53 -2 -16 --21 --54 -3 -19 --19 --51 -5 -20 --18 --51 -5 -20 --18 --51 -7 -22 --16 --49 -8 -23 --16 --49 --76 --99 -49 -99 -49 -5 -13 -13 --24 --56 -4 -24 --14 --48 -8 -21 --17 --50 -8 -22 --17 --49 -8 -22 --16 --49 -8 -23 --15 --48 -8 -52 -66 -29 --10 --44 --7 -16 --21 --54 -1 -14 --23 --55 -2 -18 --20 --52 -4 -19 --18 --51 -5 -20 --18 --50 -6 -21 --17 --50 -8 -22 --17 --49 -8 -23 --16 --49 -7 -22 --16 --49 -9 -23 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -8 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 --75 --99 -50 -101 -51 -6 -15 -14 --23 --56 -5 -25 --14 --48 -8 -23 --16 --49 -8 -23 --15 --49 -8 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --48 -9 -22 --16 --49 -8 -23 --16 --49 -8 -23 --15 --48 -9 -24 --15 --48 -9 -22 --16 --49 -8 -24 --15 --48 -9 -24 --14 --47 -9 -24 --15 --48 -9 -22 --16 --49 -9 -24 --15 --48 -9 -24 --14 --47 -9 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -9 -24 --14 --47 -10 -24 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --47 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -24 --14 --47 -9 -24 --14 --47 -10 -25 --14 --47 -10 -23 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -23 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --14 --47 -9 -24 --14 --48 -9 -24 --14 --47 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -24 --14 --47 -10 -23 --15 --48 -9 -24 --14 --47 -10 -24 --14 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --47 -10 -24 --14 --47 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --47 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --47 -10 -24 --14 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --14 --47 -10 -24 --14 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --47 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -9 -24 --14 --47 -9 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -53 -69 -31 --9 --43 --7 -16 --21 --54 -2 -16 --21 --54 -4 -20 --18 --51 -5 -20 --18 --51 -6 -20 --17 --50 -6 -21 --17 --49 -7 -22 --16 --49 --76 --100 -48 -100 -49 -5 -14 -14 --23 --56 -4 -24 --14 --48 -8 -22 --17 --49 -7 -22 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -8 -24 --15 --48 -9 -22 --16 --49 -7 -21 --17 --49 -7 -23 --16 --49 -9 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --47 -10 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --14 --48 -10 -24 --14 --47 -9 -24 --14 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --47 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -23 --15 --48 -9 -24 --14 --48 -10 -24 --14 --47 -9 -24 --14 --47 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --48 -9 -53 -69 -31 --9 --43 --7 -16 --21 --53 -2 -16 --21 --54 -3 -19 --19 --51 -5 -20 --18 --51 -5 -20 --18 --51 -7 -22 --16 --49 -8 -23 --16 --49 --76 --100 -48 -99 -49 -5 -13 -13 --24 --56 -5 -25 --14 --48 -8 -22 --16 --49 -6 -22 --17 --50 -8 -23 --15 --49 -9 -23 --15 --48 -8 -22 --16 --49 -8 -22 --16 --49 -8 -23 --15 --48 -8 -23 --15 --48 -9 -24 --15 --48 -9 -23 --16 --48 -8 -24 --15 --48 -8 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -23 --15 --48 -10 -24 --15 --48 -9 -25 --14 --47 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -23 --15 --48 -10 -25 --14 --48 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -25 --14 --47 -9 -23 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -25 --14 --47 -10 -24 --15 --48 -9 -23 --15 --48 -10 -24 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -53 -68 -31 --8 --43 --6 -16 --21 --53 -2 -16 --21 --54 -3 -19 --19 --51 -5 -20 --18 --50 -5 -20 --18 --50 -7 -21 --17 --50 -7 -22 --16 --49 -8 -23 --15 --48 -8 -22 --16 --49 -9 -24 --15 --48 -8 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 --75 --99 -50 -100 -50 -6 -14 -14 --23 --55 -5 -25 --13 --47 -8 -23 --16 --49 -8 -23 --16 --49 -9 -23 --15 --49 -9 -23 --16 --49 -8 -24 --15 --48 -8 -22 --16 --49 -7 -22 --16 --49 -8 -23 --16 --49 -8 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -25 --14 --47 -10 -23 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --47 -10 -23 --16 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -52 -68 -31 --8 --43 --7 -16 --21 --54 -2 -16 --21 --54 -3 -19 --19 --51 -5 -20 --18 --50 -6 -20 --18 --50 -7 -22 --17 --49 -8 -22 --17 --50 --76 --100 -47 -99 -49 -5 -14 -13 --24 --56 -5 -25 --14 --48 -8 -23 --16 --49 -7 -22 --16 --49 -7 -22 --16 --49 -8 -23 --15 --48 -8 -23 --15 --48 -8 -22 --17 --49 -7 -22 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -9 -22 --16 --49 -9 -24 --15 --48 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --47 -9 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --47 -10 -53 -68 -32 --8 --43 --7 -16 --22 --54 -3 -16 --21 --54 -3 -19 --19 --51 -5 -20 --18 --51 -6 -21 --17 --50 -7 -21 --17 --50 -7 -22 --17 --50 --77 --100 -47 -99 -49 -4 -14 -14 --23 --56 -4 -24 --14 --48 -8 -23 --16 --49 -7 -22 --17 --50 -7 -22 --16 --49 -8 -23 --16 --49 -9 -52 -66 -30 --10 --44 --8 -15 --22 --54 -1 -15 --22 --55 -2 -18 --20 --53 -4 -19 --19 --51 -5 -20 --18 --51 -7 -22 --17 --50 -8 -22 --17 --50 --77 --100 -47 -99 -49 -4 -14 -14 --24 --56 -4 -25 --14 --48 -7 -22 --17 --50 -7 -22 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -9 -23 --16 --48 -8 -22 --16 --49 -7 -22 --16 --49 -8 -23 --15 --48 -9 -23 --16 --48 -9 -22 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -9 -23 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --47 -9 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -52 -68 -32 --8 --43 --7 -16 --21 --54 -3 -16 --21 --54 -3 -19 --19 --51 -5 -20 --18 --51 -6 -21 --18 --50 -7 -21 --17 --50 -7 -22 --16 --49 -8 -23 --15 --48 -8 -23 --15 --48 -9 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 --75 --99 -48 -100 -50 -5 -15 -14 --24 --56 -5 -26 --13 --47 -9 -23 --15 --49 -8 -22 --16 --49 -8 -23 --16 --49 -9 -23 --15 --49 -9 -24 --15 --48 -8 -22 --16 --49 -8 -23 --15 --49 -9 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -23 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -23 --15 --48 -8 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --14 --48 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -53 -68 -32 --8 --43 --7 -16 --21 --54 -2 -16 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -21 --17 --50 -7 -22 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -7 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -8 -23 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -10 -24 --14 --48 -8 -23 --15 --49 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -9 -24 --14 --48 --75 --99 -48 -100 -49 -5 -15 -15 --23 --55 -5 -26 --13 --47 -8 -23 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -9 -24 --15 --48 -9 -22 --17 --49 -8 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -23 --15 --48 -10 -24 --15 --48 -9 -25 --14 --47 -10 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --48 -10 -24 --14 --48 -10 -53 -68 -33 --8 --42 --7 -16 --21 --54 -2 -16 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -6 -20 --17 --50 -7 -22 --17 --50 -8 -22 --16 --49 --76 --100 -47 -99 -49 -4 -14 -13 --24 --56 -4 -25 --14 --48 -8 -22 --16 --49 -8 -22 --17 --50 -8 -22 --16 --49 -9 -23 --16 --49 -8 -24 --15 --48 -8 -22 --16 --49 -8 -23 --16 --49 -8 -22 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --47 -10 -24 --15 --48 -8 -24 --15 --48 -9 -24 --14 --47 -10 -25 --14 --47 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --47 -10 -24 --14 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --14 --48 -10 -23 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -10 -53 -68 -32 --8 --43 --7 -16 --21 --54 -2 -16 --21 --54 -3 -18 --20 --52 -5 -20 --18 --50 -5 -21 --17 --51 -7 -22 --17 --50 -8 -23 --16 --49 --76 --100 -47 -99 -48 -4 -14 -13 --24 --57 -4 -25 --14 --48 -7 -22 --16 --49 -7 -22 --17 --50 -8 -23 --16 --49 -9 -23 --16 --49 -8 -23 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --48 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -52 -68 -33 --8 --43 --7 -15 --23 --55 -2 -16 --22 --54 -4 -19 --19 --52 -5 -20 --18 --51 -5 -21 --18 --51 -7 -22 --16 --49 -7 -21 --17 --50 --77 --101 -46 -99 -48 -4 -15 -13 --24 --56 -4 -25 --14 --48 -8 -23 --16 --49 -7 -22 --17 --50 -8 -22 --16 --49 -9 -23 --16 --49 -8 -24 --15 --48 -9 -23 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -23 --15 --49 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --14 --48 -10 -25 --14 --48 -10 -25 --14 --48 -8 -23 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -53 -68 -32 --8 --43 --7 -16 --22 --54 -2 -16 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -20 --18 --51 -7 -22 --17 --50 -8 -23 --16 --49 --76 --100 -46 -99 -48 -4 -14 -13 --24 --56 -5 -24 --15 --48 -8 -22 --16 --49 -7 -22 --16 --50 -8 -23 --16 --49 -9 -24 --15 --49 -8 -51 -67 -30 --10 --44 --8 -14 --23 --55 -1 -15 --22 --55 -1 -18 --20 --53 -4 -20 --18 --51 -5 -20 --18 --51 -6 -21 --17 --50 -6 -22 --17 --50 --77 --101 -46 -98 -48 -4 -14 -14 --24 --56 -3 -25 --14 --48 -8 -23 --16 --49 -8 -23 --16 --49 -8 -22 --17 --49 -8 -23 --15 --48 -9 -23 --15 --49 -9 -22 --17 --50 -8 -23 --16 --49 -8 -23 --15 --49 -8 -24 --15 --48 -8 -23 --16 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --47 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -23 --15 --48 -8 -24 --15 --48 -10 -25 --14 --47 -10 -25 --14 --47 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --14 --48 -9 -25 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -53 -69 -32 --8 --43 --7 -16 --22 --54 -2 -16 --21 --54 -4 -19 --19 --52 -5 -20 --18 --51 -5 -20 --18 --51 -6 -22 --16 --49 -7 -23 --16 --49 --77 --100 -46 -98 -48 -4 -15 -14 --24 --56 -4 -25 --14 --48 -8 -22 --16 --49 -7 -22 --17 --50 -8 -23 --16 --49 -9 -24 --15 --48 -9 -51 -67 -30 --10 --44 --8 -15 --23 --55 -1 -15 --23 --55 -1 -18 --20 --53 -4 -20 --19 --51 -5 -20 --18 --51 -7 -21 --17 --51 -7 -22 --17 --50 -8 -23 --16 --49 -7 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -8 -23 --15 --49 -9 -24 --15 --48 -9 -24 --14 --48 --76 --100 -47 -100 -49 -5 -16 -15 --23 --55 -5 -26 --14 --48 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --49 -9 -23 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -23 --16 --49 -9 -23 --15 --48 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -23 --15 --49 -9 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -8 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -23 --15 --48 -8 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -10 -23 --15 --49 -10 -24 --15 --48 -10 -24 --14 --48 -9 -25 --14 --47 -10 -24 --14 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -23 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -8 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -8 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --47 -10 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -52 -69 -33 --7 --42 --7 -15 --22 --55 -1 -16 --21 --54 -3 -19 --19 --52 -5 -21 --17 --50 -5 -20 --18 --51 -7 -22 --17 --50 -8 -23 --16 --50 --77 --100 -45 -98 -48 -4 -15 -14 --24 --56 -4 -25 --14 --48 -8 -22 --17 --50 -8 -22 --17 --50 -8 -23 --16 --49 -9 -23 --15 --49 -9 -24 --15 --48 -9 -22 --17 --50 -8 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -23 --15 --49 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -23 --16 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -53 -69 -33 --8 --43 --8 -15 --22 --54 -3 -17 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -6 -20 --18 --51 -7 -22 --17 --50 -7 -23 --16 --50 --77 --101 -45 -98 -48 -4 -15 -14 --23 --56 -4 -25 --14 --48 -8 -22 --17 --50 -8 -22 --17 --50 -7 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -8 -22 --17 --50 -7 -22 --16 --49 -8 -24 --15 --49 -9 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -53 -69 -33 --8 --43 --8 -15 --22 --55 -2 -17 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -6 -21 --18 --51 -7 -22 --17 --50 -6 -22 --17 --50 -8 -23 --15 --49 -8 -23 --16 --49 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -9 -24 --15 --48 --76 --100 -46 -99 -48 -4 -16 -14 --23 --56 -4 -26 --13 --47 -9 -23 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -23 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -8 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -23 --16 --49 -10 -24 --15 --48 -10 -25 --14 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -53 -69 -33 --7 --42 --8 -15 --23 --55 -2 -16 --21 --54 -4 -20 --18 --51 -6 -20 --18 --51 -5 -20 --18 --51 -7 -22 --16 --50 -8 -23 --16 --49 --77 --101 -45 -98 -48 -3 -15 -14 --23 --56 -4 -26 --14 --48 -8 -23 --16 --49 -8 -22 --17 --50 -7 -23 --16 --49 -9 -23 --16 --49 -9 -24 --15 --48 -9 -22 --17 --50 -8 -22 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -10 -24 --15 --49 -9 -23 --16 --49 -9 -24 --14 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -23 --16 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --49 -9 -53 -69 -33 --7 --42 --7 -15 --23 --55 -2 -16 --21 --54 -3 -19 --19 --52 -6 -21 --18 --51 -6 -20 --18 --51 -7 -22 --17 --50 -8 -23 --16 --50 --77 --101 -44 -97 -47 -3 -15 -14 --24 --56 -4 -25 --14 --48 -8 -23 --16 --50 -8 -23 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -8 -52 -67 -31 --9 --44 --9 -15 --23 --55 -1 -15 --23 --55 -2 -18 --20 --53 -5 -19 --19 --52 -5 -20 --18 --51 -6 -22 --17 --50 -7 -22 --17 --50 --77 --101 -44 -98 -47 -3 -15 -14 --24 --56 -4 -24 --15 --48 -8 -22 --16 --50 -7 -22 --17 --50 -8 -23 --16 --49 -9 -23 --16 --49 -8 -23 --16 --49 -8 -22 --17 --50 -8 -23 --16 --49 -9 -23 --16 --49 -9 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -10 -25 --14 --48 -9 -25 --14 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --14 --48 -9 -25 --14 --48 -10 -25 --14 --48 -9 -52 -69 -33 --7 --42 --7 -15 --23 --55 -2 -16 --22 --54 -3 -19 --19 --52 -5 -21 --18 --51 -5 -20 --18 --51 -7 -22 --17 --50 -8 -22 --17 --50 -8 -23 --16 --49 -7 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -23 --15 --49 -9 -24 --15 --48 -10 -24 --15 --49 --76 --100 -45 -99 -49 -4 -17 -15 --22 --55 -4 -25 --14 --48 -8 -23 --15 --49 -8 -23 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -9 -24 --15 --48 -9 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -23 --16 --49 -8 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -10 -24 --15 --49 -9 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -52 -69 -34 --7 --42 --7 -15 --22 --55 -2 -16 --22 --54 -3 -19 --19 --52 -5 -21 --18 --51 -5 -21 --18 --51 -7 -22 --17 --50 -8 -22 --17 --49 -9 -23 --16 --49 -7 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --48 -10 -23 --15 --49 -8 -23 --16 --49 -9 -25 --14 --48 -10 -24 --15 --49 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --49 -10 -24 --15 --48 -9 -25 --15 --48 --76 --100 -45 -99 -49 -4 -16 -15 --22 --55 -5 -26 --13 --47 -9 -23 --16 --49 -8 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -22 --17 --50 -8 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --49 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --49 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -52 -68 -33 --7 --42 --8 -15 --23 --55 -3 -16 --22 --54 -3 -19 --20 --52 -5 -20 --18 --51 -6 -21 --17 --50 -7 -21 --17 --50 -7 -22 --17 --50 --77 --101 -44 -98 -47 -3 -16 -14 --23 --56 -4 -25 --14 --48 -8 -23 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --49 -9 -23 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --49 -8 -23 --16 --49 -9 -24 --15 --49 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -8 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -10 -25 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -26 --14 --48 -9 -24 --16 --49 -9 -24 --14 --48 -10 -25 --14 --48 -9 -52 -68 -33 --7 --43 --8 -15 --23 --55 -3 -17 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -21 --18 --51 -7 -22 --17 --50 -8 -22 --17 --50 --77 --102 -44 -97 -47 -3 -16 -14 --23 --56 -4 -24 --15 --49 -8 -23 --16 --49 -8 -23 --16 --50 -8 -24 --16 --49 -9 -23 --16 --49 -9 -23 --16 --49 -8 -22 --16 --50 -8 -23 --16 --49 -9 -24 --16 --49 -9 -24 --15 --48 -8 -23 --15 --49 -8 -24 --15 --48 -9 -24 --15 --48 -9 -51 -68 -33 --7 --43 --8 -14 --23 --55 -2 -16 --22 --55 -3 -19 --20 --52 -5 -21 --18 --51 -6 -21 --17 --51 -7 -22 --17 --50 -7 -22 --17 --50 --77 --102 -44 -97 -47 -3 -15 -14 --24 --56 -3 -25 --14 --48 -9 -23 --16 --49 -8 -22 --17 --50 -8 -22 --17 --50 -9 -24 --16 --49 -9 -24 --15 --48 -9 -22 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --49 -8 -23 --16 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -8 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --47 -9 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -53 -68 -33 --8 --43 --8 -15 --23 --55 -3 -17 --21 --54 -4 -18 --20 --53 -5 -20 --18 --51 -5 -21 --17 --51 -7 -22 --17 --50 -7 -22 --16 --50 --77 --101 -43 -98 -47 -3 -16 -14 --23 --56 -4 -25 --15 --48 -8 -23 --16 --50 -7 -22 --17 --50 -8 -23 --16 --49 -8 -24 --15 --49 -9 -51 -67 -32 --9 --44 --9 -14 --24 --56 -1 -15 --23 --55 -2 -18 --20 --53 -5 -20 --19 --52 -5 -20 --18 --51 -7 -22 --17 --50 -7 -22 --17 --50 --77 --102 -43 -96 -46 -2 -16 -14 --23 --56 -3 -25 --14 --48 -8 -22 --16 --50 -8 -23 --16 --50 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -23 --16 --49 -8 -23 --16 --50 -7 -23 --16 --49 -9 -24 --14 --48 -9 -24 --15 --49 -8 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --16 --49 -9 -25 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -9 -52 -69 -33 --7 --43 --8 -15 --23 --55 -2 -17 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -21 --18 --51 -7 -22 --17 --50 -7 -23 --16 --50 --77 --101 -43 -97 -47 -3 -16 -14 --24 --56 -4 -25 --14 --48 -8 -23 --16 --50 -8 -23 --16 --50 -8 -23 --16 --49 -8 -23 --16 --49 -9 -51 -67 -32 --8 --43 --9 -14 --24 --56 -1 -14 --23 --56 -2 -18 --21 --53 -4 -20 --19 --52 -5 -20 --18 --51 -7 -22 --17 --50 -8 -22 --17 --50 -8 -23 --16 --49 -7 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --49 -8 -23 --16 --49 -9 -25 --15 --48 -9 -24 --15 --49 --76 --100 -45 -99 -48 -4 -17 -15 --22 --55 -4 -25 --14 --48 -8 -24 --15 --49 -9 -23 --16 --49 -9 -24 --16 --49 -9 -24 --15 --49 -9 -24 --15 --49 -9 -22 --17 --50 -7 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -23 --16 --49 -8 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -23 --16 --49 -9 -24 --15 --48 -10 -24 --14 --48 -9 -25 --14 --48 -9 -23 --16 --49 -10 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -23 --16 --49 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --15 --48 -9 -24 --14 --48 -9 -24 --15 --49 -10 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --49 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -23 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -10 -25 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --49 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --14 --48 -10 -24 --15 --49 -9 -25 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --15 --48 -9 -52 -69 -34 --7 --43 --8 -14 --23 --56 -2 -17 --21 --54 -4 -19 --19 --52 -5 -20 --18 --51 -6 -20 --18 --51 -6 -22 --17 --50 -7 -22 --17 --50 --77 --101 -43 -97 -47 -3 -16 -14 --23 --56 -3 -25 --14 --48 -8 -23 --16 --49 -8 -22 --17 --50 -8 -23 --16 --50 -8 -24 --15 --49 -9 -24 --15 --48 -9 -23 --16 --49 -8 -22 --17 --50 -8 -23 --16 --49 -9 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --49 -9 -25 --15 --48 -10 -24 --15 --49 -10 -24 --15 --49 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --15 --48 -10 -24 --15 --49 -9 -25 --15 --48 -9 -24 --15 --49 -9 -25 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -23 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -23 --16 --49 -10 -24 --15 --49 -9 -53 -69 -34 --7 --42 --9 -14 --23 --55 -2 -16 --21 --54 -4 -19 --19 --52 -6 -21 --18 --51 -5 -20 --18 --51 -6 -22 --17 --50 -8 -23 --16 --50 --77 --101 -42 -97 -47 -2 -16 -15 --23 --56 -4 -25 --14 --48 -8 -22 --17 --50 -7 -22 --17 --50 -9 -24 --15 --49 -9 -24 --15 --49 -9 -23 --16 --49 -8 -22 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --49 -10 -25 --14 --48 -10 -24 --15 --49 -9 -23 --16 --49 -10 -25 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -25 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --49 -10 -25 --15 --48 -10 -25 --14 --48 -9 -24 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --49 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -10 -24 --15 --49 -10 -25 --14 --48 -9 -25 --14 --48 -9 -24 --15 --49 -10 -24 --15 --48 -10 -24 --15 --49 -9 -25 --14 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -52 -69 -34 --7 --42 --8 -14 --24 --56 -2 -16 --22 --54 -3 -20 --19 --52 -6 -21 --18 --51 -5 -20 --19 --51 -7 -22 --17 --50 -7 -22 --16 --49 -8 -23 --16 --49 -7 -22 --17 --50 -9 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --49 -9 -24 --15 --49 -10 -25 --15 --48 -9 -24 --15 --49 --76 --100 -45 -99 -48 -4 -17 -14 --23 --56 -4 -25 --14 --48 -8 -24 --15 --49 -9 -23 --16 --49 -9 -24 --16 --49 -9 -23 --16 --49 -9 -24 --15 --48 -9 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -8 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -23 --16 --49 -9 -24 --15 --49 -9 -24 --16 --49 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --49 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --15 --48 -9 -52 -69 -33 --7 --42 --8 -14 --23 --56 -2 -17 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -20 --18 --51 -6 -21 --17 --50 -7 -22 --17 --50 --77 --102 -43 -97 -47 -3 -16 -14 --23 --56 -4 -25 --14 --48 -9 -23 --16 --50 -8 -22 --17 --50 -8 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --49 -9 -22 --17 --50 -7 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --49 -10 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --49 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --14 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -25 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -52 -68 -34 --7 --42 --8 -14 --24 --56 -2 -16 --22 --54 -3 -19 --20 --53 -5 -20 --18 --51 -6 -21 --18 --50 -7 -22 --17 --50 -7 -22 --17 --50 --77 --102 -43 -97 -47 -3 -16 -14 --23 --56 -3 -25 --14 --48 -9 -23 --16 --49 -9 -22 --17 --50 -8 -22 --16 --50 -9 -24 --15 --49 -9 -52 -67 -32 --8 --43 --10 -14 --24 --56 -1 -15 --22 --55 -2 -18 --20 --53 -4 -19 --19 --52 -5 -20 --18 --51 -6 -22 --17 --50 -7 -22 --17 --50 --78 --102 -43 -97 -47 -3 -16 -14 --23 --56 -3 -25 --15 --48 -8 -22 --17 --50 -7 -22 --16 --50 -8 -23 --16 --49 -9 -23 --16 --49 -9 -24 --16 --49 -8 -23 --17 --50 -8 -23 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --49 -9 -25 --15 --48 -10 -25 --15 --48 -10 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -9 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --49 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -8 -23 --16 --49 -9 -24 --15 --48 -10 -25 --15 --48 -10 -52 -68 -33 --7 --42 --8 -14 --23 --55 -3 -16 --22 --54 -3 -19 --20 --52 -5 -20 --18 --51 -6 -21 --18 --51 -7 -22 --17 --50 -7 -22 --17 --50 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -24 --15 --49 --76 --101 -44 -99 -48 -4 -17 -15 --23 --55 -5 -26 --14 --48 -9 -23 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --16 --49 -9 -24 --16 --49 -8 -22 --16 --50 -8 -23 --16 --49 -9 -24 --15 --49 -9 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -23 --16 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --49 -9 -25 --14 --48 -9 -25 --14 --48 -9 -24 --15 --49 -10 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -25 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -8 -24 --15 --48 -10 -25 --14 --48 -10 -25 --15 --48 -9 -24 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -52 -69 -34 --7 --42 --8 -15 --23 --55 -2 -17 --21 --54 -3 -18 --20 --53 -4 -20 --19 --52 -5 -21 --18 --51 -7 -22 --17 --50 -7 -22 --17 --50 -8 -23 --16 --49 -7 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --49 -9 -24 --15 --49 -9 -24 --16 --49 -9 -25 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -8 -23 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -10 -24 --15 --48 -9 -24 --15 --49 --76 --100 -45 -99 -48 -4 -17 -15 --22 --55 -5 -26 --14 --48 -9 -24 --16 --49 -9 -23 --16 --49 -8 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --48 -9 -22 --17 --50 -8 -22 --17 --50 -8 -24 --16 --49 -9 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --49 -8 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --49 -9 -23 --16 --49 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -53 -69 -34 --6 --42 --8 -14 --23 --56 -2 -16 --22 --55 -3 -19 --20 --52 -5 -20 --18 --51 -6 -21 --18 --51 -7 -22 --17 --50 -8 -22 --16 --50 --77 --101 -43 -97 -47 -3 -16 -14 --24 --56 -3 -25 --15 --48 -8 -22 --16 --50 -8 -23 --16 --50 -9 -23 --16 --50 -8 -23 --16 --49 -8 -24 --15 --49 -9 -23 --16 --49 -8 -23 --16 --49 -8 -22 --16 --49 -8 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -9 -23 --16 --49 -8 -24 --15 --49 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --16 --49 -9 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --16 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -10 -25 --14 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -25 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -8 -24 --15 --49 -9 -25 --14 --48 -10 -53 -69 -34 --7 --42 --8 -15 --23 --56 -2 -16 --22 --54 -4 -19 --19 --52 -5 -20 --18 --51 -5 -21 --18 --51 -7 -22 --17 --50 -8 -22 --16 --50 --77 --101 -43 -97 -47 -3 -16 -14 --23 --56 -4 -24 --15 --48 -8 -22 --16 --50 -8 -22 --16 --50 -8 -23 --16 --49 -9 -23 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -8 -24 --16 --49 -8 -22 --17 --50 -8 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --49 -9 -24 --15 --48 -10 -52 -69 -33 --7 --42 --9 -14 --23 --56 -2 -16 --21 --54 -3 -19 --19 --52 -4 -20 --18 --52 -5 -21 --18 --51 -7 -22 --17 --50 -8 -22 --17 --50 --77 --102 -43 -97 -47 -3 -16 -13 --24 --56 -3 -25 --14 --48 -8 -23 --16 --49 -8 -22 --16 --50 -9 -22 --17 --50 -8 -23 --16 --50 -8 -24 --15 --49 -9 -23 --16 --49 -8 -22 --17 --49 -8 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -23 --15 --49 -10 -25 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --49 -10 -53 -69 -34 --7 --42 --8 -15 --23 --56 -2 -17 --21 --54 -3 -19 --19 --52 -5 -20 --19 --52 -5 -20 --18 --51 -6 -22 --17 --50 -8 -23 --16 --50 --77 --101 -43 -97 -47 -3 -16 -14 --23 --56 -4 -24 --15 --49 -8 -22 --16 --50 -7 -22 --16 --50 -9 -23 --16 --49 -9 -24 --15 --49 -8 -51 -67 -32 --9 --44 --8 -14 --24 --56 -1 -15 --22 --55 -2 -18 --20 --53 -4 -20 --19 --51 -5 -20 --18 --51 -7 -21 --17 --50 -7 -22 --17 --51 --78 --102 -43 -97 -47 -3 -16 -13 --24 --57 -3 -24 --15 --48 -8 -23 --16 --49 -7 -22 --17 --50 -8 -22 --17 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -23 --16 --49 -8 -22 --17 --50 -8 -23 --16 --49 -8 -24 --15 --48 -8 -23 --16 --49 -9 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --49 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --16 --49 -10 -24 --15 --48 -9 -53 -69 -33 --7 --42 --8 -14 --23 --55 -2 -16 --21 --54 -3 -19 --19 --52 -6 -21 --18 --51 -5 -20 --18 --51 -6 -22 --17 --50 -8 -23 --16 --50 --77 --101 -43 -97 -47 -3 -16 -14 --23 --56 -4 -25 --14 --48 -8 -23 --16 --50 -7 -22 --17 --50 -8 -23 --16 --49 -9 -23 --16 --49 -8 -51 -67 -32 --9 --44 --9 -14 --23 --56 -1 -15 --22 --55 -2 -18 --20 --53 -4 -20 --19 --51 -4 -20 --18 --51 -6 -21 --17 --50 -7 -22 --17 --50 -8 -22 --16 --49 -7 -22 --17 --50 -8 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -8 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 --76 --100 -44 -98 -48 -4 -17 -15 --23 --56 -5 -25 --14 --48 -8 -23 --16 --50 -8 -23 --16 --50 -9 -24 --15 --49 -9 -24 --15 --49 -9 -23 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -9 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --49 -10 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -10 -23 --16 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --49 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --15 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --49 -10 -25 --15 --48 -10 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --14 --48 -9 -24 --15 --49 -10 -25 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -23 --16 --49 -9 -52 -69 -34 --7 --42 --8 -14 --23 --55 -1 -16 --22 --54 -3 -19 --19 --52 -5 -21 --18 --51 -5 -20 --18 --51 -6 -22 --17 --50 -7 -23 --16 --50 --77 --101 -43 -97 -47 -3 -15 -14 --23 --56 -4 -25 --14 --48 -8 -22 --16 --50 -7 -22 --17 --50 -7 -23 --16 --49 -8 -23 --16 --49 -8 -24 --15 --49 -9 -22 --17 --50 -8 -22 --16 --49 -8 -23 --16 --49 -8 -24 --15 --48 -9 -23 --16 --49 -8 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --49 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -23 --16 --49 -9 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -10 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -8 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -23 --16 --49 -8 -23 --15 --49 -9 -25 --14 --48 -10 -25 --15 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -9 -52 -68 -33 --7 --43 --8 -15 --23 --55 -1 -16 --22 --54 -3 -19 --19 --52 -5 -21 --18 --51 -6 -20 --18 --51 -7 -22 --17 --50 -7 -22 --16 --50 --77 --101 -43 -97 -47 -3 -15 -14 --23 --56 -4 -25 --14 --48 -9 -22 --17 --50 -8 -22 --17 --50 -8 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --49 -9 -22 --17 --50 -7 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -9 -22 --17 --50 -9 -24 --16 --49 -9 -25 --15 --48 -9 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -23 --16 --49 -9 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -52 -69 -33 --7 --42 --8 -15 --23 --55 -2 -16 --22 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -21 --18 --51 -7 -22 --17 --50 -7 -22 --17 --50 -8 -24 --15 --49 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -24 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --49 --76 --100 -45 -99 -48 -4 -16 -14 --23 --56 -4 -25 --14 --48 -9 -23 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -23 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -23 --15 --49 -8 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --49 -9 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --16 --49 -10 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -23 --16 --49 -9 -52 -69 -34 --7 --42 --8 -15 --23 --55 -1 -16 --22 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -20 --18 --51 -7 -22 --17 --50 -7 -22 --17 --50 --77 --101 -44 -98 -47 -3 -16 -15 --23 --56 -4 -25 --14 --48 -8 -23 --17 --50 -8 -22 --16 --50 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -22 --17 --50 -7 -22 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --16 --49 -9 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -8 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -23 --15 --49 -9 -24 --15 --49 -10 -25 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -52 -69 -34 --7 --42 --8 -14 --23 --55 -2 -16 --22 --54 -3 -19 --19 --52 -5 -20 --18 --51 -6 -20 --18 --51 -7 -22 --17 --50 -8 -22 --17 --50 --77 --101 -44 -97 -47 -3 -15 -14 --23 --56 -4 -25 --14 --48 -8 -23 --16 --50 -8 -22 --17 --50 -8 -23 --16 --49 -8 -23 --16 --49 -9 -51 -67 -31 --9 --44 --9 -14 --23 --55 -1 -15 --23 --55 -2 -18 --20 --53 -5 -19 --19 --52 -4 -20 --19 --52 -6 -22 --17 --50 -8 -23 --16 --50 --77 --101 -43 -97 -47 -3 -15 -13 --24 --57 -4 -24 --15 --49 -7 -22 --17 --50 -7 -22 --17 --50 -8 -23 --16 --49 -9 -23 --16 --49 -8 -23 --16 --49 -8 -22 --17 --49 -8 -23 --16 --49 -8 -23 --16 --49 -8 -24 --15 --49 -9 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -23 --16 --49 -9 -24 --15 --49 -9 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --15 --48 -10 -52 -69 -33 --7 --42 --8 -15 --23 --55 -2 -16 --22 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -20 --18 --51 -7 -22 --17 --50 -8 -22 --17 --50 -7 -23 --16 --49 -7 -22 --16 --49 -9 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 --76 --100 -45 -99 -49 -4 -17 -15 --23 --55 -4 -25 --14 --48 -8 -23 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -9 -23 --16 --50 -9 -24 --15 --48 -9 -23 --16 --49 -8 -23 --16 --49 -8 -23 --15 --49 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --15 --49 -10 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -23 --16 --49 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -52 -68 -33 --7 --42 --8 -15 --22 --55 -2 -16 --21 --54 -3 -18 --19 --52 -5 -20 --18 --51 -5 -20 --18 --51 -7 -22 --17 --50 -8 -23 --16 --49 -8 -23 --16 --49 -7 -22 --16 --49 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --49 -8 -23 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --14 --48 --76 --100 -45 -99 -49 -4 -16 -15 --22 --55 -5 -26 --13 --47 -9 -23 --16 --50 -8 -22 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -24 --15 --48 -9 -22 --17 --50 -8 -22 --16 --49 -8 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --49 -9 -23 --16 --49 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -25 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --15 --48 -10 -25 --14 --48 -9 -52 -69 -33 --8 --43 --8 -15 --22 --55 -3 -16 --21 --54 -2 -19 --19 --52 -5 -20 --18 --51 -5 -21 --17 --51 -7 -22 --17 --50 -7 -22 --16 --50 --77 --101 -45 -99 -48 -4 -15 -13 --24 --57 -3 -24 --15 --48 -7 -23 --16 --49 -7 -22 --17 --50 -8 -23 --16 --49 -8 -23 --16 --49 -8 -23 --15 --49 -8 -22 --16 --50 -8 -23 --16 --49 -9 -23 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -8 -23 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -23 --15 --49 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -8 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --49 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -52 -68 -33 --7 --43 --8 -15 --22 --55 -2 -16 --22 --54 -3 -18 --20 --52 -5 -20 --18 --51 -5 -20 --18 --51 -7 -22 --17 --50 -8 -22 --16 --50 --77 --101 -44 -98 -48 -4 -15 -14 --24 --56 -4 -24 --15 --48 -7 -22 --16 --50 -7 -22 --16 --50 -8 -23 --16 --49 -9 -23 --16 --49 -9 -24 --15 --49 -8 -22 --16 --50 -8 -23 --16 --49 -9 -24 --15 --49 -8 -23 --16 --49 -8 -23 --16 --49 -8 -24 --15 --48 -10 -24 --15 --48 -9 -52 -68 -33 --7 --43 --8 -15 --22 --54 -2 -15 --22 --54 -3 -18 --20 --52 -4 -20 --18 --51 -6 -21 --18 --51 -7 -21 --17 --50 -8 -22 --17 --50 --77 --101 -45 -97 -47 -3 -15 -13 --24 --56 -4 -25 --14 --48 -8 -23 --16 --49 -7 -22 --16 --49 -8 -23 --16 --49 -9 -23 --16 --49 -8 -23 --16 --49 -8 -22 --17 --50 -8 -23 --16 --49 -9 -23 --16 --49 -8 -24 --15 --48 -8 -23 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --48 -10 -23 --15 --49 -8 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -53 -68 -32 --8 --43 --8 -16 --22 --55 -2 -16 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -20 --18 --51 -6 -22 --17 --50 -7 -22 --16 --50 --77 --101 -44 -98 -48 -3 -15 -14 --24 --56 -4 -25 --14 --48 -8 -22 --17 --50 -7 -22 --16 --50 -8 -23 --16 --49 -8 -23 --16 --49 -9 -52 -67 -31 --9 --44 --8 -14 --23 --56 -1 -15 --23 --55 -2 -18 --20 --53 -4 -19 --19 --51 -4 -20 --18 --51 -6 -21 --17 --50 -7 -21 --17 --50 --77 --101 -45 -97 -47 -3 -15 -14 --23 --56 -3 -24 --14 --48 -8 -23 --16 --50 -8 -22 --17 --50 -8 -22 --17 --50 -8 -23 --16 --49 -8 -24 --15 --48 -9 -23 --16 --49 -8 -22 --16 --49 -8 -22 --17 --49 -8 -24 --15 --48 -8 -23 --16 --49 -9 -24 --15 --49 -10 -24 --15 --48 -10 -24 --15 --48 -9 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -8 -23 --15 --49 -9 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -23 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --14 --48 -9 -52 -68 -32 --8 --43 --8 -15 --22 --55 -1 -16 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -20 --18 --51 -7 -22 --17 --50 -7 -22 --16 --50 --77 --101 -44 -98 -48 -4 -15 -14 --23 --56 -4 -25 --14 --48 -8 -22 --17 --50 -8 -22 --17 --50 -8 -23 --16 --49 -9 -23 --16 --49 -9 -52 -67 -31 --9 --44 --9 -14 --23 --55 -1 -15 --23 --55 -2 -17 --21 --53 -3 -19 --19 --52 -5 -20 --18 --51 -6 -22 --17 --50 -8 -21 --17 --50 -7 -22 --17 --49 -8 -22 --16 --49 -9 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 --76 --100 -46 -100 -49 -5 -15 -15 --23 --55 -4 -25 --14 --48 -9 -23 --16 --49 -7 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -22 --16 --49 -8 -22 --17 --50 -7 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -23 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -10 -23 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -8 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -25 --14 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --47 -9 -23 --15 --48 -9 -24 --15 --49 -9 -25 --14 --48 -10 -25 --14 --48 -9 -23 --16 --49 -8 -24 --15 --48 -10 -25 --14 --48 -9 -25 --14 --48 -9 -22 --16 --49 -9 -24 --15 --48 -9 -25 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -23 --15 --49 -9 -24 --15 --48 -10 -25 --14 --47 -9 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -23 --16 --49 -10 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -52 -69 -32 --8 --43 --7 -15 --22 --54 -2 -16 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -21 --18 --50 -7 -21 --17 --50 -8 -22 --16 --50 --77 --101 -46 -98 -48 -4 -14 -13 --24 --56 -4 -25 --14 --48 -8 -23 --16 --49 -7 -21 --17 --50 -7 -22 --16 --49 -8 -23 --15 --49 -9 -24 --15 --49 -9 -22 --16 --49 -7 -22 --16 --49 -8 -23 --15 --49 -8 -24 --15 --48 -9 -23 --16 --49 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -8 -24 --15 --48 -10 -24 --14 --48 -10 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -9 -24 --15 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -53 -69 -32 --8 --43 --8 -15 --22 --55 -1 -16 --21 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -19 --19 --51 -6 -22 --17 --50 -8 -22 --16 --50 --77 --101 -45 -98 -48 -4 -15 -14 --23 --56 -4 -25 --14 --48 -8 -22 --16 --50 -7 -22 --17 --50 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --49 -9 -22 --17 --49 -8 -22 --17 --50 -8 -23 --16 --49 -9 -24 --15 --48 -9 -23 --16 --49 -9 -23 --15 --49 -8 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --49 -9 -23 --15 --49 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -23 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -9 -24 --14 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -10 -23 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --14 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -23 --15 --48 -10 -52 -69 -33 --7 --43 --7 -15 --22 --54 -1 -16 --22 --54 -3 -19 --19 --52 -5 -20 --18 --51 -5 -19 --19 --51 -7 -22 --17 --50 -7 -22 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -8 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 --76 --100 -47 -100 -50 -5 -15 -14 --23 --56 -4 -25 --14 --48 -8 -23 --16 --49 -8 -23 --16 --49 -8 -22 --17 --49 -9 -23 --16 --49 -8 -24 --15 --48 -8 -22 --16 --49 -8 -23 --16 --49 -8 -22 --16 --49 -8 -24 --15 --48 -8 -23 --15 --49 -9 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -23 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -8 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -25 --14 --47 -10 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -53 -69 -32 --8 --43 --7 -15 --22 --54 -1 -16 --22 --54 -3 -19 --19 --52 -5 -21 --18 --51 -6 -20 --18 --51 -7 -22 --17 --50 -7 -22 --16 --50 --77 --100 -46 -98 -48 -4 -14 -13 --24 --56 -4 -25 --14 --48 -8 -22 --17 --50 -8 -22 --17 --50 -8 -23 --16 --49 -9 -23 --15 --49 -9 -24 --15 --48 -8 -22 --17 --50 -8 -22 --16 --49 -8 -23 --16 --49 -8 -24 --15 --48 -9 -23 --15 --48 -9 -23 --16 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --14 --48 -8 -23 --16 --49 -9 -24 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --14 --48 -10 -25 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -23 --15 --48 -10 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -24 --14 --48 -10 -24 --14 --48 -9 -52 -68 -32 --8 --43 --7 -16 --21 --54 -2 -16 --22 --54 -3 -19 --19 --52 -5 -20 --18 --51 -6 -21 --17 --50 -7 -21 --17 --50 -6 -22 --17 --50 --77 --101 -47 -99 -49 -4 -14 -13 --24 --56 -4 -25 --14 --48 -8 -22 --16 --49 -7 -22 --17 --50 -7 -22 --17 --50 -9 -23 --15 --49 -9 -52 -67 -30 --10 --45 --9 -14 --23 --55 -1 -15 --22 --54 -2 -18 --20 --52 -4 -19 --19 --52 -5 -20 --18 --51 -6 -22 --17 --50 -7 -22 --17 --50 --77 --101 -46 -99 -49 -4 -14 -13 --24 --56 -4 -24 --15 --49 -7 -22 --17 --50 -7 -22 --16 --50 -8 -23 --16 --49 -8 -23 --16 --49 -8 -22 --16 --49 -8 -22 --17 --49 -7 -22 --16 --49 -8 -23 --15 --49 -9 -24 --15 --48 -8 -22 --16 --49 -8 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -23 --15 --48 -8 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -23 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -9 -24 --14 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --14 --48 -9 -52 -68 -31 --9 --43 --7 -16 --22 --54 -2 -15 --22 --54 -3 -18 --19 --52 -5 -20 --18 --51 -6 -20 --18 --51 -7 -21 --17 --50 -7 -21 --17 --50 -8 -23 --16 --49 -8 -22 --16 --49 -8 -23 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -8 -23 --15 --49 -9 -24 --14 --48 -10 -24 --14 --48 --75 --99 -47 -99 -49 -4 -15 -15 --23 --55 -5 -25 --14 --48 -8 -22 --16 --49 -7 -22 --16 --49 -8 -23 --15 --49 -9 -23 --16 --49 -8 -23 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -8 -23 --15 --49 -9 -24 --15 --48 -8 -23 --15 --48 -8 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -23 --15 --49 -8 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -23 --16 --49 -9 -24 --15 --48 -10 -25 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --14 --48 -9 -23 --15 --48 -9 -24 --14 --48 -10 -23 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --14 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -23 --15 --48 -8 -24 --15 --48 -10 -25 --14 --48 -10 -53 -68 -31 --8 --43 --7 -16 --21 --54 -2 -16 --21 --54 -3 -18 --20 --52 -5 -20 --18 --51 -6 -21 --18 --50 -7 -22 --17 --50 -7 -21 --17 --50 -8 -23 --16 --49 -7 -23 --16 --49 -9 -23 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -8 -22 --16 --49 -9 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -23 --15 --48 -10 -24 --15 --48 -10 -24 --14 --48 -9 -24 --14 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -24 --15 --48 --75 --100 -48 -100 -50 -5 -15 -14 --23 --56 -4 -25 --14 --47 -8 -23 --16 --49 -8 -22 --16 --49 -9 -23 --16 --49 -7 -23 --16 --49 -9 -24 --15 --48 -9 -22 --16 --49 -8 -22 --17 --49 -8 -23 --16 --49 -8 -24 --15 --48 -9 -23 --15 --49 -9 -24 --15 --48 -9 -24 --15 --48 -8 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -8 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -53 -69 -32 --8 --43 --7 -16 --21 --54 -2 -15 --22 --54 -3 -19 --19 --51 -4 -20 --18 --51 -5 -20 --18 --51 -7 -22 --17 --49 -8 -22 --17 --50 --77 --101 -47 -99 -49 -4 -14 -13 --24 --56 -3 -24 --14 --48 -7 -22 --16 --49 -7 -22 --17 --49 -8 -22 --16 --49 -8 -22 --16 --49 -8 -23 --15 --48 -9 -23 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -8 -24 --15 --48 -8 -23 --15 --48 -8 -23 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -23 --15 --49 -8 -24 --15 --48 -10 -24 --15 --48 -10 -24 --14 --48 -9 -23 --16 --49 -9 -24 --14 --48 -10 -25 --14 --48 -9 -24 --14 --48 -9 -23 --15 --48 -8 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -10 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -25 --14 --47 -10 -24 --15 --48 -9 -23 --15 --48 -10 -24 --15 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --48 -9 -24 --15 --48 -9 -23 --15 --48 -9 -24 --14 --47 -10 -24 --15 --48 -10 -24 --14 --48 -9 -23 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -9 -25 --14 --47 -10 -24 --15 --48 -8 -24 --15 --48 -10 -24 --14 --48 -10 -54 -68 -32 --8 --43 --7 -16 --21 --54 -2 -16 --22 --54 -4 -18 --19 --52 -5 -20 --18 --51 -5 -20 --18 --51 -7 -22 --17 --49 -8 -22 --16 --49 --76 --100 -47 -99 -49 -4 -14 -13 --24 --56 -4 -24 --14 --48 -7 -22 --16 --50 -7 -22 --16 --49 -8 -23 --16 --49 -8 -22 --16 --49 -7 -23 --16 --49 -8 -22 --16 --49 -8 -22 --16 --49 -8 -23 --16 --49 -9 -24 --15 --48 -9 -22 --16 --49 -8 -24 --15 --48 -9 -24 --15 --48 -10 -53 -68 -31 --9 --43 --7 -16 --22 --54 -2 -16 --21 --54 -3 -19 --19 --52 -4 -20 --18 --51 -5 -20 --18 --51 -7 -22 --17 --49 -8 -22 --17 --50 --77 --100 -47 -99 -49 -5 -14 -12 --25 --57 -3 -24 --14 --48 -7 -22 --16 --50 -8 -23 --16 --49 -8 -22 --16 --49 -8 -22 --16 --49 -8 -24 --15 --48 -9 -22 --16 --49 -7 -22 --16 --49 -8 -22 --16 --49 -8 -24 --15 --48 -9 -23 --16 --48 -9 -23 --15 --48 -10 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -9 -24 --15 --48 -9 -23 --15 --48 -8 -23 --15 --48 -9 -24 --15 --48 -10 -25 --14 --47 -9 -23 --15 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -53 -69 -32 --8 --43 --8 -16 --22 --54 -1 -16 --22 --54 -4 -19 --19 --52 -5 -20 --18 --51 -4 -20 --18 --51 -7 -22 --17 --49 -8 -22 --16 --49 --76 --100 -47 -99 -49 -4 -14 -13 --24 --56 -5 -24 --15 --48 -7 -22 --17 --50 -7 -22 --16 --49 -8 -23 --16 --49 -8 -23 --16 --49 -8 -51 -66 -30 --10 --45 --8 -15 --22 --54 -1 -15 --23 --55 -2 -17 --21 --53 -4 -19 --19 --51 -5 -20 --18 --51 -6 -21 --17 --50 -7 -21 --17 --50 --77 --101 -47 -98 -48 -4 -13 -12 --25 --57 -4 -25 --14 --48 -8 -22 --16 --49 -7 -21 --17 --50 -8 -22 --17 --49 -8 -23 --15 --49 -8 -23 --15 --48 -8 -22 --16 --49 -8 -23 --16 --49 -8 -22 --16 --49 -8 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -23 --15 --48 -8 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -24 --15 --48 -9 -24 --14 --48 -10 -25 --14 --47 -10 -23 --16 --49 -9 -24 --15 --48 -9 -24 --14 --48 -10 -24 --14 --48 -10 -24 --15 --48 -9 -24 --15 --48 -10 -24 --14 --48 -9 -25 --14 --48 -9 -24 --15 --48 -9 -24 --14 --48 -9 -24 --15 --48 -9 -25 --14 --48 -10 -24 --15 --48 -9 -23 --15 --48 -9 -24 --15 --48 -9 -53 -68 -31 --9 --43 --7 -16 --21 --54 -1 -16 --21 --54 -3 -19 --19 --51 -5 -20 --18 --51 -5 -20 --18 --51 -6 -22 --17 --50 -8 -22 --16 --49 --76 --100 -47 -99 -49 -4 -13 -13 --24 --56 -5 -25 --14 --48 -8 -22 --17 --50 -7 -22 --17 --50 -8 -22 --16 --49 -8 -23 --16 --49 -8 -52 -65 -29 --10 --45 --8 -15 --22 --54 -1 -15 --22 --54 -2 -17 --21 --53 -4 -19 --19 --51 -5 -20 --18 --51 -6 -22 --17 --50 -7 -22 --16 --49 -8 -23 --16 --49 -6 -22 --17 --49 -8 -23 --15 --48 -9 -24 --15 --48 -9 -24 --15 --48 -7 -23 --15 --49 -9 -24 --14 --48 -9 -24 diff --git a/traces/modulation-psk1-64-8.pm3 b/traces/modulation-psk1-64-8.pm3 deleted file mode 100644 index f30b8fed3..000000000 --- a/traces/modulation-psk1-64-8.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --51 --69 -93 -82 -47 -13 --15 --39 --58 --75 -87 -75 -41 -8 --19 --43 --61 --77 -84 -72 -39 -5 --21 --44 --63 --79 -82 -68 -35 -3 --23 --46 --65 --80 -81 -68 -35 -2 --23 --46 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -78 -67 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --81 -77 -65 -32 -14 -16 -15 -14 --15 --38 --59 --75 --89 -76 -64 -32 -0 --26 --48 --67 --82 -77 -64 -32 -0 --26 --48 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -94 -59 -23 --5 --31 --51 --69 -93 -82 -47 -13 --15 --39 --58 --74 -87 -75 -42 -8 --19 --42 --61 --77 -83 -72 -38 -5 --21 --45 --63 --79 -82 -70 -37 -4 --22 --46 --64 --80 -80 -67 -35 -2 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -33 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -14 -16 -15 -14 --15 --39 --59 --75 --89 -75 -64 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -59 -23 --6 --31 --51 --69 -93 -81 -47 -12 --15 --39 --58 --75 -88 -76 -42 -8 --19 --42 --61 --77 -83 -71 -38 -5 --21 --45 --63 --79 -82 -70 -37 -4 --22 --45 --64 --80 -80 -67 -35 -2 --24 --47 --65 --81 -79 -67 -34 -2 --24 --47 --65 --81 -79 -67 -34 -15 -17 -16 -15 --15 --38 --59 --75 --89 -76 -64 -31 --1 --26 --49 --67 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --5 --31 --51 --69 -93 -80 -47 -12 --15 --39 --58 --75 -88 -76 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --78 -81 -69 -36 -4 --23 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --81 -79 -67 -33 -1 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --47 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -77 -66 -33 -0 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -77 -65 -33 -14 -15 -15 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -64 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -59 -23 --6 --31 --52 --69 -93 -81 -47 -13 --15 --39 --58 --75 -88 -76 -42 -8 --19 --42 --61 --77 -83 -71 -38 -5 --21 --45 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --24 --46 --65 --80 -79 -67 -34 -2 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --47 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --67 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -16 -15 -14 --15 --38 --59 --75 --89 -76 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -77 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -60 -23 --6 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -88 -76 -42 -8 --18 --42 --61 --77 -84 -71 -38 -5 --21 --45 --63 --79 -82 -70 -37 -3 --22 --45 --64 --80 -80 -68 -35 -2 --23 --46 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -77 -65 -32 -13 -16 -15 -14 --15 --39 --59 --76 --89 -75 -63 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -94 -60 -23 --6 --31 --51 --69 -94 -82 -47 -13 --15 --39 --58 --75 -87 -75 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -78 -67 -33 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -77 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -14 -15 -15 -15 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -60 -23 --6 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -88 -75 -41 -8 --19 --42 --61 --77 -83 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --22 --46 --64 --80 -80 -67 -34 -2 --24 --47 --65 --81 -80 -68 -34 -2 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --47 --65 --81 -78 -65 -32 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -14 -16 -15 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -94 -60 -23 --6 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -88 -75 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --45 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -79 -68 -35 -2 --24 --46 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -14 -16 -15 -14 --15 --39 --59 --75 --89 -75 -64 -31 -0 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -64 -32 -0 --26 --48 --67 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 --95 --106 --99 --102 -94 -95 -60 -23 --6 --31 --52 --69 -94 -82 -47 -13 --15 --39 --58 --75 -87 -75 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --45 --63 --79 -82 -70 -36 -4 --23 --46 --64 --80 -81 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -2 --24 --47 --65 --81 -78 -67 -33 -15 -17 -16 -15 --14 --37 --58 --75 --89 -75 -63 -31 --1 --26 --49 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -64 -32 -0 --26 --48 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --51 --69 -94 -81 -47 -12 --15 --39 --58 --75 -87 -76 -42 -8 --18 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --23 --47 --65 --80 -79 -66 -34 -1 --24 --47 --65 --81 -79 -67 -33 -1 --25 --47 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -14 -15 -15 -15 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --94 --106 --98 --102 -93 -95 -60 -23 --6 --31 --51 --69 -94 -82 -47 -13 --15 --39 --58 --75 -87 -75 -41 -7 --19 --43 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --23 --47 --65 --80 -79 -68 -34 -2 --24 --47 --65 --81 -79 -66 -33 -14 -16 -16 -15 --14 --37 --58 --75 --88 -76 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -77 -65 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --5 --31 --51 --69 -94 -81 -47 -12 --15 --39 --58 --75 -87 -76 -42 -8 --18 --42 --61 --77 -84 -72 -38 -5 --21 --45 --63 --79 -81 -69 -36 -4 --22 --46 --64 --80 -81 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -2 --24 --47 --65 --81 -79 -66 -33 -1 --25 --47 --66 --81 -79 -65 -33 -0 --25 --48 --66 --82 -79 -67 -33 -1 --25 --47 --65 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -77 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -77 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -77 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -15 -15 -14 --15 --38 --59 --75 --89 -76 -65 -32 --1 --26 --49 --67 --82 -77 -64 -31 -0 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -77 -65 -32 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --51 --69 -93 -82 -47 -13 --14 --39 --58 --74 -88 -75 -41 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -70 -37 -4 --22 --46 --64 --80 -80 -67 -34 -2 --24 --47 --65 --81 -79 -68 -34 -2 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -67 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --24 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -14 -15 -15 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --67 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -59 -23 --6 --31 --52 --69 -93 -82 -47 -13 --15 --39 --58 --75 -88 -76 -42 -8 --19 --42 --61 --77 -83 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --81 -80 -67 -34 -2 --24 --47 --65 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -14 -16 -15 -14 --15 --38 --59 --75 --89 -75 -64 -31 -0 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --67 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -94 -60 -23 --6 --31 --52 --69 -94 -82 -47 -13 --14 --39 --58 --74 -87 -75 -41 -8 --19 --43 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -68 -36 -3 --23 --46 --65 --80 -81 -68 -35 -3 --23 --46 --65 --80 -79 -67 -34 -2 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -67 -34 -1 --25 --47 --65 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -16 -15 -15 --14 --38 --59 --75 --89 -76 -64 -32 -0 --26 --49 --67 --82 -77 -64 -31 --1 --26 --49 --67 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -59 -23 --6 --31 --52 --69 -93 -81 -47 -13 --15 --39 --58 --74 -87 -75 -42 -8 --18 --42 --61 --77 -83 -72 -38 -5 --21 --45 --63 --79 -83 -70 -36 -4 --22 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --80 -79 -67 -34 -2 --24 --47 --65 --81 -79 -66 -33 -1 --25 --47 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -14 -16 -15 -14 --15 --39 --59 --75 --89 -75 -64 -32 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -64 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -88 -76 -42 -8 --18 --42 --61 --77 -83 -71 -38 -5 --21 --45 --63 --79 -82 -69 -37 -4 --23 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --80 -79 -66 -34 -1 --24 --47 --65 --81 -79 -67 -33 -15 -17 -16 -15 --15 --38 --59 --75 --89 -75 -64 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -60 -23 --6 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -88 -75 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --65 --80 -81 -68 -35 -2 --23 --46 --65 --80 -79 -66 -33 -1 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -77 -65 -32 -14 -16 -15 -14 --15 --38 --59 --75 --89 -75 -63 -31 --1 --27 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --67 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -60 -23 --6 --31 --52 --69 -94 -82 -47 -13 --15 --39 --58 --75 -88 -76 -42 -8 --19 --42 --61 --77 -84 -71 -38 -5 --21 --45 --63 --79 -82 -70 -37 -4 --22 --46 --64 --80 -80 -68 -35 -2 --23 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -65 -33 -0 --25 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -14 -16 -15 -15 --15 --38 --59 --75 --89 -76 -64 -31 --1 --26 --49 --67 --82 -77 -64 -31 --1 --26 --49 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --52 --69 -93 -81 -47 -12 --15 --39 --58 --75 -88 -75 -42 -8 --19 --42 --61 --77 -84 -71 -38 -5 --21 --45 --63 --79 -82 -70 -36 -4 --23 --45 --64 --80 -80 -68 -35 -2 --24 --47 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -33 -1 --25 --47 --66 --81 -79 -67 -33 -1 --25 --48 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -14 -16 -15 -14 --15 --38 --59 --75 --89 -76 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --94 --106 --98 --102 -93 -94 -59 -23 --6 --31 --52 --69 -93 -82 -47 -13 --15 --39 --58 --75 -88 -75 -41 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -79 -68 -35 -2 --23 --46 --65 --80 -79 -67 -33 -1 --24 --47 --66 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -14 -16 -15 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --67 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -60 -23 --6 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -88 -76 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -83 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --81 -79 -67 -33 -1 --24 --47 --65 --81 -79 -67 -34 -1 --25 --47 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -16 -15 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -33 -0 --25 --48 --66 --82 --95 --106 --99 --102 -93 -94 -59 -23 --6 --31 --51 --69 -93 -82 -47 -12 --15 --39 --58 --75 -87 -75 -42 -8 --19 --43 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -3 --23 --46 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -14 -16 -15 -14 --16 --39 --59 --76 --89 -75 -64 -31 -0 --26 --49 --67 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --51 --68 -93 -81 -47 -13 --15 --39 --58 --74 -87 -75 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --45 --63 --79 -82 -70 -37 -4 --22 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -15 -17 -16 -15 --14 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 --95 --106 --99 --102 -93 -95 -60 -23 --5 --31 --51 --69 -94 -81 -47 -12 --15 --39 --59 --75 -87 -75 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --23 --47 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -78 -66 -33 -1 --25 --47 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -77 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -16 -15 -14 --15 --38 --59 --75 --89 -76 -65 -31 --1 --26 --49 --67 --82 -77 -64 -31 -0 --26 --49 --67 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -77 -65 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -94 -59 -23 --6 --31 --52 --69 -94 -82 -47 -13 --15 --39 --58 --75 -87 -75 -42 -8 --19 --42 --61 --77 -83 -71 -38 -5 --21 --44 --63 --79 -83 -70 -36 -3 --23 --46 --64 --80 -80 -68 -35 -3 --24 --47 --65 --80 -80 -67 -34 -2 --24 --47 --65 --81 -78 -66 -33 -15 -16 -16 -15 --14 --37 --58 --74 --89 -76 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --5 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -87 -75 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -81 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -65 -32 -0 --25 --48 --66 --82 -79 -67 -33 -1 --25 --48 --65 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -65 -33 -0 --25 --48 --66 --81 -77 -65 -32 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -77 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -14 -16 -15 -14 --15 --38 --59 --75 --89 -75 -64 -32 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -76 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -59 -22 --6 --31 --52 --69 -93 -81 -47 -13 --15 --39 --58 --75 -88 -75 -42 -8 --19 --42 --61 --77 -84 -71 -38 -5 --21 --45 --63 --79 -82 -70 -37 -4 --22 --45 --64 --80 -80 -67 -34 -2 --24 --47 --65 --81 -79 -68 -35 -2 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -77 -65 -32 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -77 -65 -32 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -77 -65 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -15 -15 -15 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --25 --48 --66 --82 -77 -65 -32 -0 --26 --48 --67 --82 -78 -65 -32 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -94 -59 -23 --6 --31 --52 --69 -93 -82 -47 -12 --15 --39 --58 --75 -88 -76 -42 -8 --18 --42 --61 --77 -83 -71 -38 -5 --21 --45 --63 --79 -82 -70 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --24 --46 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --47 --66 --81 -79 -66 -33 -1 --25 --47 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -16 -14 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --48 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -64 -32 -0 --26 --48 --67 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --51 --69 -94 -82 -47 -13 --15 --39 --58 --75 -87 -75 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --80 -80 -67 -34 -2 --24 --47 --65 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -67 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -79 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --67 --82 -78 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -14 -16 -15 -15 --14 --38 --59 --75 --89 -76 -64 -31 --1 --26 --49 --67 --82 -77 -64 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -94 -59 -23 --6 --31 --52 --69 -94 -82 -47 -13 --15 --39 --58 --75 -88 -76 -42 -8 --18 --42 --61 --77 -84 -71 -38 -5 --21 --45 --63 --79 -82 -70 -37 -4 --22 --45 --64 --80 -80 -68 -35 -2 --23 --46 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -33 -14 -16 -15 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --25 --48 --66 --82 -77 -64 -32 -0 --26 --48 --67 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -60 -23 --6 --31 --51 --69 -94 -82 -47 -13 --15 --39 --58 --75 -87 -76 -42 -8 --18 --42 --61 --77 -84 -72 -38 -5 --22 --45 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -81 -68 -35 -2 --24 --46 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -34 -15 -17 -16 -15 --14 --38 --59 --75 --89 -76 -64 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --51 --69 -93 -82 -47 -13 --15 --39 --58 --74 -87 -75 -42 -8 --19 --42 --61 --77 -84 -72 -39 -6 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --23 --46 --65 --80 -79 -66 -34 -1 --24 --47 --65 --81 -79 -67 -34 -1 --25 --47 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -14 -16 -15 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 --95 --106 --98 --102 -94 -95 -60 -24 --5 --31 --51 --69 -94 -81 -47 -13 --15 --39 --58 --74 -87 -75 -42 -8 --19 --42 --61 --77 -83 -71 -38 -5 --21 --45 --63 --79 -82 -70 -37 -4 --22 --45 --64 --80 -80 -68 -35 -2 --23 --46 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --24 --47 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -67 -34 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -14 -16 -15 -15 --15 --38 --59 --75 --89 -76 -64 -31 --1 --26 --49 --67 --82 -77 -64 -32 -0 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --99 --102 -94 -95 -60 -23 --5 --31 --51 --69 -94 -82 -47 -13 --15 --39 --58 --74 -88 -76 -42 -8 --19 --42 --61 --77 -84 -71 -38 -5 --21 --45 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --24 --46 --65 --80 -79 -67 -34 -2 --24 --47 --65 --81 -79 -66 -33 -1 --24 --48 --66 --81 -79 -66 -33 -1 --25 --48 --65 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -15 -16 -15 --14 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --103 -93 -94 -60 -23 --6 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -87 -74 -41 -8 --19 --43 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -81 -68 -35 -2 --23 --46 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -14 -16 -14 -14 --15 --38 --59 --75 --89 -75 -65 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -59 -23 --6 --31 --52 --69 -93 -82 -47 -13 --15 --39 --58 --75 -88 -76 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --45 --63 --79 -81 -69 -36 -3 --23 --46 --64 --80 -81 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -33 -1 --24 --47 --66 --81 -79 -65 -33 -1 --25 --48 --66 --82 -79 -67 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -14 -16 -15 -15 --15 --38 --59 --75 --89 -75 -63 -31 --1 --27 --49 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --67 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -59 -23 --5 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -87 -74 -41 -8 --19 --43 --61 --77 -83 -72 -39 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --65 --80 -79 -68 -35 -2 --23 --47 --65 --80 -80 -67 -33 -1 --24 --47 --66 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -79 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -14 -16 -15 -14 --16 --39 --60 --76 --89 -75 -64 -31 --1 --26 --49 --67 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -64 -32 -0 --26 --49 --67 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --52 --69 -93 -81 -47 -12 --15 --39 --58 --75 -88 -75 -42 -8 --18 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -3 --23 --46 --65 --80 -79 -66 -33 -1 --24 --47 --66 --81 -79 -66 -33 -14 -17 -16 -15 --15 --38 --59 --75 --89 -75 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 --95 --106 --99 --102 -94 -95 -59 -23 --6 --31 --52 --69 -94 -82 -47 -13 --15 --39 --58 --74 -87 -75 -42 -8 --19 --43 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --65 --80 -80 -68 -35 -2 --24 --46 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -78 -66 -33 -1 --25 --47 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -79 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -77 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -14 -16 -15 -14 --15 --38 --59 --75 --89 -76 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -59 -23 --6 --31 --52 --69 -93 -82 -47 -13 --15 --39 --58 --75 -88 -75 -42 -8 --19 --42 --61 --77 -83 -71 -38 -5 --21 --44 --63 --79 -82 -70 -36 -3 --23 --46 --64 --80 -79 -67 -35 -2 --24 --47 --65 --81 -80 -67 -33 -1 --24 --47 --65 --81 -79 -66 -34 -15 -16 -16 -15 --14 --37 --59 --75 --89 -76 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --5 --31 --51 --69 -94 -81 -47 -12 --15 --39 --58 --75 -87 -76 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --45 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -33 -1 --24 --48 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --82 -79 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -64 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -33 -0 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -16 -14 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -94 -59 -23 --6 --31 --52 --69 -93 -81 -47 -12 --15 --39 --58 --75 -88 -76 -41 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --45 --63 --79 -82 -70 -36 -4 --22 --46 --64 --80 -81 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -2 --24 --47 --65 --81 -79 -67 -33 -1 --25 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -14 -15 -15 -15 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 --95 --106 --99 --102 -94 -95 -60 -23 --6 --31 --51 --69 -93 -81 -47 -13 --15 --39 --58 --75 -88 -76 -42 -8 --19 --42 --61 --77 -83 -72 -38 -5 --21 --45 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -80 -68 -35 -2 --24 --47 --65 --80 -79 -67 -34 -2 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --47 --66 --81 -78 -65 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -77 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -79 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -79 -65 -33 -0 --25 --48 --66 --81 -77 -65 -33 -0 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -16 -15 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -64 -32 -0 --26 --49 --67 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 --95 --106 --99 --102 -93 -95 -60 -23 --6 --31 --51 --69 -93 -82 -47 -13 --15 --39 --58 --74 -88 -76 -42 -8 --19 --42 --61 --77 -83 -72 -38 -5 --21 --45 --63 --79 -82 -70 -36 -3 --22 --46 --64 --80 -80 -68 -34 -2 --24 --47 --65 --81 -80 -68 -34 -2 --24 --47 --65 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -79 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -14 -16 -15 -15 --14 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -64 -31 --1 --26 --49 --67 --82 -77 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --5 --31 --51 --69 -93 -80 -47 -12 --15 --39 --59 --75 -88 -76 -42 -8 --19 --42 --61 --77 -84 -71 -38 -5 --21 --45 --63 --79 -82 -70 -37 -4 --23 --46 --64 --80 -80 -68 -35 -2 --23 --46 --65 --80 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -33 -1 --24 --47 --65 --81 -78 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --26 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -79 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --82 -78 -66 -32 -14 -17 -15 -14 --15 --39 --59 --75 --89 -75 -64 -31 -0 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --5 --31 --51 --69 -94 -81 -47 -12 --15 --39 --59 --75 -87 -76 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --45 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -81 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -34 -15 -17 -16 -14 --15 --38 --59 --75 --89 -75 -64 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 --95 --106 --98 --102 -93 -95 -60 -23 --6 --31 --51 --69 -94 -82 -47 -13 --15 --39 --58 --75 -87 -75 -42 -8 --19 --42 --61 --77 -84 -72 -38 -5 --21 --44 --63 --79 -82 -69 -36 -3 --23 --46 --64 --80 -81 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -78 -67 -34 -1 --24 --47 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -77 -66 -33 -1 --25 --48 --66 --81 -79 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -1 --25 --48 --66 --81 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -1 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --81 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -79 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -79 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --81 -78 -65 -33 -1 --25 --48 --66 --81 -79 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --81 -78 -65 -32 -1 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -77 -65 -32 -0 --26 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -14 -16 -16 -14 --15 --38 --59 --75 --89 -75 -64 -31 --1 --26 --49 --67 --82 -77 -65 -32 -0 --26 --48 --66 --82 -78 -65 -32 -0 --26 --48 --66 --82 -77 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -0 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --82 -78 -66 -32 -0 --25 --48 --66 --82 -78 -65 -33 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 -78 -66 -33 -1 --25 --48 --66 --81 -78 -65 -32 -0 --25 --48 --66 --82 --95 --106 --98 --102 -94 -95 -60 -23 --6 --31 --52 --69 -94 -81 -47 -12 --15 --39 --58 --75 -88 -76 -42 -8 --19 --42 --61 --77 -84 -71 -38 -5 --21 --45 --63 --79 -82 -69 -36 -4 --22 --45 --64 --80 -80 -68 -35 -2 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -67 -34 -1 --24 --47 --65 --81 -79 -66 -33 -1 --25 --48 --66 --81 -78 -66 -33 -1 --24 --47 --66 --81 -78 -65 -33 -0 diff --git a/traces/modulation-psk2-32-2.pm3 b/traces/modulation-psk2-32-2.pm3 deleted file mode 100644 index eb9a2800b..000000000 --- a/traces/modulation-psk2-32-2.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ --20 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -8 --19 -7 --19 -8 --18 -8 --19 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -7 --19 -8 --19 -9 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -9 --18 -9 --18 -9 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 -23 --8 -14 --14 -5 --22 -6 --21 -7 --21 -6 --21 -8 --20 -7 --20 -7 --21 -8 --20 -8 --20 -8 --19 -9 --19 -9 --19 -8 --19 -9 --19 -8 --20 -8 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --19 -10 --18 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -8 --20 -8 --19 -9 --19 -9 --19 -9 --18 -9 --18 -9 --19 -10 --18 -8 --20 -9 --19 -9 --19 -9 --18 -9 --18 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -8 --20 -8 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --18 -9 --17 -7 --19 -8 --19 -6 --20 -5 --21 -6 --20 -6 --20 -7 --19 -7 --19 -8 --19 -7 --19 -8 -22 --8 -13 --16 -5 --22 -6 --22 -7 --21 -7 --21 -7 --20 -8 --20 -7 --21 -7 --20 -8 --20 -8 --19 -9 --19 -8 --20 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -9 --19 -9 --18 -8 --19 -8 --20 -9 --18 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -8 --20 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --17 -9 --18 -8 --19 -8 --19 -6 --20 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -8 --19 -8 --19 -7 --19 -7 --19 -8 --19 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --19 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 -23 --7 -13 --16 -5 --22 -6 --21 -6 --21 -7 --20 -7 --21 -8 --20 -8 --20 -7 --20 -8 --19 -8 --20 -9 --19 -8 --19 -8 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 --41 -45 -12 -7 --19 -12 --16 -9 --17 -9 --18 -8 --19 -8 --19 -7 --19 -6 --21 -6 --20 -7 --19 -7 --19 -7 --19 -7 --19 -8 --19 -8 --19 -7 --19 -8 --18 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --17 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 -23 --8 -14 --15 -5 --22 -6 --21 -6 --21 -7 --20 -7 --21 -8 --20 -7 --21 -7 --20 -8 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 --41 -45 -12 -6 --20 -11 --16 -9 --18 -9 --18 -7 --19 -7 --19 -6 --20 -5 --21 -6 --20 -7 --19 -7 --19 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --17 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --19 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -6 --22 -7 --21 -7 --21 -7 --21 -8 --20 -6 --21 -7 --20 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -8 --20 --42 -45 -12 -7 --20 -11 --16 -9 --17 -9 --18 -7 --19 -7 --19 -7 --20 -5 --21 -6 --20 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 -22 --8 -12 --17 -4 --23 -6 --21 -6 --21 -7 --21 -7 --21 -7 --21 -7 --20 -6 --21 -8 --20 -8 --20 -8 --19 -9 --19 -8 --20 -9 --19 -8 --20 -8 --20 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -8 --20 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --20 -8 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -8 --20 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --19 -10 --18 --41 -45 -13 -6 --20 -11 --16 -9 --17 -9 --18 -8 --18 -8 --19 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -6 --20 -8 --19 -7 --19 -7 --19 -7 --19 -8 --19 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -9 --18 -8 --19 -8 --18 -9 --18 -9 --18 -9 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --19 -9 --18 -8 --18 -8 --18 -9 --18 -8 --19 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --19 -8 --18 -8 --18 -9 --17 -8 --19 -8 --18 -9 --17 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -6 --21 -7 --21 -7 --20 -7 --20 -8 --20 -8 --19 -8 --19 -9 --19 -8 --19 -9 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -8 --20 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -10 --17 -8 --18 -8 --18 -7 --19 -6 --20 -6 --20 -6 --19 -7 --19 -7 --20 -7 --19 -7 --19 -7 --19 -8 --18 -7 --20 -8 --18 -8 --19 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --20 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -9 --18 -8 --19 -9 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 -23 --8 -14 --15 -5 --22 -6 --21 -7 --20 -7 --21 -7 --20 -7 --21 -7 --21 -8 --20 -8 --20 -8 --19 -8 --19 -8 --19 -9 --19 -8 --20 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -8 --20 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 --41 -45 -13 -6 --20 -11 --16 -9 --17 -8 --18 -8 --19 -7 --19 -6 --20 -6 --21 -6 --20 -6 --20 -7 --19 -7 --19 -7 --19 -7 --19 -7 --19 -7 --19 -8 --19 -8 --18 -8 --19 -8 --19 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --19 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -9 -23 --8 -14 --15 -5 --22 -6 --21 -7 --20 -7 --21 -8 --20 -7 --20 -7 --21 -8 --20 -8 --20 -8 --19 -8 --20 -8 --20 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --19 -8 --19 -10 --18 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 --40 -45 -13 -6 --20 -11 --16 -9 --18 -9 --18 -8 --19 -7 --19 -6 --20 -5 --21 -6 --20 -7 --19 -7 --19 -7 --19 -8 --18 -7 --19 -7 -22 --8 -12 --16 -4 --23 -6 --22 -6 --21 -7 --21 -7 --20 -7 --21 -6 --21 -8 --20 -8 --20 -8 --19 -8 --19 -8 --19 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --18 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --19 -9 --19 -9 --18 -8 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --18 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --20 -9 --18 -10 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 --41 -45 -12 -7 --19 -11 --16 -9 --18 -9 --17 -7 --19 -8 --18 -6 --20 -6 --20 -7 --19 -7 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -7 --19 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --19 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --17 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 -23 --7 -14 --15 -5 --22 -6 --21 -6 --21 -7 --21 -8 --20 -8 --20 -7 --20 -6 --21 -8 --20 -8 --20 -9 --19 -9 --19 -8 --19 -9 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --18 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -10 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --18 -8 --18 -7 --19 -8 --18 -6 --20 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -8 --19 -8 --19 -8 -22 --8 -12 --16 -5 --23 -5 --22 -6 --21 -7 --21 -7 --21 -8 --20 -7 --21 -7 --20 -8 --19 -8 --20 -8 --19 -9 --19 -8 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -10 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -8 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -10 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --18 -9 --18 -7 --19 -8 --19 -6 --20 -6 --20 -7 --20 -7 --19 -7 --19 -7 --19 -7 --19 -8 --19 -8 --19 -6 --20 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -9 --18 -8 --19 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -8 --19 -8 --18 -9 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 -22 --8 -14 --15 -6 --22 -6 --21 -7 --21 -7 --20 -7 --21 -8 --20 -7 --21 -8 --20 -8 --19 -8 --20 -9 --19 -8 --20 -8 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 --41 -44 -12 -7 --19 -11 --16 -9 --17 -9 --18 -7 --19 -8 --19 -7 --19 -6 --21 -7 --19 -7 --20 -7 --19 -7 --19 -7 --19 -8 --18 -7 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -7 --20 -7 --21 -8 --20 -7 --21 -7 --21 -9 --19 -8 --20 -9 --19 -8 --20 -8 --20 -9 --19 --41 -45 -13 -6 --19 -11 --16 -8 --18 -8 --18 -7 --19 -8 --19 -7 --20 -5 --21 -6 --20 -7 --19 -6 --20 -7 --19 -8 --19 -7 --19 -8 --19 -6 --20 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --17 -8 --19 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -6 --20 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --17 -8 --19 -8 -23 --8 -13 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --21 -8 --20 -7 --20 -7 --20 -8 --20 -8 --20 -8 --19 -8 --20 -9 --19 -9 --19 --41 -44 -12 -6 --20 -11 --17 -9 --18 -8 --18 -7 --19 -8 --19 -7 --19 -5 --21 -6 --20 -6 --20 -7 --20 -7 --19 -7 --19 -7 --19 -8 -22 --8 -12 --16 -4 --23 -6 --22 -7 --21 -7 --21 -7 --20 -7 --20 -7 --21 -7 --20 -8 --20 -8 --20 -9 --19 -8 --20 -9 --19 -9 --19 -7 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --18 -8 --19 -9 --19 -10 --18 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -8 --19 -8 --19 -9 --18 -10 --18 -9 --19 -9 --18 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -8 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 --41 -45 -13 -7 --20 -11 --16 -9 --18 -9 --18 -8 --19 -7 --19 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -7 --19 -8 --18 -7 --19 -8 --19 -7 --20 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -7 --19 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -9 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -7 --20 -7 --20 -8 --20 -7 --21 -8 --20 -8 --20 -8 --20 -9 --19 -8 --19 -9 --19 -8 --20 -8 --20 -8 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --19 -10 --18 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --18 -8 --18 -8 --18 -7 --19 -6 --20 -6 --20 -6 --20 -7 --19 -7 --20 -7 --19 -8 --19 -7 --19 -8 --18 -7 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --19 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 -23 --7 -14 --15 -5 --22 -6 --22 -7 --21 -7 --21 -8 --20 -7 --20 -6 --21 -7 --20 -8 --20 -8 --19 -8 --19 -8 --19 -9 --19 -9 --19 -8 --20 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --18 -9 --19 -9 --18 -9 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --17 -8 --18 -7 --19 -8 --19 -7 --20 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -8 --19 -8 --19 -8 --18 -6 --20 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -6 --20 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 -23 --7 -14 --15 -5 --23 -6 --21 -6 --22 -7 --21 -7 --20 -8 --20 -8 --20 -7 --21 -8 --20 -8 --20 -9 --19 -8 --19 -9 --19 -8 --20 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -9 --17 -8 --18 -8 --19 -8 --19 -6 --20 -5 --21 -7 --19 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -8 -23 --8 -12 --16 -4 --23 -6 --22 -6 --22 -7 --21 -7 --20 -7 --20 -7 --21 -7 --21 -8 --20 -8 --20 -8 --20 -8 --20 -8 --19 -8 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -10 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -8 --20 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --18 -10 --19 -9 --19 -8 --20 -9 --18 -10 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --20 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -8 --20 -9 --19 -10 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --18 -9 --19 -9 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -10 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -8 --20 -9 --19 -10 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -10 --19 -9 --19 -10 --18 -8 --19 -9 --19 -9 --19 -8 --19 -9 --19 -10 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --20 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -9 --17 -9 --18 -8 --19 -8 --18 -6 --20 -6 --20 -6 --20 -6 --20 -7 --19 -6 --20 -7 --19 -8 --19 -7 --19 -7 --20 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 -23 --8 -14 --15 -5 --22 -7 --21 -7 --21 -7 --20 -7 --20 -7 --21 -7 --20 -8 --20 -8 --19 -8 --19 -8 --20 -9 --19 -8 --20 -9 --19 -8 --20 -8 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --18 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -10 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -10 --18 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -10 --18 -10 --18 -9 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -9 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --17 -8 --18 -7 --19 -7 --19 -6 --20 -5 --21 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -8 -22 --8 -12 --16 -5 --22 -6 --22 -6 --21 -7 --21 -7 --21 -8 --20 -7 --21 -7 --20 -8 --20 -8 --20 -9 --19 -8 --20 -9 --19 -9 --19 -8 --20 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --19 -9 --19 -10 --18 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -10 --18 -8 --20 -8 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --20 -8 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --18 -9 --17 -7 --19 -8 --19 -6 --20 -5 --21 -6 --20 -6 --20 -7 --19 -7 --19 -8 --19 -7 --19 -8 --19 -7 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 -23 --7 -13 --16 -5 --22 -6 --21 -7 --21 -7 --20 -8 --20 -8 --20 -7 --20 -7 --20 -8 --19 -8 --20 -9 --19 -8 --19 -8 --20 -9 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 --41 -44 -12 -7 --19 -11 --16 -9 --18 -9 --18 -7 --19 -7 --19 -7 --20 -6 --20 -7 --19 -6 --20 -7 --19 -8 --19 -7 --19 -8 --19 -8 --18 -6 --20 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -7 --20 -7 --20 -8 --20 -7 --21 -7 --20 -8 --20 -8 --20 -9 --19 -9 --19 -8 --19 -8 --19 --41 -44 -12 -6 --20 -11 --16 -9 --18 -9 --18 -7 --19 -7 --19 -6 --20 -5 --21 -6 --20 -7 --19 -7 --20 -7 --19 -7 --19 -7 --19 -8 --18 -6 --20 -8 --18 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -9 --17 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -7 --19 -9 --18 -8 --18 -9 --17 -8 --19 -8 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -9 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -6 --21 -7 --20 -7 --20 -7 --20 -7 --21 -7 --20 -8 --20 -8 --20 -9 --19 -8 --19 -9 --19 -8 --20 --42 -45 -13 -6 --20 -11 --16 -9 --17 -8 --18 -7 --19 -7 --19 -6 --20 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -7 --19 -7 --19 -7 -23 --8 -12 --16 -4 --23 -6 --22 -6 --21 -7 --21 -6 --21 -7 --20 -7 --20 -7 --20 -8 --20 -8 --20 -8 --19 -9 --19 -8 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --20 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --18 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -10 --18 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -13 -6 --19 -11 --16 -9 --17 -9 --18 -8 --19 -8 --19 -6 --20 -6 --20 -6 --20 -7 --20 -7 --19 -7 --19 -7 --19 -8 --19 -8 --18 -6 --20 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --19 -9 --17 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -7 --21 -7 --21 -7 --21 -7 --20 -7 --20 -7 --20 -8 --20 -8 --19 -8 --20 -9 --19 -8 --20 -9 --19 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -8 --19 -9 --18 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -9 --17 -8 --18 -7 --19 -7 --19 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -7 --19 -8 --18 -7 --19 -8 --18 -7 --19 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 -23 --8 -14 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --20 -7 --20 -7 --21 -8 --20 -8 --20 -8 --19 -8 --19 -8 --19 -8 --19 -8 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 --41 -45 -12 -6 --20 -11 --16 -9 --17 -9 --18 -7 --19 -8 --19 -6 --20 -6 --21 -7 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -7 --19 -7 --20 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --17 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -9 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --20 -7 --20 -7 --21 -7 --20 -9 --19 -8 --20 -8 --19 -8 --19 -8 --19 -8 --19 -8 --19 -8 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --20 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 --41 -45 -13 -6 --20 -11 --16 -9 --17 -9 --18 -8 --19 -7 --19 -6 --20 -6 --21 -6 --20 -7 --19 -7 --20 -7 --19 -7 --19 -7 --19 -8 -22 --8 -13 --16 -4 --23 -6 --22 -7 --21 -6 --21 -7 --20 -7 --21 -7 --21 -8 --20 -8 --20 -8 --19 -8 --20 -8 --20 -9 --19 -8 --20 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --20 -9 --19 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -8 --20 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --20 -9 --19 -10 --18 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -8 --19 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -8 --20 -8 --19 -9 --18 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -8 --19 -8 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -9 --19 -9 --19 -10 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -8 --19 -8 --20 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -10 --18 -10 --18 -9 --19 -9 --18 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --18 -8 --20 -8 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --19 -9 --18 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 --41 -45 -13 -7 --19 -10 --17 -9 --17 -8 --18 -8 --19 -8 --18 -6 --20 -6 --20 -7 --19 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -8 --19 -7 --19 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --17 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -9 --17 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --18 -9 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -9 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --20 -7 --20 -7 --20 -7 --21 -8 --20 -8 --19 -8 --20 -9 --19 -8 --20 -8 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --18 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -8 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --18 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --17 -9 --18 -8 --19 -8 --18 -6 --20 -5 --21 -6 --20 -6 --20 -7 --19 -7 --20 -7 --19 -8 --19 -7 -22 --8 -12 --16 -5 --23 -5 --22 -7 --21 -6 --21 -7 --20 -7 --20 -7 --21 -7 --20 -8 --20 -8 --20 -8 --19 -8 --20 -9 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --20 -9 --18 -10 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --18 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --18 -9 --18 -7 --19 -8 --19 -7 --20 -6 --20 -7 --20 -7 --20 -7 --19 -6 --20 -7 --19 -8 --19 -8 --18 -7 --19 -8 --19 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -7 --19 -9 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --17 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -7 --19 -9 --18 -8 --19 -9 --18 -8 --18 -9 --18 -9 --18 -8 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -7 --21 -7 --21 -7 --21 -7 --21 -8 --20 -7 --21 -8 --20 -8 --19 -8 --20 -8 --19 -8 --19 -8 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --18 --41 -45 -13 -7 --19 -11 --16 -9 --17 -9 --18 -7 --19 -8 --19 -6 --20 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -8 --19 -8 --19 -8 --19 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --21 -8 --20 -7 --21 -7 --20 -8 --20 -8 --20 -9 --19 -8 --20 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -8 --18 -8 --18 -8 --19 -8 --19 -6 --20 -5 --21 -6 --20 -7 --19 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -6 --20 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --19 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -7 --20 -6 --21 -7 --20 -8 --20 -7 --20 -8 --20 -8 --20 -8 --19 -8 --19 -8 --20 -9 --19 -8 --19 --41 -45 -13 -6 --20 -11 --16 -9 --18 -8 --18 -8 --19 -7 --19 -6 --20 -5 --21 -6 --20 -6 --20 -7 --19 -7 --19 -8 --19 -8 --19 -8 -22 --8 -12 --16 -5 --22 -6 --22 -6 --21 -7 --20 -7 --21 -7 --21 -7 --21 -7 --20 -8 --20 -8 --20 -9 --19 -8 --19 -8 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -10 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 --41 -45 -13 -7 --19 -11 --16 -9 --17 -9 --18 -8 --19 -7 --19 -6 --20 -5 --20 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -8 --19 -8 --18 -6 --20 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --19 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --20 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -9 --17 -7 --20 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --20 -8 --20 -7 --20 -7 --20 -8 --20 -8 --19 -9 --19 -8 --19 -9 --19 -8 --20 -8 --20 -8 --20 -9 --18 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --18 -8 --20 -8 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --18 -9 --18 --41 -45 -13 -7 --20 -11 --16 -9 --18 -8 --18 -8 --19 -8 --19 -7 --20 -6 --20 -6 --20 -7 --19 -7 --19 -7 --19 -7 --19 -8 --19 -8 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --19 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -9 -23 --7 -14 --15 -5 --23 -6 --21 -7 --21 -7 --21 -8 --20 -8 --20 -7 --20 -7 --20 -8 --20 -8 --19 -8 --20 -8 --19 -8 --19 -9 --19 -8 --19 -8 --20 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --18 -9 --18 -8 --19 -7 --19 -7 --19 -6 --20 -6 --20 -7 --19 -6 --20 -7 --19 -8 --19 -8 --19 -8 --18 -6 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -7 --21 -6 --21 -7 --21 -8 --20 -8 --20 -7 --20 -7 --21 -8 --20 -8 --19 -8 --19 -9 --19 -8 --20 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -8 --18 -8 --18 -8 --19 -8 --19 -7 --19 -5 --21 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -8 -22 --8 -13 --16 -5 --23 -6 --22 -6 --21 -7 --21 -7 --20 -7 --20 -7 --21 -7 --20 -8 --20 -8 --19 -8 --20 -8 --20 -9 --19 -9 --19 -8 --20 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --18 -9 --19 -8 --19 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -10 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -8 --20 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -8 --19 -9 --19 -9 --19 -10 --18 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --18 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 --41 -45 -12 -7 --19 -11 --16 -9 --17 -9 --18 -8 --19 -8 --18 -6 --20 -5 --21 -7 --20 -6 --20 -8 --18 -7 --19 -8 --19 -7 --19 -8 --19 -7 --20 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --17 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 -23 --7 -13 --16 -5 --22 -6 --21 -7 --21 -7 --20 -7 --21 -8 --20 -8 --20 -8 --20 -8 --19 -8 --19 -8 --20 -9 --19 -8 --19 -8 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -8 --20 -8 --19 -10 --18 -9 --19 -10 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -10 --18 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --20 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -8 --20 -9 --19 -9 --19 -9 --18 -10 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --20 -10 --18 -9 --19 -9 --19 -10 --19 -8 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --17 -8 --18 -7 --19 -7 --19 -7 --19 -6 --20 -6 --20 -6 --19 -7 --19 -7 --19 -7 --19 -8 --19 -8 -22 --8 -13 --16 -5 --23 -6 --22 -7 --21 -6 --21 -7 --20 -7 --20 -7 --21 -7 --20 -8 --20 -8 --20 -9 --19 -8 --20 -9 --19 -8 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 -8 --19 -8 --19 -10 --18 -9 --19 -10 --18 -10 --19 -9 --19 -10 --18 -8 --20 -9 --19 -10 --18 -10 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -12 -7 --19 -11 --16 -9 --17 -8 --18 -8 --19 -8 --19 -6 --20 -6 --21 -6 --20 -7 --20 -8 --19 -7 --19 -7 --19 -8 --19 -7 --19 -7 --19 -8 --19 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 -23 --7 -14 --15 -6 --22 -6 --22 -7 --21 -7 --21 -7 --20 -8 --20 -6 --21 -7 --21 -8 --19 -8 --19 -9 --19 -8 --20 -9 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 --41 -44 -12 -7 --19 -11 --16 -9 --18 -9 --17 -7 --19 -8 --19 -7 --19 -5 --21 -7 --19 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --20 -7 --20 -7 --20 -8 --20 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -8 --18 -8 --18 -7 --19 -7 --19 -6 --20 -5 --21 -6 --20 -7 --20 -7 --19 -7 --19 -6 --20 -7 --19 -8 --19 -7 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --19 -9 --18 -9 --18 -8 --18 -9 --18 -9 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -9 -23 --8 -14 --15 -5 --23 -6 --22 -7 --21 -7 --21 -8 --20 -7 --20 -7 --21 -8 --20 -8 --20 -8 --19 -8 --19 -9 --19 -9 --19 -8 --20 --42 -45 -12 -6 --19 -11 --16 -9 --17 -9 --18 -7 --19 -7 --19 -6 --20 -6 --20 -7 --20 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 -23 --8 -12 --16 -4 --23 -6 --22 -6 --21 -7 --21 -7 --20 -7 --21 -7 --20 -7 --21 -8 --20 -8 --20 -8 --20 -9 --19 -8 --19 -9 --19 -8 --20 -8 --20 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --18 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --17 -9 --18 -7 --19 -8 --19 -6 --20 -5 --20 -6 --20 -7 --19 -7 --19 -7 --19 -7 --19 -7 --19 -8 --18 -6 --20 -8 --19 -8 --19 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -9 --18 -8 --18 -9 --17 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -7 --19 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -9 --17 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --19 -8 --18 -9 --17 -8 --19 -9 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -6 --21 -7 --21 -7 --20 -7 --20 -7 --21 -7 --20 -8 --19 -8 --20 -8 --20 -8 --19 -9 --19 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --18 --41 -45 -13 -6 --20 -11 --16 -9 --18 -8 --18 -8 --19 -7 --19 -6 --20 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -8 --19 -8 --19 -8 --19 -7 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --19 -8 --19 -8 --18 -9 --18 -9 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --17 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 -23 --8 -14 --15 -5 --22 -7 --21 -6 --21 -6 --21 -8 --20 -8 --20 -7 --20 -7 --20 -8 --20 -8 --19 -8 --19 -8 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -9 --17 -8 --18 -8 --18 -7 --19 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -7 --19 -7 --19 -7 --20 -8 --19 -6 --20 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --17 -8 --19 -8 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 -23 --8 -14 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --21 -7 --20 -7 --20 -7 --20 -9 --19 -8 --20 -8 --19 -9 --19 -8 --20 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -10 --18 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 --41 -45 -13 -6 --20 -11 --16 -9 --18 -9 --18 -8 --19 -8 --19 -6 --20 -5 --21 -6 --20 -6 --20 -7 --19 -6 --20 -8 --19 -7 --19 -8 -22 --8 -12 --16 -4 --23 -6 --22 -7 --21 -7 --21 -7 --20 -7 --21 -7 --21 -7 --20 -8 --20 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --18 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -8 --20 -8 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -10 --19 -10 --18 -10 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -8 --20 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --18 -9 --19 -10 --19 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -10 --19 -9 --19 -9 --19 -8 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --17 -8 --18 -8 --19 -8 --19 -7 --20 -6 --20 -6 --20 -7 --19 -7 --20 -7 --19 -8 --19 -7 --19 -8 --19 -7 --19 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --19 -8 --18 -9 --17 -8 --19 -8 --18 -7 --19 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --17 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --19 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -7 --19 -8 --18 -9 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -6 --21 -7 --21 -7 --20 -7 --20 -7 --20 -7 --21 -8 --20 -9 --19 -8 --19 -9 --19 -9 --19 -8 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --19 -8 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --18 -9 --18 -7 --19 -8 --19 -6 --20 -5 --21 -6 --20 -7 --19 -8 --19 -7 --19 -8 --19 -7 --19 -8 -22 --8 -13 --16 -5 --23 -6 --21 -7 --21 -6 --21 -7 --20 -7 --21 -7 --20 -7 --20 -8 --20 -8 --20 -8 --19 -8 --19 -8 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -8 --20 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -10 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -8 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -13 -7 --19 -11 --17 -9 --17 -8 --18 -7 --19 -8 --19 -6 --20 -6 --20 -6 --20 -6 --20 -7 --19 -7 --20 -8 --18 -7 --19 -8 --19 -7 --19 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -9 --18 -8 -23 --7 -14 --15 -5 --22 -6 --21 -6 --21 -7 --20 -7 --21 -8 --20 -7 --20 -7 --20 -9 --19 -8 --20 -8 --20 -9 --19 -8 --19 -9 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 --41 -45 -12 -7 --19 -11 --16 -9 --18 -9 --18 -7 --19 -7 --19 -6 --20 -6 --21 -7 --19 -6 --20 -7 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --20 -8 --18 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --19 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --19 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 -23 --8 -14 --15 -6 --21 -6 --21 -6 --21 -7 --21 -7 --21 -8 --20 -7 --21 -7 --21 -8 --19 -8 --20 -9 --19 -8 --20 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -9 --18 -9 --18 -7 --19 -7 --19 -6 --20 -5 --21 -6 --20 -6 --20 -7 --20 -7 --19 -8 --19 -7 --19 -7 --19 -6 --20 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -9 --18 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -9 --17 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 -23 --8 -14 --14 -5 --22 -6 --21 -7 --21 -6 --21 -7 --20 -8 --20 -7 --20 -7 --20 -8 --20 -8 --20 -9 --19 -8 --20 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -9 --18 -8 --18 -7 --19 -8 --18 -6 --21 -5 --21 -6 --20 -6 --20 -7 --19 -7 --19 -8 --19 -8 --19 -7 -22 --8 -12 --17 -5 --22 -5 --22 -7 --21 -7 --21 -7 --21 -7 --20 -7 --21 -7 --20 -8 --19 -8 --20 -8 --20 -8 --19 -9 --19 -9 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -8 --19 -8 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --18 -8 --20 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -10 --19 -9 --18 -9 --19 -8 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 --41 -45 -13 -6 --19 -11 --16 -9 --18 -8 --18 -8 --18 -7 --19 -6 --20 -6 --21 -7 --20 -7 --19 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --19 -9 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -9 --18 -8 -23 --7 -14 --15 -5 --22 -6 --22 -7 --21 -7 --20 -7 --20 -7 --20 -7 --21 -8 --20 -8 --20 -9 --19 -9 --19 -8 --20 -9 --19 -8 --20 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --20 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -9 --18 -9 --18 -8 --19 -7 --19 -6 --20 -6 --21 -7 --19 -7 --19 -7 --19 -7 --19 -7 --19 -7 --19 -8 --19 -6 --20 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --19 -8 --18 -9 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --19 -9 --18 -9 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 -23 --7 -14 --15 -5 --22 -6 --21 -7 --21 -7 --20 -8 --20 -7 --20 -7 --21 -7 --21 -8 --19 -8 --20 -8 --19 -8 --20 -9 --19 -9 --19 -8 --20 -8 --20 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 --41 -45 -13 -6 --20 -11 --16 -9 --18 -8 --18 -8 --19 -7 --19 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -7 --20 -8 --18 -8 --19 -8 --19 -7 --20 -8 --19 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -6 --20 -8 --18 -8 --18 -9 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --19 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 -23 --8 -14 --15 -5 --23 -6 --21 -7 --21 -6 --21 -7 --20 -7 --21 -7 --20 -7 --21 -8 --20 -8 --19 -8 --20 -9 --19 -8 --19 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -8 --18 -8 --18 -8 --19 -8 --19 -7 --19 -5 --21 -6 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -8 -22 --8 -13 --16 -4 --23 -6 --21 -7 --21 -7 --21 -7 --20 -7 --21 -7 --21 -7 --21 -8 --20 -9 --19 -8 --20 -8 --20 -9 --19 -9 --19 -8 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -10 --19 -10 --18 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -9 --19 -8 --19 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -8 --19 -8 --20 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -10 --18 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -8 --19 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 --41 -45 -13 -7 --20 -11 --16 -9 --17 -8 --18 -8 --19 -8 --18 -6 --20 -6 --20 -7 --19 -6 --20 -7 --19 -7 --19 -7 --19 -7 --19 -8 --19 -7 --19 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -9 --18 -9 --17 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --17 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -9 --17 -8 --19 -9 --18 -8 --18 -8 --18 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 -23 --8 -14 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --20 -7 --20 -8 --20 -7 --20 -8 --20 -8 --19 -8 --20 -8 --19 -9 --19 -9 --19 -8 --20 -8 --20 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -8 --19 -10 --18 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -8 --20 -9 --19 -10 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -8 --20 -8 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -8 --20 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -10 --19 -10 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -8 --19 -8 --19 -10 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -8 --19 -9 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --17 -8 --18 -7 --19 -8 --18 -7 --19 -6 --20 -6 --20 -6 --20 -7 --19 -7 --19 -8 --18 -7 --19 -8 -22 --8 -12 --16 -5 --23 -6 --22 -7 --21 -6 --21 -7 --20 -8 --20 -7 --21 -7 --21 -8 --20 -8 --20 -8 --19 -8 --20 -9 --19 -8 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -10 --18 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --20 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --18 -8 --19 -8 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -10 --18 -8 --19 -9 --19 -9 --19 -9 --19 -9 --18 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --18 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -9 --19 -9 --19 -10 --18 -9 --19 -9 --19 -9 --19 --41 -45 -13 -7 --19 -11 --16 -9 --17 -8 --18 -7 --19 -8 --19 -6 --20 -6 --20 -6 --20 -6 --20 -8 --19 -7 --20 -7 --19 -7 --19 -7 --19 -7 --19 -8 --19 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -7 --19 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -9 --17 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --19 -9 --18 -8 --19 -9 --18 -8 --18 -8 -23 --7 -13 --16 -5 --22 -6 --22 -7 --21 -7 --20 -7 --21 -8 --20 -6 --21 -7 --20 -9 --19 -8 --20 -9 --19 -8 --19 -9 --19 -9 --19 -8 --20 -8 --20 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -10 --18 -9 --19 --41 -44 -12 -6 --20 -11 --16 -9 --18 -9 --18 -8 --19 -8 --19 -7 --19 -5 --21 -6 --20 -7 --20 -7 --19 -7 --19 -7 --19 -7 --19 -7 --19 -6 --20 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --17 -8 --19 -9 --18 -7 --19 -9 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --18 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 -22 --8 -14 --15 -5 --22 -6 --21 -7 --21 -7 --21 -7 --21 -8 --20 -7 --20 -7 --20 -8 --19 -8 --20 -9 --19 -8 --20 -8 --19 -9 --19 --41 -45 -13 -6 --20 -11 --16 -9 --18 -8 --18 -7 --19 -7 --19 -7 --20 -6 --21 -6 --20 -6 --20 -7 --20 -7 --19 -7 --19 -7 --19 -8 --19 -7 --20 -8 --18 -8 --19 -8 --19 -8 --18 -8 --19 -8 --18 -8 --18 -7 --19 -8 --18 -7 --19 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -9 --18 -8 --19 -9 --18 -8 --19 -8 --18 -7 --19 -9 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -9 --18 -7 --19 -8 --18 -8 --18 -8 --18 -9 --18 -8 --19 -8 --18 -8 --18 -7 --19 -8 --18 -8 --19 -8 --18 -9 --18 -8 --18 -8 --18 -8 --18 -7 --19 -9 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --19 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -9 --18 -8 --18 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 --18 -8 --19 -8 --18 -8 --18 -8 --18 -8 --18 -9 --18 -8 --18 -8 -23 --8 -14 --14 -5 --23 -6 --21 -7 --20 -7 --21 -8 --20 -7 --20 -7 --21 -8 --20 -8 --20 -8 --20 -9 --19 -8 --20 -9 --19 -9 --19 --42 -45 -13 -6 --20 -11 --16 -9 --18 -8 --18 -7 --19 -7 --19 -6 --20 -5 --21 -7 --20 -6 --20 -6 --19 -7 --19 -7 --19 -8 --19 -8 -23 --8 -11 --17 -4 --23 -6 --22 -6 --21 -7 --21 -7 --21 -7 --20 -7 --20 -7 --21 -8 --20 -8 --20 -8 --19 -8 --19 -8 --19 -9 --19 -8 --20 -8 --19 -9 --19 -9 --19 -9 --19 -9 --19 -9 --19 -8 --19 -8 --20 diff --git a/traces/modulation-psk3-32-8.pm3 b/traces/modulation-psk3-32-8.pm3 deleted file mode 100644 index a30993978..000000000 --- a/traces/modulation-psk3-32-8.pm3 +++ /dev/null @@ -1,20000 +0,0 @@ -53 -95 -54 -5 --38 --73 --104 --53 -52 -94 -54 -4 --39 --74 --104 --51 -53 -94 -54 -5 --39 --74 --104 --52 -53 -95 -53 -3 --39 --74 --105 --52 -53 -93 -54 -4 --39 --73 --104 --53 -52 -94 -53 -4 --39 --74 --105 --52 -53 -94 -54 -5 --39 --74 --104 --53 -52 -94 -52 -3 --40 --75 --105 --52 -53 -93 -54 -4 --39 --74 --104 --53 -52 -93 -53 -4 --40 --74 --105 --52 -53 -94 -54 -4 --39 --74 --104 --53 -52 -93 -53 -3 --39 --74 --105 --51 -53 -94 -54 -4 --39 --74 --104 --52 -53 -93 -53 -4 --39 --74 --104 --52 -53 -94 -54 -4 --39 --74 --104 --52 -52 -94 -53 -4 --39 --74 --104 --52 -52 -94 -54 -5 --38 --74 --104 --53 -52 -94 -52 -3 --40 --75 --105 --51 -53 -94 -54 -5 --39 --74 --104 --53 -52 -93 -53 -3 --40 --74 --105 --52 -53 -94 -54 -5 --38 --74 --104 --53 -52 -94 -53 -3 --40 --74 --105 --51 -53 -93 -84 -49 -6 --30 --67 --98 --108 --127 --127 --35 -72 -115 -73 -20 --25 --62 --94 --41 -63 -104 -62 -12 --32 --68 --99 --45 -58 -100 -59 -8 --35 --71 --102 --48 -56 -98 -57 -7 --36 --72 --103 --50 -55 -96 -56 -5 --38 --73 --103 --50 -54 -95 -54 -4 --39 --74 --104 --51 -54 -95 -54 -4 --39 --74 --104 --52 -53 -95 -54 -4 --39 --74 --104 --51 -54 -94 -54 -4 --39 --74 --104 --52 -53 -94 -53 -3 --40 --74 --105 --51 -54 -95 -53 -4 --39 --74 --104 --52 -52 -94 -53 -4 --39 --74 --105 --51 -53 -94 -53 -3 --39 --74 --105 --52 -53 -94 -54 -4 --39 --74 --104 --52 -52 -94 -52 -3 --40 --74 --105 --52 -53 -94 -53 -4 --39 --74 --104 --53 -52 -94 -54 -4 --39 --74 --104 --52 -53 -94 -52 -3 --40 --74 --105 --52 -53 -94 -54 -5 --39 --74 --104 --52 -53 -94 -52 -3 --40 --75 --105 --52 -53 -94 -53 -4 --39 --74 --104 --52 -52 -94 -53 -3 --39 --74 --105 --51 -53 -94 -54 -4 --39 --74 --104 --52 -52 -94 -54 -4 --39 --74 --104 --52 -53 -93 -53 -4 --39 --74 --105 --52 -52 -94 -53 -4 --39 --74 --104 --52 -52 -94 -53 -3 --39 --74 --105 --127 --127 --127 --127 --5 -80 -111 -69 -18 --27 --64 --95 --25 -79 -119 -78 -25 --21 --58 --91 --36 -67 -109 -68 -16 --29 --65 --97 --41 -63 -104 -63 -12 --32 --68 --100 --46 -58 -100 -59 -9 --35 --70 --101 --48 -56 -97 -57 -7 --36 --72 --103 --50 -55 -96 -56 -6 --38 --73 --103 --50 -54 -95 -55 -5 --38 --73 --104 --52 -53 -94 -53 -3 --39 --74 --105 --51 -53 -95 -55 -5 --38 --73 --104 --53 -52 -94 -53 -4 --39 --74 --105 --52 -53 -95 -54 -4 --39 --73 --104 --53 -52 -94 -52 -3 --40 --75 --105 --51 -53 -94 -54 -4 --39 --74 --104 --52 -52 -94 -54 -4 --39 --74 --104 --52 -53 -94 -54 -4 --39 --74 --104 --52 -52 -95 -54 -4 --39 --74 --104 --52 -52 -94 -53 -4 --39 --74 --104 --52 -52 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --52 -52 -94 -54 -5 --38 --74 --104 --53 -52 -93 -52 -3 --40 --75 --105 --51 -52 -94 -54 -4 --39 --74 --104 --53 -52 -94 -53 -3 --39 --74 --105 --51 -53 -94 -54 -5 --39 --73 --104 --53 -52 -94 -53 -3 --40 --75 --105 --52 -52 -93 -54 -4 --39 --74 --105 --53 -53 -95 -54 -4 --39 --74 --104 --52 -53 -93 -53 -4 --39 --74 --104 --53 -52 -94 -53 -3 --40 --74 --105 --52 -53 -94 -84 -49 -7 --29 --67 --97 --108 --127 --127 --37 -72 -115 -73 -21 --25 --62 --94 --41 -63 -103 -62 -11 --33 --68 --100 --45 -59 -100 -60 -9 --35 --70 --101 --48 -56 -97 -56 -6 --37 --72 --103 --49 -56 -96 -56 -6 --37 --73 --103 --50 -54 -95 -54 -4 --38 --74 --104 --50 -54 -94 -53 -4 --39 --74 --105 --127 --127 --127 --127 --4 -81 -113 -69 -18 --27 --64 --95 --25 -79 -119 -78 -25 --21 --58 --91 --37 -68 -109 -68 -16 --29 --65 --97 --41 -63 -104 -63 -13 --32 --68 --99 --46 -58 -100 -59 -9 --35 --71 --101 --48 -57 -98 -57 -7 --36 --72 --102 --50 -54 -96 -55 -6 --38 --73 --103 --50 -54 -95 -54 -5 --38 --73 --104 --52 -53 -95 -54 -4 --39 --74 --104 --51 -53 -94 -54 -4 --39 --74 --105 --52 -53 -94 -54 -4 --39 --74 --104 --52 -52 -94 -54 -5 --39 --74 --104 --52 -53 -94 -53 -3 --40 --74 --105 --51 -53 -95 -54 -5 --38 --73 --104 --53 -52 -94 -52 -3 --40 --75 --105 --51 -53 -94 -54 -4 --39 --74 --104 --53 -52 -94 -53 -4 --39 --74 --105 --51 -53 -94 -54 -5 --38 --74 --104 --52 -52 -94 -53 -4 --39 --74 --104 --52 -52 -93 -53 -4 --39 --74 --105 --52 -52 -94 -53 -4 --39 --74 --104 --52 -53 -94 -53 -4 --39 --74 --105 --52 -52 -93 -53 -3 --40 --74 --105 --52 -53 -94 -84 -49 -7 --30 --67 --97 --108 --127 --127 --36 -71 -115 -73 -21 --25 --62 --94 --41 -63 -104 -62 -11 --33 --69 --100 --45 -59 -101 -60 -9 --35 --70 --101 --48 -56 -97 -56 -6 --37 --72 --103 --50 -56 -97 -55 -5 --38 --73 --103 --50 -54 -95 -54 -5 --38 --73 --104 --51 -54 -95 -53 -3 --39 --74 --105 --51 -53 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -4 --39 --74 --105 --51 -54 -95 -54 -4 --39 --74 --104 --52 -53 -95 -52 -3 --40 --75 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -53 -95 -54 -4 --39 --74 --104 --52 -53 -93 -53 -3 --40 --74 --105 --52 -52 -94 -54 -4 --39 --74 --104 --52 -53 -94 -53 -3 --39 --74 --105 --51 -53 -94 -54 -4 --39 --74 --104 --52 -52 -94 -53 -3 --39 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --52 -53 -95 -54 -5 --39 --74 --104 --52 -53 -94 -53 -3 --40 --75 --105 --51 -52 -94 -54 -4 --39 --74 --104 --52 -53 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -4 --39 --74 --105 --52 -53 -95 -53 -3 --40 --74 --105 --52 -53 -93 -53 -3 --40 --74 --105 --52 -53 -95 -54 -4 --39 --74 --104 --52 -53 -93 -53 -3 --40 --75 --105 --51 -52 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --127 --127 --127 --127 --5 -80 -112 -69 -18 --27 --64 --95 --25 -79 -120 -79 -26 --20 --58 --91 --36 -68 -109 -68 -16 --29 --65 --97 --42 -63 -104 -63 -12 --32 --68 --99 --47 -58 -99 -58 -8 --35 --71 --102 --48 -56 -97 -57 -7 --36 --72 --103 --50 -54 -96 -56 -5 --38 --73 --103 --50 -54 -95 -54 -5 --38 --73 --104 --52 -53 -95 -54 -5 --39 --74 --104 --51 -53 -94 -54 -4 --39 --74 --104 --52 -52 -94 -53 -4 --39 --74 --105 --52 -53 -95 -54 -4 --39 --74 --104 --52 -52 -93 -53 -4 --39 --74 --105 --52 -53 -94 -54 -5 --38 --73 --104 --52 -53 -94 -54 -4 --39 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --53 -52 -93 -52 -3 --40 --74 --105 --52 -52 -94 -54 -5 --39 --74 --104 --52 -53 -94 -53 -3 --40 --74 --105 --52 -53 -94 -54 -4 --39 --74 --104 --53 -52 -93 -53 -3 --40 --74 --105 --52 -53 -95 -54 -4 --39 --74 --104 --53 -52 -94 -53 -4 --39 --74 --105 --52 -53 -95 -54 -4 --39 --74 --104 --53 -52 -93 -53 -4 --39 --74 --105 --51 -53 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -3 --40 --74 --105 --52 -52 -93 -83 -48 -5 --30 --67 --98 --108 --127 --127 --35 -72 -114 -72 -21 --25 --62 --94 --41 -63 -104 -63 -12 --32 --68 --99 --46 -59 -100 -59 -8 --35 --71 --102 --47 -57 -98 -57 -7 --36 --72 --103 --49 -56 -96 -55 -6 --38 --73 --103 --50 -55 -96 -54 -5 --38 --73 --104 --51 -54 -96 -54 -4 --39 --74 --104 --51 -53 -94 -54 -4 --39 --74 --104 --51 -54 -95 -54 -4 --39 --74 --104 --52 -53 -94 -54 -4 --39 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -4 --39 --74 --104 --52 -52 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -4 --39 --74 --104 --52 -52 -94 -53 -4 --39 --74 --105 --52 -54 -95 -54 -4 --39 --74 --105 --52 -53 -94 -54 -4 --39 --74 --104 --52 -52 -93 -52 -3 --40 --75 --106 --52 -53 -94 -54 -4 --39 --74 --104 --53 -52 -94 -53 -4 --39 --74 --105 --51 -53 -94 -54 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -53 -94 -53 -4 --39 --74 --104 --52 -53 -95 -53 -3 --40 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -52 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --52 -53 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -3 --40 --74 --105 --51 -53 -94 -54 -4 --39 --74 --104 --127 --127 --127 --127 --5 -80 -111 -69 -17 --27 --64 --95 --25 -78 -119 -78 -25 --21 --59 --91 --36 -68 -109 -68 -16 --29 --65 --97 --41 -62 -104 -63 -12 --32 --68 --99 --47 -58 -100 -58 -8 --35 --71 --102 --48 -57 -98 -58 -7 --36 --72 --102 --50 -54 -96 -55 -5 --38 --73 --104 --50 -54 -96 -55 -5 --38 --73 --104 --52 -52 -94 -54 -4 --39 --74 --104 --51 -53 -95 -54 -4 --39 --74 --105 --52 -53 -94 -54 -4 --39 --74 --104 --52 -53 -94 -83 -48 -6 --30 --67 --97 --108 --127 --127 --35 -72 -115 -73 -21 --25 --62 --94 --41 -64 -104 -62 -11 --33 --69 --100 --45 -59 -100 -59 -8 --35 --71 --102 --48 -57 -98 -57 -7 --37 --72 --103 --49 -56 -96 -56 -6 --38 --73 --104 --50 -54 -95 -54 -5 --38 --73 --104 --51 -54 -95 -54 -4 --39 --74 --104 --51 -53 -95 -54 -4 --39 --74 --104 --51 -53 -95 -54 -4 --39 --74 --104 --51 -53 -94 -53 -3 --39 --74 --104 --52 -53 -94 -53 -3 --39 --74 --105 --52 -53 -94 -53 -4 --39 --74 --104 --52 -53 -94 -53 -4 --39 --74 --105 --52 -53 -95 -53 -4 --39 --74 --105 --51 -53 -94 -53 -3 --39 --74 --105 --52 -53 -94 -53 -3 --39 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --53 -52 -94 -53 -3 --40 --74 --105 --51 -53 -94 -54 -4 --39 --74 --104 --127 --127 --127 --127 --5 -80 -112 -69 -18 --27 --64 --95 --25 -79 -119 -77 -25 --21 --59 --91 --36 -69 -110 -68 -16 --29 --65 --97 --42 -62 -103 -63 -12 --32 --68 --99 --46 -58 -100 -58 -8 --35 --71 --102 --48 -57 -98 -57 -7 --36 --72 --103 --50 -55 -96 -55 -5 --38 --73 --104 --51 -54 -96 -85 -50 -7 --29 --66 --97 --107 --127 --127 --35 -73 -116 -74 -22 --24 --61 --93 --41 -63 -104 -62 -11 --33 --69 --100 --45 -59 -100 -59 -9 --35 --70 --102 --48 -57 -98 -56 -6 --37 --72 --103 --49 -56 -97 -55 -5 --38 --73 --104 --50 -54 -96 -55 -5 --38 --73 --104 --51 -54 -95 -54 -4 --39 --74 --105 --51 -54 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -4 --39 --74 --105 --51 -53 -95 -53 -3 --40 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -53 -93 -53 -3 --40 --74 --105 --51 -53 -95 -54 -4 --39 --74 --104 --52 -53 -94 -52 -3 --40 --75 --105 --51 -53 -95 -54 -4 --39 --74 --105 --52 -53 -95 -53 -3 --39 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -54 -95 -53 -3 --40 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -53 -95 -52 -3 --40 --75 --105 --52 -53 -93 -53 -3 --39 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --127 --127 --127 --127 --6 -80 -112 -69 -18 --27 --63 --95 --26 -79 -120 -78 -25 --21 --59 --91 --36 -68 -110 -68 -16 --29 --65 --97 --42 -63 -104 -63 -12 --33 --68 --100 --46 -59 -100 -59 -8 --35 --71 --102 --49 -56 -98 -58 -7 --36 --72 --103 --50 -55 -95 -55 -5 --38 --73 --104 --50 -54 -96 -86 -50 -7 --29 --66 --97 --108 --127 --127 --35 -73 -115 -74 -22 --24 --61 --94 --41 -63 -105 -62 -11 --33 --69 --100 --45 -60 -100 -60 -9 --35 --70 --101 --49 -56 -98 -57 -7 --37 --72 --103 --49 -56 -97 -56 -6 --38 --73 --103 --50 -54 -96 -55 -5 --38 --73 --104 --51 -54 -95 -54 -4 --39 --74 --105 --51 -53 -95 -54 -4 --39 --74 --104 --52 -53 -95 -54 -4 --39 --74 --105 --51 -54 -94 -53 -4 --39 --74 --105 --52 -53 -95 -54 -4 --39 --74 --105 --52 -53 -94 -52 -3 --40 --75 --105 --51 -53 -95 -54 -4 --39 --74 --104 --52 -53 -94 -52 -3 --40 --75 --105 --51 -53 -95 -54 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -54 -95 -53 -4 --39 --74 --105 --51 -53 -93 -53 -3 --40 --74 --105 --52 -53 -94 -54 -4 --39 --74 --105 --52 -53 -95 -53 -3 --40 --74 --105 --51 -52 -93 -52 -3 --40 --75 --105 --52 -53 -94 -53 -3 --39 --74 --105 --52 -52 -94 -53 -3 --40 --74 --105 --52 -54 -95 -53 -3 --40 --74 --105 --52 -53 -94 -53 -4 --39 --74 --104 --51 -53 -95 -53 -3 --39 --74 --105 --52 -54 -95 -53 -3 --40 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -54 -95 -53 -3 --40 --74 --105 --51 -53 -93 -53 -3 --39 --74 --105 --52 -53 -94 -54 -4 --39 --74 --105 --52 -54 -95 -53 -3 --39 --74 --105 --52 -52 -94 -53 -4 --39 --74 --105 --52 -53 -93 -53 -3 --40 --74 --105 --52 -52 -94 -53 -3 --40 --74 --105 --52 -54 -95 -53 -3 --39 --74 --105 --51 -53 -94 -54 -4 --39 --74 --105 --52 -53 -95 -52 -3 --40 --75 --105 --51 -53 -94 -53 -4 --39 --74 --104 --53 -52 -94 -53 -3 --39 --74 --105 --52 -54 -94 -53 -4 --39 --74 --105 --51 -53 -94 -53 -3 --40 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --39 --74 --105 --51 -54 -94 -53 -4 --39 --74 --105 --52 -53 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -3 --39 --75 --105 --52 -53 -95 -53 -4 --39 --74 --105 --52 -54 -94 -52 -3 --40 --75 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -53 -95 -53 -3 --40 --75 --105 --51 -53 -94 -53 -3 --40 --74 --105 --52 -53 -94 -53 -3 --39 --74 --105 --52 -53 -94 -53 -4 --40 --74 --105 --51 -54 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -3 --39 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -53 -95 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --52 -53 -94 -53 -4 --39 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --51 -54 -95 -53 -3 --40 --74 --105 --127 --127 --127 --127 --4 -80 -112 -69 -17 --27 --64 --95 --25 -79 -119 -77 -25 --21 --59 --92 --36 -68 -110 -68 -16 --29 --65 --97 --42 -62 -104 -62 -11 --33 --68 --100 --46 -58 -100 -58 -8 --36 --71 --102 --48 -57 -99 -58 -7 --36 --72 --103 --50 -55 -96 -54 -5 --38 --73 --104 --50 -54 -95 -55 -5 --38 --73 --104 --52 -53 -95 -54 -4 --39 --74 --105 --51 -54 -95 -54 -5 --39 --74 --104 --52 -53 -94 -53 -3 --40 --74 --105 --51 -54 -94 -54 -4 --39 --74 --105 --53 -53 -95 -54 -4 --39 --74 --104 --51 -53 -94 -53 -4 --39 --74 --105 --52 -53 -95 -53 -3 --40 --74 --105 --51 -53 -94 -54 -4 --39 --74 --104 --52 -52 -94 -53 -3 --40 --75 --105 --51 -53 -94 -54 -4 --39 --74 --105 --53 -52 -94 -53 -3 --40 --74 --105 --51 -54 -95 -54 -4 --39 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --53 -53 -95 -53 -3 --39 --74 --105 --52 -53 -94 -54 -4 --39 --74 --105 --52 -53 -94 -52 -3 --40 --75 --106 --52 -53 -94 -54 -4 --39 --74 --104 --53 -52 -94 -53 -3 --40 --74 --105 --51 -54 -95 -84 -49 -6 --30 --67 --98 --109 --127 --127 --36 -72 -115 -73 -20 --25 --62 --95 --40 -64 -104 -62 -11 --33 --69 --100 --45 -60 -101 -60 -9 --35 --70 --102 --48 -57 -97 -56 -6 --37 --72 --103 --49 -56 -97 -56 -5 --38 --73 --104 --50 -54 -95 -54 -4 --39 --73 --104 --51 -54 -95 -54 -4 --39 --74 --104 --51 -54 -95 -54 -4 --39 --74 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -53 -95 -54 -4 --39 --74 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -54 -95 -53 -3 --40 --74 --105 --52 -52 -93 -52 -3 --40 --75 --105 --52 -54 -95 -54 -4 --39 --74 --105 --51 -53 -94 -53 -3 --40 --74 --105 --52 -53 -94 -52 -2 --40 --75 --106 --51 -54 -94 -53 -4 --39 --74 --105 --52 -53 -94 -53 -4 --40 --74 --105 --51 -54 -94 -53 -3 --40 --74 --105 --52 -53 -95 -53 -3 --40 --74 --105 --51 -54 -94 -53 -3 --40 --75 --105 --51 -53 -95 -54 -4 --39 --74 --105 --52 -54 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -4 --39 --74 --105 --51 -53 -94 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --51 -53 -95 -53 -3 --39 --74 --105 --51 -54 -95 -53 -3 --39 --74 --105 --52 -53 -94 -52 -2 --40 --75 --106 --127 --127 --127 --127 --4 -81 -112 -69 -17 --27 --64 --95 --25 -80 -120 -78 -25 --21 --59 --91 --36 -68 -109 -68 -16 --29 --65 --97 --42 -63 -104 -62 -12 --33 --69 --100 --46 -59 -100 -58 -8 --35 --71 --102 --48 -56 -97 -57 -7 --37 --72 --103 --50 -56 -96 -55 -5 --38 --73 --104 --50 -55 -96 -55 -5 --38 --73 --104 --51 -54 -95 -53 -4 --39 --74 --105 --51 -54 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -3 --40 --74 --105 --51 -54 -94 -54 -4 --39 --74 --104 --52 -52 -94 -53 -3 --40 --75 --105 --51 -54 -95 -54 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -52 -94 -53 -3 --39 --74 --105 --52 -53 -95 -53 -3 --40 --75 --105 --52 -53 -94 -53 -4 --39 --74 --105 --52 -54 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -3 --39 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -53 -93 -52 -3 --40 --75 --105 --51 -53 -95 -54 -4 --39 --74 --104 --52 -53 -94 -53 -3 --40 --74 --105 --51 -54 -94 -53 -3 --40 --74 --105 --53 -52 -94 -54 -4 --39 --74 --105 --51 -54 -94 -84 -48 -5 --31 --68 --98 --109 --127 --127 --36 -72 -115 -73 -21 --25 --62 --94 --40 -64 -104 -63 -12 --32 --68 --100 --45 -60 -100 -58 -8 --36 --71 --102 --48 -57 -97 -56 -6 --37 --72 --103 --49 -56 -97 -55 -5 --38 --73 --104 --50 -55 -96 -54 -4 --39 --74 --104 --50 -54 -95 -54 -4 --39 --74 --104 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -95 -54 -4 --39 --74 --104 --51 -53 -95 -53 -3 --40 --75 --105 --51 -54 -94 -53 -4 --39 --74 --105 --51 -54 -95 -53 -4 --39 --74 --104 --52 -53 -95 -52 -3 --40 --75 --106 --51 -53 -94 -53 -4 --39 --74 --105 --52 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -53 -4 --40 --74 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -53 -93 -52 -3 --40 --75 --105 --51 -53 -95 -53 -4 --39 --74 --104 --52 -53 -94 -52 -3 --40 --75 --106 --51 -53 -95 -53 -4 --39 --74 --105 --52 -54 -94 -52 -3 --40 --75 --105 --51 -53 -94 -53 -3 --39 --74 --105 --52 -54 -95 -53 -3 --40 --74 --105 --51 -53 -94 -53 -3 --40 --74 --105 --52 -54 -95 -53 -4 --39 --74 --105 --51 -54 -95 -53 -4 --39 --74 --105 --52 -54 -94 -53 -3 --40 --75 --105 --52 -54 -94 -53 -3 --40 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -54 -94 -53 -3 --40 --74 --105 --127 --127 --127 --127 --4 -81 -112 -68 -17 --27 --64 --95 --26 -79 -119 -77 -24 --22 --59 --92 --35 -69 -110 -68 -16 --29 --65 --97 --42 -63 -104 -63 -12 --32 --68 --99 --46 -59 -99 -58 -8 --36 --71 --102 --47 -57 -99 -58 -7 --36 --72 --103 --50 -55 -96 -54 -5 --38 --73 --104 --50 -54 -96 -85 -49 -6 --30 --67 --98 --108 --127 --127 --34 -73 -115 -73 -21 --25 --62 --94 --40 -63 -105 -62 -11 --33 --69 --100 --44 -60 -101 -59 -8 --35 --71 --102 --47 -57 -98 -56 -7 --37 --72 --103 --49 -56 -97 -56 -5 --38 --73 --104 --50 -55 -95 -54 -4 --39 --74 --104 --50 -54 -95 -54 -4 --39 --74 --105 --51 -54 -95 -53 -4 --39 --74 --105 --51 -54 -95 -54 -4 --39 --74 --104 --51 -54 -95 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --75 --105 --52 -53 -94 -52 -2 --40 --75 --105 --51 -54 -94 -53 -4 --39 --74 --105 --52 -53 -95 -53 -3 --40 --74 --105 --51 -54 -94 -53 -3 --40 --74 --105 --52 -53 -95 -53 -3 --39 --74 --105 --51 -54 -94 -53 -3 --40 --75 --105 --51 -54 -95 -54 -4 --39 --74 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --52 -54 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --127 --127 --127 --127 --5 -80 -111 -69 -17 --28 --64 --96 --25 -79 -120 -77 -25 --21 --59 --92 --35 -69 -109 -68 -16 --29 --65 --97 --41 -63 -104 -63 -12 --33 --68 --100 --46 -59 -100 -58 -7 --36 --72 --103 --47 -57 -98 -57 -7 --36 --72 --103 --50 -55 -96 -54 -4 --39 --74 --104 --50 -55 -96 -55 -6 --38 --73 --104 --51 -54 -95 -53 -3 --40 --75 --105 --50 -54 -95 -54 -4 --39 --74 --104 --51 -54 -94 -53 -3 --39 --74 --105 --51 -54 -95 -53 -3 --40 --75 --105 --52 -53 -94 -53 -3 --40 --74 --105 --52 -53 -95 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -54 -95 -54 -4 --39 --74 --105 --52 -53 -93 -52 -3 --40 --75 --105 --51 -54 -95 -54 -4 --39 --74 --104 --52 -53 -94 -52 -2 --40 --75 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -54 -95 -53 -3 --40 --75 --105 --51 -54 -94 -54 -4 --39 --74 --105 --52 -54 -95 -52 -2 --40 --75 --106 --52 -53 -94 -53 -4 --40 --74 --105 --52 -53 -95 -53 -3 --40 --74 --105 --51 -54 -95 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -53 -94 -83 -47 -5 --31 --68 --99 --109 --127 --127 --35 -73 -115 -73 -21 --25 --62 --94 --41 -64 -105 -63 -12 --33 --68 --100 --45 -60 -100 -58 -8 --36 --71 --102 --47 -57 -99 -57 -7 --37 --72 --103 --49 -56 -97 -55 -5 --38 --73 --104 --49 -54 -95 -54 -4 --39 --74 --104 --50 -55 -96 -53 -4 --39 --74 --105 --51 -53 -94 -53 -3 --40 --75 --105 --51 -55 -95 -53 -4 --39 --74 --104 --52 -53 -95 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --105 --52 -54 -95 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -95 -53 -3 --40 --75 --105 --51 -54 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --51 -53 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -53 -94 -53 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --52 -52 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --75 --105 --51 -54 -95 -53 -4 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -53 -94 -53 -3 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -68 -17 --28 --64 --96 --24 -79 -120 -78 -25 --21 --59 --92 --35 -69 -110 -67 -15 --29 --66 --97 --41 -63 -104 -63 -12 --33 --68 --100 --45 -60 -100 -58 -8 --36 --71 --102 --47 -57 -97 -57 -6 --37 --72 --103 --50 -55 -97 -55 -5 --38 --73 --104 --50 -55 -96 -54 -5 --38 --73 --104 --50 -54 -95 -53 -3 --39 --74 --105 --50 -55 -95 -54 -4 --39 --74 --105 --51 -52 -94 -53 -3 --40 --74 --105 --51 -54 -95 -53 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -54 -95 -54 -4 --39 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -53 -94 -53 -3 --39 --74 --105 --52 -54 -95 -53 -3 --40 --74 --105 --51 -53 -94 -53 -4 --39 --74 --105 --52 -54 -94 -52 -3 --40 --75 --105 --51 -53 -95 -54 -4 --39 --74 --104 --52 -53 -94 -52 -3 --40 --75 --106 --51 -54 -95 -54 -4 --39 --74 --104 --52 -52 -94 -52 -3 --40 --75 --106 --51 -54 -94 -53 -3 --40 --74 --105 --52 -53 -94 -53 -4 --39 --74 --105 --51 -54 -95 -53 -3 --40 --75 --105 --51 -53 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --52 -53 -95 -53 -3 --40 --75 --105 --51 -54 -94 -53 -4 --39 --74 --105 --52 -53 -94 -52 -3 --40 --75 --105 --51 -53 -94 -84 -48 -5 --31 --68 --99 --109 --127 --127 --35 -73 -115 -72 -20 --26 --63 --94 --40 -64 -104 -62 -11 --33 --69 --100 --44 -61 -101 -58 -8 --35 --71 --102 --47 -57 -98 -56 -6 --37 --72 --103 --49 -56 -97 -55 -5 --38 --73 --104 --49 -55 -96 -54 -5 --38 --74 --104 --50 -54 -95 -53 -3 --40 --74 --105 --51 -54 -95 -54 -4 --39 --74 --104 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -95 -53 -3 --40 --75 --105 --127 --127 --127 --127 --5 -80 -112 -68 -17 --28 --64 --96 --24 -79 -120 -77 -25 --21 --59 --92 --35 -69 -110 -67 -15 --29 --66 --97 --40 -63 -104 -62 -11 --33 --69 --100 --45 -60 -101 -58 -8 --36 --71 --102 --47 -58 -98 -57 -7 --37 --72 --103 --49 -56 -97 -55 -5 --38 --74 --104 --50 -55 -95 -54 -4 --39 --74 --104 --51 -53 -95 -53 -4 --39 --74 --105 --51 -55 -95 -54 -5 --39 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --52 -52 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -54 -95 -53 -4 --39 --74 --105 --51 -54 -94 -53 -3 --40 --74 --105 --52 -54 -95 -53 -3 --40 --75 --105 --51 -53 -94 -53 -3 --40 --74 --105 --52 -53 -94 -52 -3 --40 --75 --106 --51 -54 -95 -84 -48 -5 --31 --68 --98 --109 --127 --127 --35 -73 -115 -72 -20 --25 --62 --94 --40 -63 -104 -62 -11 --33 --69 --100 --45 -60 -101 -59 -8 --35 --71 --102 --47 -58 -98 -56 -6 --37 --73 --103 --49 -56 -97 -55 -5 --38 --73 --104 --49 -55 -96 -54 -4 --39 --74 --104 --50 -55 -96 -53 -3 --39 --74 --105 --127 --127 --127 --127 --4 -81 -112 -68 -17 --28 --64 --96 --24 -80 -120 -77 -24 --22 --59 --92 --35 -70 -110 -68 -16 --29 --65 --97 --40 -64 -105 -63 -12 --33 --68 --100 --46 -59 -100 -57 -7 --36 --72 --102 --47 -58 -98 -57 -7 --37 --72 --103 --50 -56 -96 -54 -4 --39 --74 --104 --49 -56 -96 -54 -5 --38 --73 --104 --51 -54 -95 -54 -4 --39 --74 --104 --50 -54 -95 -53 -4 --39 --74 --105 --51 -54 -95 -53 -4 --39 --74 --105 --51 -54 -95 -53 -3 --40 --75 --105 --51 -53 -93 -52 -2 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --105 --52 -53 -94 -53 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --75 --105 --52 -53 -94 -52 -3 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --52 -54 -95 -52 -3 --40 --75 --106 --50 -54 -94 -53 -4 --39 --74 --105 --52 -54 -95 -53 -3 --40 --75 --105 --51 -54 -95 -84 -48 -4 --32 --68 --99 --109 --127 --127 --35 -73 -116 -72 -20 --26 --62 --94 --40 -64 -105 -62 -11 --33 --69 --100 --44 -60 -101 -59 -8 --35 --71 --102 --47 -57 -97 -56 -6 --37 --73 --103 --48 -56 -97 -55 -5 --38 --73 --104 --50 -55 -95 -54 -4 --39 --74 --104 --50 -54 -95 -53 -4 --39 --74 --105 --127 --127 --127 --127 --4 -81 -112 -68 -17 --27 --64 --96 --24 -80 -120 -77 -25 --21 --59 --91 --35 -69 -110 -67 -15 --29 --66 --97 --40 -64 -104 -62 -11 --32 --68 --100 --46 -59 -100 -58 -8 --36 --71 --102 --47 -58 -99 -56 -6 --37 --72 --103 --49 -55 -96 -54 -5 --38 --74 --104 --49 -56 -96 -54 -4 --38 --74 --104 --50 -54 -95 -54 -4 --39 --74 --104 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -53 -3 --39 --74 --105 --51 -54 -95 -53 -3 --40 --74 --105 --52 -53 -93 -52 -3 --40 --75 --106 --50 -54 -95 -53 -4 --39 --74 --105 --52 -53 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -4 --39 --74 --105 --52 -53 -94 -52 -2 --40 --75 --106 --51 -54 -94 -53 -3 --40 --74 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -53 -3 --40 --74 --105 --51 -54 -95 -53 -3 --40 --75 --105 --51 -54 -93 -52 -3 --40 --75 --106 --51 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -53 -94 -52 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --52 -53 -94 -52 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -53 -3 --40 --75 --105 --50 -54 -94 -53 -3 --40 --74 --105 --52 -54 -94 -52 -3 --40 --75 --105 --51 -54 -94 -53 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --51 -54 -94 -53 -4 --39 --74 --105 --51 -53 -94 -52 -3 --40 --75 --106 --50 -54 -95 -53 -4 --39 --74 --105 --51 -53 -94 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --52 -53 -94 -53 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -53 -3 --40 --75 --105 --51 -54 -94 -53 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --51 -54 -94 -53 -4 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --106 --50 -54 -95 -54 -4 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --106 --50 -54 -95 -53 -3 --39 --74 --105 --51 -53 -94 -52 -3 --40 --74 --105 --51 -54 -95 -53 -3 --40 --75 --105 --51 -53 -94 -52 -3 --40 --75 --105 --51 -54 -94 -52 -2 --40 --75 --105 --51 -53 -94 -53 -3 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --106 --50 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -53 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --51 -53 -94 -53 -4 --40 --74 --105 --51 -54 -94 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --51 -53 -94 -52 -3 --40 --75 --106 --51 -54 -95 -83 -47 -4 --32 --68 --99 --109 --127 --127 --35 -73 -115 -72 -20 --25 --62 --94 --39 -65 -104 -61 -11 --33 --69 --100 --44 -60 -101 -59 -8 --35 --71 --102 --47 -58 -98 -56 -6 --37 --72 --103 --48 -57 -97 -55 -5 --38 --73 --104 --49 -55 -96 -53 -3 --39 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -54 -95 -53 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --105 --50 -55 -94 -53 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --106 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -93 -52 -2 --40 --75 --106 --50 -54 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -53 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --75 --105 --50 -53 -94 -52 -3 --40 --75 --106 --50 -55 -94 -52 -3 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -68 -16 --28 --64 --96 --24 -80 -120 -77 -25 --22 --59 --92 --34 -70 -110 -67 -15 --29 --65 --97 --40 -64 -105 -62 -11 --33 --69 --100 --45 -60 -100 -58 -8 --36 --71 --102 --47 -58 -98 -56 -7 --37 --72 --103 --49 -56 -96 -55 -5 --38 --73 --104 --49 -56 -96 -54 -4 --39 --74 --104 --51 -54 -95 -53 -3 --39 --74 --105 --50 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -53 -4 --39 --74 --105 --51 -54 -94 -51 -2 --40 --75 --106 --50 -54 -95 -53 -4 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --75 --105 --51 -54 -93 -52 -3 --40 --75 --105 --51 -54 -94 -53 -3 --39 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -53 -3 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --106 --50 -54 -95 -53 -4 --39 --74 --104 --52 -54 -94 -52 -2 --40 --75 --106 --50 -54 -94 -53 -4 --39 --74 --105 --52 -53 -94 -51 -2 --40 --75 --106 --50 -55 -95 -53 -3 --40 --74 --105 --52 -53 -94 -52 -3 --40 --74 --105 --51 -54 -95 -83 -47 -4 --32 --69 --99 --110 --127 --127 --34 -73 -115 -72 -20 --25 --63 --95 --39 -65 -105 -62 -11 --33 --69 --100 --44 -60 -101 -58 -8 --36 --71 --102 --47 -58 -99 -56 -6 --37 --72 --103 --48 -56 -97 -55 -5 --38 --73 --104 --49 -56 -96 -53 -4 --39 --74 --105 --50 -55 -95 -53 -3 --39 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -53 -3 --39 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --106 --50 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --106 --50 -54 -95 -53 -3 --40 --75 --105 --51 -54 -94 -51 -2 --40 --75 --106 --50 -54 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --65 --96 --23 -80 -120 -77 -24 --22 --59 --91 --35 -69 -110 -67 -15 --29 --66 --97 --40 -64 -104 -62 -11 --33 --69 --100 --45 -60 -100 -58 -8 --36 --71 --102 --46 -57 -97 -56 -6 --37 --72 --103 --49 -56 -96 -54 -5 --38 --73 --104 --49 -56 -96 -54 -5 --38 --73 --104 --50 -54 -95 -52 -3 --40 --75 --105 --49 -55 -95 -54 -4 --39 --74 --104 --51 -54 -94 -52 -3 --40 --75 --106 --50 -55 -95 -53 -3 --40 --74 --105 --52 -53 -94 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --106 --51 -54 -95 -53 -3 --40 --74 --105 --50 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -53 -3 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -53 -4 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --106 --50 -54 -95 -53 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -94 -53 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --74 --105 --51 -53 -94 -52 -3 --40 --75 --105 --50 -55 -95 -83 -47 -4 --32 --69 --99 --110 --127 --127 --35 -72 -115 -72 -20 --26 --63 --95 --39 -65 -104 -61 -11 --33 --69 --100 --44 -61 -101 -59 -8 --36 --71 --102 --46 -58 -97 -55 -5 --38 --73 --104 --48 -57 -96 -54 -5 --38 --73 --104 --49 -56 -96 -54 -4 --39 --74 --104 --49 -56 -95 -53 -3 --39 --74 --105 --127 --127 --127 --127 --5 -80 -112 -68 -16 --28 --65 --96 --23 -81 -120 -77 -25 --21 --58 --91 --34 -70 -110 -67 -15 --29 --65 --97 --39 -64 -104 -62 -11 --33 --69 --100 --45 -60 -101 -58 -8 --36 --71 --102 --46 -58 -98 -56 -6 --37 --72 --103 --49 -56 -97 -55 -5 --38 --73 --104 --49 -56 -96 -53 -4 --39 --74 --104 --50 -54 -95 -53 -3 --39 --74 --105 --50 -55 -95 -53 -3 --39 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -95 -53 -4 --39 --74 --104 --51 -54 -94 -51 -2 --41 --75 --106 --50 -54 -95 -53 -4 --39 --74 --104 --51 -53 -94 -51 -2 --40 --75 --106 --50 -55 -95 -53 -3 --40 --74 --105 --52 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -54 -94 -53 -3 --40 --74 --105 --51 -54 -94 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -53 -94 -52 -2 --40 --75 --105 --50 -54 -95 -83 -47 -5 --32 --69 --99 --109 --127 --127 --34 -74 -116 -73 -20 --25 --62 --94 --39 -64 -104 -62 -11 --33 --69 --100 --43 -61 -101 -58 -8 --35 --71 --102 --47 -57 -97 -56 -5 --38 --72 --103 --47 -57 -96 -54 -5 --38 --73 --104 --49 -55 -96 -54 -4 --39 --74 --104 --49 -56 -95 -53 -3 --40 --74 --105 --49 -55 -95 -53 -3 --40 --74 --104 --51 -54 -94 -52 -2 --40 --75 --106 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -95 -53 -3 --40 --74 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --105 --50 -54 -93 -51 -2 --40 --75 --106 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --105 --50 -54 -94 -51 -2 --40 --75 --105 --50 -54 -95 -53 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --39 --74 --105 --50 -54 -95 -52 -2 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --65 --96 --23 -80 -120 -78 -25 --21 --59 --91 --35 -70 -110 -66 -14 --30 --66 --97 --40 -64 -104 -62 -11 --33 --69 --100 --45 -60 -100 -58 -8 --36 --71 --102 --46 -58 -98 -56 -6 --37 --72 --103 --49 -56 -97 -54 -5 --38 --73 --104 --49 -56 -95 -53 -4 --39 --74 --104 --50 -54 -95 -53 -3 --39 --74 --105 --50 -55 -95 -54 -4 --39 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --51 -53 -93 -52 -2 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -53 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -53 -3 --40 --74 --105 --51 -53 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -83 -46 -4 --32 --69 --99 --109 --127 --127 --34 -73 -115 -72 -19 --26 --63 --95 --39 -65 -105 -62 -11 --33 --69 --100 --43 -61 -101 -58 -8 --36 --71 --102 --46 -59 -99 -55 -5 --38 --73 --103 --48 -56 -96 -54 -4 --38 --73 --104 --49 -55 -95 -53 -4 --39 --74 --105 --49 -56 -96 -53 -3 --39 --74 --105 --49 -55 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -51 -2 --41 --75 --106 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --65 --96 --23 -80 -120 -77 -24 --22 --59 --91 --34 -70 -110 -67 -15 --29 --66 --97 --40 -64 -103 -61 -11 --33 --69 --100 --45 -59 -100 -58 -7 --36 --71 --102 --46 -58 -99 -56 -7 --37 --72 --103 --48 -56 -96 -54 -5 --38 --73 --104 --49 -56 -96 -54 -4 --39 --74 --104 --50 -54 -95 -53 -3 --39 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -83 -47 -4 --32 --68 --99 --109 --127 --127 --34 -73 -115 -72 -20 --26 --62 --95 --39 -65 -106 -62 -11 --33 --69 --100 --43 -61 -100 -58 -8 --36 --71 --102 --46 -59 -99 -56 -6 --37 --72 --103 --48 -57 -97 -55 -5 --38 --73 --104 --49 -55 -96 -53 -4 --39 --74 --104 --49 -56 -96 -53 -3 --39 --74 --105 --50 -55 -94 -52 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -54 -95 -53 -3 --39 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -51 -2 --40 --75 --106 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --127 --127 --127 --127 --6 -80 -111 -67 -16 --29 --65 --96 --23 -80 -120 -77 -25 --21 --59 --92 --34 -70 -110 -67 -15 --29 --66 --97 --40 -64 -104 -62 -11 --33 --69 --100 --45 -59 -99 -57 -7 --36 --71 --102 --46 -59 -99 -56 -6 --37 --72 --103 --49 -56 -97 -54 -5 --38 --73 --104 --49 -56 -96 -83 -48 -5 --31 --68 --98 --109 --127 --127 --33 -74 -116 -73 -21 --24 --62 --94 --39 -65 -105 -61 -10 --33 --69 --100 --43 -61 -101 -59 -8 --35 --71 --101 --46 -58 -99 -56 -5 --38 --72 --103 --48 -57 -96 -54 -5 --38 --73 --104 --49 -56 -96 -54 -4 --39 --73 --104 --49 -55 -95 -53 -3 --39 --74 --105 --49 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -93 -51 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -53 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -55 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --127 --127 --127 --127 --6 -80 -111 -66 -15 --29 --65 --96 --24 -79 -120 -77 -24 --22 --59 --91 --34 -70 -110 -67 -15 --29 --65 --97 --40 -64 -104 -62 -11 --33 --69 --100 --44 -60 -99 -57 -7 --36 --71 --102 --47 -58 -98 -56 -7 --37 --72 --103 --49 -56 -96 -54 -5 --38 --73 --104 --49 -56 -96 -84 -48 -5 --31 --68 --98 --108 --127 --127 --33 -74 -116 -73 -21 --25 --62 --94 --39 -65 -104 -61 -11 --33 --69 --100 --43 -61 -101 -58 -8 --35 --71 --102 --46 -58 -98 -56 -6 --37 --72 --103 --48 -57 -96 -54 -5 --38 --73 --104 --48 -56 -96 -54 -4 --39 --73 --104 --50 -55 -95 -53 -3 --39 --74 --105 --49 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --104 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --104 --51 -54 -94 -51 -2 --41 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -93 -51 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -53 -93 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -54 -95 -51 -2 --40 --75 --105 --50 -53 -93 -52 -2 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -53 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --51 -53 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -54 -94 -51 -2 --41 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -93 -51 -2 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --127 --127 --127 --127 --5 -79 -111 -67 -16 --28 --64 --96 --24 -80 -120 -77 -24 --22 --59 --91 --34 -70 -110 -67 -15 --29 --65 --97 --40 -64 -104 -62 -11 --33 --68 --100 --44 -60 -100 -58 -7 --36 --71 --102 --46 -58 -99 -57 -7 --37 --72 --102 --49 -56 -96 -53 -4 --39 --74 --104 --48 -56 -96 -54 -4 --39 --73 --104 --51 -54 -95 -52 -3 --40 --74 --105 --49 -55 -95 -53 -3 --39 --74 --104 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -53 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -53 -3 --39 --74 --105 --51 -53 -93 -52 -2 --40 --75 --105 --50 -54 -94 -53 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --105 --50 -53 -94 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -53 -3 --39 --74 --104 --51 -54 -94 -51 -2 --40 --75 --105 --50 -54 -94 -53 -4 --39 --74 --104 --51 -54 -94 -51 -2 --40 --75 --105 --50 -54 -94 -83 -47 -4 --32 --69 --99 --109 --127 --127 --35 -73 -115 -72 -19 --26 --62 --94 --39 -65 -104 -61 -11 --33 --69 --100 --44 -61 -101 -59 -8 --35 --71 --101 --46 -58 -97 -56 -6 --37 --72 --103 --47 -57 -97 -54 -5 --38 --73 --104 --49 -56 -95 -53 -4 --39 --74 --104 --49 -55 -95 -53 -3 --40 --74 --105 --49 -55 -95 -53 -3 --39 --74 --104 --49 -55 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --74 --105 --50 -54 -95 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -93 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -55 -94 -52 -2 --40 --74 --105 --51 -53 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --39 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --127 --127 --127 --127 --6 -79 -110 -67 -16 --28 --65 --96 --23 -80 -120 -77 -25 --21 --58 --91 --35 -70 -109 -66 -15 --29 --65 --97 --40 -64 -104 -62 -11 --33 --68 --100 --45 -60 -100 -58 -8 --36 --71 --102 --46 -58 -98 -56 -6 --37 --72 --103 --48 -56 -97 -54 -4 --39 --74 --104 --49 -56 -96 -54 -5 --38 --73 --104 --50 -54 -95 -53 -3 --40 --74 --105 --49 -55 -95 -53 -4 --39 --74 --104 --50 -54 -94 -52 -3 --40 --74 --105 --50 -55 -94 -53 -3 --39 --74 --104 --51 -54 -94 -52 -2 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -53 -94 -52 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --104 --51 -53 -94 -51 -2 --40 --75 --106 --50 -55 -94 -52 -3 --39 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -82 -47 -4 --32 --69 --99 --109 --127 --127 --35 -73 -115 -71 -19 --26 --63 --95 --39 -65 -105 -62 -11 --33 --68 --100 --43 -61 -101 -58 -8 --36 --71 --102 --46 -58 -99 -56 -6 --37 --72 --103 --48 -57 -97 -54 -5 --38 --73 --103 --49 -55 -95 -53 -3 --40 --74 --105 --49 -55 -95 -53 -3 --39 --74 --104 --50 -54 -95 -52 -3 --40 --74 --105 --49 -55 -95 -52 -3 --40 --74 --104 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --104 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --104 --50 -54 -94 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -51 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --127 --127 --127 --127 --5 -79 -111 -67 -16 --28 --64 --95 --24 -80 -120 -77 -25 --21 --59 --91 --34 -70 -110 -67 -16 --29 --65 --97 --40 -65 -104 -62 -11 --33 --69 --100 --45 -59 -99 -56 -7 --36 --72 --102 --46 -58 -98 -57 -7 --36 --72 --103 --49 -56 -96 -54 -5 --38 --73 --104 --48 -56 -96 -84 -47 -4 --31 --68 --98 --109 --127 --127 --34 -74 -116 -72 -20 --25 --62 --94 --38 -65 -105 -63 -12 --32 --68 --99 --43 -61 -101 -58 -7 --36 --71 --102 --46 -58 -98 -56 -6 --37 --72 --103 --49 -56 -97 -54 -4 --38 --73 --104 --48 -56 -96 -53 -4 --39 --74 --104 --49 -55 -95 -53 -4 --39 --74 --104 --50 -55 -95 -52 -3 --40 --74 --105 --49 -54 -94 -52 -3 --40 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -55 -94 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --104 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --127 --127 --127 --127 --5 -80 -110 -67 -16 --28 --64 --96 --24 -80 -120 -77 -25 --21 --59 --91 --34 -70 -110 -66 -15 --29 --65 --97 --40 -64 -105 -62 -11 --33 --68 --99 --45 -60 -99 -56 -7 --36 --72 --102 --46 -58 -98 -56 -6 --37 --72 --103 --49 -56 -96 -54 -4 --38 --73 --104 --48 -56 -96 -54 -5 --38 --73 --104 --50 -54 -95 -53 -3 --39 --74 --104 --50 -55 -95 -52 -3 --40 --74 --104 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --39 --74 --105 --50 -54 -95 -52 -3 --40 --74 --104 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -93 -51 -2 --40 --75 --105 --51 -54 -95 -53 -3 --39 --74 --104 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -53 -3 --39 --74 --104 --51 -54 -94 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -53 -94 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -53 -3 --39 --74 --104 --51 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -83 -46 -3 --32 --69 --99 --109 --127 --127 --34 -74 -115 -72 -20 --25 --62 --94 --39 -65 -105 -62 -11 --33 --68 --99 --43 -61 -100 -58 -7 --35 --71 --102 --46 -58 -99 -56 -6 --37 --72 --103 --48 -57 -96 -54 -5 --38 --73 --104 --49 -56 -96 -53 -4 --39 --74 --104 --49 -56 -95 -53 -4 --39 --74 --104 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --39 --74 --104 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -55 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --127 --127 --127 --127 --6 -80 -110 -67 -16 --28 --64 --96 --23 -80 -120 -77 -25 --21 --58 --91 --34 -70 -110 -67 -16 --29 --65 --97 --40 -64 -103 -62 -11 --33 --69 --100 --45 -60 -101 -58 -7 --36 --71 --102 --46 -58 -97 -56 -6 --37 --72 --103 --49 -56 -96 -54 -4 --38 --73 --104 --49 -56 -96 -54 -4 --39 --73 --104 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -53 -4 --39 --74 --104 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -95 -53 -4 --39 --74 --104 --51 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -53 -3 --39 --74 --104 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -53 -3 --39 --74 --105 --51 -54 -94 -51 -2 --40 --75 --105 --50 -54 -95 -53 -3 --39 --74 --104 --51 -54 -94 -51 -2 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -93 -51 -2 --40 --75 --105 --51 -54 -94 -53 -3 --39 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -83 -46 -3 --32 --69 --99 --109 --127 --127 --34 -74 -115 -72 -20 --25 --62 --94 --39 -64 -104 -62 -11 --33 --69 --100 --44 -61 -101 -58 -8 --36 --71 --102 --46 -57 -98 -56 -6 --37 --72 --103 --48 -57 -97 -54 -4 --38 --73 --104 --49 -56 -96 -54 -5 --38 --73 --104 --50 -55 -95 -52 -3 --40 --74 --105 --49 -55 -95 -53 -4 --39 --74 --104 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --39 --74 --104 --127 --127 --127 --127 --6 -79 -111 -67 -16 --28 --64 --96 --23 -80 -120 -77 -24 --21 --59 --91 --34 -70 -110 -67 -15 --29 --65 --97 --40 -63 -103 -61 -11 --33 --69 --100 --45 -60 -101 -57 -7 --36 --71 --102 --47 -58 -98 -56 -7 --37 --72 --102 --49 -56 -97 -54 -4 --38 --73 --104 --49 -56 -96 -54 -5 --38 --73 --104 --50 -54 -95 -52 -3 --40 --74 --104 --49 -55 -95 -53 -4 --39 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --51 -53 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -51 -3 --40 --75 --105 --50 -54 -95 -53 -3 --39 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -83 -47 -4 --32 --69 --99 --109 --127 --127 --35 -73 -115 -72 -20 --25 --62 --94 --39 -64 -104 -62 -11 --33 --69 --100 --44 -61 -102 -58 -8 --35 --71 --102 --46 -58 -97 -56 -6 --37 --72 --103 --48 -57 -97 -54 -5 --38 --73 --104 --49 -56 -96 -54 -5 --38 --73 --104 --50 -55 -95 -53 -3 --39 --74 --104 --127 --127 --127 --127 --5 -80 -111 -68 -17 --28 --64 --95 --23 -81 -121 -78 -25 --21 --58 --91 --34 -70 -110 -66 -15 --29 --66 --97 --39 -64 -104 -62 -11 --33 --68 --99 --46 -59 -100 -57 -7 --36 --71 --102 --46 -59 -99 -56 -6 --37 --72 --103 --49 -56 -96 -54 -4 --38 --73 --104 --49 -56 -95 -54 -4 --39 --74 --104 --50 -55 -96 -53 -3 --39 --74 --104 --50 -55 -95 -53 -3 --39 --74 --105 --50 -54 -95 -53 -3 --40 --74 --105 --50 -56 -95 -53 -4 --39 --74 --104 --51 -53 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --104 --52 -53 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -53 -3 --39 --74 --104 --51 -54 -95 -51 -2 --40 --75 --105 --50 -55 -95 -53 -4 --39 --74 --104 --52 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -83 -47 -3 --33 --69 --99 --109 --127 --127 --35 -73 -115 -71 -19 --26 --62 --94 --39 -65 -104 -61 -11 --33 --69 --100 --44 -61 -101 -59 -9 --35 --70 --101 --46 -58 -97 -56 -6 --37 --72 --103 --48 -57 -97 -55 -5 --38 --73 --103 --49 -56 -95 -53 -4 --39 --74 --104 --49 -55 -95 -53 -4 --39 --74 --104 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --64 --95 --23 -81 -121 -78 -25 --21 --58 --90 --35 -69 -110 -66 -15 --30 --66 --97 --39 -65 -104 -62 -12 --32 --68 --99 --46 -60 -100 -58 -7 --36 --71 --102 --46 -59 -98 -56 -7 --36 --72 --103 --49 -56 -97 -54 -5 --38 --73 --104 --49 -55 -95 -54 -4 --39 --74 --104 --50 -55 -95 -53 -4 --39 --74 --104 --50 -55 -95 -53 -3 --39 --74 --104 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -53 -3 --39 --74 --104 --51 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --104 --52 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --52 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -53 -3 --39 --74 --104 --51 -53 -94 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --74 --105 --51 -55 -95 -53 -3 --39 --74 --104 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -4 --39 --74 --104 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -53 -3 --39 --74 --104 --51 -53 -94 -51 -2 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --39 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -53 -3 --40 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --104 --52 -54 -94 -52 -2 --40 --75 --105 --50 -55 -94 -53 -3 --39 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -53 -94 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -93 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --104 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -53 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --51 -54 -95 -83 -46 -3 --33 --69 --99 --110 --127 --127 --35 -73 -115 -72 -20 --25 --62 --94 --39 -65 -104 -62 -11 --33 --69 --100 --43 -61 -101 -59 -9 --35 --70 --101 --47 -58 -98 -56 -6 --37 --72 --103 --47 -57 -97 -54 -5 --38 --73 --104 --49 -56 -96 -54 -4 --39 --74 --104 --49 -55 -95 -53 -4 --39 --74 --104 --50 -55 -96 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -51 -2 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -2 --40 --74 --105 --127 --127 --127 --127 --6 -79 -111 -67 -16 --28 --64 --95 --24 -80 -120 -77 -24 --22 --59 --91 --34 -69 -110 -67 -15 --29 --65 --97 --40 -65 -105 -62 -11 --33 --68 --100 --45 -60 -100 -57 -7 --36 --71 --102 --47 -58 -99 -56 -6 --37 --72 --103 --49 -56 -96 -54 -4 --38 --74 --104 --49 -56 -97 -54 -5 --38 --73 --104 --50 -55 -96 -53 -4 --39 --74 --104 --50 -55 -95 -53 -4 --39 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -53 -3 --39 --74 --104 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -53 -4 --39 --74 --104 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --106 --50 -54 -95 -53 -3 --40 --74 --104 --52 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -53 -4 --39 --74 --104 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -82 -46 -3 --33 --69 --99 --110 --127 --127 --35 -72 -115 -72 -20 --25 --62 --94 --39 -66 -105 -62 -11 --33 --68 --99 --44 -61 -101 -58 -8 --36 --71 --102 --46 -58 -99 -56 -6 --37 --72 --103 --48 -57 -97 -55 -5 --38 --73 --103 --49 -56 -96 -53 -4 --39 --74 --104 --49 -56 -96 -54 -4 --39 --74 --104 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --39 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --106 --50 -54 -95 -53 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -94 -52 -2 --40 --75 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -55 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --75 --105 --127 --127 --127 --127 --6 -79 -111 -67 -16 --28 --64 --96 --24 -80 -120 -77 -24 --22 --59 --91 --35 -70 -110 -67 -16 --29 --65 --97 --40 -64 -105 -62 -11 --33 --68 --99 --45 -61 -101 -58 -8 --35 --71 --102 --46 -58 -98 -56 -6 --37 --72 --103 --49 -56 -96 -54 -4 --38 --73 --104 --49 -56 -96 -54 -4 --38 --73 --104 --51 -54 -95 -52 -3 --40 --74 --105 --49 -56 -96 -54 -4 --39 --73 --104 --51 -54 -94 -51 -2 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --104 --52 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --39 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -53 -4 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --104 --51 -54 -94 -51 -2 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -51 -2 --40 --75 --106 --51 -54 -94 -53 -3 --40 --74 --105 --52 -54 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -55 -94 -53 -3 --40 --74 --105 --51 -53 -94 -52 -3 --40 --75 --105 --50 -55 -95 -83 -47 -4 --32 --69 --99 --109 --127 --127 --34 -73 -115 -72 -20 --25 --62 --94 --39 -65 -105 -61 -11 --33 --69 --100 --43 -61 -101 -58 -8 --35 --71 --101 --46 -58 -99 -55 -6 --37 --73 --103 --48 -57 -96 -54 -5 --38 --73 --104 --49 -56 -96 -54 -4 --39 --73 --104 --49 -56 -96 -53 -3 --39 --74 --104 --127 --127 --127 --127 --6 -80 -111 -67 -16 --28 --65 --96 --23 -81 -121 -78 -25 --21 --58 --91 --34 -70 -110 -67 -15 --29 --65 --97 --40 -65 -104 -62 -11 --33 --69 --100 --45 -60 -101 -57 -7 --36 --71 --102 --47 -58 -98 -56 -6 --37 --72 --103 --48 -57 -97 -55 -5 --38 --73 --104 --49 -56 -96 -54 -4 --38 --74 --104 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -95 -53 -3 --39 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --104 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -95 -53 -3 --39 --74 --104 --51 -54 -95 -51 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --51 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -83 -47 -4 --32 --69 --99 --109 --127 --127 --35 -73 -115 -73 -21 --25 --62 --94 --40 -65 -105 -62 -11 --33 --69 --100 --43 -62 -101 -58 -8 --35 --71 --101 --47 -58 -99 -56 -6 --37 --72 --103 --48 -57 -97 -54 -4 --38 --73 --104 --49 -56 -97 -54 -5 --38 --73 --104 --50 -55 -96 -53 -3 --40 --74 --105 --49 -55 -95 -53 -3 --39 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -55 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -54 -93 -51 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --51 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --127 --127 --127 --127 --6 -80 -111 -67 -15 --29 --65 --96 --23 -80 -120 -77 -25 --21 --59 --91 --35 -70 -110 -66 -15 --29 --65 --97 --40 -64 -104 -62 -11 --33 --69 --100 --45 -60 -101 -58 -8 --35 --71 --102 --47 -58 -98 -56 -6 --37 --72 --103 --49 -56 -97 -54 -5 --38 --73 --104 --49 -56 -96 -54 -4 --38 --74 --104 --50 -54 -95 -53 -3 --40 --74 --105 --50 -56 -96 -53 -3 --39 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --50 -56 -96 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -55 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --106 --50 -55 -94 -52 -3 --40 --74 --105 --52 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --52 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --51 -55 -95 -52 -3 --40 --75 --105 --51 -54 -94 -82 -47 -3 --32 --69 --99 --109 --127 --127 --34 -74 -115 -72 -20 --26 --62 --94 --39 -65 -106 -62 -11 --33 --68 --99 --44 -62 -101 -58 -8 --36 --71 --102 --46 -58 -99 -56 -6 --37 --72 --103 --48 -57 -97 -54 -4 --39 --74 --104 --49 -56 -96 -53 -3 --39 --74 --104 --50 -56 -96 -53 -4 --39 --74 --105 --50 -56 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --75 --105 --50 -54 -94 -51 -2 --41 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -51 -2 --40 --75 --106 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --65 --96 --24 -81 -121 -77 -25 --21 --59 --91 --34 -70 -110 -67 -15 --29 --66 --97 --40 -65 -104 -62 -11 --32 --68 --100 --45 -60 -101 -57 -7 --36 --71 --102 --47 -58 -99 -56 -6 --37 --72 --103 --49 -56 -96 -54 -5 --38 --73 --104 --49 -56 -96 -54 -4 --39 --74 --104 --50 -54 -95 -53 -4 --39 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -83 -47 -4 --32 --69 --99 --109 --127 --127 --34 -73 -115 -72 -20 --25 --62 --94 --39 -65 -106 -62 -11 --33 --69 --100 --43 -61 -101 -59 -9 --35 --71 --102 --46 -59 -99 -55 -5 --38 --73 --103 --48 -57 -97 -54 -5 --38 --73 --104 --49 -56 -96 -53 -4 --39 --74 --104 --49 -56 -96 -53 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -55 -95 -52 -2 --41 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -51 -2 --40 --75 --106 --50 -55 -95 -52 -3 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -68 -17 --28 --64 --96 --24 -81 -120 -77 -25 --21 --59 --91 --34 -70 -111 -67 -15 --29 --65 --97 --40 -65 -105 -62 -11 --33 --69 --100 --45 -59 -100 -57 -7 --36 --71 --102 --47 -59 -99 -56 -6 --37 --72 --103 --49 -56 -97 -54 -5 --38 --73 --104 --49 -56 -96 -83 -47 -4 --31 --68 --99 --109 --127 --127 --33 -74 -116 -72 -21 --25 --62 --94 --39 -66 -106 -62 -11 --33 --68 --99 --43 -62 -101 -58 -8 --35 --71 --102 --46 -59 -99 -56 -6 --37 --72 --103 --48 -57 -97 -54 -5 --38 --73 --104 --49 -56 -97 -54 -4 --39 --73 --104 --49 -56 -96 -53 -4 --39 --74 --105 --49 -55 -95 -52 -3 --40 --74 --105 --51 -55 -95 -52 -3 --40 --74 --105 --50 -55 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --51 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -51 -2 --41 --75 --106 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -68 -16 --28 --64 --95 --24 -80 -121 -77 -25 --22 --59 --91 --34 -70 -110 -67 -15 --29 --65 --97 --40 -65 -105 -62 -11 --33 --69 --100 --45 -60 -100 -57 -7 --36 --72 --102 --46 -59 -99 -56 -6 --37 --72 --103 --49 -56 -97 -54 -5 --39 --74 --104 --48 -56 -96 -84 -47 -4 --32 --68 --99 --109 --127 --127 --33 -74 -116 -73 -21 --25 --62 --94 --39 -66 -106 -62 -11 --33 --68 --100 --43 -62 -101 -58 -8 --35 --71 --102 --46 -59 -99 -56 -6 --37 --72 --103 --48 -57 -97 -54 -5 --39 --74 --104 --49 -56 -96 -54 -4 --39 --74 --104 --50 -56 -96 -53 -3 --39 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -51 -2 --41 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -56 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -51 -2 --40 --75 --106 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -51 -2 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --106 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -51 -2 --40 --75 --106 --49 -55 -95 -53 -3 --40 --74 --105 --51 -55 -95 -52 -3 --40 --75 --105 --50 -55 -94 -51 -2 --41 --75 --106 --50 -54 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -51 -2 --41 --75 --105 --50 -54 -94 -52 -2 --40 --75 --106 --50 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --51 -55 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --51 -55 -95 -52 -3 --40 --75 --105 --127 --127 --127 --127 --6 -80 -111 -67 -16 --28 --65 --96 --24 -81 -121 -77 -24 --22 --59 --92 --34 -70 -110 -67 -15 --29 --66 --97 --40 -65 -105 -62 -11 --33 --69 --100 --45 -60 -100 -57 -7 --36 --72 --102 --46 -58 -99 -56 -6 --37 --72 --103 --48 -57 -97 -54 -4 --39 --74 --104 --48 -56 -96 -54 -4 --39 --73 --104 --50 -56 -96 -53 -3 --39 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --51 -55 -95 -52 -2 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -54 -94 -51 -2 --40 --75 --106 --50 -56 -95 -53 -3 --39 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -55 -94 -83 -47 -3 --33 --69 --99 --110 --127 --127 --34 -74 -116 -72 -19 --26 --63 --95 --39 -66 -105 -62 -11 --33 --69 --100 --43 -62 -102 -58 -8 --35 --71 --102 --46 -59 -99 -56 -6 --37 --72 --103 --48 -57 -97 -54 -4 --39 --73 --104 --49 -56 -96 -53 -4 --39 --74 --105 --49 -56 -95 -52 -3 --40 --74 --105 --50 -55 -96 -53 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -56 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -51 -1 --41 --75 --106 --50 -54 -95 -52 -3 --40 --75 --105 --51 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -2 --40 --75 --105 --50 -55 -94 -52 -2 --40 --75 --106 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -51 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -94 -51 -2 --41 --75 --106 --50 -55 -94 -52 -3 --40 --75 --105 --51 -55 -95 -52 -3 --40 --75 --105 --127 --127 --127 --127 --5 -79 -111 -67 -16 --28 --65 --96 --23 -81 -121 -77 -24 --22 --59 --91 --34 -70 -111 -67 -16 --29 --65 --97 --40 -65 -104 -62 -11 --33 --69 --100 --45 -60 -101 -57 -7 --36 --72 --102 --46 -58 -97 -56 -6 --37 --72 --103 --49 -57 -97 -54 -4 --39 --74 --104 --49 -56 -96 -54 -5 --38 --73 --104 --50 -55 -95 -52 -3 --40 --75 --105 --49 -56 -95 -53 -4 --39 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -56 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --51 -55 -95 -52 -2 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --106 --50 -54 -94 -52 -2 --40 --75 --106 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -95 -51 -2 --41 --75 --106 --50 -55 -95 -53 -3 --39 --74 --105 --51 -54 -95 -51 -1 --41 --75 --106 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -82 -46 -3 --33 --69 --99 --110 --127 --127 --34 -74 -115 -72 -19 --26 --63 --95 --38 -66 -105 -62 -11 --33 --69 --100 --43 -61 -101 -58 -8 --35 --71 --102 --46 -59 -99 -56 -5 --38 --73 --103 --47 -57 -97 -54 -5 --38 --73 --104 --49 -56 -96 -52 -3 --40 --75 --105 --49 -56 -96 -53 -3 --39 --74 --105 --49 -55 -95 -52 -3 --40 --74 --105 --50 -56 -95 -53 -3 --40 --75 --105 --49 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -94 -51 -2 --41 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -2 --40 --75 --106 --49 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --41 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -51 -2 --41 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --65 --96 --24 -80 -121 -77 -24 --22 --59 --92 --34 -70 -110 -67 -15 --29 --65 --97 --40 -65 -105 -62 -11 --33 --69 --100 --45 -61 -100 -57 -7 --36 --72 --102 --46 -58 -98 -56 -6 --37 --72 --103 --49 -56 -96 -54 -4 --39 --74 --104 --48 -56 -96 -84 -47 -3 --33 --69 --99 --110 --127 --127 --33 -75 -117 -72 -20 --25 --62 --94 --37 -66 -106 -62 -12 --33 --68 --99 --43 -62 -102 -57 -7 --36 --71 --102 --45 -59 -99 -56 -6 --37 --72 --103 --48 -58 -97 -54 -5 --38 --73 --104 --48 -57 -96 -53 -4 --39 --74 --104 --49 -56 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --49 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -51 -2 --40 --75 --106 --49 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --106 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -51 -2 --40 --75 --106 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --49 -56 -95 -52 -2 --40 --75 --105 --50 -54 -94 -51 -2 --41 --75 --106 --50 -55 -95 -52 -3 --40 --75 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --65 --96 --23 -80 -121 -77 -25 --21 --59 --91 --34 -70 -109 -66 -15 --30 --66 --97 --39 -64 -105 -63 -12 --32 --68 --100 --45 -60 -101 -57 -7 --37 --72 --102 --46 -59 -99 -56 -6 --37 --72 --103 --49 -56 -97 -54 -5 --38 --73 --104 --49 -56 -96 -54 -4 --39 --74 --104 --50 -55 -96 -53 -3 --39 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --106 --49 -55 -95 -52 -3 --40 --74 --105 --52 -54 -93 -51 -2 --41 --75 --106 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --49 -55 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -94 -51 -2 --40 --75 --106 --50 -55 -96 -53 -3 --39 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -51 -2 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -83 -46 -3 --33 --69 --99 --110 --127 --127 --34 -74 -115 -72 -20 --26 --63 --95 --38 -66 -106 -62 -11 --33 --69 --100 --43 -61 -101 -58 -8 --36 --71 --102 --46 -59 -98 -55 -5 --37 --72 --103 --48 -57 -97 -54 -5 --38 --73 --104 --48 -56 -96 -53 -4 --39 --74 --104 --49 -56 -96 -53 -3 --40 --74 --105 --50 -55 -94 -51 -2 --40 --75 --106 --49 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --49 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -51 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -51 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --41 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --127 --127 --127 --127 --6 -80 -111 -66 -15 --29 --65 --96 --23 -80 -120 -77 -24 --22 --59 --92 --34 -70 -111 -67 -15 --29 --66 --97 --39 -64 -104 -62 -11 --33 --69 --100 --45 -60 -101 -58 -7 --36 --71 --102 --46 -59 -98 -56 -6 --37 --72 --103 --48 -57 -97 -54 -4 --39 --74 --104 --49 -56 -96 -54 -5 --39 --74 --104 --50 -55 -95 -52 -3 --40 --75 --105 --49 -56 -96 -53 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --51 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -51 -2 --41 --75 --106 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -51 -2 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --105 --51 -54 -95 -51 -1 --41 --75 --106 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -51 -2 --41 --75 --106 --50 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -51 -2 --41 --75 --105 --50 -55 -95 -83 -46 -3 --33 --70 --100 --110 --127 --127 --34 -74 -115 -72 -20 --25 --62 --95 --38 -65 -105 -62 -11 --33 --69 --100 --43 -62 -101 -58 -8 --36 --71 --102 --46 -58 -98 -55 -6 --37 --72 --103 --48 -57 -97 -54 -4 --39 --74 --104 --48 -56 -96 -53 -4 --39 --74 --104 --49 -56 -95 -52 -3 --40 --75 --105 --49 -56 -95 -52 -3 --40 --75 --105 --49 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --106 --49 -55 -95 -52 -3 --40 --74 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --64 --96 --23 -80 -120 -77 -24 --22 --59 --92 --34 -71 -111 -67 -15 --29 --65 --97 --40 -64 -104 -62 -11 --33 --69 --100 --44 -61 -101 -57 -7 --36 --72 --102 --46 -58 -98 -56 -6 --37 --72 --103 --49 -56 -97 -53 -4 --39 --74 --104 --49 -56 -96 -54 -5 --39 --74 --104 --49 -55 -95 -52 -3 --40 --74 --105 --49 -56 -95 -53 -3 --39 --74 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --51 -55 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --106 --49 -54 -95 -52 -3 --40 --74 --105 --51 -54 -95 -51 -2 --41 --75 --105 --49 -55 -94 -83 -47 -3 --33 --69 --99 --110 --127 --127 --33 -74 -115 -72 -20 --25 --62 --94 --38 -65 -105 -62 -11 --33 --69 --100 --43 -62 -101 -58 -8 --36 --71 --102 --45 -59 -99 -56 -6 --37 --72 --103 --48 -57 -97 -53 -4 --39 --74 --104 --48 -56 -96 -53 -3 --39 --74 --104 --49 -55 -95 -53 -3 --40 --74 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --29 --65 --96 --23 -81 -121 -78 -25 --21 --58 --91 --34 -70 -110 -66 -15 --30 --66 --97 --39 -65 -104 -62 -11 --33 --69 --100 --45 -60 -101 -58 -7 --36 --71 --102 --46 -59 -99 -56 -6 --37 --72 --103 --48 -56 -97 -55 -5 --38 --73 --104 --49 -56 -96 -53 -3 --39 --74 --104 --49 -54 -95 -52 -3 --40 --74 --105 --49 -56 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -94 -51 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --49 -54 -95 -52 -3 --40 --74 --105 --51 -55 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -51 -2 --40 --75 --106 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --106 --49 -56 -95 -83 -47 -3 --33 --69 --99 --110 --127 --127 --34 -74 -115 -72 -19 --26 --63 --95 --38 -66 -105 -62 -11 --33 --69 --100 --43 -62 -101 -58 -8 --35 --71 --101 --46 -58 -98 -56 -6 --38 --73 --103 --47 -58 -97 -54 -4 --38 --73 --104 --49 -56 -96 -53 -4 --39 --74 --104 --49 -55 -95 -52 -3 --40 --74 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --65 --96 --22 -81 -121 -77 -25 --21 --59 --91 --34 -70 -110 -66 -15 --30 --66 --97 --39 -65 -105 -62 -11 --33 --68 --99 --45 -60 -101 -57 -7 --36 --71 --102 --46 -59 -98 -56 -6 --37 --72 --103 --48 -56 -97 -54 -5 --38 --73 --104 --49 -56 -96 -54 -4 --39 --74 --104 --49 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --39 --74 --104 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --49 -55 -94 -52 -3 --40 --74 --105 --51 -54 -95 -51 -2 --41 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --49 -56 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -55 -94 -52 -3 --39 --74 --105 --51 -54 -94 -51 -1 --41 --75 --106 --50 -55 -95 -53 -3 --39 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --49 -55 -95 -53 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -94 -51 -2 --40 --75 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --49 -55 -95 -53 -3 --40 --74 --105 --51 -54 -95 -51 -2 --41 --75 --106 --50 -55 -95 -53 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -93 -52 -2 --40 --75 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --51 -54 -94 -51 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -51 -2 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --51 -54 -94 -52 -2 --40 --75 --105 --50 -55 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --49 -55 -95 -83 -47 -4 --33 --69 --99 --110 --127 --127 --34 -73 -115 -72 -20 --25 --62 --94 --38 -66 -105 -61 -11 --33 --69 --100 --43 -61 -101 -58 -8 --36 --71 --102 --46 -58 -98 -55 -5 --38 --73 --103 --48 -56 -97 -54 -4 --39 --74 --104 --49 -56 -96 -53 -4 --39 --74 --104 --49 -56 -95 -52 -3 --40 --74 --105 --49 -56 -95 -52 -3 --40 --74 --105 --49 -55 -95 -52 -2 --40 --75 --105 --49 -54 -95 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -51 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -2 --40 --75 --105 --50 -54 -95 -51 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -51 -2 --41 --75 --106 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -94 -51 -2 --40 --75 --106 --127 --127 --127 --127 --5 -80 -111 -67 -16 --28 --65 --96 --23 -80 -121 -77 -24 --22 --59 --91 --34 -70 -110 -67 -15 --29 --65 --97 --40 -65 -105 -62 -11 --33 --69 --100 --44 -61 -100 -57 -7 --36 --71 --102 --46 -58 -98 -56 -6 --37 --72 --103 --48 -57 -96 -54 -4 --39 --73 --104 --49 -56 -96 -54 -4 --39 --74 --104 --50 -55 -95 -53 -3 --39 --74 --104 --50 -55 -95 -53 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --49 -56 -95 -52 -3 --39 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --51 -53 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --49 -55 -95 -53 -3 --39 --74 --105 --51 -54 -94 -51 -2 --41 --75 --106 --49 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --75 --105 --51 -54 -94 -82 -46 -3 --33 --69 --99 --110 --127 --127 --34 -73 -115 -72 -20 --26 --62 --94 --38 -66 -106 -62 -11 --33 --68 --100 --43 -61 -101 -57 -7 --36 --71 --102 --47 -58 -98 -55 -5 --38 --73 --104 --47 -57 -97 -54 -5 --38 --73 --104 --49 -56 -96 -52 -3 --40 --74 --105 --49 -56 -95 -53 -4 --39 --74 --104 --50 -55 -95 -52 -3 --40 --74 --105 --49 -56 -95 -52 -3 --40 --75 --105 --49 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --49 -55 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -94 -52 -2 --40 --75 --105 --50 -54 -94 -52 -2 --40 --74 --105 --51 -54 -94 -52 -2 --40 --75 --105 --49 -55 -95 -52 -3 --40 --74 --105 --50 -54 -93 -51 -1 --41 --75 --106 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -51 -2 --40 --75 --105 --49 -55 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -94 -52 -2 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -94 -51 -2 --40 --75 --105 --50 -54 -94 -51 -2 --40 --75 --105 --49 -55 -95 -52 -2 --40 --74 --105 --127 --127 --127 --127 --5 -79 -111 -67 -16 --28 --64 --96 --24 -80 -120 -76 -23 --22 --59 --92 --34 -70 -110 -67 -16 --29 --65 --97 --40 -64 -104 -62 -11 --33 --69 --100 --44 -61 -101 -58 -8 --36 --71 --102 --46 -58 -98 -56 -6 --37 --72 --103 --48 -57 -96 -53 -4 --39 --74 --104 --49 -56 -96 -54 -5 --38 --73 --104 --50 -55 -95 -52 -2 --40 --75 --105 --49 -55 -95 -53 -3 --39 --74 --105 --50 -55 -95 -52 -2 --40 --74 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -94 -52 -2 --40 --75 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --39 --74 --104 --51 -54 -94 -51 -2 --40 --75 --105 --49 -55 -95 -52 -3 --40 --74 --105 --51 -54 -93 -51 -2 --41 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --105 --50 -55 -94 -53 -3 --40 --74 --104 --51 -54 -94 -52 -3 --40 --75 --105 --49 -55 -95 -52 -3 --40 --74 --105 --51 -54 -93 -51 -3 --40 --75 --105 --50 -55 -95 -82 -46 -3 --33 --69 --99 --110 --127 --127 --33 -73 -115 -72 -20 --25 --62 --94 --39 -65 -105 -62 -11 --33 --69 --100 --43 -62 -101 -58 -8 --35 --71 --101 --46 -58 -99 -55 -5 --38 --73 --103 --47 -57 -96 -54 -4 --38 --73 --104 --49 -56 -96 -54 -5 --38 --73 --104 --49 -56 -95 -52 -3 --40 --74 --105 --127 --127 --127 --127 --5 -80 -111 -67 -16 --29 --65 --96 --22 -81 -120 -77 -25 --21 --58 --91 --34 -70 -110 -67 -15 --29 --65 --97 --39 -65 -104 -62 -11 --33 --69 --100 --44 -61 -101 -58 -7 --36 --71 --102 --46 -58 -99 -56 -6 --37 --72 --103 --48 -57 -97 -54 -5 --38 --73 --103 --49 -56 -96 -54 -4 --39 --74 --104 --49 -55 -94 -52 -3 --40 --75 --105 --49 -55 -95 -53 -3 --39 --74 --104 --51 -54 -94 -52 -2 --40 --75 --105 --49 -54 -95 -53 -3 --39 --74 --105 --51 -54 -94 -51 -2 --41 --75 --105 --50 -55 -95 -53 -3 --39 --74 --104 --51 -54 -95 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -55 -94 -52 -3 --40 --74 --105 --51 -54 -94 -51 -2 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --104 --51 -54 -93 -51 -2 --40 --75 --106 --50 -55 -95 -83 -46 -3 --33 --69 --99 --110 --127 --127 --34 -74 -115 -72 -20 --25 --62 --94 --39 -65 -105 -62 -11 --33 --69 --100 --43 -62 -101 -58 -8 --35 --71 --102 --46 -58 -98 -56 -6 --37 --72 --103 --48 -57 -97 -53 -4 --39 --74 --104 --48 -56 -96 -53 -4 --39 --74 --104 --49 -56 -96 -52 -3 --40 --74 --105 --49 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --75 --105 --49 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --49 -55 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -2 --40 --75 --105 --49 -54 -94 -52 -3 --40 --75 --105 --51 -54 -95 -52 -2 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --49 -55 -95 -52 -3 --40 --74 --105 --50 -55 -94 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -55 -95 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -52 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --127 --127 --127 --127 --6 -79 -111 -67 -15 --29 --65 --96 --23 -80 -120 -77 -25 --21 --59 --91 --34 -70 -110 -66 -15 --29 --65 --97 --40 -64 -104 -62 -11 --33 --69 --99 --44 -60 -101 -58 -8 --35 --71 --102 --46 -58 -97 -56 -6 --37 --72 --103 --49 -55 -96 -54 -4 --38 --73 --104 --49 -56 -96 -54 -5 --38 --73 --104 --50 -54 -94 -52 -3 --40 --74 --105 --49 -56 -95 -53 -3 --40 --74 --104 --51 -53 -94 -52 -2 --40 --75 --105 --49 -55 -95 -52 -3 --40 --74 --105 --51 -54 -95 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -55 -95 -53 -3 --40 --74 --105 --50 -54 -94 -51 -2 --41 --75 --105 --50 -54 -94 -53 -3 --39 --74 --104 --51 -54 -94 -51 -2 --40 --75 --105 --50 -55 -94 -53 -3 --39 --74 --104 --51 -53 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -95 -52 -3 --40 --74 --105 --51 -54 -94 -52 -3 --40 --75 --105 --50 -54 -94 -52 -2 --40 --74 --105 --51 -54 -94 -52 -3 --40 --74 --105 --50 -54 -94 -83 -46 -3 --32 --68 --99 --109 --127 --127 --34 -74 -115 -72 -19 --26 --63 --95 --38 -65 -105 -62 -11 --33 --69 --100 --43 -61 -100 -58 -8 --36 --71 --101 --46 -58 -98 -56 -6 --37 --72 --103 --47 -57 -97 -54 -5 --38 --73 --103 --49 -55 -95 -53 -4 --39 --74 --104 --49 -56 -96 -52 -3 --40 --74 --105 --50 -54 -94 -52 -3 --40 --74 --104 --50 -54 -95 -52 -3 --40 --74 --105 --49 -56 -95 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -55 -94 -52 -3 --40 --74 --105 --50 -54 -94 -52 -2 --40 --75 --105 --50 -55 -95 -52 -3 --40 --74 --105 --50 -54 -95 -52 -3 --40 --74 --105 --50 -55 -94 -51 -2 --40 --75 --105 --50 -54 -94 -52 -3 --40 --74 --105 --50 -54 -95 -52 -2 From 003ac42c7169ae9632e09d3b35a257debe8e8eaf Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 27 Jan 2015 16:08:08 -0500 Subject: [PATCH 126/133] Revert "Revert "More Testing Traces"" This reverts commit eb0b5130f20ae3d9ca82b6b76779be44d7367311. --- traces/AWID-15-259.pm3 | 20000 +++++++++++++++++++++++++++ traces/EM4102-1.pm3 | 16000 --------------------- traces/HID-weak-fob-11647.pm3 | 20000 +++++++++++++++++++++++++++ traces/Paradox-96_40426-APJN08.pm3 | 16000 +++++++++++++++++++++ traces/README.txt | 4 +- traces/modulation-ask-biph-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-100.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-128.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-16.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-32.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-40.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-ask-man-8.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-direct-32.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-direct-40.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-direct-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk1-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk1a-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk2-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk2a-40.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-fsk2a-50.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-psk1-32-4.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-psk1-64-8.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-psk2-32-2.pm3 | 20000 +++++++++++++++++++++++++++ traces/modulation-psk3-32-8.pm3 | 20000 +++++++++++++++++++++++++++ 24 files changed, 436003 insertions(+), 16001 deletions(-) create mode 100644 traces/AWID-15-259.pm3 delete mode 100644 traces/EM4102-1.pm3 create mode 100644 traces/HID-weak-fob-11647.pm3 create mode 100644 traces/Paradox-96_40426-APJN08.pm3 create mode 100644 traces/modulation-ask-biph-50.pm3 create mode 100644 traces/modulation-ask-man-100.pm3 create mode 100644 traces/modulation-ask-man-128.pm3 create mode 100644 traces/modulation-ask-man-16.pm3 create mode 100644 traces/modulation-ask-man-32.pm3 create mode 100644 traces/modulation-ask-man-40.pm3 create mode 100644 traces/modulation-ask-man-8.pm3 create mode 100644 traces/modulation-direct-32.pm3 create mode 100644 traces/modulation-direct-40.pm3 create mode 100644 traces/modulation-direct-50.pm3 create mode 100644 traces/modulation-fsk1-50.pm3 create mode 100644 traces/modulation-fsk1a-50.pm3 create mode 100644 traces/modulation-fsk2-50.pm3 create mode 100644 traces/modulation-fsk2a-40.pm3 create mode 100644 traces/modulation-fsk2a-50.pm3 create mode 100644 traces/modulation-psk1-32-4.pm3 create mode 100644 traces/modulation-psk1-64-8.pm3 create mode 100644 traces/modulation-psk2-32-2.pm3 create mode 100644 traces/modulation-psk3-32-8.pm3 diff --git a/traces/AWID-15-259.pm3 b/traces/AWID-15-259.pm3 new file mode 100644 index 000000000..46e26ede1 --- /dev/null +++ b/traces/AWID-15-259.pm3 @@ -0,0 +1,20000 @@ +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +92 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-48 +-76 +-101 +-33 +90 +117 +77 +29 +-14 +-48 +-78 +-37 +86 +109 +66 +19 +-22 +-55 +-84 +-44 +77 +101 +59 +13 +-27 +-60 +-88 +-52 +72 +97 +53 +8 +-31 +-63 +-91 +-54 +70 +93 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +88 +47 +3 +-36 +-67 +-94 +-57 +66 +90 +47 +3 +-35 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +45 +2 +-36 +-68 +-95 +-59 +64 +87 +45 +2 +-36 +-68 +-95 +-100 +-127 +-50 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-23 +-56 +-84 +-107 +-111 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +73 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-41 +81 +105 +62 +15 +-25 +-58 +-86 +-49 +75 +98 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +51 +7 +-32 +-64 +-92 +-55 +68 +92 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +101 +62 +18 +-23 +-55 +-84 +-107 +-111 +-33 +83 +107 +68 +23 +-18 +-52 +-81 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +113 +74 +26 +-16 +-50 +-79 +-33 +89 +114 +72 +24 +-18 +-51 +-81 +-42 +81 +105 +61 +15 +-25 +-58 +-87 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-55 +69 +92 +50 +5 +-34 +-65 +-93 +-57 +66 +90 +48 +4 +-35 +-66 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +45 +0 +-36 +-68 +-95 +-101 +-127 +-45 +71 +93 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +80 +102 +67 +20 +-20 +-54 +-82 +-106 +-110 +-32 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-50 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-38 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +100 +58 +12 +-28 +-60 +-89 +-53 +70 +95 +53 +8 +-31 +-63 +-91 +-54 +70 +93 +50 +6 +-33 +-65 +-93 +-56 +68 +91 +49 +4 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +66 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +87 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-49 +65 +82 +43 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +81 +103 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-16 +-49 +-79 +-38 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +72 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +50 +5 +-33 +-65 +-93 +-57 +68 +91 +48 +4 +-35 +-66 +-94 +-60 +64 +90 +48 +3 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +47 +3 +-36 +-67 +-95 +-62 +62 +88 +47 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-96 +-60 +64 +89 +47 +2 +-36 +-67 +-94 +-60 +65 +89 +46 +2 +-36 +-68 +-95 +-60 +63 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +1 +-36 +-68 +-95 +-60 +64 +88 +46 +3 +-36 +-67 +-95 +-100 +-127 +-51 +64 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +75 +99 +61 +17 +-23 +-56 +-85 +-108 +-112 +-33 +83 +107 +69 +24 +-17 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-28 +87 +111 +73 +26 +-16 +-50 +-80 +-33 +90 +113 +71 +24 +-18 +-52 +-81 +-42 +81 +105 +62 +16 +-25 +-57 +-86 +-49 +75 +98 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +49 +5 +-34 +-66 +-93 +-57 +66 +91 +49 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +87 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +99 +62 +18 +-23 +-56 +-85 +-108 +-112 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-102 +-107 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +81 +104 +62 +15 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +91 +49 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +47 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +45 +1 +-36 +-68 +-94 +-101 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +110 +74 +26 +-14 +-49 +-78 +-103 +-37 +86 +115 +75 +27 +-16 +-49 +-79 +-39 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +76 +101 +59 +13 +-27 +-60 +-88 +-55 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-64 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +64 +89 +48 +4 +-35 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +58 +13 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +68 +20 +-19 +-54 +-81 +-106 +-110 +-31 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-14 +-49 +-78 +-103 +-37 +88 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-48 +77 +101 +58 +12 +-28 +-61 +-89 +-53 +71 +95 +54 +8 +-31 +-63 +-91 +-56 +68 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +49 +4 +-34 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +46 +3 +-36 +-67 +-95 +-100 +-127 +-51 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-40 +76 +100 +62 +18 +-23 +-55 +-84 +-107 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-27 +88 +112 +74 +26 +-16 +-50 +-80 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +81 +105 +62 +15 +-25 +-58 +-86 +-50 +74 +97 +55 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-33 +-65 +-93 +-59 +66 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +90 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-64 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +1 +-37 +-68 +-95 +-63 +62 +87 +46 +3 +-36 +-67 +-94 +-100 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +74 +99 +62 +18 +-23 +-56 +-85 +-108 +-112 +-33 +82 +107 +69 +24 +-18 +-52 +-81 +-105 +-109 +-29 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +75 +27 +-15 +-49 +-79 +-35 +89 +114 +71 +23 +-18 +-52 +-82 +-43 +80 +105 +63 +16 +-25 +-58 +-86 +-51 +73 +98 +56 +10 +-29 +-62 +-90 +-53 +71 +94 +52 +7 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-33 +-65 +-93 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +64 +89 +48 +4 +-35 +-67 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-101 +-51 +65 +83 +45 +1 +-36 +-68 +-95 +-101 +-127 +-46 +72 +94 +59 +13 +-26 +-60 +-87 +-110 +-127 +-37 +80 +102 +66 +20 +-19 +-54 +-82 +-107 +-110 +-32 +86 +107 +72 +24 +-16 +-51 +-80 +-104 +-108 +-29 +89 +109 +75 +27 +-14 +-49 +-78 +-103 +-38 +86 +115 +76 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-48 +77 +101 +58 +13 +-28 +-60 +-89 +-55 +69 +94 +53 +8 +-31 +-63 +-91 +-56 +69 +93 +52 +7 +-33 +-65 +-92 +-58 +67 +91 +49 +5 +-34 +-65 +-93 +-61 +63 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-62 +63 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +1 +-37 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-64 +62 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +47 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +87 +46 +2 +-37 +-68 +-95 +-61 +63 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +82 +45 +0 +-36 +-69 +-95 +-101 +-127 +-46 +71 +93 +58 +13 +-26 +-60 +-87 +-111 +-127 +-38 +80 +102 +67 +20 +-19 +-54 +-82 +-107 +-110 +-31 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-14 +-49 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-40 +84 +109 +67 +19 +-22 +-55 +-84 +-48 +76 +101 +58 +12 +-28 +-60 +-89 +-54 +70 +95 +54 +8 +-31 +-63 +-91 +-57 +68 +93 +52 +7 +-33 +-65 +-92 +-58 +66 +90 +49 +4 +-34 +-66 +-94 +-61 +64 +89 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +48 +3 +-35 +-67 +-95 +-60 +64 +89 +48 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +47 +3 +-36 +-67 +-94 +-100 +-127 +-51 +65 +88 +50 +8 +-31 +-64 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-23 +-56 +-85 +-107 +-112 +-34 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-26 +89 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +89 +113 +76 +30 +-13 +-47 +-77 +-101 +-107 +-26 +90 +115 +77 +31 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-46 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +77 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-46 +-76 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +88 +114 +76 +28 +-14 +-49 +-78 +-34 +90 +116 +73 +25 +-17 +-51 +-80 +-43 +81 +105 +63 +16 +-24 +-57 +-86 +-50 +74 +99 +56 +11 +-29 +-61 +-90 +-55 +70 +94 +53 +7 +-32 +-64 +-92 +-57 +67 +92 +51 +5 +-33 +-65 +-93 +-59 +66 +90 +49 +4 +-34 +-66 +-94 +-99 +-49 +66 +84 +46 +1 +-36 +-68 +-94 +-101 +-127 +-45 +72 +94 +59 +13 +-25 +-59 +-86 +-111 +-127 +-37 +81 +103 +68 +21 +-19 +-53 +-81 +-106 +-110 +-32 +86 +107 +72 +25 +-15 +-50 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-50 +-78 +-103 +-107 +-28 +90 +112 +77 +28 +-13 +-48 +-77 +-102 +-106 +-27 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-27 +91 +113 +78 +29 +-11 +-47 +-76 +-101 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +92 +113 +78 +30 +-11 +-47 +-76 +-102 +-36 +89 +117 +77 +29 +-14 +-48 +-78 +-39 +85 +110 +68 +20 +-21 +-55 +-83 +-47 +77 +102 +59 +13 +-27 +-60 +-88 +-54 +70 +95 +54 +9 +-31 +-63 +-91 +-56 +68 +93 +51 +6 +-33 +-65 +-93 +-58 +67 +91 +50 +5 +-34 +-66 +-93 +-61 +63 +89 +48 +4 +-35 +-67 +-94 +-60 +65 +90 +48 +3 +-35 +-67 +-94 +-61 +64 +89 +48 +3 +-36 +-67 +-94 +-64 +62 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +89 +47 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +63 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +88 +47 +3 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +2 +-37 +-68 +-95 +-64 +60 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-64 +61 +87 +46 +3 +-36 +-67 +-95 +-101 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +76 +101 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +83 +108 +70 +24 +-17 +-51 +-81 +-104 +-109 +-30 +85 +111 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +113 +74 +26 +-16 +-49 +-79 +-35 +88 +114 +72 +24 +-18 +-51 +-81 +-44 +80 +104 +62 +15 +-25 +-58 +-87 +-52 +72 +97 +56 +11 +-29 +-61 +-90 +-55 +70 +94 +52 +7 +-32 +-64 +-92 +-57 +67 +92 +50 +5 +-34 +-65 +-93 +-60 +65 +91 +49 +5 +-34 +-66 +-93 +-99 +-127 +-49 +66 +90 +52 +9 +-31 +-63 +-91 +-97 +-127 +-39 +76 +101 +63 +19 +-22 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-17 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-27 +89 +114 +75 +29 +-14 +-48 +-78 +-102 +-107 +-26 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-26 +90 +115 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +89 +114 +75 +29 +-13 +-47 +-77 +-101 +-107 +-25 +90 +114 +76 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +116 +77 +31 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-46 +-77 +-101 +-106 +-26 +89 +114 +76 +28 +-14 +-48 +-78 +-34 +90 +115 +73 +25 +-17 +-51 +-81 +-43 +81 +106 +63 +16 +-24 +-57 +-86 +-50 +74 +98 +56 +10 +-29 +-62 +-90 +-55 +70 +95 +53 +8 +-32 +-64 +-91 +-57 +67 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +91 +49 +4 +-35 +-66 +-94 +-100 +-49 +66 +85 +46 +2 +-35 +-68 +-94 +-101 +-127 +-45 +71 +94 +59 +13 +-26 +-60 +-87 +-110 +-127 +-37 +81 +103 +68 +21 +-19 +-53 +-82 +-106 +-110 +-31 +86 +107 +73 +25 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-13 +-49 +-78 +-103 +-38 +87 +115 +75 +27 +-15 +-49 +-79 +-40 +84 +109 +67 +19 +-22 +-55 +-84 +-49 +76 +101 +58 +12 +-28 +-61 +-89 +-54 +70 +95 +54 +9 +-31 +-63 +-91 +-57 +68 +93 +51 +7 +-33 +-65 +-92 +-58 +66 +91 +49 +4 +-34 +-66 +-94 +-61 +63 +89 +48 +4 +-35 +-67 +-94 +-60 +65 +89 +48 +3 +-36 +-67 +-95 +-60 +65 +89 +48 +3 +-36 +-67 +-94 +-64 +62 +87 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-64 +62 +87 +46 +2 +-37 +-68 +-95 +-61 +63 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-62 +62 +87 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +88 +47 +3 +-35 +-67 +-94 +-100 +-127 +-51 +64 +89 +50 +7 +-32 +-63 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-22 +-56 +-85 +-108 +-112 +-34 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-30 +85 +111 +73 +27 +-15 +-49 +-79 +-103 +-108 +-29 +87 +112 +74 +26 +-16 +-50 +-80 +-35 +88 +113 +72 +24 +-18 +-52 +-81 +-44 +80 +105 +63 +16 +-25 +-57 +-86 +-50 +74 +97 +56 +11 +-29 +-62 +-90 +-55 +70 +94 +53 +8 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +65 +91 +49 +4 +-35 +-66 +-94 +-61 +65 +90 +48 +3 +-35 +-67 +-94 +-60 +64 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +89 +47 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +3 +-36 +-67 +-95 +-62 +63 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +47 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-64 +61 +87 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-94 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-64 +61 +87 +46 +3 +-35 +-67 +-95 +-100 +-127 +-50 +65 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-23 +-56 +-84 +-108 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +75 +29 +-14 +-48 +-78 +-102 +-107 +-27 +88 +113 +75 +29 +-13 +-47 +-78 +-102 +-107 +-25 +89 +113 +75 +29 +-13 +-47 +-77 +-101 +-107 +-26 +89 +114 +77 +30 +-12 +-47 +-77 +-101 +-106 +-26 +89 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-26 +89 +114 +76 +28 +-14 +-48 +-78 +-34 +90 +116 +73 +25 +-17 +-51 +-81 +-43 +80 +105 +63 +16 +-24 +-57 +-86 +-51 +73 +98 +56 +10 +-30 +-61 +-90 +-54 +70 +95 +53 +8 +-32 +-64 +-91 +-57 +67 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +91 +49 +4 +-35 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +88 +47 +3 +-36 +-68 +-95 +-63 +62 +88 +47 +2 +-36 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-64 +61 +87 +46 +2 +-37 +-68 +-95 +-60 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +2 +-37 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +47 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-101 +-50 +65 +83 +45 +0 +-37 +-69 +-95 +-102 +-127 +-46 +71 +92 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +79 +102 +67 +20 +-19 +-54 +-82 +-107 +-110 +-32 +84 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +26 +-14 +-49 +-78 +-103 +-37 +86 +115 +75 +27 +-15 +-49 +-79 +-40 +83 +109 +66 +19 +-22 +-55 +-84 +-48 +77 +101 +58 +13 +-28 +-60 +-88 +-54 +70 +95 +54 +8 +-31 +-63 +-91 +-57 +68 +93 +51 +6 +-33 +-65 +-92 +-58 +66 +91 +49 +5 +-34 +-66 +-93 +-99 +-49 +66 +85 +47 +2 +-35 +-68 +-94 +-100 +-127 +-45 +72 +94 +59 +13 +-25 +-59 +-86 +-110 +-127 +-36 +81 +103 +68 +20 +-19 +-54 +-81 +-106 +-110 +-32 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +75 +27 +-14 +-49 +-78 +-103 +-107 +-27 +90 +112 +77 +28 +-12 +-48 +-77 +-102 +-106 +-27 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-27 +89 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +112 +78 +30 +-11 +-47 +-76 +-101 +-105 +-26 +91 +113 +78 +30 +-11 +-47 +-76 +-101 +-105 +-26 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +90 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-26 +91 +114 +78 +30 +-11 +-47 +-76 +-101 +-105 +-26 +91 +112 +78 +29 +-12 +-48 +-76 +-102 +-36 +88 +115 +77 +29 +-14 +-48 +-78 +-39 +85 +110 +68 +20 +-21 +-54 +-83 +-47 +77 +101 +59 +13 +-27 +-60 +-88 +-55 +70 +95 +54 +8 +-31 +-63 +-91 +-56 +69 +93 +52 +6 +-33 +-65 +-92 +-58 +66 +91 +50 +5 +-34 +-66 +-93 +-61 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-60 +65 +89 +48 +3 +-36 +-67 +-94 +-62 +63 +87 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +83 +45 +0 +-37 +-69 +-95 +-102 +-127 +-46 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +81 +103 +67 +20 +-19 +-54 +-82 +-106 +-110 +-32 +86 +107 +71 +24 +-16 +-51 +-80 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-40 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +76 +101 +59 +13 +-28 +-60 +-88 +-53 +71 +96 +54 +9 +-31 +-63 +-91 +-56 +68 +92 +51 +6 +-33 +-65 +-93 +-58 +66 +91 +48 +4 +-35 +-66 +-94 +-61 +64 +89 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +65 +89 +48 +3 +-36 +-67 +-94 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +3 +-36 +-67 +-95 +-63 +62 +87 +46 +2 +-37 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-61 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-94 +-100 +-127 +-51 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +75 +99 +62 +18 +-23 +-56 +-85 +-108 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-30 +86 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-28 +87 +111 +73 +25 +-16 +-50 +-80 +-35 +89 +113 +72 +24 +-18 +-52 +-81 +-44 +80 +105 +63 +16 +-25 +-57 +-86 +-50 +74 +97 +56 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +90 +48 +4 +-35 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-64 +61 +87 +46 +2 +-37 +-68 +-95 +-61 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +3 +-36 +-67 +-95 +-64 +60 +86 +46 +3 +-36 +-67 +-95 +-100 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-40 +76 +101 +63 +18 +-23 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +88 +111 +74 +26 +-16 +-50 +-79 +-34 +88 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +105 +62 +16 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-54 +70 +95 +52 +7 +-32 +-64 +-92 +-57 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +65 +88 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +1 +-37 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +45 +1 +-36 +-68 +-95 +-101 +-127 +-46 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-32 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +110 +74 +27 +-14 +-49 +-78 +-103 +-38 +86 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +109 +65 +19 +-22 +-55 +-84 +-47 +77 +100 +59 +13 +-27 +-60 +-88 +-55 +69 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-92 +-57 +66 +91 +48 +4 +-35 +-66 +-94 +-61 +64 +88 +47 +3 +-36 +-67 +-95 +-59 +65 +90 +48 +3 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +65 +82 +43 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +94 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +101 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +27 +-14 +-49 +-78 +-103 +-37 +87 +115 +74 +26 +-16 +-50 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-55 +68 +93 +50 +5 +-33 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-93 +-61 +64 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-95 +-63 +62 +88 +47 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +46 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +45 +2 +-36 +-67 +-95 +-101 +-127 +-50 +65 +88 +50 +8 +-31 +-63 +-91 +-97 +-127 +-40 +75 +100 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +112 +73 +25 +-16 +-50 +-80 +-34 +89 +113 +71 +24 +-18 +-52 +-81 +-43 +81 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +98 +56 +10 +-29 +-61 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +91 +50 +5 +-34 +-66 +-93 +-58 +65 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-63 +62 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +75 +99 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +82 +106 +69 +24 +-18 +-51 +-81 +-104 +-109 +-28 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +71 +23 +-18 +-52 +-81 +-42 +81 +105 +62 +15 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +90 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +2 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +46 +2 +-37 +-68 +-95 +-101 +-50 +65 +82 +45 +0 +-37 +-68 +-95 +-101 +-127 +-45 +72 +94 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-29 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +88 +115 +75 +27 +-15 +-49 +-79 +-39 +85 +108 +65 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +94 +53 +8 +-31 +-63 +-91 +-54 +69 +93 +50 +6 +-33 +-65 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +63 +88 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +45 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-110 +-127 +-37 +79 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +85 +107 +71 +24 +-17 +-51 +-80 +-104 +-108 +-28 +88 +110 +75 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +49 +4 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-58 +66 +89 +47 +3 +-35 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +46 +2 +-36 +-68 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +49 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +83 +107 +68 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +109 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +111 +73 +25 +-16 +-50 +-80 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-42 +81 +105 +62 +15 +-25 +-58 +-87 +-49 +75 +98 +55 +10 +-30 +-62 +-90 +-54 +70 +94 +51 +6 +-33 +-64 +-92 +-55 +68 +92 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-67 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-63 +60 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +76 +101 +63 +18 +-22 +-55 +-84 +-107 +-111 +-33 +82 +106 +68 +23 +-18 +-52 +-81 +-104 +-109 +-29 +85 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +71 +23 +-18 +-52 +-81 +-42 +80 +104 +61 +15 +-25 +-58 +-86 +-50 +74 +98 +55 +10 +-30 +-62 +-90 +-52 +70 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +92 +49 +5 +-34 +-65 +-93 +-57 +66 +89 +48 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-62 +63 +87 +45 +1 +-38 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +1 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +2 +-36 +-67 +-95 +-61 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-67 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-37 +81 +102 +66 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +74 +26 +-16 +-49 +-79 +-38 +85 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +94 +52 +7 +-32 +-63 +-91 +-54 +69 +93 +51 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-59 +64 +88 +46 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +81 +43 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-110 +-127 +-37 +80 +102 +67 +20 +-19 +-54 +-81 +-106 +-109 +-31 +85 +107 +71 +23 +-17 +-51 +-80 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +90 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +90 +112 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +91 +112 +77 +28 +-13 +-48 +-77 +-102 +-106 +-25 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +91 +112 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-34 +90 +117 +76 +28 +-14 +-48 +-78 +-36 +86 +110 +66 +19 +-21 +-54 +-83 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +96 +53 +8 +-31 +-63 +-91 +-53 +70 +92 +50 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-94 +-99 +-48 +66 +84 +46 +1 +-35 +-67 +-93 +-100 +-127 +-44 +72 +94 +58 +13 +-26 +-59 +-86 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-30 +86 +108 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-106 +-27 +90 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +75 +27 +-13 +-48 +-77 +-102 +-106 +-26 +91 +113 +76 +28 +-13 +-48 +-76 +-102 +-106 +-25 +92 +113 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-35 +89 +117 +76 +28 +-14 +-48 +-78 +-36 +86 +110 +66 +19 +-21 +-55 +-84 +-45 +78 +101 +58 +13 +-28 +-60 +-88 +-53 +71 +95 +52 +8 +-32 +-63 +-91 +-53 +70 +92 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-34 +-66 +-93 +-59 +65 +88 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +46 +2 +-36 +-67 +-94 +-58 +66 +88 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +89 +45 +2 +-36 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-58 +66 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +49 +7 +-32 +-64 +-91 +-97 +-127 +-40 +75 +99 +62 +17 +-23 +-56 +-85 +-107 +-111 +-33 +82 +107 +68 +23 +-18 +-52 +-81 +-104 +-109 +-28 +86 +111 +71 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +73 +25 +-16 +-50 +-79 +-33 +90 +114 +71 +23 +-18 +-52 +-81 +-41 +82 +105 +61 +15 +-26 +-58 +-86 +-48 +75 +97 +55 +9 +-30 +-62 +-90 +-52 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +92 +48 +4 +-34 +-66 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-100 +-48 +67 +83 +45 +1 +-36 +-68 +-94 +-100 +-127 +-44 +73 +93 +58 +12 +-26 +-59 +-86 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-81 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-27 +89 +110 +74 +26 +-14 +-49 +-77 +-103 +-106 +-26 +91 +111 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +90 +111 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-13 +-48 +-76 +-102 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +28 +-12 +-48 +-76 +-101 +-105 +-24 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-24 +92 +112 +76 +28 +-12 +-48 +-77 +-102 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-24 +92 +113 +76 +28 +-12 +-48 +-76 +-101 +-105 +-26 +92 +113 +76 +28 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +76 +28 +-12 +-48 +-76 +-101 +-105 +-24 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +93 +114 +78 +29 +-11 +-47 +-76 +-101 +-105 +-24 +92 +112 +76 +28 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-34 +90 +117 +76 +28 +-14 +-48 +-78 +-36 +86 +109 +66 +19 +-22 +-55 +-84 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +95 +53 +8 +-31 +-63 +-91 +-53 +70 +93 +51 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-99 +-48 +67 +84 +46 +1 +-36 +-68 +-94 +-101 +-127 +-44 +73 +94 +57 +12 +-26 +-59 +-87 +-110 +-127 +-36 +81 +102 +66 +20 +-19 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-27 +90 +110 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +74 +27 +-15 +-49 +-79 +-37 +85 +109 +65 +18 +-23 +-55 +-84 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-53 +70 +95 +52 +7 +-32 +-64 +-92 +-53 +70 +93 +50 +5 +-33 +-65 +-92 +-56 +68 +92 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +81 +43 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +92 +57 +12 +-26 +-60 +-87 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-35 +88 +115 +74 +27 +-15 +-49 +-79 +-37 +85 +108 +65 +18 +-22 +-55 +-84 +-45 +78 +101 +57 +11 +-28 +-60 +-89 +-51 +72 +95 +52 +7 +-32 +-63 +-91 +-54 +70 +93 +50 +5 +-34 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +46 +2 +-36 +-67 +-94 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +64 +87 +45 +1 +-36 +-68 +-95 +-100 +-127 +-50 +65 +88 +49 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +17 +-23 +-56 +-84 +-107 +-111 +-33 +83 +107 +68 +23 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +71 +25 +-16 +-50 +-80 +-103 +-108 +-26 +88 +112 +73 +28 +-14 +-49 +-78 +-102 +-107 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +27 +-15 +-48 +-78 +-31 +92 +115 +72 +24 +-17 +-51 +-80 +-40 +83 +105 +62 +15 +-25 +-57 +-86 +-47 +75 +99 +56 +10 +-30 +-61 +-90 +-52 +72 +95 +51 +6 +-33 +-64 +-92 +-54 +68 +92 +49 +4 +-34 +-65 +-93 +-56 +67 +90 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +46 +2 +-36 +-67 +-95 +-58 +66 +89 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-37 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +86 +45 +1 +-37 +-68 +-95 +-58 +65 +89 +47 +2 +-36 +-67 +-94 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +66 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-100 +-50 +65 +82 +43 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +88 +109 +74 +26 +-14 +-50 +-78 +-103 +-36 +88 +115 +74 +26 +-16 +-49 +-79 +-37 +85 +109 +65 +19 +-22 +-55 +-84 +-45 +77 +101 +57 +11 +-28 +-61 +-89 +-53 +71 +94 +53 +8 +-31 +-63 +-91 +-53 +69 +93 +50 +5 +-33 +-65 +-93 +-55 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +88 +47 +3 +-35 +-66 +-94 +-99 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-90 +-97 +-127 +-38 +77 +101 +62 +18 +-23 +-56 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-18 +-51 +-80 +-104 +-108 +-28 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-25 +89 +113 +74 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-12 +-46 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-23 +91 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +114 +76 +28 +-14 +-48 +-78 +-31 +92 +115 +72 +24 +-17 +-51 +-80 +-40 +82 +106 +62 +15 +-25 +-58 +-86 +-48 +75 +97 +55 +10 +-30 +-62 +-90 +-52 +72 +95 +52 +7 +-32 +-64 +-91 +-54 +70 +91 +49 +5 +-34 +-65 +-93 +-57 +66 +90 +48 +3 +-35 +-67 +-94 +-57 +66 +89 +46 +2 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-37 +85 +109 +65 +18 +-22 +-55 +-84 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +70 +94 +51 +7 +-32 +-64 +-92 +-53 +70 +93 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +88 +47 +2 +-36 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-94 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-100 +-49 +65 +82 +43 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +92 +57 +12 +-26 +-60 +-87 +-110 +-127 +-37 +81 +102 +67 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +110 +74 +27 +-14 +-49 +-78 +-102 +-36 +88 +115 +74 +26 +-16 +-50 +-79 +-37 +85 +108 +65 +19 +-22 +-55 +-84 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +95 +52 +7 +-32 +-64 +-91 +-53 +70 +93 +50 +5 +-33 +-65 +-92 +-56 +68 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +66 +89 +45 +1 +-36 +-67 +-95 +-61 +64 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +2 +-36 +-68 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +100 +61 +17 +-23 +-56 +-85 +-107 +-112 +-33 +83 +107 +68 +23 +-18 +-51 +-81 +-104 +-109 +-28 +86 +110 +71 +25 +-16 +-50 +-80 +-103 +-108 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-32 +90 +114 +71 +24 +-18 +-51 +-81 +-41 +82 +105 +61 +15 +-26 +-58 +-86 +-48 +75 +97 +55 +10 +-29 +-62 +-90 +-52 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +93 +49 +5 +-34 +-65 +-93 +-56 +67 +90 +48 +3 +-35 +-67 +-94 +-58 +66 +90 +46 +2 +-36 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-60 +63 +87 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-38 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +89 +50 +7 +-31 +-63 +-91 +-97 +-127 +-39 +76 +101 +62 +18 +-23 +-55 +-84 +-107 +-111 +-32 +83 +106 +68 +23 +-18 +-51 +-81 +-104 +-109 +-28 +87 +110 +71 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-52 +-81 +-41 +82 +104 +61 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-52 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +68 +92 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-68 +-95 +-58 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +82 +43 +0 +-37 +-69 +-95 +-101 +-127 +-45 +72 +94 +57 +12 +-27 +-60 +-87 +-110 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-38 +85 +108 +65 +18 +-23 +-56 +-84 +-45 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +71 +95 +53 +8 +-31 +-63 +-91 +-53 +70 +93 +50 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +88 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +64 +81 +43 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +58 +12 +-26 +-60 +-87 +-110 +-127 +-37 +81 +102 +67 +20 +-19 +-54 +-81 +-106 +-109 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-35 +88 +115 +75 +27 +-15 +-49 +-79 +-37 +85 +109 +65 +18 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-52 +71 +96 +53 +8 +-31 +-63 +-91 +-54 +70 +93 +50 +5 +-34 +-65 +-93 +-56 +67 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +90 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-94 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +100 +62 +17 +-23 +-56 +-84 +-107 +-112 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +112 +73 +25 +-16 +-50 +-80 +-33 +89 +114 +71 +24 +-18 +-51 +-81 +-42 +81 +105 +61 +15 +-25 +-58 +-86 +-48 +75 +98 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-93 +-59 +66 +89 +47 +2 +-36 +-67 +-95 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +89 +45 +1 +-36 +-68 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-94 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +18 +-22 +-55 +-84 +-107 +-111 +-32 +82 +107 +69 +24 +-17 +-51 +-80 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +113 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-52 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +91 +49 +5 +-34 +-65 +-93 +-58 +66 +91 +48 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-100 +-50 +65 +82 +44 +-1 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +88 +115 +75 +27 +-16 +-49 +-79 +-38 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +101 +57 +11 +-28 +-61 +-89 +-53 +70 +95 +53 +8 +-31 +-63 +-91 +-54 +69 +93 +50 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-35 +-66 +-94 +-59 +64 +89 +48 +3 +-35 +-66 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-95 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-60 +63 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-100 +-50 +64 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +103 +68 +21 +-19 +-53 +-81 +-106 +-109 +-31 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +110 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-15 +-49 +-79 +-38 +85 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +100 +57 +12 +-28 +-60 +-89 +-52 +71 +95 +54 +8 +-31 +-63 +-91 +-55 +69 +93 +50 +5 +-33 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +46 +2 +-37 +-68 +-95 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-61 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +1 +-36 +-68 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-31 +-63 +-91 +-97 +-127 +-39 +76 +99 +62 +17 +-23 +-56 +-85 +-108 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +73 +26 +-16 +-50 +-79 +-34 +90 +114 +71 +24 +-18 +-52 +-81 +-42 +81 +105 +62 +16 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +93 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-66 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +2 +-36 +-68 +-95 +-62 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +62 +87 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-36 +-68 +-95 +-60 +64 +89 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +87 +45 +2 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +82 +107 +69 +24 +-17 +-51 +-80 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-50 +-79 +-103 +-108 +-28 +87 +112 +74 +26 +-16 +-50 +-79 +-34 +90 +114 +72 +24 +-18 +-52 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +46 +1 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-101 +-50 +65 +83 +45 +0 +-36 +-68 +-95 +-101 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +75 +27 +-14 +-49 +-78 +-103 +-107 +-27 +90 +111 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-12 +-48 +-77 +-102 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-102 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-25 +91 +112 +77 +29 +-12 +-47 +-76 +-102 +-106 +-25 +92 +114 +79 +30 +-11 +-47 +-76 +-101 +-105 +-25 +91 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-102 +-106 +-25 +91 +113 +78 +29 +-12 +-48 +-76 +-102 +-35 +89 +116 +77 +29 +-14 +-48 +-78 +-38 +85 +110 +67 +20 +-21 +-54 +-84 +-46 +78 +101 +59 +13 +-27 +-59 +-88 +-54 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +49 +5 +-34 +-66 +-93 +-61 +63 +89 +47 +4 +-35 +-66 +-94 +-100 +-127 +-49 +66 +90 +52 +9 +-30 +-62 +-90 +-112 +-127 +-39 +76 +101 +63 +19 +-22 +-55 +-84 +-107 +-111 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-28 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-27 +88 +112 +74 +29 +-14 +-48 +-78 +-102 +-107 +-26 +89 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +76 +28 +-14 +-48 +-78 +-33 +90 +115 +72 +24 +-18 +-51 +-81 +-42 +82 +105 +63 +17 +-24 +-57 +-86 +-50 +73 +98 +56 +10 +-29 +-62 +-90 +-53 +71 +95 +53 +8 +-32 +-64 +-91 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +64 +89 +47 +3 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +46 +2 +-36 +-68 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-101 +-50 +65 +82 +44 +0 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +59 +13 +-26 +-60 +-87 +-110 +-127 +-37 +80 +102 +67 +21 +-19 +-54 +-82 +-106 +-109 +-32 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +88 +116 +76 +27 +-15 +-49 +-79 +-39 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-89 +-54 +70 +95 +54 +8 +-31 +-63 +-91 +-56 +69 +93 +51 +6 +-33 +-65 +-93 +-57 +67 +91 +49 +5 +-34 +-66 +-93 +-99 +-49 +66 +84 +46 +1 +-36 +-68 +-94 +-101 +-127 +-44 +73 +94 +59 +13 +-25 +-59 +-87 +-110 +-127 +-36 +81 +103 +68 +21 +-19 +-54 +-81 +-106 +-109 +-32 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +90 +112 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-106 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +92 +113 +78 +29 +-12 +-47 +-76 +-101 +-106 +-26 +92 +113 +78 +30 +-11 +-47 +-76 +-101 +-105 +-25 +91 +113 +77 +29 +-12 +-48 +-76 +-101 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-25 +91 +113 +78 +30 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +78 +29 +-11 +-47 +-76 +-101 +-105 +-25 +91 +113 +77 +29 +-12 +-48 +-76 +-101 +-106 +-26 +91 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +78 +30 +-12 +-47 +-76 +-101 +-105 +-26 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-105 +-26 +91 +114 +78 +30 +-11 +-47 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +113 +78 +29 +-12 +-47 +-76 +-101 +-105 +-26 +91 +113 +77 +29 +-12 +-48 +-77 +-102 +-105 +-26 +92 +113 +78 +29 +-12 +-47 +-76 +-102 +-35 +89 +117 +77 +29 +-13 +-48 +-78 +-38 +86 +110 +67 +19 +-22 +-55 +-84 +-46 +77 +101 +59 +13 +-27 +-60 +-88 +-55 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +52 +7 +-33 +-65 +-92 +-57 +68 +92 +49 +5 +-34 +-66 +-93 +-62 +62 +88 +47 +3 +-35 +-66 +-94 +-100 +-127 +-49 +66 +90 +52 +9 +-30 +-62 +-90 +-112 +-127 +-38 +77 +101 +63 +19 +-22 +-55 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-17 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +27 +-15 +-49 +-79 +-103 +-108 +-28 +87 +112 +74 +26 +-16 +-49 +-79 +-35 +89 +114 +71 +23 +-18 +-52 +-82 +-43 +80 +104 +62 +16 +-25 +-58 +-86 +-50 +73 +97 +56 +11 +-29 +-61 +-90 +-54 +70 +93 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-59 +66 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-61 +64 +88 +46 +1 +-37 +-68 +-95 +-62 +63 +87 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-100 +-51 +65 +83 +45 +0 +-36 +-69 +-95 +-101 +-127 +-46 +71 +93 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-50 +-78 +-103 +-37 +87 +115 +75 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-55 +69 +95 +53 +8 +-31 +-64 +-91 +-55 +68 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +49 +4 +-34 +-66 +-94 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-100 +-49 +65 +82 +44 +0 +-37 +-69 +-95 +-102 +-127 +-45 +71 +93 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +80 +103 +68 +21 +-19 +-54 +-81 +-106 +-110 +-32 +85 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +89 +112 +76 +28 +-13 +-48 +-77 +-102 +-106 +-26 +90 +112 +77 +29 +-12 +-48 +-77 +-102 +-106 +-27 +90 +112 +77 +29 +-12 +-48 +-76 +-102 +-106 +-27 +91 +113 +77 +29 +-12 +-48 +-77 +-102 +-106 +-26 +91 +113 +77 +29 +-12 +-48 +-77 +-102 +-35 +89 +117 +77 +29 +-14 +-48 +-78 +-39 +85 +110 +67 +20 +-21 +-54 +-84 +-46 +77 +101 +59 +13 +-27 +-60 +-88 +-53 +71 +96 +54 +9 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-93 +-57 +67 +91 +49 +4 +-34 +-66 +-93 +-61 +64 +89 +47 +3 +-35 +-67 +-95 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-62 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +64 +87 +45 +1 +-36 +-68 +-95 +-62 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-62 +62 +87 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-63 +61 +87 +46 +3 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-23 +-55 +-84 +-108 +-112 +-32 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +85 +110 +72 +27 +-16 +-49 +-79 +-103 +-108 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +105 +62 +15 +-25 +-58 +-86 +-51 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +67 +91 +50 +5 +-34 +-66 +-93 +-58 +66 +90 +48 +5 +-34 +-66 +-93 +-99 +-127 +-49 +66 +89 +51 +8 +-31 +-63 +-90 +-97 +-127 +-39 +76 +100 +62 +18 +-22 +-55 +-84 +-107 +-112 +-33 +83 +108 +69 +24 +-17 +-51 +-80 +-104 +-109 +-29 +86 +111 +72 +27 +-15 +-49 +-79 +-103 +-108 +-27 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-107 +-26 +88 +113 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +89 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +90 +115 +77 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +89 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +115 +77 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +115 +77 +30 +-12 +-46 +-77 +-101 +-106 +-25 +89 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-26 +89 +114 +75 +27 +-15 +-49 +-78 +-33 +90 +115 +73 +25 +-17 +-50 +-80 +-42 +81 +106 +63 +16 +-24 +-57 +-86 +-49 +74 +98 +56 +11 +-29 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-34 +-65 +-93 +-58 +66 +91 +48 +4 +-35 +-66 +-94 +-60 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-63 +63 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-64 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +89 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +2 +-36 +-68 +-95 +-101 +-127 +-50 +65 +89 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +76 +100 +62 +18 +-22 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +85 +109 +72 +26 +-16 +-50 +-79 +-103 +-108 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +105 +62 +15 +-25 +-58 +-87 +-50 +72 +97 +56 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +50 +5 +-33 +-65 +-93 +-59 +66 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-36 +-67 +-94 +-60 +65 +90 +48 +3 +-35 +-67 +-94 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +46 +2 +-36 +-67 +-95 +-101 +-50 +64 +82 +45 +0 +-37 +-69 +-95 +-102 +-127 +-46 +72 +94 +58 +12 +-26 +-60 +-87 +-111 +-127 +-37 +81 +102 +66 +20 +-20 +-54 +-82 +-107 +-110 +-32 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +76 +27 +-15 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-47 +76 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +68 +93 +51 +6 +-33 +-65 +-93 +-57 +68 +92 +49 +5 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +90 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +65 +82 +44 +0 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +58 +13 +-26 +-60 +-87 +-111 +-127 +-37 +81 +102 +67 +21 +-19 +-53 +-81 +-106 +-110 +-31 +86 +106 +71 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +27 +-14 +-49 +-78 +-103 +-37 +87 +115 +75 +27 +-16 +-49 +-79 +-39 +84 +108 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-56 +68 +93 +50 +5 +-34 +-65 +-93 +-57 +67 +91 +49 +5 +-34 +-66 +-93 +-60 +64 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +89 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +2 +-36 +-67 +-95 +-101 +-127 +-50 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-40 +76 +100 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +83 +108 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +111 +73 +26 +-16 +-50 +-80 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-43 +80 +104 +62 +15 +-25 +-58 +-87 +-49 +74 +98 +56 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +92 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +48 +4 +-35 +-66 +-94 +-60 +65 +90 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +62 +88 +46 +2 +-36 +-67 +-95 +-61 +64 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +89 +47 +2 +-36 +-67 +-95 +-63 +62 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +77 +100 +62 +18 +-23 +-55 +-84 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +86 +112 +74 +26 +-16 +-49 +-79 +-34 +90 +114 +72 +24 +-18 +-51 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +73 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +93 +52 +7 +-32 +-64 +-92 +-56 +68 +91 +50 +5 +-34 +-66 +-93 +-58 +66 +90 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-59 +64 +89 +47 +3 +-36 +-67 +-94 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-68 +-95 +-60 +65 +88 +45 +2 +-36 +-68 +-95 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-100 +-50 +65 +83 +44 +0 +-36 +-69 +-95 +-101 +-127 +-46 +71 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-29 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +114 +75 +27 +-16 +-49 +-79 +-39 +85 +109 +66 +19 +-22 +-55 +-84 +-47 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +95 +53 +8 +-31 +-63 +-91 +-55 +69 +93 +51 +6 +-33 +-65 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-60 +63 +89 +48 +3 +-35 +-67 +-94 +-59 +66 +89 +47 +3 +-36 +-67 +-95 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-61 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +47 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +47 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +46 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-50 +64 +82 +44 +-1 +-37 +-69 +-95 +-102 +-127 +-45 +72 +93 +57 +12 +-27 +-60 +-87 +-111 +-127 +-37 +80 +102 +67 +20 +-19 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +88 +109 +74 +26 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-16 +-49 +-79 +-39 +84 +109 +66 +19 +-22 +-55 +-84 +-46 +77 +100 +58 +12 +-28 +-60 +-89 +-53 +71 +95 +54 +8 +-31 +-63 +-91 +-54 +69 +92 +50 +5 +-33 +-65 +-93 +-56 +67 +91 +49 +4 +-34 +-66 +-93 +-60 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +88 +47 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-62 +62 +87 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-60 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-37 +-67 +-95 +-60 +64 +87 +46 +3 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +99 +62 +18 +-23 +-56 +-85 +-107 +-112 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +111 +72 +26 +-16 +-49 +-79 +-103 +-108 +-27 +87 +111 +73 +25 +-16 +-50 +-80 +-34 +89 +114 +72 +24 +-18 +-51 +-81 +-42 +80 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-54 +70 +94 +52 +6 +-32 +-64 +-92 +-55 +67 +92 +50 +5 +-34 +-66 +-93 +-57 +67 +91 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +48 +3 +-35 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-63 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +61 +87 +45 +3 +-36 +-67 +-95 +-100 +-127 +-50 +65 +89 +50 +7 +-31 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +18 +-23 +-56 +-84 +-107 +-112 +-33 +82 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-108 +-28 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +113 +71 +24 +-18 +-52 +-81 +-42 +81 +105 +62 +15 +-25 +-57 +-86 +-50 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +52 +7 +-32 +-64 +-92 +-56 +68 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +89 +47 +3 +-35 +-67 +-94 +-58 +66 +90 +48 +3 +-35 +-66 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +2 +-36 +-68 +-95 +-60 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +71 +93 +57 +12 +-26 +-60 +-87 +-110 +-127 +-36 +80 +101 +66 +19 +-20 +-54 +-82 +-107 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +27 +-14 +-49 +-78 +-103 +-37 +87 +114 +74 +27 +-16 +-49 +-79 +-38 +84 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-89 +-54 +70 +94 +53 +8 +-31 +-64 +-91 +-55 +69 +93 +50 +5 +-33 +-65 +-93 +-56 +68 +91 +48 +4 +-34 +-66 +-93 +-60 +64 +89 +47 +3 +-35 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +87 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +47 +2 +-36 +-67 +-95 +-60 +64 +87 +46 +2 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-36 +-68 +-95 +-101 +-127 +-45 +71 +93 +58 +12 +-27 +-60 +-87 +-111 +-127 +-38 +80 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-31 +86 +107 +71 +23 +-17 +-51 +-80 +-104 +-108 +-28 +89 +110 +74 +27 +-14 +-49 +-78 +-103 +-36 +88 +115 +75 +27 +-16 +-49 +-79 +-38 +85 +109 +65 +19 +-22 +-55 +-84 +-46 +77 +100 +58 +12 +-28 +-60 +-88 +-53 +71 +95 +53 +8 +-31 +-63 +-91 +-54 +69 +92 +50 +6 +-33 +-65 +-92 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-61 +63 +87 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-60 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-61 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +62 +86 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-60 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +88 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +75 +99 +61 +17 +-23 +-56 +-85 +-108 +-112 +-32 +83 +107 +68 +23 +-18 +-51 +-81 +-105 +-109 +-28 +86 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +73 +25 +-16 +-50 +-79 +-34 +89 +114 +71 +24 +-18 +-52 +-81 +-42 +82 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +52 +7 +-32 +-64 +-92 +-55 +68 +92 +49 +5 +-34 +-65 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +47 +3 +-35 +-67 +-94 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-62 +62 +86 +45 +1 +-37 +-68 +-95 +-59 +64 +89 +47 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +88 +51 +8 +-31 +-63 +-91 +-97 +-127 +-39 +75 +100 +62 +17 +-23 +-56 +-85 +-108 +-112 +-32 +83 +107 +69 +23 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-28 +88 +112 +74 +28 +-14 +-48 +-78 +-102 +-106 +-26 +89 +113 +74 +28 +-14 +-48 +-78 +-102 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-12 +-46 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +90 +114 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +91 +115 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +91 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +91 +115 +77 +28 +-14 +-48 +-78 +-32 +91 +115 +72 +25 +-17 +-51 +-80 +-41 +82 +105 +62 +15 +-25 +-58 +-86 +-49 +74 +98 +56 +10 +-29 +-61 +-89 +-53 +71 +95 +52 +6 +-32 +-64 +-92 +-55 +69 +92 +49 +5 +-34 +-65 +-93 +-58 +66 +90 +47 +4 +-35 +-66 +-94 +-99 +-127 +-49 +66 +89 +52 +9 +-31 +-63 +-90 +-112 +-127 +-38 +77 +101 +62 +18 +-23 +-55 +-84 +-107 +-111 +-33 +83 +107 +69 +24 +-18 +-51 +-80 +-104 +-109 +-29 +86 +110 +71 +26 +-16 +-50 +-79 +-103 +-108 +-27 +88 +112 +73 +27 +-14 +-48 +-78 +-102 +-107 +-26 +90 +114 +74 +29 +-13 +-47 +-78 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +114 +75 +28 +-15 +-49 +-78 +-32 +91 +115 +73 +25 +-17 +-50 +-80 +-41 +83 +106 +62 +16 +-24 +-57 +-86 +-48 +75 +98 +56 +10 +-29 +-61 +-90 +-53 +71 +94 +51 +7 +-32 +-64 +-92 +-55 +69 +92 +49 +5 +-34 +-65 +-93 +-57 +67 +91 +48 +4 +-35 +-66 +-94 +-58 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-61 +63 +88 +45 +1 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-62 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +62 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +63 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +2 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +64 +82 +44 +0 +-36 +-69 +-95 +-101 +-127 +-45 +71 +93 +57 +11 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +20 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +74 +27 +-15 +-49 +-79 +-38 +85 +108 +65 +19 +-22 +-55 +-84 +-46 +77 +101 +58 +12 +-28 +-60 +-88 +-54 +70 +94 +52 +7 +-32 +-64 +-91 +-54 +69 +93 +51 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-94 +-59 +64 +88 +47 +4 +-35 +-66 +-94 +-99 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-90 +-112 +-127 +-38 +77 +100 +62 +18 +-22 +-55 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +87 +112 +74 +28 +-14 +-48 +-78 +-102 +-106 +-26 +88 +113 +75 +29 +-13 +-48 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-26 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-76 +-101 +-106 +-24 +90 +114 +76 +30 +-13 +-46 +-77 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +115 +76 +30 +-13 +-47 +-77 +-101 +-106 +-24 +91 +115 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +90 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-25 +90 +114 +76 +30 +-12 +-47 +-77 +-100 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-24 +91 +114 +76 +30 +-12 +-47 +-77 +-101 +-106 +-24 +91 +115 +76 +30 +-12 +-46 +-76 +-101 +-106 +-24 +90 +114 +75 +29 +-13 +-47 +-77 +-101 +-106 +-25 +90 +114 +75 +27 +-14 +-48 +-78 +-31 +92 +115 +72 +25 +-17 +-51 +-80 +-41 +82 +106 +62 +16 +-25 +-57 +-86 +-49 +74 +98 +55 +10 +-30 +-62 +-90 +-52 +71 +94 +51 +7 +-33 +-64 +-92 +-55 +68 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +48 +4 +-34 +-66 +-93 +-99 +-127 +-49 +65 +89 +51 +8 +-31 +-63 +-90 +-97 +-127 +-38 +77 +101 +62 +18 +-22 +-55 +-84 +-107 +-111 +-32 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-109 +-29 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +111 +73 +26 +-16 +-50 +-79 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-41 +82 +104 +62 +15 +-25 +-58 +-86 +-48 +74 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +51 +7 +-32 +-64 +-92 +-55 +69 +91 +48 +4 +-35 +-66 +-94 +-56 +67 +91 +48 +3 +-35 +-66 +-94 +-59 +66 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-60 +63 +88 +45 +1 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-36 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +62 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +64 +87 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +99 +62 +18 +-23 +-56 +-84 +-107 +-112 +-32 +83 +107 +69 +24 +-18 +-51 +-80 +-104 +-109 +-28 +85 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +70 +23 +-19 +-52 +-81 +-42 +80 +104 +62 +15 +-25 +-58 +-86 +-50 +74 +97 +54 +9 +-30 +-62 +-90 +-52 +71 +94 +52 +7 +-32 +-64 +-91 +-56 +68 +92 +49 +5 +-34 +-66 +-93 +-56 +67 +89 +48 +3 +-35 +-67 +-94 +-57 +66 +89 +47 +3 +-35 +-67 +-94 +-58 +65 +88 +46 +2 +-36 +-68 +-95 +-58 +65 +89 +46 +2 +-36 +-67 +-94 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +2 +-37 +-68 +-95 +-59 +64 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +46 +1 +-37 +-68 +-95 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-49 +65 +82 +44 +0 +-37 +-68 +-95 +-101 +-127 +-45 +72 +92 +57 +12 +-26 +-60 +-87 +-111 +-127 +-36 +81 +101 +66 +20 +-20 +-54 +-82 +-106 +-109 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-108 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-106 +-27 +90 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +111 +76 +28 +-13 +-48 +-77 +-102 +-106 +-25 +91 +112 +76 +28 +-12 +-48 +-76 +-102 +-105 +-25 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-48 +-76 +-102 +-34 +90 +115 +76 +28 +-14 +-49 +-78 +-36 +86 +110 +67 +20 +-21 +-54 +-83 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-53 +70 +95 +53 +8 +-31 +-63 +-91 +-53 +70 +93 +50 +5 +-33 +-65 +-93 +-55 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +65 +89 +47 +2 +-36 +-67 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +47 +2 +-36 +-67 +-94 +-59 +64 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-60 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +64 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +86 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +87 +45 +2 +-36 +-67 +-95 +-100 +-127 +-50 +65 +87 +50 +7 +-32 +-63 +-91 +-97 +-127 +-39 +76 +100 +62 +17 +-23 +-56 +-84 +-107 +-111 +-33 +82 +106 +68 +23 +-18 +-52 +-81 +-104 +-109 +-28 +86 +110 +72 +26 +-16 +-49 +-79 +-103 +-107 +-27 +88 +112 +74 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +23 +-18 +-52 +-81 +-41 +82 +104 +61 +15 +-25 +-58 +-87 +-48 +75 +97 +55 +10 +-30 +-62 +-90 +-53 +71 +94 +51 +6 +-33 +-64 +-92 +-55 +69 +92 +49 +5 +-34 +-65 +-93 +-57 +67 +90 +47 +3 +-36 +-67 +-94 +-100 +-48 +66 +83 +45 +1 +-36 +-68 +-94 +-101 +-127 +-45 +73 +94 +58 +13 +-26 +-59 +-86 +-110 +-127 +-36 +81 +102 +67 +20 +-19 +-54 +-82 +-106 +-109 +-31 +87 +107 +71 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +110 +74 +26 +-14 +-49 +-78 +-103 +-107 +-27 +91 +111 +75 +28 +-13 +-48 +-77 +-102 +-106 +-26 +91 +112 +76 +28 +-13 +-48 +-77 +-102 +-105 +-26 +91 +112 +76 +28 +-12 +-48 +-77 +-102 +-106 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +113 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-48 +-76 +-101 +-105 +-25 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-24 +92 +112 +77 +29 +-12 +-47 +-76 +-101 +-105 +-25 +91 +112 +77 +29 +-12 +-48 +-76 +-101 +-34 +90 +117 +76 +28 +-14 +-48 +-78 +-37 +86 +110 +66 +19 +-22 +-55 +-84 +-45 +78 +101 +58 +12 +-28 +-60 +-88 +-51 +72 +96 +54 +9 +-31 +-63 +-91 +-53 +69 +93 +50 +5 +-33 +-65 +-92 +-56 +68 +91 +48 +3 +-35 +-66 +-94 +-59 +65 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-58 +66 +89 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +46 +2 +-36 +-67 +-94 +-100 +-127 +-50 +64 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +75 +100 +62 +17 +-23 +-56 +-85 +-107 +-111 +-33 +83 +107 +69 +24 +-18 +-51 +-81 +-104 +-108 +-29 +86 +111 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +111 +72 +25 +-16 +-50 +-80 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-42 +81 +105 +61 +15 +-25 +-58 +-86 +-48 +75 +97 +55 +10 +-30 +-62 +-90 +-53 +70 +94 +51 +7 +-32 +-64 +-92 +-55 +69 +91 +48 +4 +-35 +-66 +-93 +-56 +67 +90 +48 +3 +-35 +-66 +-94 +-58 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +89 +45 +2 +-36 +-68 +-95 +-60 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-61 +63 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +87 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-62 +63 +86 +45 +2 +-36 +-67 +-95 +-100 +-127 +-49 +65 +88 +50 +7 +-32 +-64 +-91 +-97 +-127 +-39 +76 +99 +62 +17 +-23 +-56 +-84 +-107 +-112 +-32 +83 +107 +68 +23 +-18 +-51 +-81 +-104 +-109 +-29 +85 +110 +71 +26 +-16 +-49 +-79 +-103 +-108 +-27 +88 +112 +73 +26 +-16 +-49 +-79 +-33 +90 +114 +71 +24 +-18 +-51 +-81 +-42 +82 +104 +61 +15 +-25 +-58 +-86 +-49 +74 +97 +55 +10 +-30 +-62 +-90 +-52 +72 +95 +52 +7 +-32 +-64 +-92 +-55 +68 +91 +49 +5 +-34 +-66 +-93 +-57 +67 +90 +47 +3 +-35 +-67 +-94 +-57 +66 +89 +47 +3 +-36 +-67 +-94 +-58 +66 +89 +45 +2 +-36 +-67 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +2 +-37 +-68 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-60 +64 +88 +45 +2 +-36 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-101 +-50 +65 +83 +44 +0 +-37 +-69 +-95 +-101 +-127 +-45 +72 +93 +57 +11 +-27 +-60 +-87 +-111 +-127 +-36 +81 +102 +66 +19 +-20 +-54 +-82 +-106 +-110 +-31 +86 +107 +72 +24 +-16 +-51 +-79 +-104 +-107 +-28 +89 +109 +74 +26 +-14 +-49 +-78 +-103 +-37 +87 +115 +74 +26 +-16 +-49 +-79 +-37 +86 +109 +66 +19 +-22 +-55 +-84 +-45 +77 +101 +57 +12 +-28 +-60 +-88 +-53 +71 +94 +52 +7 +-32 +-64 +-91 +-54 +70 +93 +51 +6 +-33 +-65 +-92 +-56 +68 +91 +48 +4 +-35 +-66 +-93 +-59 +64 +89 +47 +3 +-36 +-67 +-94 +-57 +66 +89 +47 +2 +-36 +-67 +-94 +-58 +66 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +46 +2 +-36 +-67 +-95 +-58 +65 +88 +45 +1 +-37 +-68 +-95 +-58 +65 +88 +46 +2 +-36 +-67 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +64 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +88 +45 +1 +-37 +-68 +-95 +-59 +65 +87 +45 +1 +-37 +-68 +-95 +-59 +65 +89 +46 +2 +-36 +-67 +-95 +-59 +64 +87 +45 +1 +-37 +-68 diff --git a/traces/EM4102-1.pm3 b/traces/EM4102-1.pm3 deleted file mode 100644 index cad34276a..000000000 --- a/traces/EM4102-1.pm3 +++ /dev/null @@ -1,16000 +0,0 @@ -85 -85 -78 -68 -59 -54 -56 -51 -44 -35 -35 -37 -33 -25 --39 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --112 --112 --101 --92 --94 --86 --76 --79 --73 --63 --67 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -92 -91 -83 -73 -64 -63 -62 -55 -45 -40 -43 -41 -34 -26 -23 --31 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --102 --102 --105 --97 --98 --90 --80 --82 --78 --66 --69 --68 --55 --58 --59 --48 --50 --52 --41 --41 --46 --37 --33 --39 --38 --28 --31 --35 --26 --24 --30 --30 --20 --23 --28 --23 --18 --23 --25 --16 --17 --24 --20 --15 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -121 -111 -102 -90 -82 -81 -77 -70 -61 -52 -52 -51 -45 -36 -31 -35 --27 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --108 --114 --103 --104 --97 --85 --87 --81 --70 --73 --70 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -115 -103 -90 -82 -81 -77 -70 -59 -53 -56 -52 -45 -36 -34 -37 -33 -24 -20 -25 -24 -17 -11 -14 -16 -11 -5 -4 -11 -7 -0 --3 -4 -3 --2 --7 --2 -1 --2 --8 --6 --1 --4 --10 --8 --3 --6 --13 --8 --4 --68 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --107 --104 --104 --102 --101 --87 --85 --86 --73 --70 --74 --64 --58 --62 --58 --49 --51 --52 --41 --40 --46 --39 --33 --37 --39 --29 --28 --34 --31 --24 --27 --31 --23 --20 --26 --27 --18 --18 --25 --22 --15 --18 --24 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -111 -103 -94 -84 -74 -71 -71 -64 -54 -47 -49 -47 -39 -31 -30 -34 -29 -21 -18 -24 -21 -13 -10 -16 -14 -6 -4 -11 -7 -1 --2 -5 -3 --3 --5 -2 -0 --6 --9 --2 --3 --10 --12 --4 --5 --11 --12 --63 --121 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --106 --106 --101 --102 --88 --83 --86 --75 --68 --72 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -101 -89 -81 -79 -77 -70 -62 -53 -48 -50 -47 -41 -33 -28 -31 -30 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --104 --106 --95 --86 --89 --82 --71 --74 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -104 -93 -83 -77 -79 -72 -64 -54 -49 -51 -48 -41 -33 -29 -34 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --111 --112 --104 --106 --94 --87 --89 --80 --72 --75 --69 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -93 -83 -79 -79 -72 -63 -53 -50 -52 -47 -39 -31 -30 -33 -28 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --114 --104 --106 --95 --87 --89 --81 --72 --75 --70 --60 --63 --60 --50 --54 --53 --42 --45 --47 --35 --38 --42 --31 --31 --36 --31 --25 --30 --31 --21 --23 --29 --24 --18 --23 --25 --16 --18 --24 --18 --14 --20 --21 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -103 -95 -91 -89 -82 -74 -64 -57 -56 -56 -49 -40 -35 -38 -36 -30 -21 -22 -26 -21 -13 -11 -17 -14 -6 -4 -10 -7 --1 --1 -6 -2 --5 --3 -3 --1 --8 --4 -0 --4 --10 --6 --3 --7 --12 --7 --3 --67 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --107 --104 --104 --103 --101 --86 --86 --86 --72 --72 --73 --60 --59 --63 --54 --50 --54 --50 --41 --43 --46 --35 --35 --40 --34 --29 --33 --34 --24 --26 --32 --25 --21 --26 --27 --18 --20 --26 --19 --16 --21 --23 --15 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -121 -111 -101 -90 -82 -80 -77 -70 -61 -52 -51 -51 -45 -36 -31 -35 -33 -26 -20 -20 -24 -19 -11 -10 -16 -13 -6 -3 -9 -8 -2 --3 -3 -3 --1 --6 --2 -1 --3 --10 --4 --2 --8 --11 --3 --4 --11 --11 --62 --121 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --97 --114 --103 --93 --94 --88 --77 --80 --75 --64 -8 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -120 -112 -102 -91 -81 -75 -77 -71 -63 -54 -48 -49 -48 -41 -33 -28 -33 -30 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --104 --106 --95 --86 --89 --82 --72 --75 --70 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -90 -83 -83 -77 -69 -60 -53 -56 -52 -45 -36 -33 -37 -33 -26 --40 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --100 --103 --104 --98 --85 --87 --83 --71 --73 --72 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -91 -83 -81 -79 -71 -63 -54 -49 -51 -47 -41 -33 -28 -32 -30 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --109 --99 --103 --105 --97 --86 --88 --82 --71 --75 --69 --59 --63 --59 --49 --55 --50 --42 --47 --45 --35 --41 --40 --31 --35 --36 --26 --30 --33 --25 --26 --32 --24 --21 --26 --26 --17 --20 --25 --17 --15 --22 --21 --13 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -112 -104 -104 -96 -87 -77 -69 -67 -66 -59 -49 -43 -46 -43 -37 -28 -27 -30 -27 -19 -14 -19 -19 -13 -6 -6 -11 -8 -1 -0 -7 -5 --2 --5 -3 -1 --5 --7 -0 --1 --7 --10 --2 --3 --8 --11 --4 --4 --68 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --103 --104 --106 --98 --101 --90 --81 --84 --78 --68 --72 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -110 -99 -88 -85 -83 -77 -67 -57 -53 -56 -50 -43 -34 -33 -36 -31 -23 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --110 --112 --102 --92 --94 --87 --76 --79 --73 --63 --67 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -104 -93 -83 -77 -77 -71 -63 -54 -48 -51 -47 -41 -32 -30 -34 -30 --37 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --104 --105 --96 --86 --87 --83 --71 --73 --71 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -103 -91 -83 -84 -78 -70 -61 -53 -53 -52 -47 -38 -33 -35 -34 -28 --39 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --99 --104 --106 --95 --86 --89 --79 --72 --76 --67 --61 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -102 -91 -83 -81 -79 -71 -62 -53 -52 -52 -47 -38 -31 -33 -33 -27 --40 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --99 --103 --105 --98 --86 --88 --84 --71 --73 --70 --59 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -105 -95 -84 -75 -75 -71 -64 -54 -47 -48 -48 -41 -33 -28 -32 -30 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --112 --105 --107 --93 --87 --90 --79 --72 --76 --68 --60 --64 --60 --50 --54 --52 --42 --45 --46 --35 --39 --42 --32 --32 --37 --30 --26 --31 --31 --22 --26 --29 --19 --21 --27 --20 --17 --22 --24 --15 --16 --22 --20 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -105 -97 -90 -85 -81 -77 -71 -65 -59 -53 -47 -42 -38 -34 -32 --29 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --100 --101 --107 --96 --98 --90 --79 --82 --78 --67 --69 --67 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -98 -94 -92 -84 -76 -67 -59 -58 -57 -51 -43 -35 -35 -37 -32 -24 --39 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --99 --92 --94 --85 --76 --78 --75 --63 --65 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -96 -91 -91 -83 -73 -64 -61 -62 -55 -45 -39 -41 -40 -34 -26 -24 -29 -24 -17 -12 -18 -17 -11 -5 -9 -10 -5 --1 -3 -6 -1 --5 -0 -3 --1 --7 --1 -1 --4 --9 --2 --1 --7 --10 --2 --3 --10 --12 --62 --120 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --107 --100 --102 --89 --83 --86 --77 --69 --72 -5 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -111 -100 -88 -82 -82 -77 -69 -60 -52 -53 -52 -45 -35 -31 -35 -32 -25 --41 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --100 --104 --106 --98 --87 --88 --83 --71 --74 --71 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -90 -82 -81 -78 -70 -62 -53 -50 -52 -48 -41 -33 -30 -34 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --102 --103 --104 --98 --100 --87 --81 --84 --77 --67 --69 --68 --56 --58 --59 --48 --46 --52 --45 --39 --43 --43 --33 --34 --39 --30 --27 --33 --32 --23 --25 --30 --23 --20 --24 --27 --18 --18 --24 --22 --15 --19 --24 --16 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -103 -97 -91 -87 -82 -77 -71 -65 -59 -53 -45 -39 -35 -33 -32 --28 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --100 --99 --111 --96 --96 --94 --80 --79 --80 --66 --65 --67 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -95 -85 -75 -74 -72 -66 -57 -48 -45 -48 -43 -35 -28 -30 -31 -26 -18 -16 -21 -19 -12 -7 -12 -13 -7 -1 -4 -7 -2 --4 -0 -2 --3 --8 --3 -0 --5 --9 --5 --2 --7 --11 --7 --3 --9 --13 --6 --64 --126 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --102 --105 --107 --97 --87 --91 --80 --73 --77 --68 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -106 -104 -96 -88 -77 -69 -65 -66 -60 -53 -43 -40 -43 -40 -33 -26 -22 --33 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --103 --104 --106 --98 --100 --90 --81 --84 --79 --68 --70 --68 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -113 -106 -96 -85 -76 -73 -72 -66 -57 -48 -45 -48 -43 -35 -28 -30 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --112 --97 --99 --92 --95 --83 --77 --80 --73 --64 --67 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -90 -91 -83 -75 -65 -59 -60 -57 -50 -41 -36 -40 -37 -30 -22 --37 --90 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --101 --103 --105 --97 --99 --91 --80 --82 --78 --67 --70 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -109 -105 -97 -87 -77 -70 -67 -67 -60 -52 -44 -42 -44 -40 -32 -26 -25 --32 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --104 --106 --95 --86 --89 --83 --72 --75 --71 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -103 -91 -83 -81 -78 -70 -59 -52 -55 -51 -44 -35 -33 -37 -33 -24 --39 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --111 --111 --103 --91 --92 --88 --75 --77 --76 --63 --65 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -107 -97 -95 -91 -83 -73 -64 -61 -62 -56 -47 -40 -41 -41 -35 -27 -24 --31 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --104 --105 --96 --86 --89 --82 --71 --75 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -101 -89 -84 -84 -78 -69 -60 -53 -56 -52 -45 -36 -35 -37 -32 -23 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --111 --112 --101 --91 --94 --86 --76 --79 --71 --63 --67 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -102 -90 -83 -82 -77 -70 -61 -52 -51 -51 -47 -38 -31 -31 -34 -29 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --111 --106 --106 --92 --88 --90 --78 --72 --76 --69 --60 --63 --61 --50 --52 --53 --42 --44 --47 --37 --35 --41 --37 --30 --34 --36 --26 --26 --32 --26 --21 --27 --28 --18 --21 --26 --19 --16 --23 --23 --14 --17 --23 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -113 -111 -104 -95 -86 -75 -69 -69 -65 -59 -51 -43 -41 -43 -39 -32 --34 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --100 --100 --108 --96 --97 --90 --80 --83 --76 --67 --71 --65 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -115 -106 -95 -85 -76 -76 -73 -66 -57 -49 -47 -48 -43 -35 -28 -30 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --105 --107 --95 --87 --89 --82 --71 --74 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -114 -105 -95 -85 -75 -71 -71 -66 -58 -49 -44 -47 -44 -38 -30 -26 -30 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --110 --105 --106 --91 --86 --89 --78 --71 --74 --69 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -118 -114 -105 -93 -83 -77 -77 -71 -64 -54 -49 -51 -47 -40 -32 -31 -35 -29 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --112 --104 --106 --94 --86 --89 --80 --71 --75 --69 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -104 -93 -83 -77 -78 -72 -65 -55 -49 -51 -48 -41 -33 -29 -33 -30 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --111 --114 --104 --106 --96 --86 --89 --82 --71 --74 --71 --59 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -114 -105 -94 -83 -76 -78 -72 -63 -54 -50 -52 -47 -39 -32 -34 -34 -27 --39 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --99 --104 --105 --97 --86 --88 --82 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -91 -83 -80 -79 -71 -64 -54 -49 -50 -48 -42 -33 -28 -32 -30 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --112 --104 --106 --93 --86 --89 --78 --71 --75 --66 --60 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -101 -89 -85 -84 -77 -67 -59 -56 -57 -51 -42 -34 -34 -36 -32 -24 -19 -22 -23 -18 -11 -9 -16 -13 -6 -2 -8 -8 -3 --3 -2 -4 --1 --6 --2 -1 --3 --9 --4 --2 --7 --12 --6 --4 --8 --13 --8 --4 --67 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --102 --106 --107 --98 --88 --91 --81 --73 --77 --69 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -111 -104 -94 -85 -75 -70 -71 -65 -57 -48 -45 -48 -43 -35 -28 -29 -30 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --104 --106 --96 --86 --88 --82 --71 --74 --70 --59 --63 --61 --50 --54 --52 --43 --47 --47 --36 --41 --40 --31 --36 --36 --27 --33 --32 --23 --29 --29 --20 --25 --27 --17 --22 --25 --16 --19 --24 --15 --15 --22 -58 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -111 -101 -89 -82 -81 -77 -69 -59 -52 -54 -51 -44 -35 -32 -36 --28 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --110 --113 --103 --105 --96 --86 --88 --83 --71 --73 --70 --59 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -102 -91 -87 -85 -77 -67 -59 -58 -57 -51 -42 -35 -39 -37 -31 -23 --39 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --112 --112 --101 --92 --94 --87 --76 --78 --75 --63 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -93 -92 -84 -75 -65 -61 -62 -57 -48 -40 -38 -41 -36 -28 -22 --35 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --104 --104 --105 --98 --100 --91 --80 --83 --79 --67 --69 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -106 -96 -88 -77 -71 -71 -67 -59 -50 -45 -47 -44 -37 -29 -27 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --98 --104 --106 --97 --86 --89 --80 --72 --76 --69 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -89 -82 -82 -77 -69 -59 -52 -55 -51 -45 -36 -33 -37 -34 -26 -20 -22 -24 -17 -11 -13 -16 -10 -3 -6 -9 -4 --2 -2 -4 --2 --7 -0 -1 --5 --8 --1 --2 --9 --9 --2 --5 --11 --10 --4 --7 --13 --69 --102 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --105 --106 --97 --86 --87 --83 --71 --72 --72 --60 --59 --62 --53 --48 --53 --51 --41 --42 --46 --37 --34 --38 --38 --29 --30 --35 --29 --24 --29 --30 --21 --22 --29 --23 --18 --23 --26 --17 --17 --23 --22 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -111 -103 -94 -84 -76 -69 -63 -61 -59 -55 -50 -46 -42 -38 -34 --30 --90 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --107 --101 --102 --103 --98 --85 --87 --83 --71 --73 --69 --59 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -88 -85 -77 -66 -59 -59 -57 -50 -41 -36 -41 -36 -29 -22 --36 --90 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --103 --104 --107 --98 --99 --93 --81 --82 --80 --67 --67 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -107 -105 -97 -89 -79 -70 -65 -67 -61 -54 -44 -41 -45 -40 -32 -26 -27 -29 -23 -15 -13 -19 -15 -9 -5 -11 -10 -4 --1 -5 -6 -0 --5 -2 -2 --4 --7 -0 --1 --7 --10 --2 --3 --9 --12 --5 --4 --10 --14 --65 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --107 --101 --103 --90 --84 --86 --78 --69 --72 --67 --57 --60 --60 --47 --49 --51 --41 --40 --45 --37 --33 --37 --36 --27 --30 --34 --24 --24 --30 --26 --21 --25 --28 --18 --19 --25 --21 --16 --21 --24 --16 -60 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -97 -88 -81 -75 -73 -69 -65 -59 -55 -50 -44 -38 -33 -29 -27 -26 -26 -24 -22 -19 -17 -15 -12 -10 -8 -6 -5 -4 -4 -4 -3 -2 -1 -0 --1 --2 --3 --3 --3 --4 --3 --3 --4 --4 --5 --5 --65 --102 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --111 --98 --100 --92 --82 --85 --77 --68 --73 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -88 -83 -83 -77 -69 -60 -52 -53 -51 -45 -37 -31 -34 -33 -27 --40 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --104 --106 --97 --87 --89 --84 --72 --76 --70 --61 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -100 -89 -87 -85 -77 -67 -58 -55 -57 -50 -41 -35 -39 -37 -30 -22 --38 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --106 --99 --101 --89 --81 --85 --77 --68 --71 --66 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -118 -114 -105 -95 -85 -76 -76 -73 -66 -57 -49 -49 -49 -43 -35 -30 -34 -31 --35 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --105 --107 --95 --87 --89 --81 --72 --75 --69 --60 --63 --60 --50 --54 --54 --43 --45 --48 --37 --36 --41 --37 --29 --33 --35 --26 --26 --32 --27 --21 --25 --29 --20 --19 --25 --25 --16 --18 --24 --19 --15 --20 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -118 -112 -103 -91 -82 -80 -77 -70 -61 -52 -53 -51 -45 -36 -31 -35 --27 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --111 --104 --106 --95 --86 --88 --82 --70 --73 --70 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -115 -104 -92 -82 -80 -78 -70 -61 -53 -55 -52 -46 -37 -33 -37 -34 -27 -20 -20 -24 -19 -13 -9 -14 -14 -9 -2 -4 -9 -5 --2 --2 -4 -0 --7 --5 -1 --3 --9 --5 --1 --5 --11 --5 --3 --8 --13 --6 --5 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --128 --98 --107 --108 --94 --89 --92 --80 --73 --76 --71 --61 --64 --62 --51 --52 --56 --44 --43 --48 --42 --35 --39 --40 --31 --31 --36 --29 --25 --30 --31 --21 --23 --29 --22 --18 --25 --25 --16 --19 --25 --18 --15 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -106 -97 -93 -91 -83 -73 -63 -61 -61 -55 -45 -38 -40 -39 -33 -24 -21 -27 -24 -17 -11 -18 -16 -10 -4 -10 -10 -4 --1 -5 -5 --1 --5 -3 -2 --5 --7 -0 --1 --8 --11 --3 --4 --9 --12 --5 --4 --68 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --97 --98 --105 --93 --93 --90 --76 --76 --77 --65 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -98 -87 -83 -83 -77 -69 -59 -52 -54 -51 -45 -35 -33 -37 -33 -24 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --111 --112 --102 --92 --93 --87 --76 --79 --75 --63 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -98 -91 -91 -84 -75 -65 -59 -61 -57 -49 -40 -37 -41 -35 -27 -23 --32 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --113 --105 --107 --94 --87 --90 --80 --72 --76 --71 --61 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -105 -95 -84 -77 -77 -73 -65 -55 -48 -49 -47 -40 -32 -29 -34 -29 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --109 --102 --104 --105 --98 --85 --88 --81 --71 --73 --69 --59 --62 --60 --49 --51 --53 --42 --41 --47 --40 --34 --38 --40 --29 --30 --35 --30 --26 --30 --32 --22 --23 --29 --23 --18 --24 --26 --16 --19 --24 --18 --15 --20 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -114 -111 -103 -93 -81 -76 -77 -70 -61 -52 -53 -51 -45 -36 -31 -36 -33 -25 -20 -22 -24 -18 -11 -10 -15 -11 -4 -3 -10 -5 --1 -1 -5 -0 --5 -0 -2 --3 --8 --2 --1 --6 --10 --4 --3 --8 --12 --6 --63 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --104 --105 --106 --99 --87 --90 --82 --73 --77 --70 --61 --65 --61 --51 --54 --54 --43 --47 --46 --36 --40 --41 --31 --34 --37 --27 --28 --34 --26 --23 --29 --29 --19 --23 --28 --21 --18 --23 --25 --16 --17 --23 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -109 -105 -95 -87 -77 -68 -65 -66 -59 -51 -43 -41 -44 -39 -31 -25 -27 -28 -22 -15 -16 -19 -13 -7 -9 -13 -7 -1 -4 -7 -1 --5 --1 -3 --2 --7 --3 -0 --5 --10 --5 --2 --7 --12 --5 --4 --10 --72 --105 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --107 --108 --95 --88 --91 --82 --73 --75 --72 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -97 -92 -91 -83 -74 -64 -60 -62 -56 -48 -40 -38 -41 -35 -28 -21 --36 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --109 --98 --99 --93 --81 --83 --81 --68 --70 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -96 -85 -76 -74 -73 -66 -56 -48 -45 -48 -42 -34 -29 -32 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --104 --106 --97 --87 --89 --81 --72 --75 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -103 -91 -83 -80 -79 -71 -63 -54 -51 -53 -48 -39 -32 -33 -35 -29 --39 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --113 --104 --106 --96 --86 --88 --82 --71 --73 --71 --60 --62 --62 --49 --51 --54 --44 --41 --47 --42 --34 --38 --40 --29 --31 --35 --28 --25 --31 --29 --21 --25 --29 --20 --19 --26 --23 --16 --21 --24 --15 --17 --24 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -105 -96 -93 -90 -82 -74 -64 -58 -59 -56 -48 -40 -34 -37 -36 -30 -22 -21 -25 -22 -14 -11 -16 -15 -7 -3 -9 -9 -3 --2 -3 -5 --1 --5 -1 -2 --3 --8 --2 --1 --6 --10 --3 --2 --7 --11 --5 --63 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --110 --100 --101 --94 --83 --84 --81 --68 --71 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -105 -95 -93 -90 -81 -72 -63 -62 -61 -55 -45 -39 -42 -40 -33 -25 -25 --32 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --98 --104 --106 --98 --86 --88 --83 --71 --74 --71 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -93 -83 -79 -79 -72 -63 -54 -52 -53 -47 -37 -33 -37 -34 -25 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --100 --93 --95 --86 --76 --79 --76 --64 --67 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -98 -93 -91 -83 -74 -64 -61 -62 -56 -47 -40 -38 -41 -35 -28 -22 --36 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --105 --105 --106 --99 --101 --90 --82 --85 --77 --68 --71 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -106 -102 -97 -90 -80 -70 -65 -67 -61 -53 -44 -42 -45 -40 -31 -26 -29 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --104 --106 --97 --86 --88 --83 --71 --74 --71 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -112 -106 -96 -87 -77 -70 -70 -67 -60 -53 -44 -42 -44 -40 -33 -26 -26 --31 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --110 --105 --91 --93 --88 --76 --79 --76 --64 --67 --65 --54 --57 --56 --44 --48 --49 --38 --39 --43 --33 --33 --38 --33 --27 --31 --33 --23 --24 --30 --23 --20 --25 --27 --18 --19 --26 --20 --16 --21 --23 --15 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -105 -99 -93 -88 -82 -76 -70 -63 -56 -51 -45 -43 -39 -37 -35 --28 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --101 --102 --107 --97 --99 --88 --80 --84 --74 --67 --71 --65 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -106 -100 -98 -91 -83 -73 -65 -62 -63 -57 -48 -41 -40 -41 -35 -27 -24 --31 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --112 --107 --108 --93 --89 --91 --78 --73 --77 --68 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -105 -94 -85 -77 -79 -74 -67 -58 -50 -48 -50 -44 -35 -29 -31 -31 -25 -17 -17 -21 -18 -11 -7 -12 -12 -6 -1 -3 -7 -3 --3 --2 -3 --1 --7 --4 -0 --5 --10 --4 --3 --9 --12 --5 --4 --10 --13 --7 --65 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --106 --107 --101 --103 --90 --83 --86 --78 --69 --71 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -96 -89 -90 -83 -74 -64 -59 -61 -56 -48 -40 -36 -40 -36 -29 -22 --38 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --112 --97 --102 --92 --95 --85 --77 --80 --73 --64 --68 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -110 -98 -92 -92 -84 -75 -64 -61 -62 -57 -48 -40 -38 -41 -36 -29 -23 --34 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --104 --108 --98 --100 --92 --81 --84 --78 --68 --71 --68 --57 --60 --59 --47 --50 --51 --40 --40 --45 --38 --33 --38 --37 --28 --31 --35 --26 --24 --30 --29 --20 --22 --28 --23 --18 --23 --26 --18 --17 --22 --23 --14 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -111 -105 -96 -87 -77 -69 -65 -65 -59 -53 -45 -39 -39 -40 -35 --33 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --101 --101 --110 --97 --97 --94 --80 --81 --80 --66 --67 --68 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -112 -106 -97 -89 -79 -71 -67 -68 -62 -54 -45 -41 -43 -41 -35 -27 -23 -27 -25 -21 -13 -12 -17 -14 -7 -3 -8 -9 -4 --1 -0 -6 -2 --5 --6 -2 -0 --6 --9 --1 --2 --7 --11 --4 --3 --8 --12 --6 --4 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --109 --99 --101 --94 --82 --85 --81 --69 --72 -7 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -96 -90 -90 -83 -75 -65 -58 -58 -56 -49 -41 -34 -37 -36 -29 -22 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --105 --105 --105 --100 --101 --88 --82 --85 --75 --68 --72 --65 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -106 -96 -87 -77 -70 -70 -67 -61 -52 -44 -43 -45 -40 -32 -26 -26 --32 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --96 --87 --89 --83 --72 --74 --71 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -115 -105 -94 -84 -79 -79 -73 -63 -54 -53 -54 -47 -38 -34 -38 -35 -27 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --113 --98 --100 --94 --96 --84 --78 --81 --73 --64 --68 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -91 -83 -83 -79 -71 -63 -54 -51 -53 -48 -40 -32 -30 -34 -29 --39 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --105 --107 --97 --88 --90 --82 --72 --76 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -102 -91 -85 -85 -77 -69 -60 -53 -56 -52 -45 -36 -35 -37 -33 -24 --40 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --99 --93 --95 --86 --76 --79 --74 --63 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -108 -98 -96 -92 -83 -74 -65 -62 -62 -57 -48 -40 -38 -41 -36 -28 -23 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --109 --98 --99 --94 --81 --82 --80 --67 --67 --70 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -106 -103 -98 -90 -80 -71 -67 -67 -61 -52 -45 -45 -45 -39 -31 -26 -29 --31 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --105 --105 --107 --100 --101 --93 --82 --84 --80 --68 --70 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -98 -89 -78 -70 -66 -67 -61 -53 -44 -42 -44 -40 -31 -26 -29 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --95 --87 --90 --81 --72 --76 --69 --60 --64 --61 --50 --55 --51 --42 --45 --46 --36 --40 --42 --32 --33 --37 --28 --27 --33 --29 --22 --27 --29 --20 --21 --27 --21 --17 --22 --24 --15 --16 --22 --20 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -105 -97 -94 -91 -83 -75 -65 -58 -59 -56 -49 -41 -35 -36 -35 --30 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --107 --102 --103 --103 --98 --86 --88 --83 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -92 -84 -81 -79 -71 -63 -53 -51 -52 -48 -40 -33 -31 -35 -30 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --97 --87 --89 --83 --72 --73 --72 --60 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -113 -107 -98 -89 -79 -71 -71 -68 -61 -52 -45 -47 -45 -39 -31 -26 -29 --31 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --98 --105 --107 --97 --87 --89 --84 --72 --73 --73 --61 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -103 -99 -91 -81 -72 -65 -67 -62 -54 -45 -42 -44 -39 -30 -25 -30 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --99 --87 --87 --85 --72 --70 --73 --62 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -102 -98 -91 -83 -75 -65 -59 -58 -57 -51 -44 -36 -35 -38 -33 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --105 --106 --97 --87 --90 --81 --73 --76 --69 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -104 -92 -83 -80 -79 -73 -64 -55 -50 -52 -48 -41 -33 -30 -34 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --103 --110 --98 --99 --93 --81 --84 --78 --68 --72 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -94 -84 -77 -78 -73 -66 -57 -49 -46 -48 -43 -36 -29 -27 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --99 --105 --108 --96 --88 --91 --81 --73 --77 --70 --61 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -89 -84 -84 -77 -69 -59 -54 -57 -51 -44 -35 -35 -37 -33 -24 -20 -24 -23 -17 -11 -13 -16 -11 -4 -6 -11 -6 --1 -0 -5 -0 --6 --3 -2 --3 --8 --3 --1 --7 --10 --2 --3 --10 --11 --3 --5 --12 --72 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --107 --109 --96 --89 --92 --82 --73 --76 --73 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -102 -93 -84 -76 -74 -72 -66 -58 -49 -43 -47 -43 -37 -29 -26 -31 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --97 --87 --88 --85 --72 --73 --73 --61 --60 --63 --54 --48 --51 --51 --41 --40 --44 --41 --33 --34 --39 --31 --27 --31 --33 --24 --23 --29 --28 --19 --22 --28 --21 --18 --22 --25 --17 --16 --21 --23 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -106 -100 -95 -89 -82 -76 -70 -63 -56 -50 -45 -41 -38 -37 -34 --28 --87 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --110 --112 --103 --104 --95 --85 --87 --82 --70 --74 --70 --59 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -88 -85 -77 -67 -59 -57 -57 -51 -42 -37 -41 -37 -30 -23 --37 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --105 --105 --105 --100 --101 --90 --82 --85 --77 --68 --71 --67 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -100 -90 -88 -85 -78 -71 -62 -54 -52 -53 -48 -40 -32 -29 -33 -30 --37 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --101 --105 --107 --97 --87 --90 --83 --72 --75 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -92 -83 -80 -79 -71 -64 -55 -49 -51 -49 -43 -35 -29 -31 -32 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --99 --105 --106 --97 --87 --88 --84 --72 --74 --72 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -97 -87 -77 -71 -72 -67 -58 -49 -45 -48 -44 -37 -29 -27 -31 -28 -21 -15 -15 -19 -14 -7 -6 -13 -9 -2 -1 -8 -4 --3 --3 -3 -0 --6 --7 -1 --2 --8 --9 --1 --3 --10 --10 --3 --5 --10 --13 --65 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --102 --99 --99 --100 --97 --84 --85 --83 --69 --71 --70 --58 --60 --61 --49 --51 --53 --41 --43 --47 --36 --35 --41 --35 --29 --34 --34 --25 --27 --32 --23 --23 --29 --26 --19 --23 --26 --16 --18 --24 --18 --15 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -89 -88 -83 -76 -65 -58 -57 -56 -50 -42 -35 -36 -37 --29 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --112 --104 --105 --96 --86 --88 --83 --71 --73 --71 --59 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -102 -99 -92 -83 -73 -65 -66 -63 -56 -46 -40 -42 -41 -35 -28 -23 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --107 --99 --101 --92 --81 --83 --79 --68 --70 --70 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -102 -91 -84 -84 -79 -71 -61 -54 -56 -52 -45 -36 -32 -36 -33 -27 -20 -19 -24 -20 -13 -9 -14 -14 -9 -2 -4 -8 -5 --2 --2 -4 -1 --5 --6 -1 --1 --9 --8 --2 --5 --11 --8 --3 --6 --12 --8 --5 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --105 --107 --98 --87 --91 --82 --74 --77 --71 --62 --66 --61 --52 --56 --54 --43 --48 --46 --37 --43 --40 --32 --38 --37 --28 --33 --34 --24 --28 --31 --21 --23 --29 --20 --19 --26 --23 --16 --20 --24 --15 -61 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -114 -106 -102 -97 -90 -83 -77 -71 -64 -56 -50 -45 -42 -41 -39 -36 -33 -29 -26 -21 -17 -15 -14 -13 -13 -12 -11 -9 -8 -6 -5 -3 -1 -0 -0 -0 -0 --1 --1 --2 --3 --4 --4 --6 --6 --7 --7 --8 --66 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --107 --107 --99 --88 --91 --83 --74 --78 --70 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -119 -114 -105 -95 -85 -76 -72 -71 -65 -57 -48 -43 -47 -43 -37 -28 -27 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --95 --87 --89 --83 --72 --74 --72 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -98 -93 -91 -83 -74 -64 -63 -62 -56 -45 -41 -44 -40 -32 -25 -29 --33 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --105 --107 --98 --87 --90 --82 --72 --76 --69 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -104 -91 -84 -84 -79 -71 -61 -54 -56 -52 -45 -35 -35 -37 -31 -23 --41 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --101 --97 --98 --98 --96 --82 --83 --81 --68 --69 --69 --56 --57 --59 --48 --46 --51 --44 --38 --42 --42 --32 --34 --39 --29 --27 --34 --30 --23 --27 --30 --21 --22 --28 --23 --17 --23 --24 --15 --17 --23 --17 --14 -58 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -90 -90 -84 -77 -68 -59 -55 -57 -51 -44 -35 -34 -37 --29 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --98 --104 --106 --95 --86 --89 --80 --71 --75 --68 --59 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -93 -84 -81 -79 -73 -64 -55 -51 -53 -48 -41 -33 -31 -35 -31 -23 -17 -20 -21 -16 -9 -8 -14 -11 -3 -1 -9 -6 --1 --3 -4 -2 --5 --6 -0 -0 --6 --9 --3 --2 --7 --11 --6 --4 --10 --14 --7 --66 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --107 --109 --97 --89 --92 --83 --74 --76 --72 --61 --64 --62 --51 --54 --54 --43 --46 --48 --37 --39 --42 --32 --31 --37 --32 --25 --29 --31 --22 --23 --30 --24 --19 --23 --26 --16 --18 --24 --20 --15 --19 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -112 -109 -104 -94 -83 -75 -77 -71 -63 -52 -49 -52 -46 -37 -32 -36 -33 -26 -19 -21 -23 -18 -11 -9 -15 -12 -5 -2 -9 -6 -1 --3 -3 -3 --1 --6 --3 -1 --2 --9 --6 --1 --5 --11 --8 --3 --6 --12 --70 --102 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --97 --109 --109 --93 --91 --92 --78 --75 --78 --69 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -102 -91 -83 -80 -79 -71 -63 -54 -49 -51 -47 -39 -32 -31 -33 -28 --40 --101 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --95 --87 --90 --84 --73 --75 --72 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -101 -99 -91 -82 -72 -65 -65 -61 -55 -45 -39 -42 -41 -34 -26 -23 --32 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --105 --111 --99 --99 --94 --81 --83 --80 --67 --70 --68 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -113 -106 -97 -87 -77 -71 -71 -67 -61 -53 -44 -43 -45 -41 -33 -27 -28 --31 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --108 --97 --88 --90 --82 --73 --76 --71 --61 --64 --62 --50 --54 --54 --43 --46 --48 --36 --39 --41 --31 --33 --37 --27 --27 --33 --26 --23 --28 --29 --20 --21 --27 --20 --17 --22 --24 --15 --17 --23 --19 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -105 -98 -92 -88 -83 -77 -71 -65 -59 -52 -46 -41 -37 -35 -33 -31 -29 -27 -24 -21 -18 -15 -13 -12 -10 -10 -9 -8 -7 -6 -4 -2 -0 --1 --2 --2 --2 --2 --3 --3 --4 --4 --5 --5 --6 --6 --7 --66 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --102 --107 --108 --96 --89 --91 --80 --73 --77 --70 --61 --64 --62 --51 --53 --55 --43 --43 --48 --41 --35 --39 --40 --30 --32 --37 --29 --26 --31 --31 --22 --24 --29 --22 --19 --25 --25 --16 --19 --25 --16 --15 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -106 -96 -92 -91 -83 -75 -65 -58 -58 -57 -50 -42 -35 -37 -37 -31 -23 -21 -26 -22 -14 -10 -16 -14 -7 -3 -8 -9 -3 --2 -4 -4 --2 --5 -1 -2 --4 --8 --2 --1 --6 --10 --6 --2 --7 --12 --6 --64 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --105 --106 --101 --102 --89 --83 --86 --80 --70 --72 -6 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -88 -83 -83 -77 -69 -60 -52 -53 -51 -45 -36 -31 -33 -33 -27 --41 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --106 --108 --96 --88 --90 --83 --73 --75 --72 --61 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -107 -97 -87 -76 -73 -73 -67 -59 -49 -45 -49 -44 -37 -29 -28 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --113 --106 --107 --97 --87 --89 --84 --72 --74 --72 --60 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -99 -91 -80 -71 -66 -67 -62 -55 -45 -41 -44 -41 -33 -26 -24 --32 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --103 --105 --105 --100 --87 --88 --85 --72 --74 --73 --61 --63 --63 --50 --53 --54 --43 --43 --47 --38 --35 --41 --38 --29 --32 --35 --26 --25 --32 --28 --21 --25 --29 --19 --19 --25 --25 --17 --20 --25 --20 --15 --19 -53 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -104 -102 -98 -89 -80 -70 -63 -65 -61 -53 -44 -40 -43 -41 -35 -27 -23 -29 -26 -21 -14 -13 -18 -15 -9 -4 -7 -10 -5 --1 -0 -5 -1 --5 --6 -1 -0 --6 --9 --1 --3 --9 --11 --3 --5 --11 --12 --64 --120 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --99 --99 --101 --95 --96 --89 --78 --80 --77 --65 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -107 -105 -97 -89 -79 -70 -67 -67 -60 -51 -43 -45 -44 -38 -29 -26 -30 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --128 --99 --105 --107 --98 --87 --88 --85 --72 --74 --73 --61 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -114 -107 -97 -87 -77 -73 -73 -67 -58 -50 -45 -48 -43 -37 -29 -26 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --106 --108 --98 --88 --91 --82 --72 --76 --70 --60 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -103 -91 -84 -84 -78 -69 -60 -54 -57 -52 -45 -36 -34 -37 -33 -25 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --112 --97 --104 --92 --95 --88 --77 --80 --75 --64 --67 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -111 -100 -95 -94 -85 -75 -66 -64 -63 -57 -47 -41 -42 -42 -34 -26 -25 --32 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --108 --94 --88 --90 --83 --72 --74 --73 --61 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -101 -99 -91 -82 -72 -65 -66 -62 -55 -46 -40 -42 -40 -34 -27 -23 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --109 --99 --101 --93 --82 --84 --79 --68 --70 --67 --56 --60 --58 --47 --51 --50 --40 --45 --43 --34 --38 --39 --29 --33 --35 --25 --27 --33 --25 --22 --27 --29 --19 --20 --26 --23 --16 --20 --24 --16 --15 --21 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -90 -89 -84 -77 -67 -59 -55 -57 -51 -44 -35 -34 -37 --29 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --112 --104 --106 --94 --86 --89 --81 --71 --74 --70 --59 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -107 -96 -86 -77 -77 -74 -66 -56 -49 -51 -49 -42 -33 -29 -33 -30 --37 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --101 --105 --107 --95 --87 --90 --81 --72 --75 --68 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -101 -90 -87 -85 -78 -67 -58 -57 -56 -50 -42 -35 -37 -37 -31 -23 -21 -26 -22 -15 -11 -16 -15 -10 -4 -4 -10 -6 -0 --2 -5 -3 --3 --7 -0 -0 --4 --9 --5 --1 --5 --11 --6 --3 --8 --12 --5 --5 --70 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --107 --106 --102 --103 --88 --84 --87 --76 --69 --73 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -121 -114 -105 -94 -84 -76 -75 -72 -65 -56 -49 -46 -48 -43 -35 -29 -30 -31 --35 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --101 --105 --107 --98 --87 --89 --85 --72 --74 --73 --61 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -98 -89 -78 -71 -71 -67 -60 -51 -44 -45 -44 -38 -30 -25 -29 --33 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --106 --108 --97 --88 --90 --84 --72 --74 --72 --60 --62 --63 --50 --52 --54 --43 --43 --47 --38 --35 --40 --38 --29 --32 --35 --26 --25 --31 --29 --22 --25 --30 --21 --19 --25 --26 --17 --19 --25 --19 --14 --19 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -109 -106 -97 -87 -76 -73 -73 -66 -55 -48 -49 -48 -41 -32 -30 --27 --89 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --98 --105 --106 --97 --86 --88 --84 --71 --73 --72 --59 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -107 -98 -88 -77 -73 -74 -67 -59 -50 -47 -49 -44 -37 -29 -29 -32 -27 -19 -14 -18 -19 -14 -8 -8 -13 -9 -2 -2 -8 -4 --3 -0 -4 --2 --7 --2 -1 --4 --9 --4 --1 --7 --11 --5 --3 --9 --13 --7 --65 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --107 --109 --96 --90 --92 --83 --74 --76 --73 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -108 -97 -92 -91 -84 -75 -65 -58 -58 -56 -50 -41 -35 -38 -37 -31 -23 --40 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --98 --98 --100 --94 --96 --86 --77 --80 --75 --64 --66 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -110 -99 -91 -91 -85 -77 -68 -59 -57 -58 -52 -44 -36 -36 -37 -33 -24 --41 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --113 --98 --101 --93 --95 --86 --76 --79 --73 --63 --67 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -90 -85 -78 -67 -59 -57 -57 -51 -42 -36 -39 -37 -30 -22 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --112 --97 --103 --92 --95 --88 --78 --81 --75 --65 --68 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -101 -90 -89 -86 -77 -67 -59 -58 -57 -51 -42 -36 -40 -37 -31 -23 --38 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --105 --105 --103 --101 --87 --85 --86 --73 --70 --73 --63 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -102 -91 -83 -80 -79 -72 -64 -55 -50 -51 -49 -43 -34 -29 -33 -31 --36 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --107 --98 --87 --89 --84 --72 --74 --72 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -113 -107 -98 -89 -78 -71 -71 -68 -60 -51 -44 -47 -44 -38 -29 -27 -31 --35 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --98 --105 --107 --97 --87 --89 --85 --73 --74 --73 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -116 -107 -96 -86 -77 -78 -73 -65 -55 -49 -51 -48 -40 -32 -31 -35 -30 --38 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --107 --106 --105 --101 --102 --88 --83 --86 --76 --69 --72 --67 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -105 -95 -86 -77 -73 -73 -67 -58 -49 -45 -48 -44 -37 -29 -27 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --109 --104 --104 --103 --101 --86 --86 --85 --71 --72 --72 --60 --60 --63 --51 --50 --55 --46 --41 --46 --43 --34 --38 --40 --29 --32 --36 --26 --26 --32 --26 --21 --27 --28 --19 --21 --26 --18 --17 --24 --21 --14 --19 --24 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -104 -94 -85 -75 -73 -72 -66 -58 -49 -43 -45 -43 -38 -30 --36 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --110 --101 --104 --105 --99 --86 --87 --83 --71 --74 --70 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -103 -90 -83 -84 -79 -70 -60 -54 -57 -52 -45 -37 -34 -38 -34 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --101 --104 --104 --99 --85 --86 --84 --70 --71 --72 --59 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -103 -92 -83 -79 -79 -72 -65 -55 -49 -49 -48 -42 -34 -29 -31 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --108 --105 --104 --102 --101 --87 --83 --86 --73 --69 --73 --65 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -99 -97 -92 -84 -75 -65 -61 -62 -57 -49 -40 -37 -40 -35 -28 -22 --33 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --103 --97 --99 --99 --95 --81 --81 --81 --67 --67 --69 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -99 -93 -91 -84 -77 -67 -59 -54 -57 -52 -47 -39 -33 -33 -35 -30 --37 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --104 --109 --98 --100 --92 --81 --84 --77 --68 --72 --65 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -112 -99 -89 -89 -85 -77 -68 -59 -57 -58 -51 -43 -36 -37 -37 -32 -23 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --112 --97 --105 --92 --94 --89 --77 --79 --75 --64 --67 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -100 -99 -93 -84 -74 -65 -64 -63 -57 -47 -41 -41 -40 -33 -25 -23 --33 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --111 --99 --100 --95 --82 --83 --81 --68 --69 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -108 -105 -99 -91 -80 -71 -66 -67 -62 -54 -45 -42 -45 -40 -32 -26 -27 -29 -23 -16 -14 -20 -15 -8 -7 -13 -9 -2 -2 -8 -3 --3 --3 -3 --1 --7 --5 -1 --4 --9 --4 --1 --7 --11 --4 --4 --10 --12 --4 --67 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --105 --106 --106 --101 --88 --90 --84 --73 --77 --70 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -112 -101 -89 -83 -83 -78 -70 -62 -53 -51 -52 -47 -38 -32 -33 -34 -27 --41 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --99 --105 --107 --96 --87 --89 --84 --72 --74 --73 --61 --60 --63 --51 --49 --53 --48 --40 --44 --45 --34 --35 --40 --33 --29 --33 --34 --25 --25 --31 --27 --21 --24 --28 --21 --19 --24 --26 --17 --17 --23 --23 --14 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -112 -103 -91 -83 -78 -77 -71 -63 -54 -49 -52 -49 -42 -35 -30 --28 --86 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --104 --104 --105 --99 --101 --89 --81 --84 --77 --67 --69 --68 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -102 -91 -84 -81 -79 -73 -65 -56 -49 -49 -49 -44 -36 -29 -30 -32 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --96 --87 --89 --82 --72 --75 --71 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -116 -106 -95 -85 -77 -79 -73 -67 -57 -50 -49 -49 -43 -35 -29 -32 -31 --36 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --98 --87 --88 --85 --73 --73 --73 --61 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -92 -84 -80 -80 -73 -64 -54 -49 -51 -47 -40 -32 -30 -34 -30 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --102 --105 --107 --97 --87 --90 --82 --72 --75 --71 --60 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -105 -95 -85 -76 -75 -73 -66 -56 -49 -49 -48 -42 -33 -29 -34 -31 -25 -17 -19 -22 -18 -10 -10 -16 -12 -3 -4 -9 -5 --2 -2 -5 -0 --5 -2 -1 --5 --8 -0 --2 --9 --10 --2 --5 --12 --9 --4 --9 --73 --107 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --106 --111 --100 --102 --94 --83 --85 --81 --69 --71 --70 --59 --61 --61 --49 --51 --53 --41 --41 --46 --37 --34 --39 --37 --28 --32 --34 --25 --24 --31 --28 --21 --24 --28 --19 --18 --23 --25 --16 --18 --24 --20 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -112 -104 -95 -85 -77 -71 -64 -61 -58 -55 -51 -47 -43 -39 -34 --31 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --107 --104 --104 --100 --101 --88 --81 --84 --77 --67 --70 --68 -21 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -94 -85 -78 -79 -74 -67 -57 -49 -49 -49 -43 -35 -29 -33 -31 --35 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --98 --105 --107 --97 --87 --88 --84 --72 --73 --73 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -90 -90 -85 -77 -67 -59 -55 -57 -53 -46 -38 -33 -35 -34 -27 -20 -17 -23 -20 -13 -8 -14 -13 -7 -2 -8 -9 -3 --2 -2 -5 -0 --6 --3 -2 --1 --8 --5 -0 --3 --10 --6 --3 --7 --13 --7 --5 --69 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --107 --110 --101 --103 --94 --83 --85 --81 --69 --71 --69 --57 --59 --60 --48 --48 --52 --44 --39 --45 --42 --33 --36 --39 --29 --29 --35 --29 --25 --30 --30 --21 --23 --28 --21 --18 --23 --25 --16 --17 --23 --20 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -98 -90 -83 -77 -75 -71 -66 -60 -55 -49 -44 -38 -34 -31 -29 -27 -27 -24 -23 -20 -18 -15 -12 -9 -7 -7 -6 -5 -5 -4 -3 -1 -0 --1 --2 --3 --3 --3 --3 --4 --4 --4 --5 --5 --6 --7 --66 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --107 --108 --101 --102 --93 --83 --84 --81 --68 --69 -5 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -108 -97 -91 -91 -83 -74 -64 -59 -61 -56 -48 -40 -37 -40 -35 -27 -22 --35 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --105 --108 --100 --102 --94 --83 --84 --81 --68 --70 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -105 -99 -90 -79 -70 -65 -67 -61 -52 -44 -43 -44 -40 -31 -26 -29 --32 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --105 --107 --98 --87 --89 --84 --72 --75 --72 --61 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -95 -84 -77 -79 -73 -64 -54 -50 -53 -48 -39 -33 -33 -35 -29 --39 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --114 --105 --107 --95 --87 --89 --82 --72 --75 --70 --60 --64 --62 --51 --54 --53 --43 --45 --47 --36 --37 --42 --33 --30 --36 --34 --25 --28 --32 --23 --22 --28 --27 --18 --21 --26 --20 --16 --22 --24 --16 --16 --22 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -99 -89 -87 -84 -77 -66 -57 -55 -57 -50 -41 -35 -39 -36 --32 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --105 --106 --94 --86 --88 --82 --71 --73 --71 --59 -16 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -107 -104 -98 -90 -81 -71 -65 -67 -62 -54 -45 -41 -45 -41 -33 -26 -25 -29 -24 -18 -13 -17 -17 -13 -6 -5 -10 -8 -1 --1 -5 -4 --2 --6 -0 -2 --4 --8 --3 -0 --5 --10 --7 --2 --6 --11 --10 --4 --7 --72 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --102 --105 --108 --96 --88 --91 --80 --73 --77 --69 --61 --66 --60 --52 --55 --53 --43 --47 --47 --37 --39 --42 --31 --33 --38 --29 --27 --33 --31 --23 --26 --30 --20 --21 --27 --25 --18 --22 --26 --18 --16 --22 -54 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -104 -99 -97 -90 -80 -70 -63 -64 -60 -53 -44 -39 -43 -40 -33 -25 -24 -29 -25 -17 -13 -17 -17 -12 -5 -8 -11 -7 -0 -0 -7 -3 --4 --6 -1 -1 --5 --8 --1 --1 --8 --10 --4 --3 --8 --12 --7 --64 --125 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --108 --106 --106 --102 --102 --89 --84 --86 --78 --69 --72 -8 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -97 -90 -91 -84 -76 -65 -59 -59 -57 -50 -41 -36 -40 -37 -30 -22 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --104 --110 --98 --100 --92 --82 --85 --76 --68 --72 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -108 -105 -99 -90 -80 -70 -66 -67 -61 -53 -44 -41 -43 -39 -31 -25 -25 --33 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --110 --108 --92 --93 --90 --77 --77 --77 --63 --64 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -112 -99 -91 -91 -85 -77 -67 -59 -55 -57 -51 -45 -36 -34 -37 -33 -26 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --99 --105 --107 --96 --87 --89 --82 --72 --76 --69 --60 --63 --60 --50 --53 --53 --42 --44 --47 --37 --37 --42 --37 --30 --33 --36 --27 --25 --31 --30 --21 --23 --29 --21 --18 --23 --25 --16 --17 --24 --19 --14 --18 -54 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -114 -111 -105 -95 -85 -75 -72 -72 -65 -57 -48 -45 -48 -42 -35 -27 -30 -30 -24 -17 -17 -21 -17 -10 -7 -13 -12 -5 -1 -7 -7 -2 --3 -1 -4 --1 --7 --3 -1 --3 --9 --6 --1 --6 --12 --8 --3 --8 --72 --108 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --106 --112 --100 --101 --95 --83 --84 --81 --69 --70 --70 --57 --58 --60 --49 --48 --52 --45 --39 --43 --43 --33 --34 --39 --31 --28 --33 --33 --24 --25 --31 --26 --20 --25 --27 --18 --19 --25 --20 --15 --20 --23 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -113 -103 -98 -93 -89 -83 -77 -70 -63 -56 -51 -45 -42 -39 -37 -35 -33 -29 -26 -23 -20 -17 -15 -13 -12 -10 -9 -8 -7 -6 -5 -3 -2 -1 -1 -0 -0 -0 --1 --1 --2 --2 --3 --4 --5 --6 --6 --6 --65 --103 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --106 --106 --107 --101 --88 --90 --84 --73 --76 --71 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -121 -114 -104 -93 -83 -77 -78 -71 -63 -54 -48 -51 -48 -41 -32 -28 -33 -29 --38 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --114 --105 --107 --97 --87 --90 --82 --72 --76 --70 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -102 -90 -84 -84 -77 -69 -60 -54 -57 -52 -44 -36 -37 -38 -32 -23 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --112 --97 --102 --92 --94 --87 --77 --79 --75 --63 --67 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -111 -99 -90 -90 -85 -77 -66 -59 -60 -57 -50 -41 -37 -41 -37 -31 -23 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --106 --112 --97 --102 --92 --95 --86 --77 --80 --74 --64 --68 --66 --54 --56 --57 --46 --46 --49 --42 --36 --41 --41 --31 --32 --37 --30 --26 --31 --32 --22 --23 --29 --24 --18 --23 --26 --17 --17 --24 --23 --15 --18 --23 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -105 -97 -95 -91 -82 -73 -63 -57 -59 -55 -48 -40 -35 -38 -36 -31 -22 -20 -25 -22 -15 -10 -15 -15 -9 -3 -6 -9 -4 --2 -0 -5 -1 --6 --4 -1 --2 --8 --5 --1 --5 --11 --5 --3 --8 --12 --4 --65 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --107 --109 --94 --89 --91 --79 --74 --77 --69 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -109 -97 -89 -89 -83 -77 -67 -59 -54 -57 -51 -45 -37 -32 -35 -34 -28 --39 --100 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --103 --105 --106 --99 --87 --89 --82 --72 --76 --69 --60 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -113 -100 -90 -91 -85 -77 -66 -59 -61 -57 -49 -41 -37 -41 -36 -28 -21 --37 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --105 --108 --98 --100 --93 --82 --84 --80 --68 --70 --69 -19 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -107 -99 -98 -91 -84 -74 -64 -59 -60 -56 -50 -42 -36 -38 -37 -33 -24 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --113 --97 --99 --92 --94 --85 --76 --78 --74 --63 --65 -11 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -109 -99 -89 -89 -84 -77 -67 -59 -55 -57 -51 -44 -35 -35 -37 -32 -23 --40 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --107 --112 --97 --103 --92 --94 --88 --76 --79 --75 --63 --66 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -99 -94 -93 -84 -74 -65 -65 -62 -55 -45 -42 -45 -41 -32 -25 -28 --33 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --107 --107 --94 --88 --90 --83 --73 --75 --72 --60 --62 --62 --50 --51 --54 --43 --41 --47 --40 --35 --39 --39 --29 --31 --36 --28 --25 --30 --30 --21 --23 --29 --22 --19 --24 --25 --16 --18 --24 --19 --14 --19 -55 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -112 -103 -93 -83 -75 -77 -71 -64 -54 -48 -51 -48 -40 -32 -30 --27 --89 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --112 --104 --106 --93 --86 --89 --80 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -114 -102 -90 -87 -86 -78 -68 -59 -59 -58 -51 -42 -37 -41 -37 -31 -23 --39 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --105 --112 --112 --104 --92 --93 --89 --76 --76 --77 --63 --63 -9 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -121 -108 -98 -96 -92 -83 -73 -64 -64 -62 -56 -47 -40 -39 -41 -35 -27 -22 -26 -25 -19 -12 -14 -17 -14 -6 -6 -11 -8 -0 -1 -6 -2 --5 --3 -2 --1 --7 --4 -0 --4 --11 --6 --3 --8 --12 --5 --4 --10 --13 --63 --122 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --106 --106 --103 --102 --87 --86 --87 --73 --71 --74 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -115 -107 -105 -96 -88 -77 -69 -69 -67 -59 -50 -43 -46 -44 -38 -29 -26 -31 --33 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --106 --99 --86 --87 --85 --72 --72 --73 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -107 -103 -99 -91 -80 -71 -66 -67 -61 -53 -44 -44 -45 -40 -31 -26 -30 --32 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --99 --104 --106 --98 --86 --88 --83 --72 --76 --72 --61 --63 --62 --50 --53 --54 --43 --45 --47 --36 --37 --41 --32 --30 --36 --32 --24 --28 --31 --21 --21 --27 --25 --18 --22 --27 --19 --17 --23 --23 --15 --17 --23 -62 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -105 -96 -92 -90 -83 -75 -67 -58 -54 -56 -51 -45 -36 -32 -36 --27 --93 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --110 --111 --98 --104 --105 --95 --86 --88 --81 --71 --74 --69 --59 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -106 -95 -85 -77 -77 -73 -67 -57 -49 -48 -49 -43 -35 -29 -33 -31 -26 -18 -18 -22 -18 -10 -7 -13 -11 -4 -1 -7 -7 -1 --3 -2 -3 --2 --7 --2 -1 --4 --9 --4 --2 --7 --11 --7 --3 --8 --13 --8 --65 --110 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --104 --105 --107 --99 --88 --91 --84 --74 --77 --71 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -117 -113 -105 -95 -85 -75 -71 -71 -66 -58 -49 -43 -44 -43 -38 -30 -25 -26 --32 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --107 --95 --88 --90 --79 --73 --77 --69 --61 -12 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -124 -113 -100 -89 -86 -85 -77 -67 -59 -59 -57 -49 -41 -38 -42 -37 -29 -24 --32 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --104 --108 --99 --101 --91 --81 --84 --78 --68 --71 --67 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -115 -106 -96 -87 -77 -71 -72 -67 -59 -50 -44 -48 -44 -38 -29 -28 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --113 --105 --106 --96 --86 --89 --83 --72 --75 --72 --61 -14 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -122 -115 -105 -93 -83 -81 -79 -71 -62 -53 -53 -51 -45 -35 -33 -37 -33 -25 --41 --97 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --104 --98 --98 --100 --93 --95 --86 --76 --78 --75 --63 --65 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -106 -97 -87 -76 -72 -73 -67 -58 -49 -45 -48 -43 -36 -29 -29 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --104 --105 --99 --86 --87 --85 --71 --73 --73 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -109 -98 -93 -92 -84 -75 -65 -60 -61 -56 -48 -40 -38 -41 -35 -27 -22 --33 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --101 --102 --109 --97 --97 --93 --80 --82 --79 --67 --70 --69 -18 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -112 -106 -97 -87 -77 -71 -71 -67 -59 -51 -44 -45 -43 -37 -29 -26 -30 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --107 --108 --95 --88 --90 --81 --72 --74 --72 --60 -17 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -107 -105 -98 -89 -78 -70 -68 -67 -60 -51 -44 -46 -45 -38 -29 -27 -31 --33 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --98 --104 --106 --98 --86 --88 --84 --71 --74 --71 --60 --64 --60 --50 --54 --52 --42 --46 --46 --36 --40 --42 --31 --34 --37 --27 --28 --33 --27 --22 --27 --29 --19 --20 --27 --21 --16 --20 --24 --17 --15 --20 --23 -63 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -119 -106 -98 -90 -83 -79 -76 -71 -66 -60 -55 -50 -45 -38 -33 -29 --34 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --112 --104 --105 --96 --86 --87 --85 --71 --71 --72 --61 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -117 -109 -107 -98 -90 -81 -71 -64 -65 -61 -55 -46 -40 -43 -41 -35 -27 -27 --30 --94 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --98 --105 --107 --96 --87 --89 --82 --72 --75 --71 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -122 -115 -104 -92 -83 -80 -79 -71 -62 -54 -53 -53 -47 -38 -33 -36 -34 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --99 --104 --107 --95 --87 --90 --80 --72 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -105 -93 -83 -80 -79 -71 -63 -53 -52 -53 -47 -37 -32 -36 -33 -25 --41 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --107 --106 --93 --87 --90 --81 --72 --75 --71 --60 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -116 -105 -93 -84 -82 -79 -71 -61 -53 -54 -52 -45 -36 -33 -37 -33 -25 --40 --96 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --100 --105 --107 --97 --87 --89 --83 --72 --75 --70 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -114 -101 -89 -86 -85 -78 -67 -59 -58 -58 -51 -42 -35 -38 -37 -31 -22 --39 --91 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --103 --103 --104 --98 --100 --90 --81 --83 --78 --67 --69 --68 -20 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -90 -89 -85 -77 -67 -59 -56 -57 -51 -43 -35 -36 -37 -32 -23 --41 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --103 --112 --97 --99 --92 --95 --86 --77 --79 --76 --64 --65 -10 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -111 -99 -90 -89 -85 -77 -68 -59 -54 -56 -52 -45 -36 -33 -37 -34 -28 -21 -19 -24 -21 -14 -9 -13 -14 -9 -2 -4 -9 -5 --3 -0 -5 --1 --7 --4 -0 --4 --10 --5 --1 --6 --11 --5 --3 --9 --13 --5 --5 --70 --111 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --108 --106 --105 --103 --102 --87 --86 --86 --73 --72 --74 -15 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -105 -99 -97 -90 -81 -71 -63 -63 -61 -55 -45 -39 -41 -40 -34 -26 -23 --32 --92 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --112 --113 --106 --107 --94 --88 --90 --80 --72 --77 --70 --61 --65 --62 --50 --53 --54 --43 --42 --47 --40 --35 --39 --40 --30 --31 --36 --28 --25 --31 --30 --21 --22 --28 --24 --18 --21 --26 --18 --16 --21 --23 --14 --14 -57 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -116 -104 -97 -96 -90 -81 -70 -62 -63 -60 -53 -44 -38 -42 -39 -32 --36 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --109 --109 --99 --103 --105 --95 --85 --89 --79 --71 --76 --66 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -125 -115 -104 -93 -83 -79 -79 -72 -63 -54 -51 -53 -48 -41 -33 -31 -35 -30 --38 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --110 --107 --106 --91 --89 --90 --76 --73 --77 --66 --61 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -118 -115 -106 -96 -86 -77 -73 -73 -67 -59 -50 -45 -47 -43 -37 -28 -27 -31 --34 --99 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --111 --111 --100 --105 --106 --98 --87 --89 --83 --71 --75 --69 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -123 -115 -104 -91 -83 -80 -79 -71 -62 -53 -53 -53 -47 -37 -33 -37 -34 -27 --40 --98 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --112 --111 --100 --104 --106 --98 --86 --89 --82 --71 --74 --71 --60 -13 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -126 -115 -102 -91 -86 -85 -78 -69 -60 -57 -58 -51 -43 -36 -40 -37 -31 -23 -23 -26 -21 -12 -12 -16 -13 -6 -4 -11 -8 -0 --1 -6 -4 --3 --5 -2 -0 --6 --7 -0 --2 --9 --10 --2 --4 --11 --11 --3 --6 --13 --73 --104 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --99 --106 --107 --98 --88 --90 --86 --73 --75 --73 --61 --62 --63 --51 --51 --55 --45 --41 --46 --43 --34 --38 --40 --30 --31 --36 --28 --25 --31 --30 --21 --24 --29 --24 --19 --24 --26 --17 --18 --24 --19 --15 -59 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -127 -120 -107 -96 -88 -88 -83 -75 -65 -57 -56 -56 -50 -41 -35 -38 -37 --31 --95 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 --128 diff --git a/traces/HID-weak-fob-11647.pm3 b/traces/HID-weak-fob-11647.pm3 new file mode 100644 index 000000000..214ed2186 --- /dev/null +++ b/traces/HID-weak-fob-11647.pm3 @@ -0,0 +1,20000 @@ +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +3 +4 +1 +-4 +-13 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-14 +-22 +-27 +-26 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-9 +0 +3 +4 +0 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +2 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-7 +-7 +-9 +-16 +-22 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-28 +-28 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +1 +-1 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-4 +-12 +-19 +-26 +-16 +-10 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-15 +-9 +-4 +-5 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +3 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-5 +-14 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-7 +-15 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-3 +-13 +-21 +-26 +-17 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-24 +-29 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-3 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-24 +-13 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-26 +-26 +-12 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +1 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +1 +1 +1 +-5 +-15 +-23 +-27 +-28 +-13 +-5 +0 +-1 +-4 +-13 +-21 +-26 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-16 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-10 +-8 +-8 +-10 +-18 +-23 +-27 +-15 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-5 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-17 +-11 +-8 +-8 +-9 +-17 +-23 +-27 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-13 +-9 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-3 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-15 +-20 +-25 +-14 +-7 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-3 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +1 +-1 +-6 +-15 +-25 +-28 +-28 +-13 +-5 +0 +1 +-1 +-7 +-14 +-24 +-28 +-28 +-14 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-22 +-25 +-25 +-9 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-20 +-27 +-16 +-10 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-4 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-5 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-13 +-8 +-8 +-10 +-17 +-23 +-28 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-14 +-22 +-25 +-25 +-10 +-1 +3 +2 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-3 +1 +0 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-29 +-29 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-10 +-1 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-2 +-6 +-15 +-24 +-29 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-22 +-26 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-13 +-20 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-28 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-29 +-27 +-13 +-4 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +1 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-6 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-20 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-14 +-22 +-25 +-24 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +1 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-8 +-7 +-9 +-17 +-23 +-28 +-16 +-10 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +1 +3 +1 +-4 +-13 +-21 +-27 +-27 +-12 +-3 +0 +1 +0 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-27 +-14 +-5 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-7 +-5 +-4 +-6 +-15 +-21 +-25 +-24 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-18 +-12 +-8 +-8 +-10 +-16 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-7 +-4 +-4 +-6 +-15 +-21 +-26 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-24 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-26 +-10 +-1 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-3 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-26 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-14 +-22 +-25 +-25 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +1 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-25 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-29 +-14 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-7 +-11 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-24 +-29 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-23 +-10 +0 +3 +3 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-28 +-14 +-3 +0 +1 +0 +-5 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-17 +-11 +-7 +-7 +-9 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-20 +-27 +-16 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-26 +-10 +-2 +2 +2 +1 +-4 +-13 +-22 +-26 +-28 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-7 +-14 +-23 +-29 +-28 +-13 +-4 +0 +1 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-4 +-6 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-24 +-11 +-1 +3 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-12 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-3 +0 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-9 +-1 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-24 +-29 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-5 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-15 +-9 +-5 +-4 +-4 +-8 +-15 +-23 +-25 +-24 +-10 +-1 +3 +2 +2 +-5 +-13 +-22 +-27 +-27 +-13 +-4 +1 +1 +0 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-28 +-29 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-21 +-27 +-15 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-6 +-8 +-15 +-21 +-26 +-14 +-9 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-21 +-27 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-5 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-29 +-17 +-12 +-8 +-8 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-15 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +0 +2 +4 +2 +-4 +-13 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +0 +0 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-6 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-23 +-10 +0 +3 +4 +1 +-3 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +0 +1 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-20 +-24 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-29 +-29 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-25 +-29 +-29 +-13 +-5 +0 +0 +-4 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-26 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-17 +-11 +-7 +-8 +-10 +-17 +-24 +-27 +-16 +-10 +-5 +-5 +-7 +-16 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-22 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-7 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-1 +3 +3 +2 +-4 +-12 +-22 +-26 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-6 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-9 +-1 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-9 +-4 +-4 +-3 +-8 +-15 +-22 +-26 +-25 +-10 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-5 +0 +1 +-1 +-7 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-14 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-21 +-27 +-17 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +1 +1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-14 +-5 +0 +0 +-4 +-12 +-20 +-27 +-16 +-10 +-8 +-7 +-9 +-18 +-23 +-28 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-6 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-6 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-16 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-15 +-23 +-25 +-26 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-3 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-23 +-29 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-17 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-11 +-2 +3 +2 +2 +-5 +-14 +-22 +-27 +-27 +-12 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +1 +0 +-6 +-15 +-24 +-27 +-29 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-23 +-27 +-29 +-13 +-4 +-1 +0 +-4 +-13 +-21 +-27 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-10 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-5 +-1 +1 +-2 +-6 +-15 +-23 +-29 +-28 +-14 +-5 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-15 +-24 +-29 +-27 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-5 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-24 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-13 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-10 +-1 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-29 +-13 +-4 +0 +-1 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-30 +-14 +-5 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-17 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-4 +-12 +-20 +-26 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-24 +-13 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +0 +-4 +-14 +-22 +-27 +-27 +-14 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-29 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-22 +-28 +-28 +-14 +-4 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-26 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-29 +-13 +-5 +0 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-6 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-5 +-13 +-21 +-27 +-17 +-11 +-7 +-8 +-10 +-17 +-24 +-28 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-20 +-25 +-15 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-24 +-10 +-1 +3 +4 +1 +-4 +-14 +-22 +-27 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-22 +-27 +-26 +-13 +-3 +0 +0 +-1 +-6 +-16 +-24 +-29 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-27 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +3 +3 +2 +-5 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-4 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-28 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-4 +-9 +-16 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-14 +-22 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-28 +-13 +-4 +-1 +0 +-4 +-12 +-21 +-26 +-16 +-12 +-8 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-21 +-25 +-15 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-22 +-26 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-21 +-27 +-26 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-15 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +1 +-4 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-27 +-16 +-10 +-5 +-5 +-7 +-16 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-25 +-10 +-1 +3 +2 +2 +-4 +-13 +-23 +-27 +-27 +-13 +-5 +0 +0 +0 +-6 +-15 +-23 +-27 +-27 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-8 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-8 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-4 +-13 +-20 +-27 +-17 +-11 +-7 +-7 +-10 +-17 +-24 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +2 +2 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +-1 +-1 +-4 +-13 +-20 +-26 +-16 +-11 +-8 +-7 +-10 +-17 +-24 +-28 +-16 +-9 +-6 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-29 +-18 +-13 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-24 +-10 +0 +3 +4 +2 +-4 +-14 +-21 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +0 +-2 +-7 +-15 +-23 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-22 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-22 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-24 +-14 +-8 +-4 +-4 +-4 +-8 +-16 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-26 +-27 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-5 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-3 +-13 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-4 +-9 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +1 +-5 +-13 +-23 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-13 +-21 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-27 +-26 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-16 +-23 +-28 +-27 +-13 +-4 +0 +0 +-1 +-6 +-15 +-22 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-17 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-15 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-26 +-13 +-3 +0 +0 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-22 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-5 +-2 +0 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-9 +-17 +-23 +-26 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-3 +-9 +-15 +-22 +-25 +-25 +-9 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-27 +-27 +-12 +-5 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-11 +-1 +3 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-16 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-18 +-12 +-8 +-7 +-9 +-17 +-22 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-16 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-20 +-24 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-24 +-10 +-1 +3 +2 +1 +-4 +-14 +-23 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-12 +-4 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +1 +-3 +-12 +-20 +-26 +-16 +-10 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-24 +-10 +0 +2 +4 +1 +-4 +-13 +-21 +-27 +-26 +-12 +-4 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-5 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-13 +-9 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-28 +-14 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-15 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-16 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +-1 +-1 +-4 +-13 +-21 +-27 +-16 +-11 +-8 +-7 +-10 +-18 +-23 +-27 +-17 +-10 +-5 +-5 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-26 +-25 +-10 +-1 +3 +3 +1 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +-1 +-7 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-20 +-25 +-24 +-10 +0 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +0 +-5 +-14 +-22 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-23 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +2 +3 +2 +-5 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-20 +-26 +-16 +-10 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-16 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +-1 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-28 +-29 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-16 +-10 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +4 +1 +-4 +-13 +-22 +-28 +-26 +-13 +-4 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-13 +-8 +-8 +-10 +-17 +-22 +-26 +-15 +-8 +-5 +-5 +-7 +-14 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-23 +-9 +-1 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-17 +-12 +-8 +-7 +-9 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-4 +-8 +-15 +-22 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-14 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-1 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +0 +-7 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-24 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-24 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-16 +-23 +-25 +-25 +-9 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +1 +1 +0 +-5 +-14 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-3 +-12 +-21 +-26 +-16 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-23 +-9 +0 +3 +4 +1 +-4 +-14 +-21 +-27 +-26 +-12 +-4 +0 +1 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-6 +-16 +-24 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-8 +-9 +-16 +-22 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-7 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-12 +-23 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +1 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-4 +-12 +-20 +-27 +-16 +-10 +-7 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-4 +-10 +-16 +-23 +-26 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-5 +0 +0 +-1 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-17 +-11 +-7 +-7 +-9 +-17 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-25 +-9 +-1 +3 +2 +2 +-4 +-13 +-22 +-26 +-28 +-12 +-3 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +-1 +0 +0 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +1 +1 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-25 +-10 +-1 +3 +3 +2 +-5 +-14 +-22 +-26 +-27 +-12 +-3 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +1 +0 +-7 +-15 +-23 +-28 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +0 +-3 +-13 +-21 +-26 +-17 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-26 +-15 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-10 +0 +2 +4 +2 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +-1 +1 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-7 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-5 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-17 +-12 +-9 +-8 +-10 +-18 +-23 +-27 +-15 +-8 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-3 +-6 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-11 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +1 +-1 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-27 +-27 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +1 +0 +-3 +-12 +-21 +-26 +-16 +-12 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-23 +-9 +0 +2 +3 +1 +-4 +-14 +-21 +-27 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-29 +-27 +-13 +-4 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-9 +-17 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-24 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-24 +-23 +-9 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-22 +-28 +-28 +-14 +-4 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-9 +-2 +3 +3 +1 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-4 +-13 +-20 +-27 +-17 +-11 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-26 +-25 +-10 +-2 +2 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-4 +-13 +-20 +-26 +-17 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +-1 +3 +3 +1 +-3 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-26 +-13 +-3 +0 +1 +-1 +-5 +-16 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-22 +-26 +-15 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-24 +-10 +0 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-22 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +2 +1 +-4 +-13 +-22 +-26 +-27 +-13 +-4 +1 +1 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-15 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-7 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-26 +-27 +-12 +-3 +1 +1 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-7 +-14 +-23 +-27 +-28 +-13 +-4 +-1 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-4 +1 +1 +0 +-7 +-15 +-23 +-28 +-29 +-13 +-6 +-1 +0 +-1 +-7 +-15 +-23 +-28 +-28 +-13 +-5 +0 +1 +-1 +-7 +-15 +-23 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-25 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-14 +-5 +0 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +-1 +0 +-2 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +1 +-1 +-6 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-18 +-24 +-27 +-15 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-4 +-9 +-15 +-22 +-26 +-25 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-5 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-3 +-12 +-20 +-27 +-17 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-16 +-9 +-6 +-5 +-7 +-16 +-22 +-26 +-15 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-23 +-10 +-1 +3 +3 +1 +-4 +-14 +-22 +-27 +-26 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-17 +-11 +-7 +-8 +-9 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-26 +-13 +-3 +0 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +3 +2 +2 +-4 +-14 +-22 +-26 +-27 +-12 +-3 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +-1 +0 +0 +-7 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-28 +-16 +-10 +-6 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-26 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-26 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +0 +-4 +-12 +-21 +-26 +-16 +-11 +-8 +-7 +-11 +-18 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +-1 +3 +4 +1 +-4 +-13 +-21 +-28 +-27 +-13 +-3 +0 +2 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-24 +-9 +0 +2 +3 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-3 +1 +2 +0 +-6 +-15 +-22 +-29 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-29 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-27 +-13 +-5 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-28 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-13 +-7 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-7 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +-1 +-7 +-15 +-24 +-27 +-28 +-12 +-5 +0 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-4 +-12 +-20 +-27 +-16 +-11 +-7 +-7 +-9 +-18 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-13 +-21 +-27 +-27 +-13 +-3 +0 +1 +0 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-14 +-3 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-24 +-27 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-28 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-15 +-8 +-5 +-4 +-7 +-14 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-3 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-4 +-13 +-22 +-27 +-28 +-12 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +1 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +1 +1 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-20 +-27 +-16 +-11 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-7 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +-1 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +2 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +0 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-15 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +1 +-4 +-13 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-5 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-27 +-13 +-4 +0 +1 +-2 +-6 +-16 +-23 +-28 +-17 +-12 +-8 +-8 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-16 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-22 +-25 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-26 +-27 +-12 +-3 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +-1 +0 +0 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +0 +-7 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-17 +-11 +-8 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-6 +-5 +-8 +-16 +-22 +-26 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-5 +-4 +-8 +-16 +-22 +-25 +-25 +-9 +-1 +2 +2 +1 +-5 +-14 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-15 +-23 +-28 +-28 +-12 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-5 +0 +-1 +0 +-6 +-14 +-23 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-7 +-7 +-11 +-18 +-23 +-28 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-24 +-10 +-1 +2 +3 +0 +-4 +-14 +-22 +-28 +-26 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +2 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-5 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-6 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-23 +-27 +-28 +-13 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +1 +-3 +-12 +-20 +-27 +-16 +-11 +-9 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-26 +-15 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-3 +-9 +-15 +-22 +-25 +-25 +-10 +-2 +3 +2 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-17 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-16 +-21 +-25 +-15 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-9 +-16 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-16 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-24 +-10 +-1 +2 +4 +1 +-4 +-13 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-16 +-24 +-28 +-27 +-14 +-4 +0 +0 +-1 +-5 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-5 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-16 +-23 +-26 +-26 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-26 +-28 +-12 +-4 +0 +0 +-1 +-7 +-14 +-23 +-27 +-28 +-12 +-4 +0 +1 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-29 +-29 +-13 +-5 +0 +0 +0 +-7 +-14 +-24 +-28 +-28 +-13 +-5 +-1 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-13 +-20 +-27 +-16 +-10 +-8 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-3 +-8 +-15 +-22 +-26 +-26 +-10 +-1 +2 +2 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-4 +0 +1 +0 +-7 +-14 +-23 +-28 +-28 +-12 +-5 +0 +1 +0 +-7 +-15 +-24 +-29 +-29 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-5 +-14 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-22 +-26 +-14 +-8 +-5 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-24 +-10 +-2 +3 +2 +1 +-5 +-13 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +1 +0 +0 +-6 +-15 +-23 +-28 +-29 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-4 +-13 +-21 +-26 +-16 +-12 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-10 +-6 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-4 +-12 +-20 +-26 +-16 +-10 +-8 +-7 +-9 +-17 +-23 +-28 +-17 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-20 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-9 +-1 +3 +3 +1 +-4 +-13 +-22 +-27 +-28 +-12 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-14 +-5 +-1 +-1 +-4 +-13 +-20 +-27 +-16 +-11 +-8 +-8 +-10 +-18 +-24 +-28 +-16 +-10 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-15 +-23 +-26 +-25 +-9 +-2 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-5 +0 +0 +-1 +-7 +-15 +-25 +-28 +-28 +-13 +-4 +1 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-17 +-11 +-8 +-8 +-10 +-18 +-24 +-28 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-13 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-13 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-29 +-27 +-13 +-4 +0 +1 +-2 +-6 +-16 +-23 +-29 +-28 +-14 +-5 +-1 +0 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-28 +-15 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +0 +0 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-4 +-8 +-15 +-23 +-26 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-6 +-15 +-23 +-27 +-29 +-13 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-4 +-13 +-21 +-27 +-16 +-11 +-7 +-7 +-10 +-18 +-23 +-27 +-16 +-10 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-8 +-5 +-4 +-7 +-16 +-22 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-26 +-24 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-4 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +0 +1 +-2 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-15 +-24 +-29 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-16 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-15 +-21 +-26 +-24 +-10 +0 +2 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-27 +-13 +-5 +-1 +1 +-1 +-6 +-15 +-24 +-29 +-18 +-12 +-9 +-8 +-10 +-17 +-23 +-26 +-15 +-9 +-4 +-5 +-7 +-14 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-24 +-26 +-25 +-10 +-2 +3 +2 +2 +-5 +-13 +-22 +-27 +-28 +-13 +-4 +0 +1 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +0 +-1 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-8 +-11 +-18 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-9 +-2 +3 +3 +1 +-5 +-14 +-23 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-12 +-21 +-27 +-17 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-16 +-10 +-6 +-5 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-28 +-27 +-12 +-3 +0 +2 +0 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-4 +-2 +0 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-11 +-6 +-5 +-8 +-15 +-21 +-26 +-15 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +2 +3 +1 +-5 +-14 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-3 +-13 +-21 +-26 +-16 +-11 +-8 +-8 +-10 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-13 +-7 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-24 +-13 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-13 +-8 +-4 +-3 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-9 +-5 +-4 +-4 +-9 +-16 +-23 +-26 +-25 +-9 +-2 +3 +3 +1 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +-1 +-6 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-12 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-16 +-24 +-28 +-29 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-7 +-7 +-11 +-17 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-27 +-27 +-12 +-5 +0 +1 +-1 +-6 +-14 +-24 +-27 +-27 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +1 +0 +0 +-6 +-14 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-21 +-26 +-16 +-11 +-8 +-7 +-10 +-18 +-24 +-28 +-17 +-10 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-8 +-15 +-21 +-25 +-24 +-9 +0 +2 +4 +1 +-4 +-13 +-21 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-23 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-16 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-15 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +1 +-4 +-13 +-22 +-27 +-28 +-12 +-4 +1 +0 +-1 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-6 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-27 +-17 +-11 +-8 +-8 +-10 +-18 +-23 +-27 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-26 +-14 +-8 +-5 +-5 +-4 +-9 +-15 +-22 +-25 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-7 +-15 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-13 +-5 +0 +0 +-4 +-13 +-20 +-26 +-17 +-11 +-8 +-8 +-10 +-17 +-24 +-28 +-16 +-10 +-5 +-5 +-8 +-16 +-21 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-15 +-20 +-25 +-15 +-8 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-23 +-10 +-1 +2 +3 +0 +-4 +-14 +-22 +-27 +-26 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-15 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +3 +3 +1 +-4 +-14 +-21 +-27 +-26 +-13 +-4 +0 +1 +-1 +-5 +-15 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-28 +-14 +-4 +-1 +1 +-2 +-6 +-15 +-23 +-29 +-28 +-14 +-4 +-1 +0 +-2 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-28 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-24 +-13 +-7 +-3 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +2 +-4 +-13 +-22 +-27 +-27 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-18 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-24 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-28 +-27 +-13 +-4 +0 +1 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-2 +-6 +-16 +-23 +-29 +-17 +-12 +-8 +-7 +-9 +-17 +-22 +-26 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-24 +-10 +-1 +2 +3 +1 +-4 +-14 +-21 +-27 +-27 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-2 +-7 +-16 +-23 +-29 +-17 +-11 +-8 +-8 +-10 +-17 +-23 +-27 +-16 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-15 +-8 +-5 +-5 +-7 +-15 +-22 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-14 +-21 +-25 +-13 +-7 +-4 +-4 +-6 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-4 +-8 +-15 +-22 +-25 +-24 +-9 +-1 +3 +2 +1 +-5 +-13 +-22 +-26 +-27 +-12 +-3 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-16 +-24 +-28 +-29 +-13 +-4 +0 +-1 +-1 +-6 +-15 +-23 +-28 +-29 +-13 +-5 +-1 +-1 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-29 +-13 +-4 +0 +0 +-3 +-12 +-21 +-26 +-16 +-12 +-8 +-8 +-11 +-18 +-23 +-28 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-5 +-5 +-7 +-15 +-22 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-20 +-25 +-24 +-10 +-1 +3 +4 +1 +-3 +-14 +-21 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-22 +-28 +-27 +-13 +-3 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-7 +-16 +-23 +-29 +-28 +-14 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-23 +-10 +0 +3 +4 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-4 +0 +0 +-1 +-5 +-15 +-22 +-28 +-27 +-14 +-4 +0 +0 +-1 +-5 +-16 +-23 +-28 +-27 +-13 +-3 +0 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-29 +-18 +-12 +-8 +-7 +-10 +-16 +-22 +-27 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-16 +-23 +-25 +-26 +-10 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-14 +-23 +-27 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-6 +-1 +0 +-1 +-7 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-14 +-5 +0 +-1 +-4 +-12 +-20 +-26 +-16 +-11 +-8 +-8 +-10 +-18 +-24 +-27 +-17 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-3 +-9 +-16 +-23 +-25 +-25 +-9 +-1 +3 +3 +2 +-5 +-13 +-22 +-27 +-28 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +0 +-1 +-7 +-15 +-24 +-29 +-28 +-13 +-5 +0 +1 +-3 +-12 +-19 +-26 +-16 +-10 +-7 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-15 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-5 +-7 +-15 +-21 +-25 +-24 +-10 +-1 +3 +4 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +2 +0 +-5 +-14 +-22 +-28 +-27 +-14 +-3 +-1 +0 +-1 +-6 +-15 +-22 +-28 +-27 +-14 +-4 +-1 +0 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-3 +0 +1 +-1 +-6 +-16 +-23 +-28 +-18 +-12 +-8 +-8 +-9 +-17 +-22 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-25 +-13 +-8 +-4 +-3 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-23 +-25 +-25 +-10 +-2 +3 +2 +2 +-4 +-13 +-22 +-27 +-27 +-12 +-4 +1 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-28 +-28 +-13 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-29 +-13 +-5 +-1 +-1 +-3 +-13 +-20 +-26 +-16 +-11 +-7 +-7 +-10 +-17 +-23 +-28 +-16 +-10 +-5 +-5 +-7 +-15 +-21 +-25 +-14 +-9 +-5 +-4 +-8 +-15 +-21 +-25 +-15 +-8 +-5 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-26 +-25 +-10 +-2 +3 +3 +2 +-4 +-12 +-22 +-27 +-27 +-12 +-4 +0 +1 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-3 +-12 +-20 +-26 +-16 +-11 +-7 +-8 +-10 +-17 +-23 +-27 +-16 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-15 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-8 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-6 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-23 +-10 +-1 +2 +4 +1 +-4 +-14 +-21 +-28 +-27 +-12 +-3 +0 +2 +0 +-5 +-14 +-22 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-6 +-15 +-22 +-28 +-27 +-13 +-3 +0 +1 +-1 +-7 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-29 +-18 +-12 +-8 +-7 +-9 +-17 +-22 +-26 +-15 +-9 +-5 +-4 +-8 +-15 +-21 +-26 +-14 +-8 +-5 +-5 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-24 +-10 +0 +3 +3 +1 +-4 +-14 +-22 +-27 +-27 +-13 +-3 +0 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +0 +-1 +-7 +-16 +-23 +-29 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-23 +-28 +-17 +-12 +-8 +-7 +-10 +-17 +-22 +-27 +-15 +-9 +-6 +-5 +-7 +-16 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-21 +-26 +-14 +-8 +-5 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-7 +-14 +-21 +-26 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-13 +-8 +-4 +-4 +-4 +-9 +-15 +-23 +-25 +-24 +-9 +-1 +3 +3 +1 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-12 +-4 +0 +0 +-1 +-6 +-14 +-24 +-27 +-28 +-13 +-5 +0 +0 +-1 +-7 +-14 +-24 +-28 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-6 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-14 +-5 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-4 +0 +0 +-1 +-7 +-15 +-24 +-28 +-28 +-13 +-5 +0 +0 +-3 +-12 +-20 +-26 +-15 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-16 +-9 +-5 +-5 +-7 +-15 +-21 +-26 +-15 +-9 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-4 +-9 +-15 +-22 +-25 +-24 +-9 +-2 +3 +3 +1 +-4 +-13 +-23 +-27 +-27 +-12 +-4 +1 +1 +0 +-6 +-14 +-23 +-27 +-27 +-13 +-5 +0 +0 +0 +-6 +-14 +-24 +-27 +-28 +-13 +-4 +0 +-1 +-1 +-7 +-15 +-23 +-27 +-28 +-12 +-4 +0 +0 +-3 +-13 +-20 +-27 +-17 +-11 +-8 +-7 +-9 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-20 +-24 +-24 +-10 +0 +2 +3 +1 +-4 +-14 +-22 +-28 +-27 +-13 +-3 +0 +1 +0 +-5 +-15 +-23 +-28 +-28 +-13 +-3 +-1 +1 +-1 +-5 +-15 +-23 +-28 +-28 +-13 +-4 +-1 +1 +-1 +-6 +-16 +-23 +-28 +-27 +-13 +-4 +-1 +1 +-1 +-6 +-15 +-22 +-29 +-17 +-12 +-8 +-8 +-10 +-17 +-23 +-27 +-15 +-10 +-5 +-5 +-8 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-5 +-4 +-7 +-14 +-20 +-25 +-13 +-8 +-4 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-21 +-25 +-14 +-9 +-5 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-6 +-14 +-20 +-24 +-14 +-8 +-4 +-4 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-3 +-6 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-5 +-4 +-3 +-8 +-15 +-23 +-25 +-25 +-10 +-1 +3 +3 +3 +-5 +-13 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-22 +-27 +-27 +-12 +-4 +0 +0 +0 +-7 +-15 +-24 +-28 +-28 +-12 +-5 +0 +1 +0 +-6 +-14 +-23 +-28 +-28 +-13 +-5 +0 +0 +-3 +-13 +-20 +-26 +-16 +-11 +-8 +-7 +-11 +-17 +-23 +-27 +-15 +-9 +-5 +-5 +-7 +-15 +-22 +-26 +-14 +-9 +-5 +-4 +-7 +-15 +-20 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-14 +-8 +-4 +-4 +-4 +-8 +-15 +-22 +-25 +-25 +-10 +-1 +3 +2 +2 +-4 +-13 +-23 +-27 +-27 +-12 +-4 +0 +0 +0 +-6 +-14 +-23 +-27 +-28 +-13 +-4 +0 +0 +0 +-6 +-15 +-23 +-27 +-28 +-12 +-4 +-1 +0 +-1 +-7 +-15 +-24 +-27 +-28 +-13 +-4 +0 +0 +-3 +-13 +-21 +-26 +-17 +-11 +-7 +-7 +-10 +-17 +-23 +-27 +-16 +-9 +-6 +-5 +-7 +-15 +-21 +-25 +-14 +-8 +-4 +-4 +-7 +-14 +-20 +-25 +-15 +-9 +-4 +-4 +-7 +-14 diff --git a/traces/Paradox-96_40426-APJN08.pm3 b/traces/Paradox-96_40426-APJN08.pm3 new file mode 100644 index 000000000..c24bee372 --- /dev/null +++ b/traces/Paradox-96_40426-APJN08.pm3 @@ -0,0 +1,16000 @@ +-4 +-41 +-72 +-98 +-46 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-120 +-85 +34 +78 +75 +26 +-16 +-51 +-80 +-104 +-125 +-80 +41 +86 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +52 +97 +96 +44 +-1 +-38 +-69 +-94 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-68 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-46 +64 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +78 +27 +-15 +-50 +-80 +-104 +-125 +-91 +29 +72 +72 +23 +-19 +-53 +-82 +-106 +-126 +-81 +39 +83 +84 +32 +-11 +-46 +-76 +-101 +-121 +-74 +46 +90 +89 +37 +-6 +-42 +-73 +-98 +-119 +-71 +50 +94 +93 +40 +-3 +-40 +-71 +-96 +-118 +-69 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +53 +98 +97 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +78 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +86 +35 +-9 +-45 +-75 +-99 +-120 +-73 +47 +92 +92 +40 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-65 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +78 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +85 +85 +33 +-10 +-46 +-75 +-100 +-121 +-74 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-89 +31 +75 +74 +24 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +45 +1 +-36 +-67 +-94 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-65 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-94 +-40 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +66 +94 +41 +-3 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +99 +97 +44 +-1 +-38 +-68 +-94 +-116 +-65 +55 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +53 +7 +-31 +-63 +-90 +-35 +74 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +66 +95 +79 +28 +-14 +-50 +-79 +-104 +-125 +-90 +30 +75 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +84 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-3 +-41 +-72 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-99 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +63 +92 +39 +-5 +-42 +-73 +-99 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-47 +64 +93 +40 +-5 +-42 +-73 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +78 +27 +-15 +-51 +-80 +-104 +-125 +-91 +29 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-1 +-39 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +97 +97 +44 +0 +-38 +-69 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +99 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +1 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +45 +1 +-37 +-68 +-94 +-20 +92 +121 +64 +16 +-23 +-57 +-85 +-26 +83 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +87 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +57 +11 +-29 +-61 +-88 +-31 +79 +107 +53 +6 +-32 +-64 +-91 +-36 +73 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-25 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +79 +28 +-14 +-50 +-79 +-104 +-124 +-90 +30 +74 +74 +24 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-69 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +30 +-13 +-49 +-78 +-103 +-124 +-89 +31 +74 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-96 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +73 +102 +48 +3 +-35 +-67 +-94 +-39 +70 +98 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-95 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-36 +-67 +-94 +-40 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +79 +29 +-14 +-49 +-79 +-103 +-124 +-89 +29 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +84 +85 +33 +-10 +-46 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +74 +24 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +38 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-22 +90 +119 +63 +15 +-24 +-58 +-86 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +80 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +87 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +51 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +11 +-28 +-61 +-88 +-31 +80 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +47 +2 +-36 +-67 +-94 +-40 +71 +99 +45 +0 +-38 +-69 +-96 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +35 +78 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +40 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +96 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +107 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-49 +-79 +-104 +-124 +-89 +30 +74 +73 +24 +-18 +-53 +-81 +-105 +-126 +-80 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-117 +-67 +53 +98 +97 +43 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +64 +17 +-23 +-56 +-85 +-25 +83 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-33 +-65 +-92 +-38 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +30 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-38 +-68 +-95 +-22 +90 +120 +64 +16 +-24 +-57 +-85 +-27 +83 +111 +55 +9 +-30 +-63 +-90 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +66 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-119 +-85 +34 +78 +75 +25 +-16 +-51 +-81 +-105 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +47 +92 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +114 +58 +11 +-28 +-61 +-88 +-30 +80 +107 +53 +6 +-32 +-64 +-91 +-36 +74 +103 +48 +3 +-35 +-67 +-93 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +66 +95 +79 +28 +-14 +-50 +-79 +-104 +-124 +-90 +30 +75 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +119 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +49 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-38 +-68 +-95 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +78 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +80 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +3 +-35 +-67 +-93 +-39 +70 +98 +45 +-1 +-38 +-69 +-95 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +94 +41 +-3 +-40 +-71 +-97 +-119 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-68 +-95 +-116 +-67 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +75 +102 +48 +3 +-35 +-67 +-94 +-40 +71 +99 +46 +0 +-37 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-40 +-72 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +77 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-106 +-126 +-81 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +90 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-80 +-104 +-124 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-66 +53 +99 +98 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +114 +58 +12 +-28 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +46 +0 +-37 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-14 +-50 +-80 +-104 +-125 +-89 +30 +74 +73 +24 +-18 +-53 +-81 +-105 +-126 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +86 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-116 +-67 +52 +97 +96 +44 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +107 +53 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +97 +43 +-1 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-42 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-2 +-39 +-70 +-96 +-117 +-67 +52 +96 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-89 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-72 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +93 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +97 +44 +-1 +-37 +-68 +-94 +-22 +90 +120 +63 +16 +-24 +-57 +-85 +-27 +83 +111 +55 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +99 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +30 +-13 +-49 +-79 +-103 +-124 +-88 +31 +74 +74 +25 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +93 +92 +40 +-4 +-41 +-71 +-97 +-118 +-69 +50 +95 +95 +42 +-2 +-40 +-70 +-96 +-117 +-68 +51 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +82 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +104 +49 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +96 +43 +-1 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-119 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +40 +86 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +91 +91 +39 +-5 +-42 +-72 +-97 +-119 +-70 +49 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-116 +-67 +53 +97 +96 +44 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-95 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-95 +-24 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-69 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +64 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +77 +27 +-15 +-51 +-80 +-105 +-125 +-90 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-100 +-121 +-73 +47 +91 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-39 +-69 +-95 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +45 +1 +-36 +-68 +-94 +-20 +92 +121 +64 +16 +-23 +-57 +-85 +-26 +83 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-44 +65 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +33 +77 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +93 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +44 +-1 +-38 +-68 +-95 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +87 +115 +59 +12 +-27 +-60 +-87 +-29 +81 +110 +54 +8 +-31 +-63 +-90 +-35 +74 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-3 +-41 +-71 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +77 +27 +-16 +-51 +-80 +-105 +-125 +-90 +29 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +47 +92 +92 +40 +-4 +-41 +-71 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-2 +-39 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +45 +1 +-36 +-67 +-93 +-20 +92 +121 +65 +17 +-23 +-57 +-84 +-26 +84 +111 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-65 +-92 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-69 +-96 +-42 +67 +96 +43 +-2 +-39 +-70 +-97 +-118 +-82 +37 +81 +79 +29 +-14 +-49 +-79 +-103 +-123 +-78 +42 +87 +86 +35 +-9 +-45 +-75 +-100 +-120 +-72 +48 +93 +91 +39 +-4 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-27 +84 +113 +58 +11 +-29 +-61 +-88 +-31 +78 +106 +52 +6 +-33 +-65 +-92 +-36 +74 +102 +47 +2 +-36 +-67 +-94 +-40 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-40 +-71 +-97 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-91 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-122 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +43 +-1 +-38 +-69 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +82 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-39 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +80 +29 +-14 +-49 +-79 +-103 +-124 +-88 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-69 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-33 +-65 +-92 +-38 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-70 +-97 +-44 +66 +94 +41 +-3 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-125 +-81 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +92 +91 +39 +-6 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-89 +30 +74 +74 +24 +-18 +-53 +-81 +-105 +-125 +-80 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +39 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-41 +-73 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-99 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +77 +26 +-16 +-51 +-80 +-105 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-100 +-121 +-73 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-117 +-67 +53 +98 +96 +43 +-1 +-38 +-69 +-94 +-116 +-67 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-67 +53 +96 +95 +42 +-2 +-38 +-69 +-95 +-116 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-19 +92 +121 +65 +17 +-23 +-56 +-84 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-33 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-38 +-69 +-96 +-42 +67 +96 +43 +-2 +-39 +-70 +-96 +-118 +-83 +35 +79 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-99 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-96 +-117 +-67 +52 +96 +95 +43 +-2 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-60 +-88 +-30 +79 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-37 +-69 +-95 +-41 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +39 +-5 +-41 +-72 +-97 +-118 +-70 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-27 +84 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +107 +52 +6 +-32 +-64 +-92 +-36 +74 +103 +48 +3 +-35 +-67 +-93 +-40 +70 +98 +44 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-49 +-79 +-104 +-124 +-89 +30 +75 +74 +24 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +95 +42 +-2 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +0 +-37 +-68 +-94 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +81 +30 +-13 +-49 +-78 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-51 +-81 +-105 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-119 +-69 +51 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +44 +0 +-37 +-68 +-94 +-22 +90 +121 +64 +16 +-24 +-57 +-85 +-26 +83 +112 +56 +9 +-29 +-62 +-89 +-33 +77 +105 +51 +4 +-34 +-65 +-92 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +70 +98 +44 +-1 +-38 +-69 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +78 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-72 +48 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +74 +103 +49 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +42 +87 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-119 +-70 +51 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-89 +30 +75 +74 +24 +-18 +-53 +-81 +-105 +-126 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-69 +-95 +-22 +90 +120 +63 +15 +-24 +-58 +-85 +-27 +83 +111 +55 +9 +-30 +-63 +-90 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-79 +-103 +-124 +-89 +30 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +94 +93 +40 +-3 +-40 +-71 +-96 +-118 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +16 +-24 +-57 +-85 +-27 +83 +111 +55 +9 +-30 +-62 +-90 +-34 +76 +104 +50 +4 +-35 +-66 +-93 +-38 +72 +99 +46 +0 +-37 +-69 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +76 +26 +-16 +-51 +-80 +-104 +-124 +-79 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +10 +-29 +-61 +-89 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-35 +73 +101 +47 +2 +-36 +-68 +-94 +-40 +70 +98 +45 +-1 +-38 +-69 +-95 +-42 +67 +95 +42 +-2 +-39 +-71 +-97 +-43 +67 +95 +41 +-3 +-40 +-71 +-97 +-119 +-84 +35 +79 +77 +27 +-15 +-51 +-79 +-104 +-124 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +90 +39 +-5 +-42 +-72 +-97 +-118 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-26 +84 +113 +57 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-51 +-81 +-104 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-94 +-116 +-65 +55 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +65 +17 +-23 +-56 +-84 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +101 +47 +1 +-36 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +31 +75 +75 +24 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +71 +99 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-120 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +93 +78 +28 +-15 +-50 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-101 +-121 +-73 +47 +91 +90 +38 +-6 +-42 +-72 +-98 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-95 +-22 +90 +120 +63 +15 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-14 +-49 +-79 +-103 +-124 +-89 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +91 +119 +63 +15 +-24 +-57 +-85 +-26 +84 +112 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +78 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +42 +-2 +-39 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +113 +58 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-117 +-67 +53 +98 +96 +44 +-1 +-38 +-68 +-95 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +85 +114 +59 +12 +-27 +-60 +-88 +-29 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +103 +48 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-40 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +77 +27 +-16 +-51 +-80 +-104 +-125 +-91 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +39 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-68 +-95 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-92 +-38 +72 +99 +46 +0 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +39 +-5 +-42 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-28 +-60 +-88 +-30 +80 +109 +53 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-84 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +11 +-28 +-61 +-88 +-31 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-71 +-97 +-45 +65 +93 +78 +28 +-15 +-50 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-125 +-80 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +50 +94 +93 +40 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-22 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-120 +-85 +34 +77 +75 +25 +-17 +-51 +-81 +-105 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-98 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +46 +0 +-37 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-120 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +53 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-93 +-39 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +78 +27 +-15 +-50 +-80 +-104 +-125 +-90 +30 +74 +73 +23 +-18 +-53 +-82 +-106 +-126 +-80 +41 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +44 +0 +-37 +-68 +-94 +-21 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +84 +112 +56 +9 +-29 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-79 +-103 +-124 +-89 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-80 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +42 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +103 +49 +4 +-34 +-66 +-93 +-39 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-99 +-45 +64 +93 +40 +-5 +-42 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-118 +-70 +49 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +98 +45 +0 +-38 +-69 +-95 +-41 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-91 +29 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-116 +-67 +53 +98 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +98 +45 +1 +-36 +-67 +-94 +-20 +92 +121 +64 +17 +-23 +-56 +-84 +-25 +84 +113 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-34 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +70 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +77 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +46 +91 +90 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +96 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-24 +85 +114 +58 +11 +-28 +-60 +-88 +-30 +80 +109 +54 +7 +-31 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-90 +29 +74 +73 +23 +-18 +-53 +-81 +-105 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +49 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-2 +-39 +-69 +-95 +-116 +-67 +52 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +97 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +16 +-24 +-57 +-85 +-25 +84 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-34 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +67 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-3 +-41 +-71 +-97 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +92 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +77 +27 +-15 +-51 +-80 +-104 +-125 +-91 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +53 +97 +44 +-1 +-37 +-68 +-94 +-21 +91 +121 +64 +16 +-24 +-57 +-85 +-26 +84 +111 +56 +9 +-30 +-62 +-90 +-33 +77 +105 +51 +4 +-34 +-66 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +67 +96 +81 +30 +-13 +-48 +-78 +-103 +-124 +-88 +31 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +93 +41 +-3 +-40 +-71 +-96 +-117 +-68 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-66 +54 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-64 +56 +100 +99 +46 +1 +-36 +-67 +-93 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +65 +17 +-23 +-57 +-84 +-26 +84 +111 +56 +9 +-29 +-62 +-89 +-34 +77 +105 +50 +4 +-34 +-65 +-92 +-38 +72 +99 +45 +0 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-71 +-97 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-120 +-84 +35 +79 +76 +27 +-15 +-50 +-80 +-104 +-124 +-79 +40 +85 +85 +33 +-9 +-46 +-75 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +94 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-95 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-66 +-93 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +69 +96 +43 +-2 +-39 +-70 +-96 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-14 +-50 +-80 +-104 +-125 +-90 +30 +74 +73 +23 +-18 +-53 +-82 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +84 +111 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-44 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +93 +77 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +73 +23 +-18 +-53 +-82 +-105 +-126 +-81 +40 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +90 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +53 +98 +97 +43 +-1 +-38 +-69 +-94 +-116 +-67 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +17 +-23 +-57 +-85 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-37 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-42 +68 +96 +43 +-2 +-39 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +80 +108 +53 +6 +-32 +-64 +-91 +-35 +74 +103 +48 +3 +-35 +-67 +-94 +-40 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +35 +78 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +85 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +7 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-15 +-50 +-80 +-104 +-125 +-89 +30 +74 +73 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-37 +73 +101 +47 +1 +-36 +-68 +-94 +-40 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +81 +30 +-13 +-48 +-78 +-103 +-123 +-88 +32 +76 +75 +25 +-16 +-51 +-80 +-104 +-125 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +49 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +96 +43 +-2 +-39 +-70 +-96 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-103 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-69 +51 +96 +95 +42 +-2 +-39 +-70 +-95 +-27 +83 +112 +57 +10 +-29 +-62 +-89 +-31 +79 +107 +52 +6 +-33 +-65 +-92 +-36 +73 +102 +48 +2 +-36 +-67 +-94 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +66 +94 +41 +-3 +-40 +-71 +-97 +-119 +-84 +36 +79 +76 +26 +-16 +-50 +-80 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-92 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +93 +78 +28 +-14 +-50 +-80 +-104 +-125 +-90 +29 +73 +73 +24 +-18 +-52 +-81 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-42 +-72 +-97 +-119 +-69 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +105 +50 +4 +-34 +-66 +-92 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +43 +-1 +-38 +-69 +-95 +-21 +91 +120 +63 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +47 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +96 +42 +-2 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-118 +-69 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-67 +52 +97 +95 +43 +-1 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +3 +-35 +-67 +-93 +-39 +70 +98 +45 +0 +-38 +-69 +-96 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +76 +27 +-15 +-50 +-80 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-99 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +108 +53 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-36 +-67 +-94 +-39 +70 +99 +45 +0 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-124 +-90 +30 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +42 +-2 +-39 +-69 +-95 +-116 +-67 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +121 +64 +16 +-23 +-57 +-85 +-26 +84 +112 +56 +10 +-29 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-37 +73 +101 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-42 +67 +95 +80 +29 +-13 +-49 +-79 +-103 +-124 +-88 +31 +75 +74 +25 +-17 +-52 +-81 +-105 +-125 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-99 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +91 +120 +63 +15 +-24 +-57 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +94 +41 +-4 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-124 +-80 +40 +85 +84 +33 +-10 +-45 +-75 +-100 +-121 +-74 +46 +92 +90 +38 +-6 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-26 +84 +113 +57 +10 +-29 +-61 +-89 +-30 +79 +108 +53 +6 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +43 +-1 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +79 +28 +-14 +-49 +-79 +-104 +-124 +-90 +29 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-37 +-68 +-94 +-22 +90 +120 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-34 +77 +105 +50 +4 +-34 +-66 +-93 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +70 +98 +45 +-1 +-38 +-69 +-96 +-42 +68 +96 +81 +30 +-12 +-48 +-78 +-103 +-123 +-88 +32 +75 +75 +25 +-16 +-51 +-81 +-105 +-125 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +96 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +41 +86 +85 +33 +-9 +-45 +-75 +-100 +-121 +-74 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-118 +-71 +50 +95 +93 +41 +-3 +-40 +-70 +-96 +-117 +-69 +51 +96 +95 +43 +-2 +-39 +-69 +-95 +-26 +83 +112 +57 +10 +-29 +-62 +-89 +-31 +79 +107 +52 +6 +-32 +-65 +-92 +-36 +74 +102 +47 +2 +-36 +-67 +-94 +-40 +69 +98 +44 +-1 +-38 +-69 +-96 +-42 +67 +95 +42 +-2 +-40 +-71 +-97 +-44 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-80 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +43 +-2 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-88 +-29 +81 +108 +53 +7 +-31 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-71 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-50 +-80 +-104 +-125 +-90 +29 +74 +73 +24 +-18 +-53 +-82 +-105 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +120 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +68 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +97 +96 +43 +-1 +-39 +-69 +-95 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +97 +45 +0 +-37 +-68 +-94 +-24 +85 +114 +58 +11 +-28 +-60 +-88 +-30 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-40 +71 +99 +45 +0 +-38 +-69 +-95 +-42 +68 +96 +43 +-2 +-40 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-118 +-84 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-42 +-72 +-97 +-118 +-69 +52 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-26 +85 +114 +58 +11 +-28 +-61 +-88 +-30 +80 +107 +52 +6 +-32 +-64 +-92 +-36 +74 +102 +48 +2 +-36 +-67 +-94 +-40 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-43 +66 +94 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +78 +28 +-14 +-50 +-79 +-104 +-125 +-90 +30 +74 +73 +24 +-18 +-52 +-81 +-105 +-126 +-80 +40 +85 +84 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-67 +52 +96 +44 +-1 +-37 +-68 +-94 +-20 +92 +121 +64 +17 +-23 +-56 +-84 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-39 +71 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +43 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-73 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +34 +78 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-69 +51 +95 +94 +42 +-2 +-39 +-70 +-95 +-117 +-67 +52 +96 +95 +43 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +96 +44 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-69 +-94 +-116 +-65 +54 +99 +97 +44 +-1 +-37 +-68 +-94 +-116 +-65 +54 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-25 +86 +115 +59 +12 +-28 +-60 +-88 +-29 +80 +107 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-67 +-93 +-39 +70 +99 +45 +0 +-37 +-69 +-95 +-42 +68 +97 +43 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-119 +-83 +37 +80 +79 +28 +-14 +-49 +-79 +-103 +-123 +-79 +42 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +42 +-2 +-39 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +73 +102 +48 +2 +-35 +-67 +-94 +-40 +70 +98 +45 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +41 +-3 +-40 +-71 +-97 +-44 +66 +94 +79 +28 +-14 +-50 +-79 +-104 +-125 +-90 +30 +74 +74 +24 +-18 +-52 +-81 +-105 +-125 +-80 +41 +85 +85 +33 +-10 +-45 +-75 +-100 +-121 +-72 +48 +92 +92 +39 +-4 +-41 +-71 +-97 +-118 +-69 +51 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-67 +53 +97 +44 +0 +-37 +-68 +-94 +-21 +91 +121 +64 +16 +-24 +-57 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-90 +-33 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +71 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +80 +29 +-13 +-49 +-78 +-103 +-124 +-89 +30 +75 +75 +25 +-17 +-52 +-81 +-105 +-125 +-79 +40 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-2 +-39 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-37 +-68 +-94 +-20 +91 +121 +64 +16 +-24 +-57 +-85 +-26 +84 +112 +56 +9 +-29 +-62 +-89 +-34 +76 +105 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-42 +68 +96 +43 +-2 +-39 +-70 +-96 +-44 +66 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +63 +92 +40 +-5 +-42 +-73 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +63 +93 +40 +-5 +-42 +-73 +-98 +-119 +-85 +33 +77 +75 +25 +-17 +-51 +-81 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +47 +92 +91 +38 +-5 +-42 +-72 +-97 +-118 +-69 +51 +96 +94 +42 +-2 +-39 +-70 +-95 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-116 +-67 +53 +98 +96 +43 +-1 +-38 +-68 +-95 +-116 +-67 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-67 +54 +98 +97 +44 +-1 +-37 +-68 +-94 +-116 +-66 +54 +99 +97 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +114 +58 +11 +-28 +-60 +-88 +-30 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +3 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-43 +66 +95 +41 +-3 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-46 +64 +93 +77 +27 +-15 +-51 +-80 +-104 +-125 +-90 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-81 +40 +84 +84 +32 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-71 +49 +94 +93 +41 +-3 +-40 +-71 +-96 +-117 +-69 +51 +96 +96 +43 +-2 +-39 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-38 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-116 +-66 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +99 +46 +1 +-36 +-67 +-93 +-19 +92 +121 +65 +17 +-23 +-56 +-84 +-26 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +50 +4 +-34 +-65 +-93 +-38 +72 +101 +47 +1 +-37 +-68 +-95 +-40 +69 +97 +44 +-1 +-39 +-70 +-96 +-42 +67 +96 +43 +-2 +-39 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-72 +-98 +-45 +66 +94 +41 +-4 +-41 +-72 +-97 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-119 +-85 +33 +77 +76 +26 +-16 +-51 +-80 +-104 +-125 +-80 +40 +85 +84 +33 +-10 +-46 +-75 +-100 +-121 +-74 +46 +91 +91 +38 +-5 +-42 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +96 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-24 +86 +115 +59 +12 +-27 +-60 +-87 +-29 +80 +108 +53 +7 +-32 +-64 +-91 +-35 +75 +103 +49 +3 +-35 +-66 +-93 +-38 +71 +99 +45 +0 +-37 +-68 +-95 +-42 +68 +97 +44 +-2 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +41 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +94 +40 +-4 +-41 +-72 +-98 +-46 +64 +94 +41 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +77 +27 +-16 +-51 +-80 +-105 +-125 +-90 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-100 +-121 +-73 +47 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +51 +96 +96 +43 +-1 +-38 +-69 +-95 +-116 +-67 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +53 +98 +97 +44 +-1 +-38 +-68 +-94 +-116 +-66 +53 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +45 +1 +-36 +-67 +-94 +-20 +92 +122 +64 +17 +-23 +-56 +-84 +-25 +84 +112 +57 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +4 +-33 +-65 +-92 +-38 +72 +100 +47 +1 +-36 +-68 +-94 +-41 +69 +97 +44 +-1 +-38 +-70 +-96 +-43 +67 +96 +43 +-2 +-40 +-71 +-97 +-118 +-83 +35 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +51 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +95 +43 +-2 +-38 +-69 +-95 +-26 +84 +114 +58 +11 +-28 +-61 +-88 +-30 +79 +107 +52 +6 +-32 +-64 +-91 +-36 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +94 +41 +-3 +-40 +-71 +-97 +-45 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +78 +27 +-15 +-51 +-80 +-104 +-125 +-91 +29 +73 +72 +23 +-18 +-53 +-82 +-106 +-126 +-81 +40 +85 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-97 +-119 +-70 +50 +95 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +97 +44 +-1 +-38 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-27 +83 +111 +56 +9 +-30 +-62 +-89 +-33 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-40 +69 +98 +44 +-1 +-38 +-70 +-96 +-42 +68 +96 +81 +30 +-13 +-49 +-78 +-103 +-124 +-88 +32 +76 +75 +25 +-17 +-51 +-81 +-105 +-125 +-79 +41 +86 +86 +34 +-9 +-45 +-75 +-99 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +95 +42 +-2 +-39 +-70 +-95 +-117 +-68 +52 +97 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +53 +97 +97 +44 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-116 +-65 +54 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +65 +17 +-23 +-56 +-84 +-25 +84 +111 +56 +9 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-34 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +98 +44 +-1 +-38 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-45 +65 +94 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-73 +-98 +-120 +-85 +34 +77 +75 +25 +-17 +-51 +-81 +-105 +-125 +-80 +40 +85 +84 +32 +-10 +-46 +-76 +-101 +-121 +-74 +46 +91 +90 +38 +-6 +-42 +-72 +-98 +-119 +-71 +49 +94 +93 +41 +-3 +-40 +-71 +-96 +-118 +-68 +51 +96 +95 +42 +-2 +-39 +-69 +-95 +-117 +-67 +53 +98 +96 +43 +-1 +-38 +-69 +-95 +-116 +-66 +54 +98 +98 +44 +0 +-37 +-68 +-94 +-115 +-66 +53 +98 +97 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-66 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-24 +86 +114 +58 +12 +-28 +-60 +-88 +-30 +80 +109 +54 +7 +-32 +-64 +-91 +-35 +74 +102 +48 +2 +-35 +-67 +-94 +-39 +71 +99 +45 +0 +-37 +-69 +-95 +-41 +68 +96 +43 +-2 +-39 +-70 +-97 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +79 +29 +-14 +-49 +-79 +-103 +-124 +-89 +30 +74 +74 +24 +-17 +-52 +-81 +-105 +-125 +-80 +40 +85 +85 +33 +-9 +-45 +-75 +-100 +-121 +-73 +47 +91 +91 +38 +-5 +-41 +-72 +-97 +-119 +-70 +51 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +53 +97 +44 +0 +-37 +-68 +-94 +-21 +90 +119 +63 +15 +-24 +-58 +-85 +-26 +83 +111 +56 +9 +-30 +-62 +-89 +-34 +76 +104 +50 +4 +-34 +-66 +-93 +-38 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +69 +97 +44 +-1 +-39 +-70 +-96 +-43 +67 +95 +42 +-3 +-40 +-71 +-97 +-44 +66 +95 +42 +-3 +-40 +-71 +-97 +-44 +65 +93 +41 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +63 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-73 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-72 +-98 +-45 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-45 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-73 +-98 +-46 +65 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-42 +-72 +-98 +-46 +64 +92 +40 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-5 +-42 +-72 +-98 +-46 +64 +92 +39 +-5 +-42 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +93 +40 +-4 +-41 +-72 +-98 +-46 +64 +92 +78 +27 +-15 +-51 +-80 +-105 +-125 +-90 +29 +73 +73 +24 +-18 +-53 +-82 +-105 +-126 +-81 +39 +84 +84 +33 +-10 +-46 +-76 +-100 +-121 +-74 +46 +91 +90 +38 +-5 +-42 +-72 +-97 +-119 +-70 +50 +94 +94 +41 +-3 +-40 +-70 +-96 +-117 +-68 +52 +96 +95 +42 +-1 +-39 +-69 +-95 +-116 +-67 +53 +97 +96 +43 +-1 +-38 +-69 +-94 +-116 +-66 +54 +98 +97 +44 +-1 +-37 +-69 +-94 +-116 +-65 +54 +98 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +97 +44 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-116 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +54 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +98 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +98 +45 +0 +-37 +-68 +-94 +-115 +-65 +55 +99 +46 +1 +-36 +-67 +-93 +-20 +92 +122 +65 +17 +-23 +-56 +-84 +-25 +84 +112 +56 +10 +-29 +-62 +-89 +-33 +77 +105 +51 +5 +-33 +-65 +-92 +-37 +72 +100 +46 +1 +-37 +-68 +-95 +-41 +70 +98 +44 +-1 +-38 +-69 +-96 +-42 +68 +96 +43 +-2 +-39 +-70 +-97 +-118 +-83 +36 +79 +77 +27 +-15 +-50 +-79 +-104 +-124 +-79 +41 +86 +85 +34 +-9 +-45 +-75 +-100 +-121 +-73 +47 +92 +91 +39 +-5 +-41 +-72 +-97 +-118 +-70 +50 +95 +94 +41 +-3 +-39 +-70 +-96 +-117 +-68 +52 +97 +96 +43 +-2 +-38 +-69 +-95 +-26 +84 +113 +58 +11 +-28 +-61 +-88 +-30 +80 +108 +53 diff --git a/traces/README.txt b/traces/README.txt index 424092dc5..95b09761e 100644 --- a/traces/README.txt +++ b/traces/README.txt @@ -21,4 +21,6 @@ casi-12ed825c29.pm3: casi rusco 40 bit (EM410x ID: 12ed825c29) EM4102-Fob.pm3: (ID: 0400193cbe) ioprox-XSF-01-3B-44725.pm3: IO Prox FSK RF/64 ID in name ioprox-XSF-01-BE-03011.pm3: IO Prox FSK RF/64 ID in name -indala-504278295.pm3: PSK 26 bit indala \ No newline at end of file +indala-504278295.pm3: PSK 26 bit indala +AWID-15-259.pm3: AWID FSK RF/50 FC: 15 Card: 259 +HID-weak-fob-11647.pm3: HID 32bit Prox Card#: 11647. very weak tag/read but just readable. \ No newline at end of file diff --git a/traces/modulation-ask-biph-50.pm3 b/traces/modulation-ask-biph-50.pm3 new file mode 100644 index 000000000..389860de2 --- /dev/null +++ b/traces/modulation-ask-biph-50.pm3 @@ -0,0 +1,20000 @@ +61 +58 +53 +49 +44 +42 +38 +35 +31 +30 +26 +25 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-79 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +105 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +36 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +78 +72 +68 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +16 +13 +12 +11 +11 +8 +8 +7 +7 +5 +5 +4 +3 +3 +3 +-24 +-45 +-63 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-60 +-55 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +5 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +91 +84 +79 +71 +68 +62 +28 +-2 +-25 +-46 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +82 +78 +71 +66 +60 +57 +52 +48 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +14 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +72 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +14 +12 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-63 +-60 +-56 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +58 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +23 +21 +18 +18 +15 +14 +13 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +84 +79 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +45 +42 +38 +36 +31 +30 +27 +25 +22 +21 +19 +17 +15 +15 +12 +12 +11 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +32 +30 +26 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +60 +57 +52 +49 +43 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +67 +61 +57 +52 +50 +44 +42 +37 +36 +32 +30 +27 +25 +23 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +23 +22 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +77 +71 +67 +60 +27 +-3 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +97 +90 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +9 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-44 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +52 +50 +44 +42 +38 +35 +32 +30 +27 +25 +23 +22 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +30 +27 +25 +22 +21 +18 +18 +16 +14 +13 +12 +10 +9 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-94 +-89 +-83 +-78 +-72 +-69 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +70 +63 +59 +53 +51 +45 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +9 +9 +7 +6 +5 +5 +4 +3 +2 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +77 +70 +66 +60 +57 +52 +48 +43 +42 +37 +34 +4 +-22 +-44 +-61 +-77 +-89 +-100 +-109 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +57 +52 +50 +44 +42 +38 +35 +32 +30 +27 +25 +23 +22 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +92 +83 +79 +71 +66 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +70 +63 +60 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +70 +66 +60 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +14 +13 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +41 +37 +35 +32 +30 +27 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-43 +-62 +-77 +-91 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +73 +70 +63 +59 +54 +51 +46 +43 +39 +9 +-18 +-39 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +41 +37 +7 +-20 +-41 +-60 +-75 +-88 +-98 +-108 +-99 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +90 +82 +77 +70 +66 +60 +57 +51 +48 +43 +41 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +4 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +84 +79 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-109 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +80 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +8 +8 +7 +6 +5 +5 +4 +4 +2 +3 +-23 +-44 +-63 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-52 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +43 +42 +37 +35 +31 +30 +27 +26 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +56 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +72 +67 +60 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +57 +52 +49 +44 +42 +38 +35 +32 +31 +27 +25 +22 +22 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +92 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +52 +49 +45 +42 +37 +35 +32 +30 +27 +25 +22 +21 +19 +17 +14 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +56 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +22 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +83 +79 +72 +67 +62 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +73 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +25 +24 +22 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +6 +7 +5 +5 +4 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-102 +-95 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +35 +31 +29 +26 +25 +22 +22 +18 +18 +15 +14 +13 +11 +10 +10 +8 +8 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +43 +41 +37 +35 +31 +30 +27 +26 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-82 +-75 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +22 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +38 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +7 +8 +6 +6 +4 +4 +3 +4 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +60 +57 +52 +49 +43 +42 +38 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +60 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +14 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +22 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +43 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-94 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +83 +79 +72 +68 +61 +57 +53 +50 +43 +42 +38 +35 +32 +30 +27 +25 +23 +22 +19 +18 +16 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +14 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-36 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +106 +97 +92 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +37 +35 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +73 +69 +63 +59 +54 +50 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +95 +91 +83 +78 +71 +66 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +11 +9 +10 +8 +7 +6 +6 +4 +5 +4 +3 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +58 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-67 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +44 +42 +37 +36 +32 +30 +27 +26 +22 +21 +18 +18 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +90 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +92 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +34 +32 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +9 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-56 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +38 +37 +33 +31 +27 +26 +24 +22 +19 +19 +16 +15 +13 +13 +11 +10 +9 +8 +6 +6 +5 +5 +4 +4 +3 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +66 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-67 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +78 +72 +68 +61 +57 +52 +49 +45 +42 +37 +36 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +96 +91 +83 +78 +70 +67 +60 +56 +51 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +48 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +14 +12 +12 +9 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +12 +12 +11 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +90 +83 +79 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +62 +60 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +42 +37 +7 +-20 +-41 +-60 +-75 +-88 +-99 +-108 +-99 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +105 +96 +91 +82 +77 +70 +66 +61 +56 +51 +48 +44 +41 +36 +35 +31 +29 +26 +25 +21 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-47 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +90 +83 +79 +70 +67 +61 +57 +52 +49 +44 +41 +38 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +82 +74 +69 +63 +60 +54 +50 +45 +43 +38 +36 +33 +31 +28 +27 +23 +22 +20 +19 +15 +15 +13 +12 +10 +10 +8 +9 +7 +6 +5 +5 +4 +3 +3 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +7 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +12 +11 +10 +10 +7 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +58 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +78 +72 +67 +61 +58 +52 +50 +44 +42 +38 +35 +32 +30 +26 +25 +22 +22 +19 +18 +15 +15 +13 +13 +10 +10 +8 +7 +6 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +71 +68 +61 +58 +52 +50 +44 +42 +38 +35 +31 +30 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +26 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +84 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +108 +98 +91 +84 +79 +71 +67 +61 +28 +-2 +-25 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +69 +62 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +21 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +7 +6 +4 +5 +4 +3 +2 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +36 +32 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +22 +18 +18 +15 +15 +13 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +83 +79 +72 +68 +61 +28 +-2 +-25 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-98 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +42 +37 +34 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +13 +12 +10 +10 +8 +8 +6 +7 +5 +4 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-21 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +32 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +51 +49 +44 +41 +36 +35 +32 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +7 +8 +7 +6 +-21 +-42 +-62 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +26 +24 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +9 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-79 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +29 +27 +26 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +48 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +79 +72 +67 +61 +57 +52 +49 +44 +42 +38 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +112 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +41 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +57 +52 +49 +44 +42 +38 +36 +32 +29 +27 +26 +22 +21 +19 +18 +16 +15 +12 +12 +11 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +27 +25 +22 +21 +18 +17 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +70 +67 +61 +27 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +60 +54 +50 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-43 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +58 +52 +49 +44 +42 +38 +36 +31 +30 +27 +26 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +92 +84 +78 +71 +67 +60 +57 +52 +48 +44 +42 +38 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +82 +78 +71 +67 +61 +57 +52 +49 +45 +41 +37 +35 +32 +29 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-108 +-102 +-95 +-89 +-83 +-79 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +92 +84 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +60 +53 +50 +46 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +18 +15 +15 +13 +12 +11 +11 +8 +8 +7 +7 +5 +5 +4 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +58 +52 +49 +44 +42 +38 +36 +31 +29 +27 +26 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +20 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-62 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +95 +90 +83 +78 +70 +66 +60 +57 +52 +48 +43 +42 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +4 +4 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +21 +21 +19 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +27 +-3 +-27 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +38 +8 +-19 +-40 +-59 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +66 +60 +57 +51 +48 +44 +41 +37 +7 +-19 +-41 +-60 +-74 +-88 +-98 +-108 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +91 +82 +78 +71 +66 +60 +57 +51 +48 +43 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +66 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +18 +16 +15 +12 +13 +11 +10 +8 +8 +6 +7 +5 +5 +3 +4 +3 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +84 +78 +70 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +60 +56 +52 +49 +43 +41 +37 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +45 +42 +37 +36 +32 +30 +27 +25 +22 +22 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-43 +-62 +-77 +-91 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +78 +71 +67 +61 +58 +52 +49 +45 +42 +38 +35 +32 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +22 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +92 +83 +78 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-82 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +72 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +59 +54 +51 +46 +43 +38 +37 +33 +31 +28 +27 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +7 +7 +5 +5 +4 +3 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +14 +12 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +66 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-109 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +71 +68 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +80 +74 +70 +63 +59 +54 +51 +46 +43 +38 +8 +-19 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-55 +-53 +-49 +-46 +-42 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-91 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-94 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +23 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +44 +42 +37 +35 +32 +30 +26 +26 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +61 +57 +51 +48 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +14 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +79 +71 +66 +60 +57 +51 +49 +44 +41 +37 +36 +32 +30 +27 +25 +22 +21 +18 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +5 +-21 +-42 +-62 +-77 +-90 +-101 +-111 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-107 +-101 +-94 +-89 +-82 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +22 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +90 +83 +79 +71 +67 +61 +57 +52 +49 +44 +41 +38 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-81 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +67 +62 +58 +52 +49 +44 +42 +38 +35 +31 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +57 +52 +49 +44 +42 +38 +35 +32 +30 +27 +25 +23 +22 +19 +18 +16 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +27 +25 +22 +21 +18 +17 +16 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-62 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +60 +27 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-109 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +22 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +43 +39 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +67 +60 +57 +51 +48 +44 +41 +37 +35 +30 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +12 +10 +9 +8 +8 +6 +6 +4 +5 +3 +4 +2 +1 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-102 +-95 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +106 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +7 +7 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +60 +57 +52 +49 +43 +42 +38 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +9 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +36 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +22 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +106 +97 +91 +83 +78 +71 +67 +61 +27 +-2 +-26 +-47 +-64 +-79 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +38 +37 +33 +30 +28 +26 +23 +22 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +7 +6 +5 +5 +4 +4 +2 +3 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +0 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +96 +91 +83 +77 +71 +67 +60 +57 +51 +49 +43 +41 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +67 +61 +58 +53 +49 +44 +42 +38 +35 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-73 +-69 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +36 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-109 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +80 +74 +70 +63 +59 +54 +51 +46 +43 +38 +9 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +10 +7 +8 +6 +6 +4 +4 +3 +3 +2 +2 +-24 +-45 +-64 +-79 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-42 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +22 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-53 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +44 +42 +37 +34 +32 +30 +27 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-79 +-90 +-101 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +73 +70 +63 +59 +53 +51 +45 +43 +38 +8 +-18 +-40 +-59 +-74 +-88 +-98 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +7 +-20 +-41 +-60 +-75 +-88 +-98 +-108 +-99 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +12 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +95 +90 +82 +77 +70 +65 +59 +57 +52 +48 +43 +41 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +7 +6 +6 +5 +4 +3 +4 +2 +3 +-23 +-45 +-63 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-60 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-56 +-52 +-48 +-45 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +28 +-2 +-26 +-47 +-64 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +53 +50 +45 +43 +38 +36 +33 +31 +28 +26 +23 +22 +20 +18 +16 +15 +13 +13 +10 +11 +8 +8 +7 +7 +5 +5 +4 +4 +2 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-70 +-64 +-61 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-63 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +36 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +37 +36 +31 +30 +27 +25 +22 +22 +19 +18 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +4 +-21 +-43 +-61 +-77 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +83 +79 +72 +68 +62 +58 +52 +49 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-64 +-60 +-55 +-52 +-49 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +-21 +-42 +-62 +-77 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +36 +4 +-21 +-43 +-60 +-76 +-89 +-100 +-108 +-100 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-33 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +68 +61 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +39 +36 +33 +31 +28 +25 +23 +22 +19 +19 +16 +15 +13 +13 +11 +10 +8 +8 +6 +7 +5 +5 +4 +4 +3 +3 +-23 +-45 +-64 +-78 +-92 +-102 +-111 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-101 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-89 +-83 +-78 +-73 +-68 +-64 +-60 +-55 +-52 +-48 +-46 +-42 +-40 +-37 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +82 +78 +72 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +11 +10 +10 +7 +8 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +1 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +4 +-21 +-43 +-61 +-76 +-89 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +28 +-2 +-26 +-47 +-63 +-78 +-90 +-100 +-108 +-99 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +43 +39 +9 +-18 +-40 +-59 +-74 +-87 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +13 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +96 +90 +83 +78 +71 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +-24 +-45 +-64 +-78 +-92 +-102 +-112 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 diff --git a/traces/modulation-ask-man-100.pm3 b/traces/modulation-ask-man-100.pm3 new file mode 100644 index 000000000..5a84b549e --- /dev/null +++ b/traces/modulation-ask-man-100.pm3 @@ -0,0 +1,20000 @@ +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-45 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +34 +33 +29 +27 +24 +24 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +47 +45 +41 +39 +34 +32 +29 +28 +25 +23 +20 +20 +17 +15 +14 +13 +11 +11 +10 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +16 +17 +14 +14 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +8 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +35 +33 +28 +28 +25 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-45 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +67 +62 +56 +54 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +74 +66 +61 +56 +53 +47 +45 +41 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +15 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +63 +57 +53 +48 +46 +41 +38 +34 +32 +29 +28 +24 +23 +20 +20 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +74 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +20 +17 +16 +13 +14 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +22 +20 +19 +16 +16 +14 +13 +12 +11 +9 +8 +7 +7 +5 +5 +4 +3 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +93 +85 +80 +72 +67 +62 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +21 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-109 +-102 +-96 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +29 +28 +24 +23 +20 +20 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +74 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +16 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +67 +63 +56 +53 +48 +45 +41 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +8 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +33 +29 +28 +24 +23 +20 +20 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +6 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +28 +25 +22 +22 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +20 +16 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +41 +38 +34 +33 +29 +28 +24 +24 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +86 +77 +73 +66 +62 +57 +53 +47 +46 +41 +38 +35 +32 +29 +28 +25 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +54 +48 +46 +41 +38 +35 +33 +28 +28 +24 +23 +21 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-19 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +57 +53 +48 +45 +41 +39 +35 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +5 +4 +3 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-72 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +14 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-109 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +47 +45 +41 +38 +35 +33 +29 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +41 +39 +34 +33 +29 +27 +24 +23 +21 +19 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +33 +32 +29 +28 +24 +23 +21 +19 +17 +16 +13 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +91 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +33 +29 +28 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +1 +1 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +9 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +40 +39 +35 +33 +29 +27 +24 +23 +21 +19 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +91 +85 +77 +73 +66 +63 +56 +53 +47 +45 +41 +39 +34 +32 +29 +28 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +41 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +40 +38 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +108 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +30 +27 +25 +22 +22 +19 +18 +16 +15 +12 +13 +11 +10 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +2 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-31 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +40 +39 +35 +33 +29 +27 +25 +23 +20 +19 +17 +17 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +98 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +25 +23 +20 +19 +17 +16 +13 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +40 +38 +35 +33 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +57 +53 +48 +45 +40 +39 +34 +32 +29 +28 +25 +23 +21 +19 +17 +17 +13 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +90 +85 +77 +72 +66 +62 +56 +53 +47 +45 +41 +38 +34 +32 +29 +28 +25 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +58 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-97 +-90 +-84 +-79 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +13 +11 +11 +8 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +23 +20 +20 +16 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +40 +38 +34 +32 +29 +28 +24 +24 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +11 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +105 +99 +89 +85 +77 +73 +65 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +21 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +24 +21 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +80 +73 +69 +62 +58 +53 +50 +44 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-64 +-60 +-56 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +116 +106 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +38 +34 +33 +29 +27 +24 +24 +20 +19 +17 +16 +13 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +84 +77 +73 +66 +62 +57 +54 +48 +46 +40 +38 +35 +33 +28 +27 +24 +23 +20 +19 +16 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-45 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +35 +33 +29 +28 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +3 +3 +3 +2 +1 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-4 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +80 +72 +69 +62 +58 +53 +50 +45 +42 +38 +35 +32 +30 +27 +26 +23 +22 +19 +19 +15 +14 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +41 +38 +35 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +8 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +41 +38 +35 +32 +28 +28 +24 +23 +20 +19 +17 +17 +14 +13 +11 +11 +10 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +89 +85 +77 +73 +66 +63 +57 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +12 +11 +8 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +76 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +10 +9 +9 +7 +7 +5 +5 +4 +4 +3 +2 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +41 +38 +35 +32 +28 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-31 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +67 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +21 +20 +16 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +32 +28 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-31 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +62 +58 +52 +50 +45 +43 +38 +36 +32 +30 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +4 +3 +2 +3 +1 +2 +0 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +43 +38 +36 +32 +31 +26 +26 +23 +21 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +35 +33 +28 +28 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +12 +11 +8 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +61 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +40 +38 +35 +33 +29 +27 +24 +23 +21 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-26 +-25 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +92 +85 +79 +72 +69 +62 +59 +52 +50 +45 +42 +38 +36 +31 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +9 +7 +6 +5 +5 +4 +4 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-4 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-4 +-4 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +72 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +14 +11 +11 +8 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +92 +85 +80 +72 +69 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-20 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-110 +-102 +-96 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +40 +38 +35 +32 +29 +27 +24 +24 +21 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +6 +-19 +-42 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +61 +56 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +20 +19 +16 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-21 +-43 +-61 +-78 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-45 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +32 +29 +28 +25 +22 +20 +20 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-59 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +65 +63 +56 +53 +48 +46 +41 +39 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-19 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +61 +56 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +41 +38 +34 +32 +29 +28 +24 +23 +20 +20 +16 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +63 +56 +53 +48 +46 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +16 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +41 +38 +34 +33 +29 +27 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +46 +41 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +6 +7 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +-1 +-1 +0 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-72 +-67 +-62 +-59 +-54 +-52 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +61 +58 +53 +50 +45 +42 +38 +36 +32 +30 +26 +26 +23 +21 +19 +18 +16 +15 +13 +13 +10 +11 +8 +7 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +57 +53 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +30 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +47 +45 +41 +39 +35 +32 +29 +27 +25 +23 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +33 +29 +28 +25 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +55 +53 +48 +46 +40 +39 +35 +33 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +5 +5 +3 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-1 +-1 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-42 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-22 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +84 +79 +72 +68 +61 +59 +53 +49 +45 +43 +38 +36 +32 +31 +27 +26 +22 +21 +19 +18 +15 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +47 +46 +41 +39 +34 +32 +29 +27 +25 +23 +20 +20 +17 +16 +14 +14 +12 +11 +9 +8 +6 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +25 +23 +21 +20 +16 +16 +14 +13 +12 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +46 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +17 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +40 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +39 +34 +33 +30 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +46 +40 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +10 +9 +6 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-55 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-10 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +33 +29 +28 +24 +24 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +40 +38 +35 +33 +29 +27 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +10 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +25 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +14 +11 +11 +9 +9 +7 +7 +6 +5 +3 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-51 +-67 +-83 +-95 +-106 +-97 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +69 +61 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +22 +21 +19 +18 +16 +15 +13 +12 +11 +11 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +47 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +52 +48 +46 +40 +38 +35 +33 +29 +27 +24 +23 +21 +19 +16 +16 +14 +13 +11 +11 +9 +9 +8 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +32 +29 +27 +24 +23 +20 +19 +17 +17 +13 +14 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +40 +38 +35 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +38 +34 +33 +29 +27 +24 +23 +20 +20 +17 +15 +14 +14 +11 +11 +9 +8 +7 +7 +6 +5 +4 +4 +3 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +49 +45 +43 +38 +35 +32 +30 +27 +26 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +3 +3 +3 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +72 +68 +61 +59 +53 +49 +45 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-109 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +84 +77 +73 +67 +62 +56 +53 +48 +46 +40 +38 +34 +33 +29 +27 +24 +24 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +33 +29 +27 +24 +24 +21 +19 +16 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +63 +57 +53 +48 +46 +41 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +6 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +40 +38 +34 +33 +29 +28 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-5 +-4 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +47 +44 +40 +38 +34 +32 +29 +28 +24 +24 +20 +19 +17 +16 +13 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-15 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-96 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +39 +34 +33 +29 +28 +24 +23 +21 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +40 +38 +35 +32 +29 +28 +25 +24 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +8 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +7 +6 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +61 +56 +53 +48 +45 +40 +38 +35 +33 +29 +27 +25 +23 +20 +19 +17 +15 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-78 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +35 +32 +29 +28 +25 +24 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +93 +84 +80 +72 +69 +62 +58 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +22 +19 +17 +16 +15 +12 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-59 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +39 +35 +32 +29 +27 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +33 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +21 +19 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +1 +1 +1 +0 +0 +0 +0 +-2 +-1 +-2 +-2 +-2 +-2 +-4 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-5 +-5 +-4 +-4 +-5 +-5 +-5 +-4 +-4 +-28 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-40 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +92 +85 +79 +72 +69 +62 +58 +52 +50 +45 +42 +38 +35 +32 +31 +28 +26 +22 +21 +18 +18 +16 +15 +12 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-97 +-90 +-85 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +10 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +57 +53 +47 +45 +41 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +15 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +40 +38 +35 +32 +29 +27 +24 +23 +20 +19 +16 +17 +14 +13 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-48 +-45 +-41 +-39 +-35 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +80 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-110 +-103 +-96 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +33 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +14 +12 +10 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +43 +38 +35 +31 +30 +27 +26 +23 +21 +18 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-85 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +57 +54 +47 +45 +41 +39 +34 +32 +29 +28 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +38 +34 +32 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +12 +10 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-35 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +98 +92 +84 +79 +72 +68 +62 +58 +53 +50 +45 +42 +38 +35 +32 +30 +27 +26 +23 +21 +19 +18 +16 +15 +13 +13 +10 +10 +8 +7 +6 +6 +5 +5 +3 +4 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +79 +72 +68 +62 +58 +53 +50 +45 +43 +38 +35 +33 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-61 +-77 +-89 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +41 +38 +34 +32 +29 +28 +24 +23 +20 +20 +17 +16 +13 +14 +12 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +38 +34 +32 +29 +28 +25 +23 +20 +20 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +17 +14 +13 +12 +11 +9 +9 +7 +6 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +38 +34 +33 +29 +27 +24 +24 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-76 +-71 +-67 +-62 +-58 +-54 +-51 +-47 +-45 +-41 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +107 +99 +93 +84 +79 +72 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +25 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +4 +3 +2 +3 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +-67 +-62 +-59 +-54 +-51 +-47 +-45 +-41 +-39 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +89 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-77 +-89 +-101 +-110 +-102 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-102 +-97 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +27 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +65 +62 +57 +53 +48 +45 +41 +39 +35 +32 +29 +28 +25 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +89 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +35 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +6 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-56 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +27 +25 +23 +20 +20 +17 +16 +13 +13 +11 +10 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +11 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +53 +48 +45 +41 +39 +34 +32 +29 +27 +24 +23 +21 +20 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +46 +40 +39 +35 +33 +29 +28 +24 +23 +20 +20 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-78 +-74 +-69 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +106 +98 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +40 +39 +35 +32 +29 +27 +24 +23 +21 +19 +17 +16 +14 +14 +12 +11 +8 +9 +7 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +27 +25 +24 +20 +19 +17 +16 +13 +14 +11 +11 +9 +9 +7 +8 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-68 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +46 +41 +39 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +8 +7 +7 +5 +-20 +-43 +-61 +-77 +-90 +-102 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +38 +34 +33 +29 +27 +24 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +6 +-20 +-43 +-61 +-77 +-90 +-101 +-110 +-102 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 diff --git a/traces/modulation-ask-man-128.pm3 b/traces/modulation-ask-man-128.pm3 new file mode 100644 index 000000000..1d0e84690 --- /dev/null +++ b/traces/modulation-ask-man-128.pm3 @@ -0,0 +1,20000 @@ +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +39 +36 +34 +30 +28 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +8 +6 +5 +4 +4 +3 +3 +2 +2 +1 +2 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +33 +29 +29 +26 +24 +21 +20 +18 +17 +14 +14 +11 +11 +10 +8 +8 +8 +6 +6 +4 +4 +3 +3 +2 +1 +1 +1 +0 +1 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +83 +78 +70 +66 +60 +57 +52 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +24 +24 +22 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +6 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +33 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +0 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +17 +17 +15 +13 +12 +12 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-100 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +4 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +39 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +9 +8 +8 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +65 +59 +55 +50 +47 +42 +39 +36 +34 +31 +29 +25 +24 +21 +21 +18 +16 +15 +14 +12 +11 +9 +9 +8 +8 +6 +6 +5 +5 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +93 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +21 +18 +16 +15 +14 +12 +11 +9 +9 +7 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +59 +55 +50 +47 +43 +40 +35 +34 +30 +29 +26 +24 +21 +21 +18 +16 +14 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +93 +87 +79 +76 +69 +64 +58 +55 +50 +47 +43 +40 +35 +33 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +101 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +40 +35 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-5 +-6 +-5 +-5 +-4 +-6 +-30 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +4 +4 +4 +4 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +0 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-13 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +41 +37 +34 +31 +30 +27 +25 +22 +21 +19 +18 +15 +14 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-19 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +2 +3 +2 +1 +1 +1 +0 +1 +0 +-1 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +25 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +7 +8 +6 +5 +4 +4 +3 +3 +2 +1 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +5 +5 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +34 +30 +28 +26 +25 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +7 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +109 +102 +94 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +17 +17 +15 +14 +12 +12 +9 +10 +8 +8 +6 +6 +5 +4 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +18 +18 +15 +14 +12 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +56 +50 +47 +42 +40 +36 +33 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +-32 +-30 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +5 +4 +5 +3 +3 +1 +2 +1 +1 +0 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +17 +17 +15 +14 +12 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-72 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +68 +65 +58 +54 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +17 +17 +14 +14 +12 +11 +9 +9 +8 +8 +5 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +33 +30 +29 +25 +24 +22 +21 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +5 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +56 +50 +47 +42 +40 +35 +34 +30 +29 +26 +25 +22 +20 +18 +17 +14 +14 +12 +11 +10 +10 +8 +7 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +46 +42 +40 +36 +34 +30 +29 +25 +25 +21 +19 +18 +17 +14 +14 +12 +12 +10 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +3 +3 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +59 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +25 +21 +20 +17 +17 +15 +14 +11 +11 +10 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +1 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +34 +30 +29 +26 +25 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-15 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +43 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +14 +13 +12 +9 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +68 +64 +58 +56 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +35 +34 +31 +29 +25 +24 +22 +21 +17 +17 +15 +14 +12 +11 +9 +9 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +10 +9 +8 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +-1 +1 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +36 +33 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +6 +6 +4 +4 +3 +4 +2 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +21 +18 +16 +15 +14 +11 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +1 +1 +1 +0 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +82 +78 +71 +66 +61 +57 +51 +48 +44 +41 +37 +35 +31 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +49 +47 +43 +40 +35 +33 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +3 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-10 +-9 +-8 +-8 +-7 +-8 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +2 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +41 +36 +33 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +-1 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +61 +56 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +11 +10 +10 +8 +7 +6 +6 +5 +5 +3 +4 +3 +2 +1 +1 +0 +1 +0 +0 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +70 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +13 +11 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +3 +2 +0 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +39 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +1 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +56 +49 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-30 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +50 +47 +43 +40 +35 +33 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +43 +42 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +7 +5 +4 +3 +4 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +79 +75 +69 +64 +59 +55 +50 +47 +43 +40 +35 +33 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +96 +90 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +68 +64 +59 +55 +49 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-16 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +76 +68 +64 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +16 +15 +14 +11 +11 +10 +9 +8 +8 +6 +6 +5 +5 +2 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +69 +65 +59 +55 +49 +47 +42 +40 +35 +33 +30 +28 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +7 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-70 +-65 +-61 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +49 +47 +42 +40 +36 +33 +30 +28 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +25 +22 +20 +18 +17 +14 +14 +11 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +9 +10 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +1 +3 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +109 +103 +93 +87 +80 +76 +69 +65 +58 +55 +50 +47 +41 +40 +36 +33 +30 +29 +26 +24 +21 +20 +18 +17 +15 +13 +12 +11 +9 +9 +7 +8 +6 +6 +4 +4 +4 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-23 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +12 +10 +9 +8 +8 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +21 +17 +17 +15 +14 +12 +11 +9 +9 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +-1 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +9 +9 +8 +8 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +59 +55 +50 +47 +43 +40 +35 +34 +30 +28 +25 +24 +21 +21 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +44 +41 +36 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +7 +8 +6 +6 +5 +5 +3 +4 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-39 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +69 +64 +58 +55 +50 +47 +43 +40 +35 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +25 +21 +19 +17 +17 +14 +14 +12 +11 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +33 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +31 +28 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +10 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +106 +97 +91 +83 +78 +71 +67 +61 +56 +51 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +87 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +12 +9 +9 +8 +7 +5 +6 +4 +4 +3 +4 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +8 +7 +5 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +4 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +39 +36 +34 +30 +29 +25 +24 +21 +21 +18 +17 +15 +14 +11 +11 +10 +9 +7 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-39 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +43 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +16 +15 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +26 +25 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +1 +1 +2 +0 +0 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +10 +10 +8 +7 +6 +6 +5 +4 +3 +4 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +8 +8 +5 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +24 +21 +20 +17 +17 +15 +15 +12 +11 +9 +9 +8 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +-1 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +8 +7 +6 +6 +5 +5 +3 +3 +2 +1 +1 +1 +0 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +11 +12 +10 +9 +7 +8 +6 +6 +4 +4 +3 +3 +2 +1 +1 +1 +0 +1 +-1 +-1 +-2 +-1 +-1 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-4 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +66 +60 +57 +52 +49 +43 +41 +37 +36 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +5 +5 +5 +3 +3 +2 +3 +1 +2 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +43 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +2 +1 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-25 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +69 +64 +58 +55 +50 +47 +42 +40 +35 +34 +31 +28 +25 +24 +21 +20 +18 +16 +14 +14 +12 +11 +9 +10 +8 +8 +6 +5 +4 +5 +3 +3 +2 +2 +1 +2 +1 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +56 +50 +47 +43 +40 +36 +34 +30 +29 +25 +24 +22 +20 +18 +17 +14 +14 +12 +11 +9 +9 +8 +7 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +9 +8 +7 +6 +5 +3 +5 +3 +3 +1 +2 +1 +1 +1 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +0 +0 +1 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +33 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +12 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-2 +-3 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-4 +-5 +-4 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-6 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +43 +41 +38 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +9 +8 +8 +6 +6 +5 +4 +3 +4 +2 +2 +1 +1 +1 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +76 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +26 +24 +21 +21 +18 +17 +14 +14 +12 +12 +9 +9 +8 +8 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +64 +59 +55 +49 +47 +42 +40 +35 +34 +30 +29 +26 +25 +21 +21 +18 +16 +15 +14 +11 +11 +9 +9 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +69 +64 +58 +55 +50 +47 +43 +40 +35 +34 +30 +29 +25 +24 +21 +21 +18 +16 +14 +14 +12 +12 +9 +9 +7 +8 +6 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +-1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +7 +8 +6 +6 +4 +5 +3 +3 +2 +2 +0 +1 +0 +1 +-1 +0 +-1 +-1 +-1 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-38 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +65 +58 +55 +50 +47 +41 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +15 +14 +11 +11 +10 +10 +8 +7 +6 +6 +5 +4 +2 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-33 +-32 +-30 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +0 +0 +1 +-1 +0 +-1 +-25 +-47 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-99 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +28 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +13 +12 +11 +10 +9 +8 +7 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +109 +103 +94 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +23 +21 +20 +17 +17 +14 +14 +12 +12 +10 +9 +8 +8 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +76 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +22 +20 +17 +17 +15 +14 +12 +11 +9 +9 +8 +8 +5 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-5 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-33 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +93 +88 +80 +75 +69 +64 +58 +55 +50 +47 +42 +40 +36 +33 +31 +29 +25 +24 +21 +20 +17 +17 +15 +14 +12 +11 +9 +10 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-17 +-15 +-14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +22 +20 +18 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-93 +-86 +-81 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-43 +-41 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +66 +61 +57 +52 +48 +43 +42 +37 +35 +31 +29 +27 +25 +21 +21 +19 +17 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +1 +0 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +101 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +43 +40 +35 +34 +30 +28 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +35 +34 +31 +29 +25 +24 +21 +21 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +31 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +2 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +106 +96 +91 +83 +77 +71 +67 +60 +57 +51 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +4 +3 +2 +2 +1 +2 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +14 +14 +12 +11 +9 +9 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-22 +-19 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +75 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +25 +24 +21 +20 +17 +17 +14 +13 +12 +11 +10 +10 +8 +7 +6 +6 +4 +4 +2 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-106 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +35 +34 +30 +29 +25 +23 +21 +21 +17 +17 +14 +14 +12 +12 +9 +9 +7 +7 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +103 +94 +88 +80 +76 +68 +65 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +12 +10 +9 +7 +8 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-2 +-26 +-48 +-66 +-81 +-93 +-104 +-97 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-70 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +59 +56 +50 +47 +42 +40 +36 +34 +29 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +9 +9 +7 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +94 +88 +80 +75 +69 +64 +58 +55 +49 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +8 +8 +6 +6 +4 +5 +3 +3 +2 +2 +1 +2 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-67 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +11 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +1 +1 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +79 +75 +68 +64 +58 +55 +50 +47 +43 +40 +36 +33 +30 +29 +24 +24 +21 +20 +18 +17 +15 +14 +12 +12 +9 +9 +8 +6 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +82 +78 +71 +67 +60 +56 +51 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-47 +-43 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-26 +-25 +-22 +-21 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +88 +80 +76 +68 +64 +58 +55 +50 +47 +42 +40 +36 +34 +30 +29 +26 +24 +21 +20 +17 +17 +14 +14 +12 +12 +9 +9 +8 +8 +6 +6 +4 +3 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-93 +-86 +-81 +-75 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-24 +-22 +-21 +-20 +-19 +-17 +-17 +-16 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +94 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +36 +33 +30 +29 +25 +24 +21 +20 +18 +17 +15 +14 +12 +12 +10 +9 +8 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-26 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-105 +-98 +-92 +-86 +-81 +-75 +-71 +-65 +-62 +-58 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-33 +-32 +-29 +-28 +-25 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +93 +87 +80 +76 +68 +64 +59 +55 +50 +47 +42 +40 +36 +33 +29 +29 +26 +24 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +-1 +0 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-6 +-5 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-29 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-15 +-13 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +106 +97 +91 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +29 +27 +25 +22 +21 +18 +17 +15 +15 +12 +11 +10 +10 +8 +8 +6 +6 +5 +4 +2 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-4 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-5 +-4 +-5 +-3 +-5 +-4 +-4 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-66 +-63 +-58 +-55 +-50 +-48 +-44 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-11 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +105 +96 +91 +82 +78 +71 +66 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +10 +9 +7 +8 +6 +6 +5 +5 +4 +3 +2 +2 +1 +1 +0 +0 +0 +0 +-1 +-25 +-48 +-65 +-81 +-93 +-104 +-112 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-105 +-98 +-92 +-86 +-81 +-75 +-70 +-66 +-62 +-57 +-54 +-50 +-47 +-44 +-42 +-38 +-36 +-33 diff --git a/traces/modulation-ask-man-16.pm3 b/traces/modulation-ask-man-16.pm3 new file mode 100644 index 000000000..aca260b2c --- /dev/null +++ b/traces/modulation-ask-man-16.pm3 @@ -0,0 +1,20000 @@ +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-104 +-97 +-23 +114 +127 +127 +127 +127 +121 +82 +37 +-11 +-50 +-84 +-111 +-127 +-127 +-112 +-51 +85 +127 +127 +127 +127 +92 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +83 +48 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +79 +45 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +67 +127 +127 +127 +115 +79 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-69 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +5 +11 +15 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-78 +60 +127 +127 +127 +109 +72 +37 +-3 +-45 +-79 +-109 +-127 +-127 +-127 +-127 +-73 +64 +127 +127 +127 +112 +76 +40 +0 +-42 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-100 +-110 +-102 +-96 +-22 +115 +127 +127 +127 +127 +121 +83 +38 +-10 +-49 +-83 +-110 +-127 +-127 +-111 +-50 +86 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +117 +80 +45 +21 +8 +4 +5 +11 +15 +18 +19 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-107 +-100 +-26 +112 +127 +127 +127 +127 +120 +81 +35 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +13 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-63 +73 +127 +127 +127 +120 +82 +47 +6 +-37 +-73 +-103 +-112 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +116 +79 +45 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +79 +43 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +5 +3 +4 +10 +14 +18 +18 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-107 +-101 +-26 +111 +127 +127 +127 +127 +119 +80 +35 +-12 +-51 +-84 +-112 +-127 +-127 +-127 +-52 +84 +127 +127 +127 +127 +92 +56 +31 +16 +13 +14 +18 +22 +25 +24 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-98 +-24 +113 +127 +127 +127 +127 +120 +82 +37 +-11 +-50 +-84 +-111 +-127 +-127 +-112 +-51 +86 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +83 +47 +6 +-37 +-73 +-103 +-112 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +80 +45 +21 +7 +5 +5 +11 +15 +19 +19 +-1 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-26 +112 +127 +127 +127 +127 +119 +81 +54 +37 +31 +30 +33 +36 +39 +37 +17 +-28 +-65 +-96 +-106 +-127 +-127 +-127 +-127 +-127 +-107 +-103 +-97 +-108 +-100 +-94 +-20 +117 +127 +127 +127 +127 +122 +84 +39 +-10 +-49 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +93 +57 +15 +-30 +-66 +-97 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +121 +83 +48 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +117 +80 +45 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +19 +6 +3 +5 +10 +14 +18 +18 +-1 +-43 +-77 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-101 +-26 +111 +127 +127 +127 +127 +119 +80 +54 +36 +31 +30 +33 +36 +39 +37 +16 +-28 +-65 +-97 +-106 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +117 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-105 +-99 +-109 +-101 +-95 +-21 +116 +127 +127 +127 +127 +123 +83 +38 +-10 +-49 +-82 +-110 +-127 +-127 +-111 +-50 +86 +127 +127 +127 +127 +93 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +73 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-67 +69 +127 +127 +127 +116 +80 +45 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +44 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +2 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-76 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +66 +127 +127 +127 +115 +78 +42 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +1 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +42 +20 +6 +3 +5 +11 +14 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-108 +-101 +-27 +111 +127 +127 +127 +127 +119 +80 +35 +-12 +-51 +-85 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +82 +47 +6 +-38 +-73 +-103 +-112 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +43 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +5 +10 +13 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-101 +-26 +111 +127 +127 +127 +127 +119 +80 +35 +-12 +-51 +-84 +-112 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +72 +127 +127 +127 +120 +83 +48 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +79 +45 +4 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +116 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +2 +-41 +-76 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +5 +11 +14 +18 +19 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +109 +71 +36 +-4 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-98 +-23 +114 +127 +127 +127 +127 +121 +82 +37 +-11 +-50 +-83 +-111 +-127 +-127 +-112 +-51 +86 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-103 +-112 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +117 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +44 +20 +6 +3 +5 +11 +14 +18 +18 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-108 +-101 +-26 +112 +127 +127 +127 +127 +120 +81 +36 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +80 +45 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +3 +5 +11 +13 +18 +19 +-2 +-43 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-101 +-27 +111 +127 +127 +127 +127 +119 +80 +53 +36 +31 +31 +35 +36 +38 +37 +16 +-28 +-65 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-108 +-104 +-98 +-108 +-101 +-95 +-20 +117 +127 +127 +127 +127 +124 +85 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +93 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +117 +80 +44 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +20 +7 +3 +5 +11 +14 +18 +19 +-2 +-43 +-77 +-108 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +109 +71 +36 +-4 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-112 +-105 +-98 +-22 +115 +127 +127 +127 +127 +121 +83 +37 +-11 +-50 +-83 +-110 +-127 +-127 +-112 +-50 +86 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +73 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +69 +127 +127 +127 +117 +80 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +79 +42 +19 +6 +3 +5 +11 +15 +18 +18 +-2 +-43 +-78 +-107 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +109 +71 +36 +-4 +-45 +-79 +-109 +-127 +-127 +-127 +-127 +-74 +64 +127 +127 +127 +112 +76 +40 +0 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-103 +-97 +-22 +116 +127 +127 +127 +127 +122 +83 +38 +-10 +-49 +-82 +-110 +-127 +-127 +-112 +-50 +86 +127 +127 +127 +127 +93 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +80 +44 +21 +7 +5 +6 +12 +16 +18 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-108 +-102 +-27 +112 +127 +127 +127 +127 +119 +81 +36 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +56 +13 +-32 +-67 +-99 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +79 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +43 +19 +6 +3 +4 +10 +14 +18 +19 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-102 +-26 +112 +127 +127 +127 +127 +119 +80 +35 +-13 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +91 +55 +31 +16 +13 +14 +19 +22 +26 +25 +4 +-39 +-73 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-25 +114 +127 +127 +127 +127 +121 +82 +37 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +44 +20 +7 +5 +6 +12 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-102 +-26 +112 +127 +127 +127 +127 +119 +81 +55 +37 +32 +31 +34 +36 +39 +38 +16 +-28 +-65 +-96 +-106 +-127 +-127 +-127 +-127 +-127 +-109 +-104 +-98 +-108 +-101 +-95 +-20 +118 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +92 +56 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +80 +45 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +79 +43 +20 +6 +4 +4 +11 +15 +18 +19 +-2 +-43 +-77 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-102 +-26 +112 +127 +127 +127 +127 +119 +80 +54 +36 +31 +31 +34 +37 +40 +38 +17 +-28 +-64 +-96 +-105 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +117 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-100 +-110 +-102 +-96 +-21 +117 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-51 +86 +127 +127 +127 +127 +93 +57 +14 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-63 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-76 +-106 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +114 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +77 +42 +1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +19 +6 +3 +5 +11 +15 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-27 +112 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-52 +85 +127 +127 +127 +127 +92 +55 +12 +-32 +-68 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +47 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-75 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +116 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +67 +127 +127 +127 +115 +77 +42 +20 +7 +4 +6 +11 +14 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-101 +-27 +112 +127 +127 +127 +127 +120 +81 +36 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +91 +55 +12 +-32 +-68 +-99 +-108 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +77 +42 +19 +6 +3 +5 +11 +14 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-79 +61 +127 +127 +127 +108 +72 +36 +-4 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-98 +-23 +115 +127 +127 +127 +127 +121 +83 +37 +-10 +-49 +-83 +-110 +-127 +-127 +-112 +-51 +86 +127 +127 +127 +127 +92 +56 +14 +-31 +-67 +-97 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +20 +7 +4 +6 +12 +15 +19 +19 +-3 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-26 +112 +127 +127 +127 +127 +120 +80 +36 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +47 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +3 +5 +11 +14 +18 +18 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-26 +112 +127 +127 +127 +127 +119 +79 +54 +37 +32 +31 +35 +37 +40 +38 +17 +-28 +-64 +-96 +-105 +-127 +-127 +-127 +-127 +-127 +-109 +-105 +-99 +-109 +-101 +-96 +-21 +118 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-109 +-127 +-127 +-112 +-50 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +121 +82 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-69 +68 +127 +127 +127 +115 +78 +42 +20 +7 +3 +5 +11 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-79 +61 +127 +127 +127 +108 +71 +36 +-4 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-105 +-98 +-23 +116 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-83 +-110 +-127 +-127 +-127 +-51 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +79 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +3 +5 +11 +15 +18 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +108 +71 +36 +-4 +-45 +-79 +-109 +-127 +-127 +-127 +-127 +-74 +64 +127 +127 +127 +112 +75 +40 +-1 +-42 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +-104 +-97 +-22 +117 +127 +127 +127 +127 +122 +83 +38 +-9 +-48 +-82 +-109 +-127 +-127 +-112 +-52 +86 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +43 +21 +8 +5 +6 +12 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-102 +-26 +112 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +73 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +78 +43 +20 +6 +4 +5 +11 +15 +18 +18 +-2 +-44 +-78 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-27 +112 +127 +127 +127 +127 +119 +81 +35 +-12 +-51 +-84 +-111 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +91 +54 +30 +15 +13 +14 +20 +23 +27 +26 +5 +-38 +-73 +-103 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-106 +-100 +-25 +114 +127 +127 +127 +127 +120 +81 +37 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +69 +127 +127 +127 +116 +79 +44 +20 +7 +5 +6 +13 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-26 +113 +127 +127 +127 +127 +119 +81 +54 +37 +32 +32 +36 +38 +40 +38 +16 +-28 +-64 +-96 +-105 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-99 +-110 +-102 +-96 +-20 +118 +127 +127 +127 +127 +124 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-111 +-50 +87 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +20 +7 +5 +6 +11 +15 +19 +18 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-109 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +54 +36 +32 +31 +35 +37 +40 +38 +17 +-27 +-64 +-95 +-105 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-96 +-21 +118 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-82 +-109 +-127 +-127 +-112 +-51 +87 +127 +127 +127 +127 +93 +56 +14 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +114 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +19 +6 +3 +5 +11 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-102 +-27 +112 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +19 +6 +3 +6 +11 +16 +19 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-110 +-103 +-27 +112 +127 +127 +127 +127 +119 +81 +36 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +119 +82 +46 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-104 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +19 +6 +4 +5 +11 +15 +18 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +60 +127 +127 +127 +108 +71 +36 +-4 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-99 +-23 +116 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-83 +-110 +-127 +-127 +-127 +-52 +86 +127 +127 +127 +127 +92 +56 +14 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +78 +42 +19 +6 +4 +6 +12 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-27 +112 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +46 +5 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-68 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +19 +6 +4 +6 +11 +15 +19 +19 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-26 +113 +127 +127 +127 +127 +119 +80 +54 +37 +32 +31 +35 +38 +40 +39 +17 +-27 +-64 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-111 +-106 +-100 +-110 +-102 +-96 +-20 +119 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-109 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +117 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +20 +6 +4 +6 +12 +16 +19 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-79 +60 +127 +127 +127 +108 +71 +36 +-4 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-100 +-23 +116 +127 +127 +127 +127 +121 +83 +38 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +87 +127 +127 +127 +127 +92 +56 +14 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +1 +-40 +-75 +-104 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +77 +42 +20 +7 +4 +5 +11 +16 +19 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +60 +127 +127 +127 +108 +71 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-74 +64 +127 +127 +127 +112 +75 +40 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-104 +-98 +-22 +118 +127 +127 +127 +127 +121 +83 +38 +-10 +-49 +-82 +-109 +-127 +-127 +-112 +-52 +87 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +5 +7 +13 +16 +20 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-109 +-103 +-26 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +116 +78 +42 +1 +-41 +-75 +-104 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +77 +41 +19 +6 +4 +6 +12 +16 +19 +19 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-27 +113 +127 +127 +127 +127 +119 +81 +36 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +31 +16 +13 +14 +19 +23 +26 +26 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-25 +115 +127 +127 +127 +127 +120 +81 +36 +-11 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +69 +127 +127 +127 +117 +79 +43 +21 +8 +5 +7 +13 +16 +20 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-27 +114 +127 +127 +127 +127 +119 +80 +54 +37 +33 +33 +36 +38 +41 +39 +17 +-28 +-64 +-95 +-105 +-127 +-127 +-127 +-127 +-127 +-111 +-107 +-100 +-110 +-103 +-96 +-21 +119 +127 +127 +127 +127 +123 +84 +40 +-9 +-47 +-81 +-108 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +75 +127 +127 +127 +120 +83 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +42 +2 +-40 +-74 +-104 +-127 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +20 +7 +5 +6 +12 +16 +20 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-110 +-103 +-27 +114 +127 +127 +127 +127 +119 +81 +55 +37 +32 +31 +35 +38 +40 +39 +17 +-28 +-64 +-95 +-105 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +1 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-103 +-97 +-20 +119 +127 +127 +127 +127 +123 +83 +38 +-10 +-48 +-82 +-109 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +74 +127 +127 +127 +120 +83 +48 +6 +-37 +-71 +-102 +-110 +-127 +-127 +-127 +-69 +69 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +67 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +6 +3 +6 +12 +15 +19 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +41 +19 +6 +4 +6 +12 +15 +19 +19 +-2 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-110 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +85 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +119 +82 +47 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +20 +7 +4 +6 +12 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +60 +127 +127 +127 +108 +70 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-98 +-107 +-99 +-23 +118 +127 +127 +127 +127 +121 +83 +37 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +87 +127 +127 +127 +127 +92 +56 +13 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +19 +7 +4 +6 +12 +15 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-110 +-103 +-27 +113 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +56 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +19 +7 +4 +6 +12 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +113 +127 +127 +127 +127 +120 +80 +54 +38 +33 +31 +36 +38 +40 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-103 +-97 +-20 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-109 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +19 +6 +5 +6 +12 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +108 +70 +36 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-100 +-23 +117 +127 +127 +127 +127 +121 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +87 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +78 +42 +19 +6 +5 +6 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +107 +69 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-75 +65 +127 +127 +127 +112 +75 +39 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-105 +-99 +-22 +119 +127 +127 +127 +127 +122 +83 +38 +-10 +-48 +-82 +-109 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +6 +7 +13 +17 +20 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +120 +81 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +19 +6 +5 +6 +12 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-111 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +31 +16 +14 +16 +20 +23 +27 +26 +4 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-101 +-24 +116 +127 +127 +127 +127 +120 +81 +37 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +92 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +6 +7 +13 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-103 +-27 +115 +127 +127 +127 +127 +119 +80 +54 +37 +33 +32 +36 +38 +41 +40 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-111 +-103 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +78 +42 +19 +6 +5 +7 +12 +16 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +55 +37 +33 +33 +36 +38 +41 +39 +16 +-28 +-64 +-95 +-105 +-127 +-127 +-127 +-69 +71 +127 +127 +127 +115 +78 +43 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +56 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-73 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +7 +4 +6 +12 +15 +19 +19 +-3 +-44 +-78 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-111 +-104 +-27 +114 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +44 +3 +-40 +-73 +-103 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +7 +4 +6 +12 +15 +19 +20 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-110 +-103 +-27 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +117 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +7 +4 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +108 +70 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-23 +117 +127 +127 +127 +127 +122 +83 +38 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +20 +7 +5 +7 +13 +16 +19 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +119 +79 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +74 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +43 +1 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +19 +6 +3 +6 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +55 +38 +33 +32 +37 +39 +41 +39 +17 +-27 +-64 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-111 +-104 +-97 +-21 +120 +127 +127 +127 +127 +124 +85 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-112 +-51 +88 +127 +127 +127 +127 +93 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +75 +127 +127 +127 +120 +83 +46 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +20 +7 +6 +6 +12 +16 +20 +19 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +70 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-106 +-100 +-23 +118 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +117 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-70 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +19 +6 +5 +6 +13 +16 +19 +20 +-1 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-75 +65 +127 +127 +127 +112 +75 +39 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-99 +-22 +119 +127 +127 +127 +127 +123 +83 +38 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +43 +21 +8 +6 +8 +14 +18 +20 +20 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-104 +-27 +114 +127 +127 +127 +127 +120 +81 +36 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +1 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +19 +6 +5 +6 +12 +15 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +86 +127 +127 +127 +127 +91 +55 +31 +17 +15 +16 +21 +24 +27 +26 +5 +-38 +-72 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-102 +-25 +116 +127 +127 +127 +127 +121 +82 +36 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +54 +12 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +21 +8 +6 +7 +14 +18 +21 +20 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-111 +-105 +-27 +115 +127 +127 +127 +127 +120 +81 +55 +38 +33 +33 +36 +39 +41 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +6 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-73 +-104 +-112 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +42 +19 +7 +5 +7 +13 +16 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +55 +38 +33 +33 +37 +39 +42 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +42 +1 +-41 +-75 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-105 +-97 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-51 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-64 +75 +127 +127 +127 +120 +82 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +71 +127 +127 +127 +115 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +19 +6 +5 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +120 +81 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +19 +6 +4 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-84 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-98 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +19 +6 +5 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +108 +70 +35 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-23 +118 +127 +127 +127 +127 +122 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +20 +7 +5 +7 +13 +16 +20 +19 +-3 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +115 +127 +127 +127 +127 +120 +81 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-98 +-107 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +119 +81 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +78 +43 +3 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +115 +77 +41 +19 +6 +4 +6 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +114 +127 +127 +127 +127 +119 +80 +54 +38 +33 +33 +37 +40 +42 +39 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-112 +-104 +-98 +-21 +120 +127 +127 +127 +127 +124 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +20 +8 +5 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-80 +61 +127 +127 +127 +107 +69 +34 +-5 +-46 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-23 +119 +127 +127 +127 +127 +122 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +43 +3 +-39 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +78 +42 +1 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +19 +7 +4 +7 +13 +16 +20 +19 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +70 +35 +-5 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-76 +64 +127 +127 +127 +112 +75 +38 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-98 +-106 +-99 +-22 +120 +127 +127 +127 +127 +123 +83 +38 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +70 +127 +127 +127 +116 +79 +42 +20 +8 +6 +8 +14 +18 +21 +21 +-1 +-42 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +36 +-12 +-49 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +55 +13 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +20 +7 +5 +6 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +90 +54 +31 +16 +15 +16 +22 +25 +28 +26 +4 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-109 +-102 +-25 +117 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +87 +127 +127 +127 +127 +92 +55 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +78 +43 +20 +8 +6 +8 +14 +18 +21 +21 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-105 +-28 +115 +127 +127 +127 +127 +119 +81 +55 +37 +33 +33 +37 +39 +42 +40 +16 +-28 +-64 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-112 +-104 +-97 +-21 +121 +127 +127 +127 +127 +124 +85 +39 +-8 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +70 +127 +127 +127 +116 +79 +44 +3 +-39 +-74 +-103 +-111 +-127 +-127 +-127 +-71 +68 +127 +127 +127 +115 +78 +43 +20 +8 +6 +7 +13 +17 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-27 +115 +127 +127 +127 +127 +119 +80 +55 +38 +33 +33 +37 +39 +42 +40 +17 +-27 +-63 +-94 +-104 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +42 +1 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-105 +-98 +-21 +120 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +93 +56 +14 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +83 +47 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-69 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +0 +-42 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +0 +-42 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-105 +-127 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +6 +4 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-97 +-105 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +55 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +82 +46 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +41 +1 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +20 +7 +5 +7 +13 +16 +20 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-112 +-105 +-27 +115 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +55 +12 +-32 +-67 +-98 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +118 +81 +45 +4 +-38 +-73 +-103 +-111 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +3 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +42 +1 +-40 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +6 +4 +7 +13 +17 +19 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +35 +-5 +-46 +-79 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-108 +-101 +-24 +119 +127 +127 +127 +127 +122 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +41 +19 +7 +5 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-112 +-105 +-27 +115 +127 +127 +127 +127 +120 +81 +36 +-11 +-49 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +118 +81 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +7 +5 +6 +13 +17 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-97 +-105 +-27 +115 +127 +127 +127 +127 +119 +80 +54 +38 +33 +33 +38 +40 +42 +40 +18 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-104 +-98 +-21 +121 +127 +127 +127 +127 +124 +85 +39 +-8 +-47 +-81 +-107 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +56 +14 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +77 +42 +19 +7 +6 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +62 +127 +127 +127 +107 +69 +34 +-6 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-108 +-101 +-24 +119 +127 +127 +127 +127 +121 +83 +37 +-10 +-48 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +78 +42 +19 +7 +5 +7 +13 +16 +19 +19 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +106 +69 +34 +-5 +-46 +-80 +-108 +-127 +-127 +-127 +-127 +-76 +65 +127 +127 +127 +112 +74 +39 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-106 +-99 +-22 +120 +127 +127 +127 +127 +123 +84 +38 +-9 +-48 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +20 +8 +7 +8 +14 +18 +21 +20 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-105 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +42 +19 +7 +5 +7 +13 +17 +20 +19 +-2 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-112 +-105 +-28 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +54 +31 +17 +14 +16 +21 +25 +28 +27 +5 +-38 +-72 +-102 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-110 +-103 +-25 +117 +127 +127 +127 +127 +120 +81 +37 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +20 +8 +6 +8 +14 +18 +21 +20 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-105 +-27 +116 +127 +127 +127 +127 +119 +80 +55 +38 +34 +34 +38 +40 +42 +40 +17 +-27 +-63 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-98 +-21 +122 +127 +127 +127 +127 +124 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +55 +13 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-71 +70 +127 +127 +127 +114 +77 +42 +20 +7 +6 +8 +13 +17 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-97 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +55 +38 +34 +33 +37 +39 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +42 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-105 +-98 +-21 +121 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +93 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +76 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +77 +41 +19 +7 +5 +7 +13 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +54 +12 +-32 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +17 +21 +20 +-2 +-43 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-83 +-110 +-127 +-127 +-127 +-54 +86 +127 +127 +127 +127 +91 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +82 +45 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +19 +7 +5 +8 +13 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +34 +-5 +-46 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-109 +-101 +-23 +119 +127 +127 +127 +127 +121 +83 +37 +-10 +-49 +-82 +-109 +-127 +-127 +-127 +-52 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +19 +7 +5 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-97 +-106 +-27 +115 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +70 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +20 +7 +5 +8 +14 +17 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +116 +127 +127 +127 +127 +120 +80 +54 +38 +34 +33 +38 +40 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-105 +-99 +-21 +122 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-81 +-108 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +56 +13 +-30 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-71 +69 +127 +127 +127 +115 +78 +41 +19 +7 +6 +8 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +62 +127 +127 +127 +107 +69 +34 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-108 +-102 +-24 +120 +127 +127 +127 +127 +121 +82 +37 +-10 +-48 +-82 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +77 +42 +19 +7 +6 +7 +14 +17 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +107 +69 +34 +-6 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-77 +65 +127 +127 +127 +111 +74 +38 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-106 +-100 +-22 +121 +127 +127 +127 +127 +123 +83 +38 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-65 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +21 +8 +7 +8 +15 +18 +21 +20 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +81 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +117 +79 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +115 +77 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +68 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +18 +20 +19 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +36 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +87 +127 +127 +127 +127 +90 +54 +31 +17 +15 +16 +21 +25 +28 +26 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-110 +-104 +-25 +118 +127 +127 +127 +127 +120 +81 +36 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +91 +55 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +78 +43 +20 +8 +7 +8 +14 +18 +21 +21 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +55 +38 +34 +34 +38 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-105 +-98 +-21 +122 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +89 +127 +127 +127 +127 +92 +56 +14 +-30 +-65 +-96 +-105 +-127 +-127 +-127 +-65 +75 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +41 +18 +7 +6 +8 +14 +18 +21 +20 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +55 +38 +35 +34 +38 +40 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +77 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-98 +-106 +-99 +-21 +123 +127 +127 +127 +127 +123 +84 +38 +-9 +-47 +-81 +-107 +-127 +-127 +-127 +-51 +89 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +40 +0 +-41 +-75 +-105 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +16 +20 +20 +-3 +-44 +-77 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +34 +-12 +-50 +-83 +-110 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +82 +46 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +3 +-39 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +17 +21 +20 +-3 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +81 +46 +5 +-37 +-72 +-102 +-110 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +41 +19 +8 +5 +8 +14 +16 +20 +19 +-2 +-44 +-77 +-106 +-127 +-127 +-127 +-127 +-81 +62 +127 +127 +127 +106 +68 +34 +-6 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-101 +-109 +-102 +-23 +120 +127 +127 +127 +127 +121 +82 +37 +-10 +-49 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-39 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +42 +20 +7 +5 +8 +14 +16 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-106 +-27 +116 +127 +127 +127 +127 +119 +79 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +75 +127 +127 +127 +119 +81 +46 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +5 +8 +14 +18 +21 +21 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +55 +39 +34 +34 +39 +40 +42 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-100 +-21 +123 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +91 +56 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-70 +71 +127 +127 +127 +116 +79 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +19 +7 +6 +8 +14 +17 +20 +20 +-1 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-81 +61 +127 +127 +127 +106 +69 +34 +-6 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-109 +-102 +-24 +120 +127 +127 +127 +127 +121 +82 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +107 +68 +33 +-7 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-76 +66 +127 +127 +127 +111 +74 +38 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-22 +122 +127 +127 +127 +127 +122 +83 +38 +-9 +-47 +-81 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +54 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +21 +9 +8 +9 +15 +19 +21 +20 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-106 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +115 +77 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +41 +18 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-106 +-28 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-55 +87 +127 +127 +127 +127 +89 +54 +31 +18 +16 +17 +23 +25 +28 +27 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-111 +-104 +-26 +119 +127 +127 +127 +127 +121 +81 +37 +-10 +-49 +-82 +-108 +-127 +-127 +-127 +-53 +88 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +78 +43 +21 +9 +7 +9 +15 +18 +22 +21 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-107 +-27 +117 +127 +127 +127 +127 +120 +80 +55 +38 +35 +35 +39 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-98 +-106 +-99 +-22 +123 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +14 +-30 +-66 +-96 +-104 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +42 +19 +7 +6 +8 +14 +18 +21 +20 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +39 +35 +34 +39 +41 +43 +40 +16 +-28 +-63 +-94 +-103 +-127 +-127 +-127 +-71 +73 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-106 +-99 +-21 +123 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-65 +77 +127 +127 +127 +119 +82 +46 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +115 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +-1 +-42 +-75 +-105 +-112 +-127 +-127 +-127 +-72 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +75 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +75 +40 +-1 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +76 +40 +19 +7 +6 +9 +14 +18 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +11 +-32 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +118 +80 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +77 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +19 +7 +6 +8 +14 +18 +20 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-106 +-27 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +8 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +67 +33 +-7 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-109 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +81 +45 +5 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +77 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +42 +20 +8 +7 +9 +15 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +11 +-32 +-67 +-97 +-106 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +118 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +14 +18 +21 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +116 +127 +127 +127 +127 +119 +80 +54 +39 +35 +35 +39 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-106 +-100 +-22 +123 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +80 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +42 +20 +8 +7 +8 +15 +18 +21 +21 +-1 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +68 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-109 +-102 +-23 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +3 +-39 +-73 +-103 +-110 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +18 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +69 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-77 +65 +127 +127 +127 +111 +74 +38 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-108 +-101 +-23 +122 +127 +127 +127 +127 +123 +83 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +21 +8 +7 +9 +16 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-11 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +31 +17 +16 +18 +23 +26 +29 +27 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-112 +-104 +-26 +119 +127 +127 +127 +127 +121 +81 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +78 +43 +20 +8 +7 +10 +16 +19 +23 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +38 +35 +35 +39 +41 +43 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-21 +124 +127 +127 +127 +127 +124 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +115 +77 +42 +20 +8 +6 +9 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +118 +127 +127 +127 +127 +119 +80 +55 +38 +35 +35 +40 +41 +44 +41 +18 +-26 +-62 +-93 +-103 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-100 +-22 +122 +127 +127 +127 +127 +123 +83 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +115 +77 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +113 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +113 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +19 +7 +6 +8 +14 +18 +21 +21 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-107 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-32 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +77 +41 +20 +8 +6 +9 +15 +17 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-32 +-67 +-97 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-110 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +77 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +19 +7 +5 +8 +14 +18 +21 +21 +-1 +-43 +-76 +-105 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +67 +33 +-7 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-110 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +41 +19 +8 +6 +9 +15 +19 +22 +21 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-107 +-28 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +40 +19 +7 +6 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +54 +39 +35 +35 +39 +41 +43 +40 +17 +-27 +-62 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-101 +-22 +123 +127 +127 +127 +127 +124 +85 +40 +-8 +-46 +-80 +-106 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +14 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +41 +19 +8 +7 +9 +15 +19 +21 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +106 +67 +33 +-7 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-110 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +38 +-10 +-48 +-81 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +81 +45 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +19 +8 +6 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +68 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-77 +65 +127 +127 +127 +111 +74 +38 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-108 +-101 +-23 +122 +127 +127 +127 +127 +122 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +91 +55 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +115 +78 +43 +20 +9 +7 +9 +16 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +118 +127 +127 +127 +127 +120 +81 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-72 +71 +127 +127 +127 +116 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +8 +7 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-98 +-107 +-28 +118 +127 +127 +127 +127 +120 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +31 +17 +16 +18 +23 +26 +29 +28 +5 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-105 +-26 +119 +127 +127 +127 +127 +120 +82 +37 +-10 +-48 +-81 +-108 +-127 +-127 +-127 +-54 +89 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +46 +5 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +78 +42 +19 +8 +8 +10 +15 +19 +23 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +38 +35 +36 +39 +41 +43 +41 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-22 +124 +127 +127 +127 +127 +124 +85 +39 +-8 +-46 +-80 +-106 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +55 +13 +-30 +-65 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +78 +43 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +42 +20 +8 +7 +10 +15 +19 +22 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +117 +127 +127 +127 +127 +119 +80 +55 +39 +35 +35 +39 +41 +43 +41 +17 +-27 +-62 +-94 +-102 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-22 +123 +127 +127 +127 +127 +123 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +75 +40 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +76 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +75 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +113 +76 +40 +19 +7 +5 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +75 +127 +127 +127 +119 +80 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +9 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +116 +127 +127 +127 +127 +120 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-102 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +115 +77 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +1 +-40 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +19 +7 +5 +8 +14 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +68 +34 +-6 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-110 +-102 +-24 +121 +127 +127 +127 +127 +122 +83 +37 +-10 +-48 +-81 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +55 +13 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +19 +8 +6 +9 +15 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-107 +-28 +116 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +87 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +77 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +77 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +9 +14 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +54 +39 +35 +35 +39 +41 +43 +41 +18 +-26 +-62 +-93 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-21 +124 +127 +127 +127 +127 +123 +84 +39 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 +92 +56 +14 +-30 +-65 +-96 +-104 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +114 +77 +41 +19 +8 +7 +9 +15 +19 +21 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +106 +67 +33 +-6 +-47 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-110 +-103 +-24 +121 +127 +127 +127 +127 +122 +83 +38 +-9 +-48 +-81 +-107 +-127 +-127 +-127 +-54 +89 +127 +127 +127 +127 +91 +55 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +77 +127 +127 +127 +120 +81 +45 +5 +-37 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +77 +40 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +19 +8 +7 +9 +15 +18 +20 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +105 +68 +33 +-6 +-46 +-79 +-108 +-127 +-127 +-127 +-127 +-78 +65 +127 +127 +127 +112 +74 +38 +-1 +-43 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-108 +-101 +-22 +123 +127 +127 +127 +127 +123 +83 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +91 +54 +13 +-31 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +79 +43 +21 +9 +8 +10 +15 +19 +22 +21 +-1 +-42 +-75 +-105 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-27 +118 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +75 +127 +127 +127 +119 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-72 +71 +127 +127 +127 +116 +78 +42 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +15 +18 +22 +21 +-1 +-42 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +91 +54 +31 +18 +16 +18 +23 +26 +29 +28 +5 +-37 +-72 +-101 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-112 +-104 +-25 +120 +127 +127 +127 +127 +121 +81 +36 +-11 +-49 +-82 +-108 +-127 +-127 +-127 +-54 +88 +127 +127 +127 +127 +91 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-66 +75 +127 +127 +127 +119 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +71 +127 +127 +127 +116 +78 +42 +20 +8 +7 +10 +15 +19 +22 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-107 +-28 +118 +127 +127 +127 +127 +119 +80 +55 +38 +35 +36 +40 +42 +44 +40 +17 +-27 +-63 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-99 +-107 +-100 +-21 +123 +127 +127 +127 +127 +124 +84 +39 +-8 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +92 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-70 +72 +127 +127 +127 +116 +78 +43 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +42 +20 +8 +7 +10 +15 +19 +22 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-29 +117 +127 +127 +127 +127 +119 +80 +55 +39 +35 +35 +39 +41 +43 +41 +17 +-26 +-62 +-94 +-102 +-127 +-127 +-127 +-72 +72 +127 +127 +127 +115 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-100 +-21 +124 +127 +127 +127 +127 +123 +84 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-53 +89 +127 +127 +127 +127 +92 +56 +13 +-31 +-66 +-96 +-104 +-127 +-127 +-127 +-66 +77 +127 +127 +127 +120 +82 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-39 +-73 +-103 +-111 +-127 +-127 +-127 +-72 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +114 +77 +41 +1 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-73 +68 +127 +127 +127 +114 +77 +41 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +76 +41 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-73 +69 +127 +127 +127 +113 +76 +40 +0 +-42 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +75 +40 +0 +-41 +-75 +-104 +-112 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +75 +41 +0 +-41 +-74 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +7 +6 +8 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-107 +-28 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-83 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-67 +-97 +-105 +-127 +-127 +-127 +-67 +77 +127 +127 +127 +119 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +1 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +75 +40 +19 +7 +6 +9 +15 +18 +22 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-108 +-29 +117 +127 +127 +127 +127 +119 +80 +35 +-12 +-49 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +119 +81 +45 +4 +-38 +-72 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +1 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +0 +-41 +-74 +-104 +-112 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +8 +7 +9 +15 +18 +21 +20 +-2 +-43 +-76 +-106 +-127 +-127 +-127 +-127 +-82 +62 +127 +127 +127 +105 +68 +33 +-7 +-47 +-80 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-110 +-103 +-24 +122 +127 +127 +127 +127 +121 +83 +37 +-10 +-48 +-81 +-107 +-127 +-127 +-127 +-54 +89 +127 +127 +127 +127 +91 +55 +13 +-30 +-66 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +82 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +43 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +19 +8 +6 +9 +15 +18 +21 +20 +-2 +-43 +-76 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-98 +-107 +-28 +118 +127 +127 +127 +127 +119 +80 +35 +-12 +-50 +-82 +-109 +-127 +-127 +-127 +-55 +88 +127 +127 +127 +127 +90 +54 +12 +-31 +-66 +-97 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +46 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-74 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +114 +76 +41 +0 +-41 +-75 +-104 +-111 +-127 +-127 +-127 +-74 +69 +127 +127 +127 +114 +76 +41 +19 +8 +6 +9 +15 +18 +21 +20 +-2 +-43 +-77 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-28 +118 +127 +127 +127 +127 +120 +80 +55 +39 +35 +35 +39 +41 +43 +41 +18 +-26 +-62 +-93 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-107 +-101 +-21 +124 +127 +127 +127 +127 +123 +84 +38 +-9 +-47 +-80 +-107 +-127 +-127 +-127 +-52 +90 +127 +127 +127 +127 +91 +55 +13 +-30 +-65 +-96 +-105 +-127 +-127 +-127 +-67 +76 +127 +127 +127 +120 +81 +45 +5 +-37 +-71 +-101 +-109 +-127 +-127 +-127 +-71 +72 +127 +127 +127 +116 +78 +42 +2 +-40 +-73 +-103 +-111 +-127 +-127 +-127 +-73 +70 +127 +127 +127 +115 +77 +41 +19 +8 +6 +9 +15 +18 +21 +21 +-1 +-42 +-76 +-105 +-127 +-127 +-127 +-127 +-82 +61 +127 +127 +127 +105 +68 +33 +-6 +-46 +-80 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-110 +-103 +-24 +122 +127 +127 +127 +127 +121 +83 +38 +-9 +-48 +-81 +-107 +-127 +-127 +-127 +-53 +90 +127 +127 +127 +127 diff --git a/traces/modulation-ask-man-32.pm3 b/traces/modulation-ask-man-32.pm3 new file mode 100644 index 000000000..b8dfed987 --- /dev/null +++ b/traces/modulation-ask-man-32.pm3 @@ -0,0 +1,20000 @@ +18 +15 +14 +-13 +-35 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +95 +90 +83 +78 +71 +66 +59 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +84 +80 +73 +68 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +38 +36 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +27 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-107 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +113 +105 +96 +91 +82 +78 +71 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +51 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +104 +97 +92 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +56 +51 +49 +44 +42 +37 +35 +31 +30 +25 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +27 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +117 +100 +96 +89 +84 +76 +71 +65 +62 +56 +52 +47 +45 +13 +-13 +-36 +-54 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +114 +107 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-90 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +94 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +71 +66 +61 +57 +52 +49 +15 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +96 +91 +83 +77 +70 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +77 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-81 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +56 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +56 +51 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +15 +13 +13 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-64 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +61 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +69 +63 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +56 +51 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +66 +61 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +82 +78 +70 +67 +60 +56 +51 +49 +44 +41 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +92 +84 +79 +72 +68 +61 +57 +53 +50 +45 +42 +10 +-15 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +97 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +82 +78 +71 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +93 +84 +80 +73 +69 +63 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +52 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-112 +-102 +-107 +-109 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +72 +69 +62 +58 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +82 +78 +70 +66 +61 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +13 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +113 +106 +96 +91 +82 +77 +70 +67 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +79 +73 +69 +61 +59 +53 +50 +16 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +79 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +49 +44 +42 +37 +35 +31 +29 +27 +25 +21 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +110 +95 +91 +84 +79 +72 +68 +62 +58 +51 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +59 +26 +-3 +-25 +-45 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +114 +106 +96 +91 +83 +78 +71 +66 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +107 +100 +93 +85 +80 +72 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +110 +95 +92 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-105 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +103 +94 +89 +81 +76 +69 +65 +59 +55 +50 +48 +15 +-11 +-35 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +58 +53 +51 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +82 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +29 +27 +26 +22 +21 +19 +18 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +54 +23 +-5 +-27 +-48 +-64 +-78 +-88 +-98 +-105 +-113 +-101 +-106 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +107 +99 +93 +84 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +110 +106 +97 +91 +83 +78 +72 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +14 +15 +13 +12 +-16 +-38 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +77 +70 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-14 +-36 +-56 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +44 +42 +37 +35 +32 +30 +26 +26 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +62 +59 +54 +51 +45 +43 +39 +37 +33 +31 +27 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +57 +25 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +97 +91 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +69 +62 +58 +52 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +61 +57 +51 +49 +43 +42 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +116 +101 +97 +89 +83 +76 +72 +65 +61 +55 +52 +48 +45 +12 +-14 +-37 +-55 +-71 +-84 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +114 +106 +96 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +57 +51 +48 +15 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +91 +82 +78 +71 +66 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +56 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +71 +67 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +24 +22 +21 +19 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +54 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +56 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +106 +96 +89 +82 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +73 +69 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +50 +44 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +97 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +107 +100 +93 +84 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +72 +67 +60 +58 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-105 +-113 +-101 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +68 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +67 +60 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +101 +94 +86 +81 +73 +69 +63 +59 +53 +51 +46 +43 +39 +37 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +57 +25 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +97 +91 +83 +78 +70 +67 +60 +56 +22 +-5 +-29 +-48 +-66 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +79 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +83 +79 +72 +67 +61 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-26 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-90 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +107 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +15 +13 +12 +-16 +-38 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +110 +95 +92 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +10 +-15 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +102 +94 +88 +81 +76 +69 +65 +59 +56 +50 +47 +15 +-11 +-35 +-53 +-70 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +59 +27 +-2 +-25 +-45 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +109 +99 +93 +85 +80 +72 +69 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +79 +71 +66 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +16 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +104 +96 +90 +82 +77 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +67 +62 +59 +52 +50 +16 +-10 +-33 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +70 +67 +61 +57 +51 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +66 +60 +57 +51 +49 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +90 +82 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +77 +70 +66 +60 +57 +51 +48 +43 +41 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-13 +-36 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +78 +71 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +26 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +99 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-79 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +112 +102 +95 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +77 +71 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +96 +91 +83 +77 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +70 +63 +59 +53 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +117 +101 +96 +88 +84 +76 +71 +65 +61 +55 +52 +47 +45 +12 +-14 +-36 +-54 +-71 +-84 +-95 +-104 +-112 +-102 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-25 +-45 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +78 +72 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +61 +57 +51 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +60 +56 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +104 +97 +91 +82 +78 +70 +67 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +52 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +70 +66 +60 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-106 +-113 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +89 +82 +78 +70 +66 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +72 +69 +62 +58 +52 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +52 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-99 +-106 +-113 +-102 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +89 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +72 +69 +63 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +18 +18 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +67 +61 +57 +53 +50 +44 +42 +10 +-15 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +58 +25 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-26 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +58 +23 +-4 +-28 +-48 +-65 +-78 +-90 +-99 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +68 +63 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +78 +70 +66 +60 +56 +22 +-5 +-29 +-48 +-66 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +66 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +90 +83 +77 +70 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +30 +28 +27 +-3 +-27 +-48 +-64 +-79 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +95 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +112 +106 +96 +91 +82 +78 +70 +67 +61 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +92 +84 +79 +72 +68 +62 +58 +52 +49 +45 +42 +9 +-16 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +78 +71 +67 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +70 +66 +60 +57 +51 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +110 +95 +92 +84 +79 +72 +67 +62 +58 +52 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +102 +94 +88 +81 +76 +69 +64 +59 +56 +50 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +97 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-104 +-112 +-101 +-106 +-109 +-112 +-127 +-26 +127 +127 +127 +127 +123 +113 +107 +97 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +51 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +82 +79 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +32 +29 +27 +25 +22 +21 +19 +17 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +56 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +70 +66 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +44 +42 +37 +35 +31 +29 +27 +26 +22 +21 +18 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-77 +-88 +-98 +-105 +-113 +-101 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +106 +95 +90 +82 +78 +70 +66 +60 +56 +51 +48 +43 +42 +37 +35 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-13 +-36 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +80 +73 +69 +62 +59 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +103 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +97 +91 +82 +78 +71 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +72 +68 +63 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-81 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +48 +43 +42 +37 +34 +32 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +116 +101 +97 +88 +83 +76 +71 +65 +61 +55 +52 +47 +45 +12 +-14 +-37 +-55 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +114 +107 +97 +91 +83 +77 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +91 +82 +78 +70 +66 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +67 +60 +56 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +56 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +96 +91 +83 +78 +70 +66 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +51 +49 +43 +41 +37 +35 +31 +30 +26 +24 +22 +21 +18 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +54 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +65 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +79 +72 +68 +62 +59 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +95 +90 +83 +77 +70 +66 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +68 +62 +59 +53 +51 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +50 +44 +41 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-113 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +107 +97 +92 +83 +78 +71 +67 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +78 +70 +65 +60 +57 +22 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +79 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +48 +44 +42 +37 +35 +31 +30 +27 +25 +21 +21 +18 +17 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +86 +81 +73 +69 +63 +60 +53 +51 +46 +43 +39 +36 +32 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +25 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +70 +66 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +85 +79 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +17 +15 +15 +12 +11 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +111 +95 +92 +84 +79 +72 +67 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +93 +85 +79 +73 +69 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +110 +106 +97 +91 +83 +78 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +71 +66 +60 +57 +52 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +70 +67 +60 +57 +51 +48 +44 +41 +37 +35 +32 +30 +26 +25 +22 +20 +19 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +110 +95 +91 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +102 +94 +88 +81 +76 +69 +65 +59 +56 +50 +47 +15 +-12 +-35 +-53 +-70 +-83 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +58 +26 +-2 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +93 +85 +80 +72 +69 +62 +59 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +79 +71 +66 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +27 +25 +22 +22 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +105 +95 +91 +82 +77 +71 +67 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +84 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +61 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +81 +78 +71 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +120 +112 +105 +96 +90 +82 +78 +70 +66 +60 +56 +51 +48 +43 +41 +37 +35 +31 +30 +26 +25 +22 +21 +18 +17 +15 +14 +-14 +-36 +-56 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +55 +24 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +78 +70 +67 +60 +56 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +100 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +22 +18 +18 +16 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +74 +69 +63 +59 +54 +50 +45 +43 +39 +37 +32 +31 +28 +27 +-3 +-27 +-48 +-65 +-79 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +77 +70 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +81 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +70 +63 +59 +53 +51 +46 +43 +38 +36 +33 +31 +28 +25 +-4 +-27 +-48 +-65 +-80 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +117 +101 +96 +89 +84 +77 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-36 +-55 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +58 +26 +-3 +-25 +-45 +-62 +-76 +-87 +-97 +-104 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +79 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +100 +94 +86 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +106 +97 +91 +83 +78 +70 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-48 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +70 +66 +61 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +71 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +54 +23 +-6 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +78 +71 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +85 +80 +72 +68 +62 +58 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +104 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +82 +78 +70 +67 +60 +56 +51 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +93 +54 +22 +-6 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-102 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +90 +83 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +66 +60 +57 +51 +49 +43 +41 +37 +35 +31 +30 +26 +24 +22 +21 +18 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +72 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-100 +-109 +-99 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +72 +69 +62 +59 +52 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +55 +23 +-5 +-27 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +60 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +83 +78 +70 +66 +61 +57 +51 +48 +44 +41 +37 +35 +31 +30 +26 +25 +22 +22 +19 +17 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +85 +81 +74 +69 +63 +59 +53 +51 +46 +43 +38 +37 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-101 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +101 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +91 +82 +78 +71 +67 +60 +57 +22 +-4 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +69 +62 +57 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +52 +49 +44 +41 +37 +35 +31 +29 +26 +25 +22 +22 +18 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +92 +84 +79 +72 +67 +62 +58 +52 +50 +44 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +114 +106 +97 +91 +83 +78 +71 +67 +61 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +52 +49 +44 +41 +36 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +15 +13 +11 +-16 +-38 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-61 +127 +127 +111 +95 +92 +84 +79 +72 +68 +61 +58 +52 +50 +45 +42 +10 +-15 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +106 +102 +94 +88 +81 +76 +69 +65 +59 +56 +50 +47 +15 +-11 +-35 +-53 +-70 +-82 +-94 +-103 +-111 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-26 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-4 +-28 +-48 +-65 +-78 +-91 +-99 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +86 +81 +72 +69 +63 +59 +52 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +52 +49 +44 +42 +38 +36 +31 +29 +27 +25 +22 +21 +18 +17 +15 +15 +13 +11 +-16 +-38 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +91 +82 +77 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-109 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +110 +106 +97 +91 +83 +78 +71 +67 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +90 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +66 +61 +57 +51 +48 +44 +42 +37 +35 +31 +30 +26 +25 +22 +20 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-78 +-88 +-98 +-105 +-112 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +60 +57 +52 +48 +43 +41 +37 +34 +31 +29 +26 +25 +22 +21 +18 +18 +15 +14 +-13 +-36 +-56 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-48 +-64 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +90 +82 +77 +70 +67 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-108 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +14 +13 +13 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +54 +50 +45 +43 +39 +36 +32 +31 +28 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +113 +106 +96 +91 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +91 +83 +78 +70 +67 +61 +56 +51 +49 +44 +42 +37 +35 +31 +30 +26 +25 +22 +21 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +36 +32 +31 +28 +26 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-55 +127 +127 +116 +101 +96 +88 +84 +76 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-71 +-84 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +59 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +123 +113 +106 +97 +91 +83 +78 +70 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-108 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +90 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +49 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +83 +78 +71 +67 +60 +56 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +61 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +56 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +70 +67 +61 +56 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-107 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +97 +90 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +78 +71 +66 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +61 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +66 +60 +57 +51 +48 +43 +41 +38 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-105 +-113 +-102 +-107 +-110 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +65 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +70 +67 +60 +57 +52 +49 +43 +41 +37 +35 +31 +29 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-106 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +51 +49 +16 +-10 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +60 +57 +51 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +61 +56 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +66 +61 +57 +51 +48 +43 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-85 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +98 +58 +26 +-3 +-25 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-27 +127 +127 +127 +127 +123 +114 +106 +97 +91 +83 +78 +71 +67 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-69 +-82 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +78 +70 +67 +61 +57 +51 +49 +44 +41 +37 +35 +31 +30 +26 +25 +22 +21 +19 +17 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +54 +23 +-6 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +70 +66 +61 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +69 +63 +59 +52 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +66 +61 +57 +52 +49 +16 +-10 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +70 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-93 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +104 +96 +91 +83 +77 +70 +67 +60 +57 +52 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +51 +49 +44 +41 +37 +36 +31 +29 +26 +25 +22 +21 +18 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +82 +73 +69 +63 +60 +53 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +65 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +106 +96 +91 +83 +78 +70 +66 +60 +57 +22 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +112 +108 +99 +93 +85 +79 +73 +69 +62 +58 +53 +50 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +67 +61 +56 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +82 +78 +71 +67 +61 +57 +51 +49 +44 +42 +36 +35 +31 +29 +26 +25 +22 +21 +19 +17 +15 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +62 +58 +52 +50 +45 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-113 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-102 +-111 +70 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +58 +26 +-3 +-26 +-46 +-62 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +113 +106 +97 +91 +83 +79 +72 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +100 +94 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +91 +83 +78 +71 +67 +60 +56 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +90 +83 +78 +70 +67 +60 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +51 +48 +44 +42 +37 +35 +31 +29 +26 +25 +22 +20 +18 +18 +15 +15 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +68 +61 +58 +52 +49 +45 +42 +10 +-16 +-38 +-56 +-72 +-84 +-96 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-49 +127 +127 +123 +107 +103 +94 +88 +80 +76 +69 +64 +59 +56 +50 +47 +14 +-12 +-35 +-53 +-70 +-83 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +72 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +59 +26 +-2 +-25 +-45 +-61 +-76 +-87 +-97 +-105 +-112 +-101 +-106 +-109 +-112 +-127 +-26 +127 +127 +127 +127 +123 +113 +107 +97 +92 +83 +78 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +51 +17 +-9 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +44 +41 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +14 +15 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-101 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +99 +93 +84 +80 +73 +68 +61 +59 +53 +50 +17 +-10 +-33 +-52 +-69 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +91 +83 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +90 +83 +77 +71 +67 +60 +57 +52 +48 +44 +42 +37 +34 +31 +30 +26 +25 +22 +21 +19 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-109 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +60 +56 +51 +48 +44 +41 +37 +35 +31 +29 +25 +25 +22 +20 +18 +17 +15 +14 +-14 +-36 +-55 +-71 +-85 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +55 +23 +-5 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-113 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +78 +70 +65 +59 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-99 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +113 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +43 +42 +37 +35 +31 +30 +26 +25 +23 +22 +18 +18 +15 +14 +13 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +-3 +-27 +-48 +-65 +-79 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +64 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +56 +24 +-4 +-27 +-47 +-63 +-77 +-88 +-98 +-105 +-112 +-101 +-106 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +122 +112 +105 +96 +91 +83 +78 +71 +67 +60 +57 +23 +-4 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +16 +-10 +-33 +-52 +-68 +-82 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +127 +110 +105 +97 +91 +83 +78 +71 +67 +60 +57 +52 +48 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +109 +106 +97 +90 +83 +78 +70 +67 +60 +57 +52 +49 +44 +41 +37 +35 +31 +30 +26 +24 +22 +22 +19 +18 +15 +14 +12 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-106 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +81 +73 +69 +63 +59 +53 +51 +45 +43 +38 +37 +33 +31 +28 +25 +-4 +-27 +-48 +-65 +-80 +-91 +-102 +-109 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-56 +127 +127 +116 +101 +97 +89 +83 +76 +72 +65 +62 +55 +52 +47 +45 +13 +-13 +-36 +-54 +-71 +-83 +-95 +-104 +-112 +-101 +-107 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +71 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +99 +59 +26 +-2 +-25 +-45 +-62 +-76 +-87 +-97 +-104 +-112 +-101 +-106 +-109 +-112 +-127 +-27 +127 +127 +127 +127 +122 +114 +106 +96 +91 +83 +79 +71 +67 +61 +57 +23 +-5 +-29 +-48 +-65 +-78 +-91 +-100 +-108 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-43 +127 +127 +127 +113 +108 +99 +94 +85 +79 +73 +69 +62 +59 +53 +50 +17 +-9 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +106 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +78 +71 +65 +61 +57 +52 +49 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +70 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +78 +71 +66 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +97 +90 +82 +78 +71 +66 +60 +57 +51 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +104 +97 +91 +83 +78 +70 +67 +61 +57 +51 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +83 +77 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +104 +96 +91 +82 +78 +71 +67 +60 +57 +51 +49 +43 +41 +37 +35 +31 +29 +27 +25 +22 +21 +19 +17 +15 +15 +12 +12 +-16 +-37 +-57 +-72 +-86 +-97 +-107 +-98 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +55 +23 +-5 +-28 +-48 +-63 +-77 +-88 +-98 +-106 +-113 +-102 +-107 +-110 +-127 +-127 +-28 +127 +127 +127 +127 +121 +111 +106 +96 +90 +82 +78 +71 +66 +60 +56 +22 +-5 +-29 +-48 +-66 +-79 +-91 +-100 +-109 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +108 +100 +93 +85 +80 +73 +68 +62 +59 +52 +50 +17 +-10 +-33 +-52 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +127 +109 +105 +97 +91 +82 +78 +71 +67 +60 +57 +52 +49 +16 +-10 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +77 +71 +67 +60 +57 +52 +49 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +51 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +18 +18 +15 +15 +13 +12 +-15 +-37 +-57 +-72 +-86 +-97 +-107 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +93 +54 +23 +-6 +-28 +-48 +-64 +-78 +-88 +-98 +-106 +-113 +-101 +-107 +-109 +-127 +-127 +-28 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +61 +57 +23 +-5 +-29 +-48 +-65 +-79 +-91 +-100 +-108 +-98 +-105 +-109 +-127 +-127 +-127 +-127 +-44 +127 +127 +127 +112 +107 +99 +93 +85 +80 +72 +69 +62 +58 +53 +50 +17 +-10 +-33 +-51 +-68 +-81 +-93 +-102 +-110 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-46 +127 +127 +126 +110 +105 +97 +91 +83 +78 +71 +67 +61 +57 +52 +48 +15 +-11 +-34 +-52 +-69 +-82 +-94 +-102 +-111 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +96 +91 +83 +78 +70 +67 +60 +57 +52 +48 +15 +-11 +-34 +-53 +-69 +-82 +-94 +-102 +-111 +-101 +-107 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +125 +109 +105 +96 +91 +83 +78 +71 +67 +60 +57 +52 +48 +16 +-11 +-34 +-52 +-69 +-82 +-94 +-103 +-111 +-100 +-106 +-110 +-127 +-127 +-127 +-127 +-47 +127 +127 +126 +109 +105 +97 +91 +82 +77 +70 +67 +61 +56 +51 +49 +44 +42 +37 +35 +31 +30 +26 +24 +22 +21 +18 +18 +15 +14 +13 +12 +-15 +-37 +-57 +-72 +-86 +-96 +-106 +-97 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-62 +127 +127 +111 +95 +91 +84 +79 +72 +67 +62 +58 +52 +50 +45 +42 +10 +-16 +-39 +-56 +-72 +-85 +-96 +-105 +-113 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 diff --git a/traces/modulation-ask-man-40.pm3 b/traces/modulation-ask-man-40.pm3 new file mode 100644 index 000000000..8fdb2e6c2 --- /dev/null +++ b/traces/modulation-ask-man-40.pm3 @@ -0,0 +1,20000 @@ +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +98 +89 +84 +76 +72 +65 +61 +55 +53 +47 +44 +12 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +88 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +85 +77 +72 +65 +61 +55 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +98 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +98 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +66 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +71 +65 +61 +55 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +24 +20 +19 +17 +16 +13 +13 +11 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +44 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +67 +61 +57 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +89 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +76 +72 +65 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +10 +9 +6 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +69 +64 +58 +56 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +93 +84 +79 +72 +68 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +91 +85 +77 +73 +66 +61 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +33 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +62 +56 +53 +47 +45 +40 +38 +34 +31 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +95 +87 +82 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +20 +19 +16 +16 +-13 +-35 +-55 +-71 +-85 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-111 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +88 +83 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +71 +68 +62 +57 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +63 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +33 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +10 +9 +9 +6 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-100 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +102 +93 +88 +80 +75 +68 +65 +59 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +93 +84 +79 +72 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +77 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-89 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +69 +65 +58 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +112 +103 +96 +87 +83 +75 +71 +64 +61 +55 +52 +47 +44 +11 +-15 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-107 +-102 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +92 +84 +79 +72 +67 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-36 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +73 +66 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +66 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +8 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +96 +88 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +49 +45 +42 +38 +36 +31 +30 +27 +26 +22 +21 +19 +17 +16 +15 +13 +12 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-100 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +97 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +11 +10 +9 +9 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-111 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +88 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +48 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +116 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +66 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-19 +-41 +-61 +-76 +-89 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +74 +70 +64 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +20 +19 +16 +16 +-12 +-35 +-55 +-71 +-85 +-96 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-30 +127 +127 +127 +127 +121 +112 +106 +96 +89 +82 +78 +70 +66 +60 +56 +51 +49 +43 +41 +9 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-100 +-109 +-102 +-96 +-90 +-83 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +45 +15 +-13 +-35 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +84 +76 +72 +65 +62 +56 +53 +47 +45 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +76 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +62 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +20 +17 +15 +13 +14 +12 +11 +9 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +106 +97 +92 +84 +79 +72 +67 +61 +58 +52 +49 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +115 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +115 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +24 +23 +20 +19 +17 +16 +13 +13 +11 +11 +9 +8 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +81 +43 +13 +-14 +-36 +-55 +-70 +-84 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +62 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +71 +65 +62 +55 +52 +47 +45 +40 +38 +33 +32 +29 +27 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +94 +88 +80 +76 +69 +64 +59 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-75 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-108 +-102 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +71 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +41 +38 +33 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +11 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +72 +67 +62 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +14 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +18 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +96 +88 +82 +44 +13 +-14 +-36 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +66 +61 +55 +52 +48 +45 +40 +37 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +104 +99 +90 +85 +77 +74 +66 +62 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +98 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +66 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +23 +23 +20 +19 +16 +16 +14 +13 +11 +10 +9 +9 +7 +6 +-21 +-42 +-61 +-77 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +94 +88 +80 +75 +69 +65 +59 +55 +49 +47 +42 +40 +8 +-18 +-40 +-58 +-75 +-87 +-98 +-107 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +113 +103 +96 +88 +83 +76 +71 +65 +61 +55 +52 +46 +45 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-99 +-107 +-101 +-94 +-89 +-83 +-78 +-72 +-68 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +71 +68 +62 +58 +53 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +86 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +91 +84 +79 +71 +68 +61 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +65 +63 +56 +53 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +76 +71 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +11 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +55 +53 +48 +44 +11 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +65 +61 +56 +53 +46 +45 +40 +38 +34 +32 +28 +27 +25 +23 +19 +19 +16 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +93 +84 +79 +72 +68 +62 +58 +52 +49 +44 +42 +38 +35 +32 +31 +27 +26 +23 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-99 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-70 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +15 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +74 +70 +64 +60 +54 +51 +45 +44 +39 +37 +33 +31 +28 +26 +24 +22 +19 +19 +16 +15 +-13 +-36 +-56 +-72 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +88 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +68 +61 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +63 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +11 +8 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-99 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +24 +22 +19 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-29 +127 +127 +127 +127 +121 +112 +105 +95 +91 +82 +77 +70 +67 +61 +57 +51 +48 +43 +42 +9 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-108 +-102 +-95 +-90 +-83 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +77 +72 +65 +61 +56 +53 +47 +44 +12 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +115 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +11 +-15 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +73 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +83 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-21 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +95 +87 +81 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-104 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +57 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +28 +26 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +71 +68 +61 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +41 +38 +34 +32 +29 +27 +24 +23 +20 +20 +16 +15 +14 +14 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +69 +64 +59 +56 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +97 +89 +84 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +93 +84 +79 +72 +68 +61 +58 +53 +49 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +77 +73 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +101 +95 +87 +82 +44 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +106 +98 +92 +84 +79 +72 +68 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +61 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +66 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +98 +89 +83 +76 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +76 +72 +65 +62 +56 +52 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +16 +16 +14 +12 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-100 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +83 +75 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +24 +22 +20 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +112 +102 +96 +87 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +62 +57 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +65 +62 +57 +52 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +10 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +94 +88 +80 +76 +68 +65 +58 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +79 +72 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +113 +102 +96 +88 +83 +75 +71 +64 +61 +55 +51 +47 +45 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-101 +-95 +-90 +-83 +-78 +-72 +-68 +-63 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +93 +84 +80 +73 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +28 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-41 +-60 +-76 +-89 +-100 +-110 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +15 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +71 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +52 +48 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +14 +-14 +-35 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +71 +67 +62 +58 +52 +49 +45 +42 +37 +36 +32 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-100 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +44 +40 +39 +34 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +6 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +75 +70 +64 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +19 +16 +16 +-13 +-35 +-55 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +96 +88 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +93 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +85 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +63 +59 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +24 +22 +19 +19 +16 +15 +-13 +-35 +-55 +-71 +-86 +-97 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-30 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +77 +70 +65 +60 +57 +50 +48 +44 +41 +9 +-17 +-40 +-57 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-100 +-108 +-102 +-96 +-90 +-83 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +63 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +76 +72 +66 +62 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +66 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +84 +76 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +76 +71 +65 +61 +55 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +10 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +115 +107 +97 +92 +84 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +73 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +25 +23 +19 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-75 +-90 +-100 +-109 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +106 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +116 +105 +98 +90 +85 +77 +73 +66 +62 +57 +53 +47 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +8 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +103 +94 +88 +80 +75 +68 +64 +59 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-86 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-108 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +83 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-10 +-34 +-53 +-69 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +65 +62 +57 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +62 +55 +52 +47 +45 +40 +38 +33 +32 +29 +27 +24 +23 +20 +18 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-82 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +65 +62 +56 +53 +48 +46 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +98 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +64 +60 +54 +52 +46 +43 +39 +37 +33 +31 +28 +27 +24 +22 +19 +19 +17 +16 +-13 +-35 +-55 +-71 +-86 +-97 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +87 +82 +44 +14 +-14 +-35 +-54 +-69 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +91 +85 +77 +73 +66 +62 +56 +53 +47 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +90 +84 +77 +72 +66 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-109 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +94 +88 +80 +75 +68 +64 +58 +55 +49 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +107 +99 +93 +84 +79 +72 +68 +62 +59 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +57 +53 +48 +46 +13 +-13 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +21 +20 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +103 +94 +87 +80 +76 +68 +65 +59 +55 +50 +47 +42 +40 +8 +-18 +-40 +-58 +-74 +-87 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +113 +102 +96 +88 +83 +75 +71 +65 +61 +55 +51 +46 +44 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-105 +-99 +-107 +-101 +-95 +-89 +-83 +-78 +-72 +-68 +-63 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +92 +85 +79 +72 +67 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +84 +76 +72 +66 +62 +55 +52 +48 +45 +40 +38 +34 +32 +29 +27 +23 +23 +20 +19 +17 +16 +13 +14 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +71 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +97 +90 +84 +76 +72 +66 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +15 +14 +14 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +84 +79 +72 +68 +61 +58 +53 +49 +44 +42 +38 +35 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +-19 +-41 +-60 +-75 +-89 +-99 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-76 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +87 +82 +43 +13 +-14 +-36 +-55 +-70 +-84 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +67 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +74 +66 +61 +57 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +62 +56 +53 +48 +45 +40 +38 +34 +32 +28 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +64 +60 +54 +51 +46 +44 +40 +37 +33 +32 +28 +25 +23 +22 +20 +18 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +102 +96 +88 +83 +45 +14 +-14 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +71 +68 +62 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +8 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +75 +71 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +27 +23 +22 +20 +19 +15 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-29 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +77 +70 +67 +61 +56 +51 +48 +44 +41 +9 +-17 +-40 +-57 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-100 +-108 +-102 +-95 +-90 +-83 +-78 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +45 +15 +-13 +-34 +-54 +-69 +-82 +-93 +-103 +-110 +-100 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +72 +68 +61 +58 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +103 +98 +90 +84 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +62 +55 +52 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +66 +62 +55 +52 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +96 +89 +84 +77 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +46 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +62 +56 +53 +47 +44 +12 +-15 +-37 +-56 +-72 +-85 +-97 +-105 +-114 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +48 +45 +39 +38 +34 +32 +28 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +8 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-54 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +97 +92 +84 +79 +71 +68 +62 +58 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +62 +56 +52 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +66 +61 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +83 +44 +14 +-14 +-35 +-54 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +67 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +54 +48 +46 +13 +-13 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +52 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +71 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +37 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +-19 +-41 +-61 +-76 +-89 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +93 +88 +80 +75 +68 +64 +58 +56 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-106 +-99 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +116 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +113 +103 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +98 +93 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +116 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +52 +47 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +84 +77 +72 +65 +61 +56 +53 +46 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +15 +13 +13 +11 +11 +9 +9 +7 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-104 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +53 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +63 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +83 +77 +72 +65 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +31 +28 +27 +24 +23 +20 +19 +17 +16 +14 +12 +11 +11 +9 +8 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-112 +-105 +-100 +-93 +-87 +-81 +-77 +-71 +110 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +75 +70 +63 +60 +54 +51 +45 +44 +39 +37 +33 +31 +27 +27 +24 +22 +19 +19 +16 +15 +-13 +-35 +-56 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +111 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +96 +88 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +91 +84 +79 +72 +67 +61 +58 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-103 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +55 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +13 +13 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +124 +118 +109 +103 +93 +88 +80 +75 +69 +65 +59 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-87 +-98 +-107 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-83 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +113 +104 +97 +88 +84 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +124 +115 +108 +99 +92 +84 +79 +72 +68 +61 +57 +52 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +66 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +90 +84 +76 +72 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +45 +40 +37 +34 +32 +29 +27 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-33 +127 +127 +127 +123 +118 +109 +102 +93 +88 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +8 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-20 +127 +127 +127 +127 +127 +120 +112 +102 +96 +87 +83 +75 +70 +64 +61 +55 +51 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-108 +-101 +-95 +-89 +-82 +-78 +-72 +-68 +-63 +118 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +45 +15 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +99 +93 +84 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +74 +66 +62 +57 +53 +48 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +20 +17 +16 +13 +13 +11 +11 +9 +8 +6 +7 +-20 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +14 +-14 +-35 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +67 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +83 +76 +72 +65 +62 +56 +52 +47 +45 +13 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-19 +127 +127 +127 +127 +127 +122 +114 +103 +97 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +88 +84 +76 +72 +65 +61 +56 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +12 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-99 +-93 +-87 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +96 +87 +82 +43 +13 +-14 +-36 +-55 +-69 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +115 +107 +98 +92 +84 +79 +72 +67 +61 +58 +52 +50 +45 +42 +37 +36 +32 +29 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +7 +8 +-19 +-41 +-60 +-75 +-89 +-99 +-109 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-109 +-102 +-113 +-105 +-99 +-92 +-87 +-81 +-76 +-70 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +86 +82 +44 +13 +-14 +-35 +-55 +-69 +-83 +-93 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +124 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +52 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +122 +115 +106 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +98 +89 +84 +77 +72 +66 +62 +55 +53 +48 +45 +40 +38 +34 +32 +29 +27 +24 +23 +20 +19 +16 +16 +14 +13 +11 +11 +9 +9 +7 +6 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-105 +-100 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +87 +82 +74 +70 +64 +60 +54 +51 +47 +44 +39 +37 +33 +31 +28 +26 +23 +23 +20 +19 +16 +16 +-13 +-35 +-55 +-71 +-86 +-97 +-107 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +112 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +112 +102 +95 +88 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +79 +72 +68 +61 +57 +53 +50 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +89 +85 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +52 +47 +45 +40 +38 +34 +32 +29 +28 +24 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +8 +-19 +-41 +-61 +-76 +-89 +-100 +-110 +-101 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +74 +70 +64 +60 +54 +51 +46 +43 +40 +37 +33 +31 +28 +26 +24 +23 +19 +18 +16 +16 +-12 +-35 +-55 +-71 +-86 +-97 +-106 +-98 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-30 +127 +127 +127 +126 +121 +112 +105 +96 +90 +82 +78 +70 +66 +60 +56 +51 +48 +44 +41 +8 +-17 +-40 +-58 +-74 +-86 +-98 +-106 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-99 +-108 +-102 +-95 +-90 +-83 +-79 +-73 +-69 +-64 +117 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +45 +14 +-13 +-35 +-54 +-69 +-83 +-93 +-103 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-3 +127 +127 +127 +127 +127 +127 +125 +114 +108 +99 +92 +84 +79 +72 +68 +62 +59 +53 +50 +16 +-10 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-17 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +84 +77 +73 +66 +62 +56 +53 +48 +46 +13 +-14 +-37 +-55 +-72 +-84 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +88 +84 +77 +71 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +120 +114 +104 +97 +89 +83 +76 +72 +65 +61 +56 +53 +48 +44 +12 +-14 +-38 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +97 +89 +84 +77 +72 +65 +62 +56 +53 +47 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +115 +104 +98 +89 +83 +76 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +77 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +76 +72 +65 +61 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +122 +114 +104 +97 +89 +84 +76 +71 +65 +61 +56 +52 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +98 +89 +83 +76 +72 +65 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +71 +65 +62 +55 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +76 +72 +65 +61 +56 +53 +47 +44 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +103 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +40 +38 +34 +32 +29 +28 +24 +22 +20 +19 +17 +15 +13 +14 +11 +11 +9 +9 +7 +7 +-20 +-42 +-61 +-76 +-90 +-100 +-110 +-101 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-99 +-93 +-87 +-81 +-76 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +44 +13 +-14 +-35 +-55 +-70 +-83 +-94 +-103 +-110 +-101 +-106 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +84 +78 +72 +68 +61 +58 +52 +49 +16 +-11 +-34 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-16 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +90 +84 +76 +72 +66 +61 +55 +53 +48 +45 +12 +-14 +-37 +-56 +-72 +-85 +-97 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +114 +104 +97 +89 +84 +77 +72 +65 +61 +56 +53 +47 +45 +12 +-14 +-37 +-55 +-72 +-85 +-96 +-105 +-113 +-103 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-18 +127 +127 +127 +127 +127 +121 +113 +104 +97 +89 +84 +77 +72 +65 +62 +55 +52 +47 +45 +40 +38 +34 +32 +29 +27 +25 +23 +20 +19 +17 +15 +14 +13 +11 +11 +9 +9 +7 +7 +-19 +-41 +-61 +-76 +-90 +-100 +-110 +-100 +-107 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-113 +-106 +-100 +-93 +-88 +-81 +-77 +-71 +109 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +102 +95 +87 +82 +43 +13 +-14 +-36 +-55 +-70 +-83 +-94 +-104 +-110 +-101 +-105 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-4 +127 +127 +127 +127 +127 +127 +125 +114 +107 +98 +92 +83 +79 +72 +68 +62 +58 +52 +49 +16 +-11 +-35 +-53 +-70 +-83 +-95 +-104 +-112 +-102 +-108 +-112 +-127 +-127 +-127 diff --git a/traces/modulation-ask-man-8.pm3 b/traces/modulation-ask-man-8.pm3 new file mode 100644 index 000000000..7aa4895b4 --- /dev/null +++ b/traces/modulation-ask-man-8.pm3 @@ -0,0 +1,20000 @@ +102 +120 +68 +19 +-23 +-58 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +72 +32 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +118 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +31 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-54 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-76 +-104 +-13 +70 +88 +39 +-6 +-45 +-76 +-104 +-14 +69 +88 +37 +-7 +-46 +-77 +-105 +-14 +70 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +37 +115 +127 +85 +34 +-11 +-46 +-78 +27 +109 +127 +74 +24 +-19 +-54 +-85 +11 +93 +111 +59 +12 +-30 +-64 +-93 +1 +84 +102 +51 +4 +-36 +-68 +-97 +-6 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +25 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +111 +59 +12 +-30 +-64 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-10 +77 +102 +55 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +66 +18 +-24 +-59 +-89 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +95 +66 +27 +-12 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +86 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-95 +-2 +81 +99 +70 +30 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +107 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-1 +81 +99 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +51 +5 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +16 +-26 +-60 +-89 +16 +98 +115 +64 +15 +-27 +-61 +-90 +3 +86 +105 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-10 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-53 +-83 +13 +95 +112 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +97 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-74 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-10 +-46 +-77 +28 +110 +127 +99 +58 +15 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-2 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-26 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +112 +57 +9 +-30 +-64 +44 +126 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +107 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +72 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +78 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-102 +46 +120 +127 +83 +33 +-11 +-47 +-79 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-45 +-76 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-77 +-105 +-16 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +59 +19 +-18 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +125 +73 +24 +-19 +-55 +-85 +11 +93 +111 +59 +12 +-30 +-63 +-93 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +77 +96 +45 +-1 +-40 +-72 +-100 +-10 +74 +92 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-22 +-56 +-86 +19 +102 +118 +66 +18 +-24 +-59 +-89 +6 +88 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +67 +26 +-13 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +28 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +112 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +118 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-46 +-77 +21 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-32 +-66 +-95 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +88 +107 +56 +9 +-33 +-66 +-95 +-1 +82 +100 +49 +3 +-37 +-70 +-98 +-7 +76 +94 +43 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +98 +115 +64 +16 +-26 +-60 +-89 +15 +98 +116 +64 +15 +-26 +-60 +-90 +4 +86 +104 +53 +7 +-34 +-67 +-96 +-3 +80 +97 +69 +29 +-10 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +113 +127 +76 +26 +-17 +-53 +-83 +12 +94 +112 +61 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-4 +79 +96 +46 +0 +-39 +-71 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +64 +16 +-26 +-60 +-90 +3 +87 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +12 +-26 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-63 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-57 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-102 +47 +120 +127 +83 +33 +-12 +-47 +-79 +28 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-4 +79 +95 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-78 +-105 +-15 +69 +86 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-20 +-54 +-85 +11 +94 +111 +59 +11 +-30 +-64 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-101 +-9 +74 +92 +65 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-77 +28 +111 +127 +74 +24 +-19 +-54 +-84 +11 +94 +111 +59 +12 +-30 +-63 +-92 +1 +84 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-58 +-88 +5 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +90 +62 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +34 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-46 +-77 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-37 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +100 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +74 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-60 +-89 +16 +98 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +29 +-10 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-53 +-83 +12 +95 +111 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-96 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-45 +-77 +28 +109 +127 +99 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +100 +47 +1 +-37 +-70 +37 +118 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +71 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +31 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +83 +33 +-12 +-47 +-79 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-30 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +84 +34 +-11 +-46 +-78 +27 +109 +125 +73 +24 +-19 +-54 +-85 +10 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +29 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +111 +59 +12 +-30 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +19 +102 +119 +67 +18 +-24 +-58 +-88 +6 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +1 +-38 +-71 +-99 +-7 +75 +93 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +74 +25 +-19 +-54 +-84 +12 +95 +112 +60 +13 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-36 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +61 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +55 +8 +-31 +-65 +43 +124 +127 +86 +35 +-10 +-46 +-78 +21 +102 +121 +68 +19 +-23 +-58 +-88 +6 +90 +107 +55 +8 +-33 +-66 +-95 +-1 +82 +99 +71 +31 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +32 +106 +123 +71 +22 +-20 +-55 +-85 +19 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-32 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-98 +-6 +77 +93 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +63 +16 +-26 +-61 +-90 +4 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +98 +69 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +112 +61 +13 +-29 +-63 +-92 +2 +86 +102 +52 +5 +-35 +-68 +-97 +-4 +78 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-10 +-45 +-77 +28 +109 +127 +99 +57 +15 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +4 +88 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-29 +-63 +44 +125 +127 +88 +36 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +23 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +83 +33 +-11 +-47 +-78 +28 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-8 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +36 +-8 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +67 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +110 +59 +11 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +65 +24 +-14 +-41 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-19 +-54 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +101 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +20 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-58 +-88 +5 +88 +106 +54 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +110 +127 +75 +26 +-18 +-53 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +4 +-36 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +34 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +8 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +103 +120 +68 +19 +-24 +-58 +-88 +7 +89 +107 +56 +8 +-33 +-66 +-95 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +122 +71 +22 +-20 +-55 +-85 +20 +102 +119 +68 +19 +-24 +-58 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +43 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +55 +8 +-32 +-65 +-94 +0 +82 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-60 +-89 +15 +97 +115 +64 +15 +-27 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +98 +70 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +90 +38 +-7 +-43 +-75 +29 +112 +127 +76 +26 +-18 +-53 +-83 +13 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +28 +109 +126 +98 +57 +15 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +100 +47 +1 +-36 +-69 +38 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-111 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +8 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +9 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-104 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +70 +88 +38 +-6 +-45 +-77 +-104 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +84 +33 +-11 +-47 +-78 +27 +109 +125 +73 +24 +-19 +-54 +-85 +10 +94 +111 +60 +12 +-30 +-63 +-92 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +91 +64 +24 +-14 +-42 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +29 +110 +127 +74 +25 +-19 +-54 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-4 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-43 +-74 +-102 +-11 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +30 +104 +121 +70 +21 +-22 +-56 +-86 +19 +101 +119 +67 +19 +-24 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +82 +98 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +66 +26 +-12 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-44 +-74 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +86 +36 +-9 +-46 +-77 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +90 +107 +55 +8 +-33 +-66 +-95 +-1 +81 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-85 +19 +102 +119 +67 +18 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +48 +2 +-38 +-70 +-98 +-6 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +64 +16 +-25 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +69 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-43 +-76 +30 +112 +127 +76 +26 +-17 +-53 +-83 +13 +94 +112 +61 +13 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +28 +109 +126 +98 +57 +15 +-14 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +48 +1 +-37 +-69 +38 +119 +127 +82 +31 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-89 +5 +88 +105 +77 +36 +-3 +-32 +-63 +-92 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +45 +124 +127 +119 +80 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-29 +-63 +44 +126 +127 +88 +37 +-8 +-45 +-77 +22 +104 +121 +68 +20 +-23 +-57 +-87 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +32 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +117 +78 +38 +9 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-110 +-127 +-101 +47 +119 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-7 +-46 +-77 +-104 +-14 +69 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +84 +33 +-11 +-47 +-78 +27 +109 +127 +74 +24 +-19 +-54 +-84 +11 +93 +111 +59 +12 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +91 +64 +24 +-14 +-41 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +4 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-44 +-74 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +18 +101 +118 +66 +18 +-25 +-59 +-89 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +65 +26 +-13 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +112 +61 +13 +-29 +-63 +-92 +2 +85 +101 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +34 +6 +-29 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +102 +119 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-32 +-65 +-95 +-2 +82 +100 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +121 +71 +22 +-21 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +90 +107 +55 +8 +-32 +-65 +-95 +-1 +81 +99 +48 +2 +-38 +-70 +-98 +-6 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +90 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +55 +8 +-32 +-65 +-94 +0 +82 +101 +51 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +114 +64 +16 +-26 +-60 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +87 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +113 +61 +13 +-29 +-62 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +86 +35 +-10 +-46 +-77 +28 +110 +126 +98 +57 +15 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-102 +53 +127 +127 +100 +47 +1 +-37 +-69 +38 +119 +127 +83 +32 +-12 +-48 +-80 +17 +100 +117 +64 +16 +-26 +-60 +-90 +5 +88 +104 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +104 +121 +68 +19 +-23 +-57 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-79 +-104 +-111 +-127 +-102 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +109 +127 +74 +25 +-18 +-53 +-84 +11 +94 +112 +60 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +39 +-5 +-44 +-75 +-103 +-13 +71 +89 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +93 +111 +59 +11 +-30 +-63 +-93 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +35 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-4 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +30 +104 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +66 +18 +-25 +-59 +-89 +6 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-6 +77 +93 +66 +26 +-13 +-40 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +111 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +112 +75 +34 +6 +-30 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-32 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +107 +55 +8 +-32 +-66 +-95 +-2 +82 +99 +71 +31 +-8 +-35 +-66 +-94 +-102 +-127 +-127 +-3 +84 +107 +58 +11 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-32 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +95 +44 +-1 +-41 +-73 +-100 +-10 +73 +91 +63 +23 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +102 +51 +5 +-35 +-68 +-97 +-103 +-127 +-127 +-127 +25 +99 +115 +65 +17 +-25 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +79 +97 +70 +29 +-9 +-37 +-68 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-43 +-75 +30 +112 +127 +75 +26 +-18 +-53 +-83 +12 +95 +112 +61 +13 +-29 +-62 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +98 +57 +15 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +47 +1 +-37 +-69 +37 +119 +127 +83 +32 +-12 +-48 +-80 +17 +100 +116 +64 +16 +-26 +-60 +-90 +5 +88 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +119 +80 +40 +11 +-26 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-63 +45 +126 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +91 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +72 +32 +-8 +-35 +-66 +-94 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-79 +-104 +-111 +-127 +-102 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +110 +127 +75 +25 +-18 +-53 +-84 +12 +95 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-4 +79 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +39 +-5 +-44 +-76 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +37 +-7 +-46 +-77 +-104 +-14 +70 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +85 +36 +-9 +-47 +-78 +-106 +-15 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-85 +11 +94 +111 +59 +12 +-30 +-63 +-93 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-44 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-21 +-56 +-86 +19 +101 +119 +66 +18 +-24 +-59 +-89 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +80 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +66 +26 +-13 +-41 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-9 +-45 +-76 +29 +111 +127 +75 +26 +-18 +-53 +-83 +12 +94 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +35 +7 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +102 +120 +67 +18 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +70 +30 +-8 +-36 +-67 +-94 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +121 +71 +22 +-21 +-55 +-86 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-1 +82 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +23 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +55 +8 +-32 +-65 +-95 +0 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +98 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +64 +16 +-26 +-61 +-90 +4 +87 +105 +53 +7 +-34 +-67 +-96 +-3 +80 +97 +69 +29 +-10 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-75 +30 +112 +127 +76 +26 +-17 +-53 +-83 +13 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-46 +-77 +29 +111 +127 +99 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +54 +127 +127 +100 +47 +1 +-37 +-69 +37 +120 +127 +83 +32 +-12 +-48 +-80 +17 +99 +117 +64 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +80 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +45 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +71 +31 +-8 +-35 +-66 +-94 +-102 +-127 +-127 +-127 +-127 +-127 +-127 +41 +122 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-12 +-48 +-79 +-104 +-111 +-127 +-102 +46 +119 +127 +83 +33 +-12 +-47 +-78 +29 +110 +127 +74 +25 +-19 +-53 +-84 +12 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-4 +79 +96 +46 +0 +-39 +-71 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +71 +89 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-46 +-77 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +69 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +93 +111 +59 +12 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +77 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +86 +36 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +91 +41 +-4 +-43 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-22 +-56 +-86 +19 +101 +118 +66 +18 +-25 +-59 +-89 +5 +88 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-71 +-99 +-7 +77 +94 +66 +26 +-13 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +26 +-18 +-53 +-84 +12 +95 +112 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +35 +7 +-30 +-63 +-92 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-4 +83 +107 +59 +11 +-30 +-64 +-92 +-100 +-127 +-127 +-127 +33 +106 +123 +71 +22 +-21 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +56 +8 +-33 +-66 +-95 +-1 +82 +99 +48 +2 +-37 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +26 +98 +115 +64 +16 +-26 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +4 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +69 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-43 +-75 +30 +112 +127 +76 +26 +-18 +-53 +-83 +13 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +18 +100 +117 +64 +16 +-26 +-60 +-90 +4 +88 +106 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +80 +40 +11 +-26 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +45 +125 +127 +88 +37 +-8 +-45 +-77 +22 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +109 +57 +9 +-31 +-65 +-94 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-104 +-111 +-127 +-102 +47 +120 +127 +83 +33 +-12 +-47 +-79 +28 +111 +127 +75 +25 +-19 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +39 +-5 +-44 +-76 +-103 +-13 +69 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +87 +37 +-7 +-45 +-77 +-104 +-15 +69 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +69 +87 +36 +-8 +-46 +-78 +-105 +-15 +69 +86 +59 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +35 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +11 +-30 +-64 +-93 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-101 +-9 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-76 +29 +110 +127 +74 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +69 +21 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-59 +-88 +6 +89 +106 +54 +8 +-33 +-66 +-95 +-2 +80 +99 +48 +2 +-38 +-71 +-99 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +36 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +34 +7 +-30 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +123 +127 +87 +36 +-10 +-46 +-77 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +70 +30 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +106 +55 +8 +-33 +-66 +-95 +-1 +82 +99 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +74 +91 +63 +24 +-15 +-43 +-72 +-100 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-65 +-94 +0 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-60 +-89 +16 +98 +116 +64 +16 +-26 +-60 +-90 +3 +87 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +29 +-10 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-4 +79 +97 +46 +0 +-39 +-71 +-99 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-45 +-77 +28 +110 +127 +99 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +47 +1 +-37 +-70 +37 +118 +127 +82 +31 +-13 +-49 +-80 +16 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-76 +21 +103 +120 +68 +19 +-23 +-58 +-88 +8 +91 +107 +56 +9 +-32 +-65 +-94 +-1 +81 +99 +71 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +78 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-102 +46 +120 +127 +83 +33 +-11 +-47 +-79 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +91 +41 +-4 +-43 +-75 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-13 +70 +88 +37 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +125 +73 +24 +-20 +-55 +-85 +11 +94 +111 +59 +12 +-29 +-63 +-92 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-5 +77 +96 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +64 +25 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-10 +78 +102 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +19 +102 +119 +67 +18 +-24 +-58 +-88 +6 +89 +106 +55 +8 +-33 +-66 +-95 +-2 +82 +99 +47 +1 +-38 +-71 +-99 +-7 +77 +94 +66 +26 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +120 +127 +88 +37 +-8 +-44 +-76 +29 +110 +127 +75 +25 +-18 +-54 +-84 +12 +95 +112 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +61 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +56 +8 +-31 +-65 +43 +124 +127 +86 +35 +-10 +-46 +-78 +20 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-95 +-1 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +107 +59 +11 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +33 +107 +123 +72 +23 +-20 +-55 +-85 +19 +102 +120 +67 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-33 +-66 +-95 +-1 +82 +100 +48 +2 +-38 +-70 +-98 +-7 +76 +94 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +98 +115 +64 +16 +-26 +-59 +-89 +16 +98 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +98 +69 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +76 +27 +-17 +-52 +-83 +12 +95 +112 +61 +13 +-29 +-63 +-92 +2 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +73 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +17 +-26 +-60 +-89 +4 +87 +105 +76 +36 +-3 +-31 +-62 +-91 +-99 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +112 +57 +9 +-30 +-63 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +31 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-14 +69 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +60 +12 +-30 +-63 +-93 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-101 +-9 +74 +92 +64 +24 +-14 +-41 +-71 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-18 +-53 +-84 +11 +94 +111 +59 +12 +-29 +-63 +-92 +1 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +70 +21 +-22 +-56 +-86 +19 +102 +119 +67 +18 +-24 +-58 +-88 +5 +88 +106 +54 +7 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +12 +94 +112 +61 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +113 +75 +34 +6 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +70 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +123 +72 +23 +-20 +-55 +-85 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +44 +-2 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-95 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +100 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +64 +15 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-44 +-76 +30 +112 +127 +76 +27 +-17 +-52 +-83 +12 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-8 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +37 +118 +127 +87 +35 +-9 +-45 +-77 +27 +109 +127 +98 +57 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +100 +48 +1 +-37 +-69 +37 +118 +127 +82 +32 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-35 +-67 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +59 +11 +-30 +-63 +-93 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +95 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-14 +69 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +85 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-46 +-76 +-103 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +10 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +88 +37 +-8 +-45 +-76 +28 +111 +127 +74 +24 +-19 +-54 +-84 +11 +94 +112 +60 +12 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-11 +72 +89 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +30 +104 +121 +70 +21 +-22 +-56 +-86 +19 +101 +118 +66 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +93 +66 +27 +-12 +-40 +-70 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +89 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +22 +-16 +-43 +-74 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-30 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +55 +8 +-31 +-65 +43 +124 +127 +86 +36 +-10 +-46 +-77 +20 +102 +120 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-95 +-2 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +20 +102 +119 +67 +19 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +79 +103 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +16 +-26 +-59 +-89 +15 +98 +116 +64 +16 +-26 +-60 +-90 +4 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +29 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-44 +-75 +30 +112 +127 +76 +26 +-17 +-53 +-83 +12 +95 +112 +60 +13 +-29 +-63 +-92 +2 +85 +103 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-46 +-77 +28 +109 +127 +98 +57 +16 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +17 +100 +117 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +80 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +126 +127 +88 +36 +-9 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-66 +-95 +-1 +82 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +122 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +86 +37 +-7 +-46 +-78 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +69 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +115 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +12 +-30 +-63 +-93 +1 +83 +101 +50 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +37 +-9 +-45 +-76 +28 +109 +127 +75 +25 +-19 +-54 +-84 +11 +95 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +105 +120 +70 +21 +-21 +-56 +-86 +19 +101 +119 +66 +18 +-24 +-59 +-89 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-99 +-8 +76 +93 +65 +26 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +95 +112 +60 +13 +-29 +-62 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +43 +125 +127 +87 +36 +-9 +-45 +-77 +20 +102 +120 +67 +18 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +82 +100 +72 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-3 +83 +107 +59 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +121 +71 +22 +-21 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-1 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +95 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +103 +55 +8 +-32 +-66 +-95 +0 +82 +101 +51 +5 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +100 +115 +64 +16 +-26 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-3 +80 +97 +70 +30 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +30 +111 +127 +76 +26 +-17 +-53 +-83 +12 +95 +112 +61 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +86 +35 +-9 +-45 +-77 +28 +110 +127 +99 +57 +15 +-14 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +100 +47 +1 +-37 +-69 +37 +119 +127 +82 +32 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-90 +4 +88 +104 +77 +36 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-111 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-9 +-45 +-77 +21 +104 +121 +68 +19 +-23 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-1 +82 +100 +72 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +122 +127 +117 +78 +38 +10 +-27 +-60 +-90 +-97 +-127 +25 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +89 +39 +-5 +-44 +-76 +-103 +-14 +70 +88 +38 +-6 +-45 +-76 +-104 +-14 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +86 +34 +-10 +-46 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-85 +11 +93 +111 +59 +12 +-30 +-63 +-92 +0 +84 +101 +50 +4 +-36 +-69 +-98 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +22 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-21 +-56 +-86 +18 +101 +119 +66 +18 +-25 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-3 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +93 +66 +27 +-13 +-40 +-70 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +2 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +114 +75 +35 +7 +-29 +-63 +-92 +-98 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +56 +8 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-46 +-77 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +90 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +71 +31 +-8 +-35 +-67 +-95 +-103 +-127 +-127 +-4 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +20 +102 +120 +67 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-2 +82 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +95 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +103 +55 +9 +-32 +-65 +-95 +0 +83 +101 +51 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +65 +17 +-25 +-59 +-89 +15 +98 +115 +63 +15 +-27 +-61 +-90 +3 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-43 +-75 +29 +111 +127 +75 +26 +-18 +-53 +-84 +13 +94 +112 +61 +13 +-29 +-63 +-92 +2 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-10 +-46 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-37 +-69 +37 +119 +127 +83 +32 +-12 +-48 +-80 +17 +99 +116 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +36 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +119 +80 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-63 +44 +126 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +68 +20 +-23 +-57 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +31 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +122 +127 +117 +79 +38 +10 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-79 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +109 +127 +74 +25 +-18 +-54 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-76 +-104 +-13 +71 +88 +38 +-6 +-45 +-76 +-104 +-14 +70 +88 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +37 +-8 +-46 +-77 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +58 +19 +-19 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-47 +-78 +27 +109 +127 +74 +25 +-19 +-54 +-85 +11 +93 +110 +59 +11 +-30 +-63 +-93 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-6 +77 +96 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +64 +25 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +4 +-36 +-68 +-97 +-5 +78 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +55 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-22 +-56 +-86 +18 +101 +119 +67 +18 +-24 +-59 +-89 +5 +89 +107 +56 +8 +-33 +-66 +-95 +-2 +80 +98 +48 +2 +-38 +-70 +-99 +-8 +76 +94 +66 +26 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +111 +127 +75 +26 +-18 +-53 +-84 +11 +94 +112 +60 +12 +-29 +-63 +-92 +1 +85 +101 +51 +5 +-36 +-69 +-97 +-5 +78 +97 +46 +0 +-39 +-71 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +63 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +6 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +88 +36 +-9 +-45 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +8 +-33 +-66 +-95 +-2 +81 +99 +72 +31 +-8 +-35 +-66 +-95 +-103 +-127 +-127 +-3 +84 +107 +60 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +32 +106 +123 +71 +22 +-21 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +82 +99 +48 +3 +-38 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +55 +8 +-32 +-66 +-95 +0 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-25 +-59 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-90 +3 +87 +105 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +89 +38 +-7 +-44 +-76 +29 +111 +127 +76 +26 +-18 +-53 +-83 +12 +95 +113 +61 +13 +-28 +-62 +-92 +2 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-46 +-77 +28 +110 +127 +98 +57 +16 +-14 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +47 +1 +-37 +-69 +37 +119 +127 +83 +32 +-13 +-49 +-80 +16 +99 +117 +64 +16 +-26 +-60 +-90 +5 +88 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +102 +120 +68 +19 +-23 +-58 +-88 +8 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +100 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +83 +32 +-12 +-47 +-79 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +89 +40 +-5 +-44 +-76 +-103 +-13 +71 +89 +39 +-5 +-44 +-76 +-104 +-14 +70 +87 +38 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-8 +-46 +-77 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-46 +-76 +-102 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-46 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-84 +10 +93 +111 +59 +11 +-30 +-64 +-93 +1 +84 +102 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-43 +-74 +-102 +-11 +72 +89 +63 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +78 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +18 +101 +118 +66 +17 +-25 +-59 +-89 +5 +88 +107 +56 +8 +-33 +-66 +-95 +-3 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +67 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-45 +-76 +28 +111 +127 +75 +26 +-18 +-53 +-84 +12 +94 +111 +60 +12 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +114 +75 +35 +7 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +35 +-10 +-46 +-77 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-95 +-2 +81 +99 +71 +31 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-4 +84 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +122 +71 +22 +-20 +-55 +-85 +20 +102 +120 +68 +19 +-24 +-58 +-88 +6 +88 +107 +56 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +3 +-38 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +98 +115 +65 +17 +-25 +-59 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-91 +3 +86 +104 +53 +7 +-34 +-67 +-96 +-4 +79 +97 +69 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-43 +-75 +30 +112 +127 +76 +26 +-18 +-53 +-84 +12 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +102 +51 +5 +-36 +-68 +-97 +-5 +79 +96 +46 +0 +-39 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +36 +-9 +-45 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +54 +127 +127 +101 +48 +1 +-37 +-69 +37 +119 +127 +83 +32 +-13 +-49 +-80 +17 +99 +116 +64 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +45 +124 +127 +119 +80 +40 +12 +-25 +-59 +-89 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +126 +127 +88 +37 +-8 +-45 +-76 +20 +103 +120 +68 +19 +-23 +-58 +-88 +8 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-90 +-97 +-127 +24 +109 +127 +82 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +46 +119 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +74 +25 +-19 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +39 +-6 +-45 +-76 +-104 +-14 +70 +87 +38 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +74 +24 +-19 +-54 +-85 +10 +93 +110 +59 +11 +-30 +-64 +-93 +1 +83 +102 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +92 +65 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-42 +-73 +-100 +-107 +-127 +-127 +-9 +77 +101 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-22 +-56 +-86 +18 +100 +119 +67 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +80 +99 +48 +2 +-38 +-70 +-99 +-7 +77 +94 +66 +27 +-12 +-40 +-70 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +29 +111 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +41 +-4 +-43 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +6 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-108 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +123 +127 +87 +36 +-9 +-46 +-77 +20 +102 +120 +67 +19 +-24 +-58 +-88 +7 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +83 +108 +60 +12 +-30 +-63 +-92 +-99 +-127 +-127 +-127 +33 +106 +122 +71 +22 +-20 +-55 +-86 +20 +102 +120 +68 +19 +-23 +-58 +-88 +5 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +49 +3 +-37 +-70 +-98 +-8 +76 +94 +44 +-1 +-41 +-73 +-101 +-10 +74 +91 +64 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +98 +114 +64 +16 +-26 +-60 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-90 +3 +86 +105 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +29 +112 +127 +76 +26 +-17 +-52 +-83 +12 +95 +113 +61 +13 +-28 +-62 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-71 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +86 +35 +-9 +-45 +-77 +27 +109 +127 +99 +58 +16 +-14 +-47 +-78 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +32 +-13 +-49 +-80 +17 +99 +116 +64 +16 +-26 +-60 +-90 +4 +88 +105 +77 +37 +-2 +-31 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +11 +-26 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +103 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +32 +-7 +-35 +-66 +-94 +-102 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +46 +120 +127 +83 +32 +-12 +-47 +-79 +28 +111 +127 +75 +25 +-18 +-53 +-84 +10 +94 +112 +60 +12 +-29 +-63 +-92 +1 +84 +101 +51 +5 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-10 +74 +91 +41 +-4 +-43 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +89 +39 +-6 +-45 +-76 +-104 +-14 +69 +87 +37 +-7 +-46 +-77 +-105 +-14 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-15 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +37 +-7 +-46 +-77 +-105 +-15 +67 +86 +36 +-8 +-47 +-78 +-105 +-16 +68 +86 +59 +20 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +115 +127 +85 +34 +-10 +-46 +-78 +27 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +11 +-30 +-64 +-93 +1 +84 +101 +50 +4 +-36 +-69 +-97 +-6 +77 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +65 +25 +-14 +-41 +-72 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-18 +-53 +-84 +11 +93 +111 +60 +12 +-29 +-63 +-92 +1 +85 +102 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-72 +-100 +-107 +-127 +-127 +-10 +77 +101 +54 +7 +-33 +-67 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +69 +21 +-21 +-56 +-86 +19 +101 +118 +66 +18 +-25 +-59 +-89 +5 +88 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +94 +67 +26 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +2 +84 +102 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +56 +8 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +20 +102 +119 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +80 +98 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +83 +107 +59 +11 +-30 +-64 +-93 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-55 +-85 +19 +102 +120 +68 +19 +-23 +-58 +-88 +6 +88 +106 +56 +8 +-33 +-66 +-95 +-2 +82 +100 +49 +3 +-37 +-70 +-98 +-7 +76 +94 +44 +-1 +-41 +-73 +-101 +-10 +74 +91 +63 +24 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +50 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +64 +16 +-26 +-59 +-89 +15 +98 +116 +64 +15 +-27 +-61 +-90 +3 +85 +104 +53 +7 +-34 +-67 +-96 +-4 +80 +98 +70 +30 +-9 +-37 +-68 +-96 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-43 +-75 +29 +112 +127 +76 +27 +-17 +-53 +-83 +12 +94 +112 +61 +13 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-10 +74 +93 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-46 +-77 +28 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-109 +-127 +-127 +-127 +-127 +-100 +54 +127 +127 +101 +48 +1 +-37 +-69 +37 +119 +127 +82 +31 +-13 +-49 +-80 +16 +99 +117 +65 +17 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-2 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +111 +57 +9 +-30 +-63 +43 +125 +127 +88 +37 +-9 +-45 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +72 +31 +-8 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +116 +79 +39 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-102 +46 +120 +127 +83 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +0 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-71 +-100 +-9 +75 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-76 +-104 +-15 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +37 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +59 +19 +-18 +-45 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +35 +-10 +-46 +-78 +26 +109 +126 +73 +24 +-19 +-54 +-85 +11 +94 +111 +59 +12 +-30 +-63 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +-1 +-40 +-72 +-100 +-9 +74 +91 +65 +25 +-14 +-41 +-71 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-77 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-30 +-63 +-92 +1 +84 +102 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-99 +-107 +-127 +-127 +-9 +77 +101 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-22 +-56 +-86 +19 +101 +119 +67 +18 +-24 +-59 +-88 +5 +88 +105 +54 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-8 +76 +94 +67 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +28 +110 +127 +74 +25 +-18 +-54 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +0 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +76 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +42 +123 +127 +87 +36 +-10 +-46 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +71 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-3 +84 +108 +60 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +123 +71 +22 +-20 +-55 +-85 +19 +101 +120 +67 +19 +-24 +-58 +-88 +6 +89 +107 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +49 +3 +-37 +-70 +-98 +-7 +76 +94 +44 +-1 +-41 +-73 +-101 +-10 +74 +91 +64 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +50 +4 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-59 +-89 +15 +97 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +30 +-9 +-36 +-67 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +30 +112 +127 +77 +27 +-17 +-52 +-83 +12 +94 +112 +60 +13 +-29 +-63 +-92 +2 +85 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +97 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +87 +36 +-9 +-45 +-77 +27 +109 +127 +99 +58 +16 +-13 +-47 +-77 +-104 +-109 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +17 +99 +117 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +41 +11 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +103 +120 +68 +19 +-24 +-58 +-88 +7 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +31 +-8 +-35 +-67 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +78 +38 +10 +-27 +-60 +-89 +-97 +-127 +24 +109 +127 +82 +32 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-11 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +38 +-7 +-45 +-77 +-104 +-16 +68 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-8 +-46 +-77 +-105 +-16 +68 +86 +59 +19 +-18 +-46 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-11 +-46 +-78 +27 +108 +126 +73 +24 +-19 +-54 +-85 +10 +93 +111 +60 +12 +-30 +-63 +-92 +-1 +83 +102 +51 +4 +-36 +-69 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-13 +-41 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +88 +37 +-8 +-45 +-76 +28 +110 +127 +75 +25 +-19 +-54 +-84 +11 +93 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +71 +90 +62 +23 +-16 +-42 +-72 +-99 +-107 +-127 +-127 +-10 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +69 +21 +-22 +-56 +-86 +18 +101 +119 +67 +18 +-24 +-59 +-88 +6 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-71 +-99 +-8 +76 +93 +67 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +113 +75 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-107 +62 +127 +127 +109 +56 +8 +-31 +-65 +43 +124 +127 +86 +35 +-10 +-46 +-78 +20 +102 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-1 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-4 +84 +108 +59 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +33 +106 +123 +72 +23 +-20 +-54 +-85 +19 +102 +119 +67 +19 +-24 +-58 +-88 +6 +88 +106 +56 +9 +-33 +-66 +-95 +-2 +82 +99 +48 +3 +-37 +-70 +-98 +-7 +77 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +63 +24 +-14 +-42 +-72 +-99 +-107 +-127 +-127 +-7 +80 +104 +56 +9 +-32 +-65 +-94 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +64 +16 +-26 +-59 +-89 +15 +97 +116 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +79 +97 +70 +30 +-9 +-37 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +89 +38 +-7 +-44 +-76 +29 +112 +127 +76 +26 +-17 +-52 +-83 +12 +94 +112 +61 +13 +-29 +-63 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +95 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +24 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +87 +35 +-9 +-45 +-77 +27 +109 +126 +99 +57 +16 +-13 +-47 +-77 +-104 +-109 +-127 +-127 +-127 +-127 +-101 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +16 +99 +116 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +120 +80 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +112 +57 +9 +-30 +-63 +43 +125 +127 +88 +36 +-9 +-45 +-77 +21 +103 +120 +68 +20 +-23 +-57 +-88 +6 +90 +107 +56 +9 +-32 +-65 +-94 +-2 +82 +99 +72 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +10 +-26 +-60 +-89 +-97 +-127 +23 +109 +127 +82 +32 +-13 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +40 +-5 +-44 +-75 +-103 +-13 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-6 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +69 +86 +36 +-8 +-46 +-77 +-105 +-16 +68 +87 +37 +-8 +-46 +-77 +-105 +-16 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +67 +86 +59 +19 +-19 +-46 +-76 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +108 +126 +73 +24 +-19 +-54 +-85 +10 +93 +111 +59 +12 +-30 +-63 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +65 +25 +-13 +-41 +-71 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +87 +36 +-8 +-45 +-77 +27 +109 +127 +74 +25 +-18 +-54 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-9 +77 +101 +54 +7 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-22 +-56 +-86 +19 +100 +119 +67 +18 +-24 +-59 +-88 +5 +88 +106 +54 +8 +-33 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-8 +76 +93 +66 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-44 +-76 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +112 +61 +13 +-28 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +89 +62 +23 +-15 +-43 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +113 +75 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +42 +123 +127 +87 +35 +-9 +-46 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +8 +-33 +-66 +-95 +-3 +82 +99 +72 +31 +-8 +-35 +-67 +-94 +-103 +-127 +-127 +-3 +83 +108 +60 +12 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +33 +107 +123 +72 +23 +-20 +-55 +-85 +19 +102 +119 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +80 +99 +48 +3 +-37 +-70 +-98 +-8 +77 +94 +44 +-1 +-41 +-73 +-101 +-10 +73 +91 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +79 +103 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +16 +-26 +-59 +-89 +15 +97 +115 +64 +16 +-26 +-60 +-90 +3 +86 +104 +53 +6 +-34 +-67 +-96 +-4 +80 +97 +70 +31 +-9 +-36 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +121 +127 +90 +38 +-7 +-44 +-76 +29 +111 +127 +76 +26 +-17 +-52 +-83 +12 +94 +112 +60 +13 +-29 +-63 +-92 +2 +84 +103 +52 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-9 +75 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-15 +-42 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +86 +36 +-9 +-45 +-77 +27 +109 +127 +99 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +52 +127 +127 +100 +48 +1 +-37 +-69 +37 +119 +127 +83 +32 +-13 +-49 +-80 +16 +99 +117 +65 +17 +-25 +-59 +-89 +4 +87 +104 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +119 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +64 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-94 +-3 +81 +99 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +122 +127 +117 +79 +38 +10 +-26 +-60 +-89 +-97 +-127 +23 +109 +127 +82 +32 +-13 +-49 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +93 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-36 +-68 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-9 +75 +93 +43 +-3 +-42 +-74 +-102 +-12 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +88 +38 +-6 +-45 +-77 +-104 +-14 +70 +88 +38 +-7 +-45 +-77 +-104 +-16 +68 +87 +37 +-7 +-46 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-15 +68 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +85 +36 +-8 +-46 +-78 +-105 +-16 +68 +86 +37 +-7 +-46 +-77 +-105 +-17 +68 +86 +59 +20 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +35 +-10 +-46 +-78 +27 +109 +125 +73 +24 +-19 +-54 +-85 +10 +93 +111 +60 +12 +-29 +-63 +-92 +0 +84 +102 +51 +4 +-36 +-69 +-97 +-6 +77 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-13 +-41 +-71 +-98 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +88 +36 +-9 +-45 +-77 +28 +110 +127 +74 +25 +-19 +-54 +-84 +11 +94 +112 +61 +13 +-29 +-63 +-92 +1 +84 +101 +51 +4 +-36 +-69 +-97 +-5 +78 +96 +46 +0 +-40 +-72 +-100 +-10 +74 +93 +42 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-16 +-43 +-73 +-100 +-108 +-127 +-127 +-10 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +22 +-21 +-56 +-86 +18 +101 +118 +66 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-3 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +75 +93 +67 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +89 +37 +-8 +-44 +-76 +29 +110 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +61 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +62 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-63 +-92 +-99 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +19 +101 +120 +68 +19 +-23 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +81 +99 +72 +32 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-4 +84 +108 +60 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +72 +22 +-20 +-55 +-85 +19 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-99 +-7 +76 +94 +44 +-1 +-41 +-73 +-101 +-11 +73 +91 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +79 +103 +56 +8 +-32 +-65 +-95 +-1 +83 +102 +51 +5 +-36 +-68 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +17 +-25 +-59 +-89 +14 +98 +116 +64 +15 +-26 +-60 +-90 +3 +86 +104 +54 +7 +-34 +-67 +-96 +-5 +79 +97 +70 +30 +-9 +-36 +-68 +-95 +-104 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-43 +-75 +29 +111 +127 +76 +26 +-17 +-53 +-83 +12 +94 +112 +61 +13 +-29 +-62 +-92 +1 +85 +103 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +46 +0 +-40 +-72 +-100 +-10 +75 +93 +43 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-42 +-72 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +37 +117 +127 +87 +36 +-9 +-46 +-77 +27 +109 +127 +98 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-101 +54 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +31 +-13 +-49 +-80 +16 +99 +116 +65 +16 +-26 +-60 +-89 +4 +87 +105 +77 +37 +-2 +-31 +-63 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +123 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +58 +9 +-29 +-63 +43 +125 +127 +88 +37 +-8 +-45 +-77 +21 +103 +121 +69 +20 +-23 +-57 +-87 +6 +90 +107 +56 +9 +-32 +-66 +-95 +-2 +82 +100 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +117 +79 +38 +9 +-27 +-61 +-90 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-78 +27 +109 +127 +75 +25 +-18 +-53 +-84 +11 +94 +111 +60 +12 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +93 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +40 +-5 +-44 +-75 +-103 +-14 +70 +89 +39 +-6 +-45 +-76 +-104 +-15 +69 +88 +38 +-7 +-45 +-77 +-104 +-15 +69 +86 +37 +-7 +-46 +-77 +-105 +-16 +69 +87 +37 +-7 +-46 +-77 +-104 +-16 +68 +87 +37 +-8 +-46 +-78 +-105 +-15 +68 +86 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +36 +-8 +-47 +-78 +-105 +-16 +68 +85 +59 +20 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +36 +116 +127 +85 +34 +-10 +-46 +-78 +27 +109 +127 +74 +24 +-19 +-54 +-85 +10 +93 +110 +59 +11 +-30 +-64 +-93 +0 +83 +101 +51 +4 +-36 +-69 +-97 +-6 +77 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +65 +25 +-14 +-41 +-71 +-99 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +39 +118 +127 +88 +36 +-9 +-45 +-77 +27 +109 +127 +75 +25 +-19 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +45 +0 +-39 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-9 +77 +102 +55 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +120 +70 +21 +-21 +-56 +-86 +18 +100 +119 +67 +18 +-24 +-59 +-89 +5 +88 +106 +55 +8 +-33 +-66 +-95 +-2 +80 +99 +49 +3 +-37 +-70 +-98 +-8 +76 +94 +66 +27 +-12 +-39 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +39 +119 +127 +88 +37 +-8 +-45 +-76 +28 +110 +127 +76 +26 +-18 +-53 +-84 +11 +94 +112 +60 +13 +-29 +-63 +-92 +1 +84 +101 +51 +5 +-36 +-69 +-97 +-5 +79 +97 +46 +0 +-39 +-71 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +114 +75 +35 +7 +-29 +-62 +-91 +-98 +-127 +-127 +-127 +-127 +-108 +62 +127 +127 +109 +55 +7 +-31 +-65 +43 +124 +127 +87 +36 +-9 +-45 +-77 +19 +102 +120 +68 +19 +-24 +-58 +-88 +6 +89 +107 +56 +9 +-32 +-65 +-95 +-3 +81 +99 +71 +31 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-3 +83 +108 +60 +12 +-29 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-85 +19 +102 +120 +68 +19 +-24 +-58 +-88 +5 +89 +107 +56 +9 +-32 +-66 +-95 +-2 +81 +99 +48 +2 +-38 +-70 +-98 +-7 +77 +95 +45 +-1 +-41 +-73 +-101 +-11 +73 +90 +63 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +80 +104 +56 +9 +-32 +-66 +-95 +-1 +83 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +25 +99 +115 +65 +17 +-25 +-59 +-89 +15 +97 +115 +63 +15 +-27 +-61 +-90 +3 +86 +105 +53 +7 +-34 +-67 +-96 +-4 +80 +97 +70 +31 +-8 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +42 +121 +127 +90 +38 +-7 +-44 +-76 +29 +111 +127 +76 +26 +-17 +-53 +-83 +12 +95 +112 +61 +13 +-28 +-63 +-92 +1 +84 +103 +52 +5 +-35 +-68 +-97 +-5 +77 +96 +45 +0 +-40 +-72 +-100 +-9 +74 +92 +42 +-3 +-42 +-74 +-102 +-12 +71 +90 +63 +23 +-16 +-42 +-73 +-100 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +38 +117 +127 +87 +36 +-9 +-45 +-77 +27 +109 +127 +98 +57 +16 +-13 +-47 +-77 +-104 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +48 +1 +-37 +-69 +37 +118 +127 +83 +32 +-13 +-49 +-80 +16 +98 +117 +65 +16 +-26 +-60 +-90 +4 +87 +105 +77 +37 +-3 +-31 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-110 +44 +124 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-106 +64 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +102 +120 +68 +20 +-23 +-58 +-88 +6 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +81 +100 +72 +31 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 +121 +127 +118 +79 +38 +10 +-26 +-60 +-89 +-97 +-127 +24 +109 +127 +83 +32 +-12 +-48 +-80 +-105 +-111 +-127 +-101 +47 +120 +127 +84 +33 +-11 +-47 +-79 +27 +109 +127 +75 +25 +-19 +-54 +-84 +11 +94 +111 +61 +13 +-29 +-63 +-92 +1 +84 +101 +51 +5 +-36 +-69 +-97 +-5 +77 +96 +46 +0 +-40 +-72 +-100 +-10 +74 +93 +43 +-3 +-42 +-74 +-102 +-12 +71 +90 +40 +-5 +-44 +-76 +-103 +-14 +70 +89 +39 +-6 +-45 +-77 +-104 +-14 +69 +87 +38 +-7 +-45 +-77 +-104 +-15 +69 +87 +37 +-7 +-46 +-77 +-105 +-16 +69 +87 +37 +-7 +-46 +-77 +-105 +-16 +67 +86 +36 +-8 +-46 +-78 +-105 +-16 +68 +87 +37 +-7 +-46 +-77 +-105 +-16 +68 +86 +37 +-7 +-46 +-78 +-105 +-16 +68 +86 +58 +19 +-18 +-45 +-75 +-102 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +35 +115 +127 +85 +34 +-11 +-46 +-78 +26 +109 +126 +74 +24 +-19 +-54 +-85 +10 +92 +111 +60 +12 +-30 +-63 +-92 +0 +84 +102 +51 +5 +-36 +-69 +-97 +-5 +77 +95 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +64 +25 +-13 +-41 +-71 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +87 +36 +-9 +-45 +-77 +28 +110 +127 +75 +25 +-18 +-53 +-84 +11 +93 +111 +60 +13 +-29 +-63 +-92 +0 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +78 +96 +46 +0 +-39 +-72 +-100 +-10 +74 +92 +42 +-3 +-43 +-74 +-102 +-12 +72 +90 +63 +23 +-15 +-43 +-73 +-100 +-108 +-127 +-127 +-9 +77 +102 +54 +8 +-33 +-66 +-95 +-102 +-127 +-127 +-127 +31 +104 +121 +70 +21 +-21 +-56 +-86 +18 +101 +119 +67 +18 +-24 +-59 +-89 +5 +88 +107 +56 +8 +-33 +-66 +-95 +-3 +80 +99 +48 +2 +-38 +-71 +-99 +-7 +76 +94 +67 +27 +-12 +-40 +-70 +-97 +-105 +-127 +-127 +-127 +-127 +-127 +-127 +40 +119 +127 +88 +37 +-8 +-44 +-76 +28 +110 +127 +76 +26 +-18 +-53 +-84 +11 +94 +111 +60 +13 +-29 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-6 +78 +96 +45 +0 +-40 +-72 +-100 +-10 +74 +92 +42 +-3 +-42 +-74 +-102 +-13 +72 +90 +63 +23 +-15 +-42 +-73 +-100 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +114 +75 +35 +7 +-29 +-63 +-91 +-99 +-127 +-127 +-127 +-127 +-107 +63 +127 +127 +109 +55 +7 +-31 +-65 +42 +124 +127 +87 +36 +-9 +-46 +-77 +19 +101 +119 +68 +19 +-24 +-58 +-88 +6 +90 +108 +56 +9 +-32 +-65 +-94 +-2 +81 +99 +72 +32 +-7 +-35 +-66 +-94 +-102 +-127 +-127 +-4 +83 +107 +59 +12 +-30 +-63 +-92 +-100 +-127 +-127 +-127 +32 +106 +122 +71 +22 +-21 +-55 +-86 +19 +102 +120 +68 +19 +-24 +-58 +-88 +5 +88 +106 +56 +9 +-33 +-66 +-95 +-3 +81 +99 +49 +3 +-37 +-70 +-98 +-7 +77 +94 +45 +-1 +-41 +-73 +-101 +-11 +72 +91 +64 +24 +-14 +-41 +-72 +-99 +-107 +-127 +-127 +-8 +79 +103 +56 +9 +-32 +-65 +-94 +-1 +82 +101 +51 +4 +-36 +-69 +-97 +-104 +-127 +-127 +-127 +26 +99 +115 +65 +17 +-25 +-59 +-89 +14 +97 +115 +64 +15 +-27 +-61 +-91 +3 +86 +104 +54 +7 +-34 +-67 +-96 +-5 +79 +97 +70 +30 +-9 +-36 +-67 +-95 +-103 +-127 +-127 +-127 +-127 +-127 +-127 +41 +120 +127 +90 +38 +-7 +-43 +-75 +29 +112 +127 +76 +26 +-18 +-53 +-83 +11 +94 +112 +61 +13 +-28 +-63 +-92 +1 +84 +102 +51 +5 +-35 +-68 +-97 +-5 +79 +97 +46 +0 +-39 +-72 +-100 +-10 +74 +93 +43 +-3 +-42 +-74 +-102 +-12 +72 +89 +62 +23 +-15 +-42 +-73 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +38 +118 +127 +86 +35 +-9 +-46 +-77 +27 +109 +127 +99 +57 +16 +-13 +-47 +-78 +-105 +-110 +-127 +-127 +-127 +-127 +-100 +53 +127 +127 +101 +48 +1 +-36 +-69 +37 +118 +127 +82 +32 +-13 +-49 +-80 +16 +99 +116 +65 +16 +-26 +-60 +-90 +3 +88 +106 +77 +37 +-2 +-30 +-62 +-91 +-100 +-127 +-127 +-127 +-127 +-127 +-109 +45 +124 +127 +120 +81 +40 +12 +-25 +-59 +-88 +-112 +-127 +-127 +-127 +-127 +-105 +65 +127 +127 +112 +57 +9 +-30 +-64 +44 +125 +127 +88 +37 +-8 +-45 +-77 +20 +103 +120 +68 +19 +-23 +-58 +-88 +7 +90 +108 +57 +9 +-32 +-65 +-94 +-2 +82 +100 +72 +32 +-7 +-35 +-66 +-94 +-103 +-127 +-127 +-127 +-127 +-127 +-112 +42 diff --git a/traces/modulation-direct-32.pm3 b/traces/modulation-direct-32.pm3 new file mode 100644 index 000000000..8d72895aa --- /dev/null +++ b/traces/modulation-direct-32.pm3 @@ -0,0 +1,20000 @@ +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-22 +-22 +-20 +-19 +-17 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +43 +41 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-87 +-82 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +110 +105 +95 +89 +81 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +90 +82 +77 +70 +65 +60 +56 +50 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-55 +-51 +-48 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +87 +80 +75 +68 +64 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-102 +-96 +-89 +-83 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-39 +-37 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-18 +-16 +-16 +-14 +-15 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-4 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +81 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-111 +-103 +-97 +-90 +-85 +-79 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-36 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +85 +79 +73 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +9 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +0 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-29 +-52 +-71 +-88 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-57 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +77 +70 +65 +59 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-39 +-38 +-34 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-42 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +43 +40 +36 +34 +31 +29 +26 +24 +21 +20 +17 +17 +15 +14 +11 +11 +9 +9 +7 +7 +6 +6 +4 +3 +3 +3 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-27 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +69 +66 +60 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +89 +82 +77 +69 +65 +59 +55 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +86 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +-4 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-112 +-103 +-98 +-91 +-85 +-80 +-75 +-70 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-15 +-15 +-13 +-13 +-11 +-11 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +96 +89 +82 +77 +69 +65 +59 +56 +51 +48 +43 +40 +36 +34 +31 +29 +26 +24 +21 +20 +18 +16 +15 +14 +12 +11 +10 +10 +8 +7 +6 +5 +4 +4 +2 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-75 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-33 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +43 +41 +36 +35 +31 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +10 +7 +7 +6 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-5 +-5 +-5 +-5 +-31 +-55 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-87 +-82 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-12 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +70 +65 +60 +56 +50 +47 +42 +40 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +89 +81 +77 +70 +65 +60 +56 +51 +47 +42 +40 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +109 +102 +93 +87 +80 +75 +68 +63 +58 +55 +49 +47 +42 +39 +35 +3 +-25 +-48 +-68 +-84 +-99 +-109 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +81 +77 +70 +66 +60 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +109 +100 +94 +85 +80 +72 +68 +63 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-69 +-66 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-36 +-34 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +28 +26 +22 +21 +19 +18 +15 +14 +13 +13 +10 +10 +8 +8 +6 +6 +4 +4 +3 +3 +2 +2 +1 +1 +1 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-29 +-52 +-72 +-89 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +66 +60 +56 +51 +47 +42 +41 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +96 +90 +82 +77 +69 +66 +60 +55 +50 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-89 +-84 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-26 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +89 +82 +77 +69 +65 +60 +56 +51 +48 +43 +41 +37 +35 +30 +29 +26 +24 +22 +20 +18 +17 +15 +14 +12 +12 +10 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +2 +1 +1 +0 +0 +-1 +-2 +-1 +-27 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-51 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +59 +56 +51 +48 +42 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +59 +56 +51 +47 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +110 +100 +93 +85 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +35 +32 +31 +26 +-4 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-34 +-31 +-29 +-27 +-27 +-24 +-24 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-9 +-8 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-4 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +34 +31 +29 +26 +24 +21 +21 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +5 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +104 +95 +90 +82 +77 +70 +66 +60 +57 +51 +47 +43 +41 +35 +34 +31 +29 +26 +25 +22 +21 +18 +17 +14 +14 +12 +11 +10 +10 +7 +7 +6 +6 +4 +4 +3 +3 +1 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-98 +-108 +-100 +-94 +-87 +-83 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +69 +65 +60 +56 +50 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +105 +95 +89 +82 +77 +70 +65 +60 +56 +50 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +-89 +-83 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-28 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +101 +93 +87 +80 +75 +68 +64 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-89 +-83 +-78 +-74 +-68 +-64 +-60 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +96 +90 +80 +77 +70 +66 +59 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +73 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-70 +-66 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-36 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +90 +82 +77 +69 +65 +60 +56 +51 +47 +42 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-96 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +84 +80 +73 +69 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +9 +9 +8 +8 +6 +6 +4 +5 +4 +3 +2 +2 +1 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-29 +-52 +-71 +-89 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-57 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-29 +-29 +-27 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +81 +76 +70 +65 +60 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-102 +-96 +-89 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +42 +41 +37 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +69 +66 +60 +56 +51 +47 +42 +41 +36 +34 +30 +29 +26 +25 +22 +21 +17 +17 +15 +14 +12 +11 +9 +9 +8 +7 +6 +6 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-28 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-57 +-55 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +81 +77 +70 +66 +59 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-89 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +77 +69 +65 +60 +56 +51 +48 +43 +40 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-102 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +80 +73 +69 +63 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +-3 +-31 +-53 +-72 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-76 +-70 +-66 +-61 +-58 +-53 +-50 +-46 +-44 +-41 +-39 +-36 +-34 +-31 +-30 +-27 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +96 +89 +81 +77 +70 +65 +59 +56 +51 +48 +43 +40 +36 +35 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +11 +12 +10 +9 +7 +7 +6 +5 +4 +4 +2 +3 +2 +1 +1 +1 +0 +0 +-1 +-1 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-63 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-36 +-34 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +96 +90 +82 +77 +69 +65 +60 +56 +50 +47 +43 +41 +36 +34 +31 +29 +26 +24 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-4 +-3 +-3 +-4 +-4 +-3 +-4 +-3 +-5 +-4 +-5 +-3 +-5 +-5 +-4 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-6 +-5 +-5 +-30 +-54 +-73 +-90 +-103 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-88 +-83 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +40 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +96 +90 +81 +77 +70 +65 +60 +56 +51 +47 +43 +40 +35 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +118 +109 +102 +93 +87 +79 +75 +69 +64 +58 +55 +48 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +103 +95 +90 +82 +77 +70 +66 +59 +56 +50 +47 +43 +41 +36 +4 +-24 +-47 +-67 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +37 +36 +32 +31 +27 +-4 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-39 +-35 +-34 +-31 +-30 +-27 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +69 +65 +60 +56 +50 +47 +42 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +94 +85 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +22 +21 +19 +18 +15 +14 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +3 +1 +1 +0 +1 +-1 +0 +-1 +-3 +-2 +-1 +-2 +-28 +-52 +-71 +-89 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-72 +-66 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-27 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +42 +40 +36 +5 +-24 +-47 +-67 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-34 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +81 +77 +70 +65 +59 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +96 +89 +81 +77 +69 +65 +60 +56 +51 +48 +43 +41 +36 +34 +30 +29 +25 +23 +21 +21 +17 +17 +15 +14 +12 +12 +9 +9 +7 +7 +5 +5 +4 +4 +2 +3 +2 +1 +1 +1 +-1 +0 +-1 +-1 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-98 +-92 +-87 +-82 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-41 +-38 +-36 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +69 +65 +60 +56 +50 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-103 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-24 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +34 +30 +29 +26 +25 +21 +20 +18 +16 +15 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +2 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-2 +-28 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-104 +-112 +-106 +-99 +-92 +-86 +-82 +-76 +-72 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +81 +77 +70 +66 +59 +56 +51 +48 +43 +40 +36 +34 +31 +29 +26 +24 +21 +21 +18 +17 +14 +14 +12 +11 +10 +9 +6 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-5 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-88 +-82 +-76 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-6 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +89 +82 +77 +70 +65 +60 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-55 +-52 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-55 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +101 +93 +87 +80 +75 +68 +64 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-89 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +65 +59 +55 +51 +48 +43 +41 +36 +4 +-24 +-47 +-67 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +73 +69 +62 +59 +53 +49 +45 +43 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-72 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-34 +-31 +-29 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +76 +69 +66 +60 +55 +51 +48 +42 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +108 +100 +93 +85 +80 +73 +69 +62 +59 +53 +49 +45 +42 +37 +36 +32 +31 +27 +26 +22 +22 +19 +18 +14 +14 +13 +12 +10 +9 +7 +8 +6 +6 +4 +5 +4 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-28 +-52 +-71 +-88 +-101 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-97 +-107 +-99 +-93 +-86 +-82 +-76 +-71 +-66 +-62 +-58 +-55 +-51 +-48 +-44 +-42 +-38 +-37 +-33 +-32 +-30 +-28 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +81 +77 +69 +65 +59 +56 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-28 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +76 +70 +66 +60 +56 +51 +47 +42 +41 +36 +5 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-48 +-45 +-43 +-39 +-38 +-34 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +89 +82 +77 +69 +65 +60 +56 +51 +47 +42 +41 +36 +34 +30 +29 +26 +25 +21 +20 +18 +17 +15 +14 +11 +11 +10 +9 +7 +8 +6 +6 +4 +4 +2 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-27 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-17 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +42 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +95 +89 +82 +77 +69 +66 +60 +56 +51 +48 +43 +41 +37 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +100 +93 +85 +80 +73 +69 +62 +58 +53 +50 +44 +42 +38 +36 +32 +31 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-47 +-44 +-41 +-39 +-35 +-34 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +95 +89 +81 +77 +70 +65 +59 +56 +51 +48 +43 +40 +37 +35 +30 +28 +25 +24 +21 +21 +18 +17 +15 +14 +11 +11 +9 +9 +7 +7 +5 +5 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-27 +-52 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-58 +-55 +-50 +-47 +-44 +-42 +-38 +-36 +-33 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +90 +82 +77 +70 +65 +60 +56 +51 +48 +43 +40 +36 +35 +31 +28 +26 +25 +21 +21 +18 +16 +15 +14 +12 +11 +9 +9 +7 +7 +5 +5 +3 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +0 +-1 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-4 +-2 +-3 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-108 +-100 +-94 +-87 +-83 +-77 +-72 +-67 +-63 +-58 +-55 +-51 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +81 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-68 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +109 +102 +93 +88 +80 +75 +68 +63 +58 +55 +49 +47 +42 +39 +35 +4 +-25 +-48 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +70 +66 +59 +56 +51 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-85 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-51 +-47 +-44 +-41 +-39 +-36 +-34 +-31 +-30 +-28 +-26 +-24 +-23 +-22 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +90 +82 +77 +70 +66 +60 +56 +50 +47 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +99 +93 +85 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +21 +19 +18 +16 +15 +13 +12 +10 +10 +8 +7 +6 +6 +4 +5 +3 +3 +2 +2 +1 +1 +1 +0 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-29 +-52 +-71 +-88 +-102 +-114 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-105 +-97 +-106 +-99 +-94 +-87 +-82 +-76 +-72 +-67 +-62 +-58 +-55 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +77 +69 +65 +60 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-39 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +90 +82 +77 +70 +66 +60 +56 +51 +48 +43 +41 +36 +4 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +-88 +-83 +-77 +-74 +-68 +-64 +-59 +-56 +-52 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +95 +89 +82 +77 +69 +66 +60 +56 +51 +48 +43 +41 +36 +34 +30 +29 +26 +24 +21 +20 +18 +17 +15 +14 +12 +11 +10 +8 +7 +7 +6 +5 +4 +4 +3 +4 +2 +1 +0 +1 +-1 +0 +-1 +-1 +-2 +-28 +-51 +-71 +-88 +-101 +-113 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-86 +-82 +-76 +-72 +-66 +-62 +-58 +-54 +-50 +-48 +-44 +-42 +-38 +-37 +-34 +-32 +-30 +-29 +-26 +-26 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +104 +95 +90 +82 +77 +69 +65 +59 +55 +51 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-88 +-83 +-78 +-73 +-68 +-64 +-59 +-56 +-52 +-48 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +96 +89 +82 +77 +70 +65 +59 +56 +50 +48 +43 +40 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +93 +85 +80 +73 +69 +63 +59 +53 +50 +45 +43 +38 +35 +32 +30 +26 +-4 +-32 +-53 +-73 +-88 +-102 +-97 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-102 +-112 +-103 +-98 +-91 +-85 +-79 +-76 +-70 +-66 +-61 +-58 +-53 +-50 +-46 +-44 +-41 +-39 +-35 +-33 +-31 +-30 +-27 +-27 +-24 +-24 +-21 +-20 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +105 +96 +90 +82 +77 +70 +65 +60 +56 +50 +48 +43 +41 +36 +34 +31 +29 +26 +25 +21 +20 +18 +16 +15 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +3 +3 +1 +1 +0 +1 +0 +0 +-1 +0 +-2 +-28 +-52 +-71 +-88 +-101 +-113 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-105 +-97 +-106 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-62 +-57 +-54 +-50 +-48 +-44 +-42 +-39 +-37 +-33 +-32 +-29 +-29 +-26 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +96 +90 +81 +77 +70 +65 +60 +56 +50 +47 +43 +41 +36 +34 +31 +28 +26 +25 +21 +20 +18 +17 +14 +14 +12 +11 +10 +9 +7 +7 +6 +5 +4 +4 +3 +2 +1 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-6 +-5 +-5 +-31 +-54 +-73 +-90 +-103 +-99 +-108 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-98 +-107 +-100 +-94 +-87 +-83 +-77 +-72 +-67 +-63 +-59 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +104 +95 +90 +81 +77 +70 +65 +60 +56 +51 +48 +43 +41 +36 +4 +-24 +-47 +-68 +-84 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-108 +-101 +-95 +-88 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-37 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +95 +89 +81 +77 +70 +65 +59 +56 +51 +47 +43 +41 +36 +4 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +-89 +-83 +-77 +-73 +-68 +-64 +-59 +-56 +-51 +-49 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-28 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +108 +102 +93 +87 +80 +75 +68 +64 +58 +55 +50 +47 +42 +40 +35 +3 +-25 +-48 +-68 +-84 +-99 +-110 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-109 +-101 +-95 +-89 +-83 +-77 +-73 +-68 +-64 +-60 +-56 +-52 +-49 +-45 +-43 +-40 +-37 +-34 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-6 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +105 +95 +89 +82 +76 +70 +66 +59 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-96 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +100 +93 +85 +81 +73 +68 +62 +59 +53 +50 +45 +43 +38 +37 +32 +30 +27 +-3 +-31 +-53 +-73 +-88 +-102 +-112 +-106 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-102 +-112 +-104 +-98 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-34 +-31 +-30 +-27 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +112 +105 +95 +89 +82 +77 +70 +66 +60 +56 +51 +48 +43 +41 +36 +5 +-24 +-47 +-67 +-83 +-98 +-109 +-103 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-99 +-109 +-101 +-95 +67 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +108 +99 +93 +85 +80 +73 +68 +62 +59 +53 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +3 +3 +1 +2 +1 +0 +0 +1 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-28 +-52 +-71 +-88 +-102 +-114 +-107 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-97 +-107 +-99 +-93 +-87 +-82 +-76 +-71 +-66 +-63 +-58 +-55 +-51 +-48 +-44 +-42 +-39 +-37 +-34 +-32 +-29 +-29 +-27 +-25 +-23 +-22 +-20 +-19 +-18 +-17 +-15 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 diff --git a/traces/modulation-direct-40.pm3 b/traces/modulation-direct-40.pm3 new file mode 100644 index 000000000..f716de72e --- /dev/null +++ b/traces/modulation-direct-40.pm3 @@ -0,0 +1,20000 @@ +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-64 +-60 +-56 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +94 +86 +80 +74 +69 +62 +59 +53 +51 +45 +43 +38 +36 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-85 +-78 +-74 +-68 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +87 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-73 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +97 +91 +83 +79 +71 +67 +61 +58 +52 +49 +44 +42 +37 +35 +31 +29 +27 +26 +22 +21 +19 +18 +15 +-11 +-35 +-55 +-72 +-85 +-97 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-111 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +71 +67 +61 +57 +52 +50 +44 +42 +38 +36 +31 +30 +26 +25 +22 +21 +18 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +6 +5 +5 +3 +4 +2 +2 +2 +2 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-74 +-69 +-64 +-61 +-57 +-53 +-49 +-47 +-43 +-41 +-37 +-36 +-33 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +94 +86 +82 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-39 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +60 +54 +50 +46 +43 +39 +37 +33 +31 +28 +27 +24 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +23 +22 +20 +18 +16 +15 +13 +12 +11 +11 +9 +8 +7 +7 +5 +5 +3 +3 +3 +3 +1 +2 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-3 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-42 +-40 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +59 +53 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-9 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-39 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-73 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +107 +97 +91 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +22 +22 +19 +18 +16 +-11 +-35 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +19 +16 +15 +13 +13 +10 +11 +8 +8 +7 +6 +4 +5 +4 +4 +2 +3 +2 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +-35 +-33 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-11 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +9 +8 +7 +6 +5 +5 +4 +3 +2 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +-8 +-33 +-53 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-37 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +28 +26 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-59 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-8 +-7 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +94 +85 +80 +73 +69 +63 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +62 +59 +54 +51 +46 +43 +38 +37 +33 +31 +27 +26 +23 +21 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +92 +84 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +22 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-86 +-98 +-107 +-99 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +-9 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-73 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +97 +91 +83 +79 +72 +67 +61 +58 +52 +48 +44 +42 +37 +35 +31 +30 +27 +25 +22 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +4 +5 +3 +4 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-65 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +-35 +-32 +-31 +-28 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-50 +-46 +-43 +-39 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +28 +26 +23 +22 +20 +19 +16 +15 +13 +13 +10 +10 +9 +8 +6 +7 +5 +5 +4 +4 +2 +3 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-97 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-57 +-53 +-49 +-46 +-43 +-41 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +50 +46 +44 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +20 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +91 +84 +79 +71 +68 +61 +57 +52 +49 +44 +42 +38 +35 +32 +30 +27 +25 +22 +21 +18 +18 +15 +-11 +-36 +-55 +-72 +-85 +-97 +-106 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-80 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +94 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +23 +19 +18 +16 +15 +13 +13 +10 +10 +8 +9 +7 +6 +5 +5 +3 +4 +2 +2 +1 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-35 +-32 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +36 +33 +31 +28 +26 +24 +22 +19 +19 +16 +15 +13 +13 +10 +10 +9 +8 +7 +7 +5 +5 +4 +4 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-104 +-97 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-56 +-54 +-49 +-47 +-43 +-41 +-37 +-36 +-33 +-32 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +27 +27 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-79 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +110 +100 +93 +86 +81 +73 +69 +62 +58 +53 +51 +45 +43 +38 +36 +33 +31 +28 +25 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +72 +67 +61 +58 +52 +49 +45 +42 +37 +35 +31 +29 +27 +25 +22 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +92 +84 +79 +71 +67 +61 +57 +51 +49 +44 +42 +38 +35 +31 +30 +27 +25 +22 +21 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +2 +0 +0 +0 +0 +-1 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-97 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-57 +-53 +-49 +-46 +-43 +-41 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +38 +36 +33 +31 +27 +26 +24 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-114 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-50 +-46 +-44 +-40 +-37 +-35 +-33 +-30 +-29 +-27 +-25 +-23 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +69 +63 +60 +54 +51 +46 +44 +38 +37 +33 +31 +28 +26 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +53 +50 +45 +43 +39 +37 +33 +31 +28 +26 +22 +22 +19 +18 +16 +15 +14 +12 +11 +11 +8 +9 +7 +7 +5 +5 +4 +4 +3 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-27 +-50 +-67 +-82 +-94 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-65 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +82 +74 +69 +63 +59 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +24 +23 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +91 +83 +79 +71 +67 +61 +58 +52 +50 +44 +42 +38 +35 +31 +30 +26 +25 +22 +21 +19 +18 +16 +-11 +-36 +-55 +-72 +-85 +-97 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-47 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +27 +26 +23 +22 +19 +19 +16 +15 +13 +13 +10 +11 +8 +8 +6 +7 +5 +5 +4 +4 +2 +3 +2 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-27 +-49 +-67 +-82 +-94 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-41 +-37 +-36 +-33 +-31 +-28 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +82 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +33 +30 +28 +27 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +8 +8 +7 +6 +5 +5 +4 +3 +2 +3 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-51 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-103 +-96 +-91 +-84 +-80 +-74 +-69 +-65 +-61 +-57 +-54 +-49 +-46 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-26 +-26 +-23 +-22 +-21 +-19 +-17 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +94 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +39 +37 +32 +31 +28 +25 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-26 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +94 +85 +80 +74 +69 +62 +59 +53 +50 +45 +43 +38 +36 +33 +30 +27 +26 +23 +21 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-26 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +87 +81 +74 +69 +63 +59 +54 +51 +46 +44 +38 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +92 +84 +79 +71 +68 +61 +57 +52 +49 +44 +41 +37 +35 +32 +30 +26 +25 +22 +21 +18 +17 +15 +-11 +-36 +-55 +-72 +-86 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +82 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +97 +91 +83 +79 +72 +67 +61 +58 +52 +49 +44 +42 +37 +36 +31 +30 +27 +26 +22 +21 +19 +18 +16 +15 +12 +12 +10 +10 +8 +7 +6 +7 +5 +4 +4 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-14 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +69 +63 +59 +53 +51 +46 +44 +39 +37 +33 +31 +28 +26 +22 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-101 +-96 +-89 +-84 +-78 +-74 +-68 +-65 +-60 +-56 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +82 +74 +70 +63 +60 +53 +51 +46 +43 +39 +37 +33 +31 +28 +26 +23 +23 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-17 +-15 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +94 +86 +81 +73 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +19 +16 +15 +13 +13 +10 +10 +8 +8 +6 +7 +5 +5 +4 +4 +2 +2 +1 +2 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-94 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-47 +-43 +-41 +-37 +-35 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +70 +63 +59 +54 +51 +45 +43 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +92 +83 +78 +71 +67 +61 +57 +52 +49 +44 +42 +37 +35 +31 +30 +27 +25 +23 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-86 +-98 +-107 +-99 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-34 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +23 +20 +18 +16 +15 +13 +13 +11 +10 +8 +9 +7 +7 +6 +5 +3 +4 +3 +2 +1 +1 +0 +1 +0 +0 +-1 +0 +-1 +-2 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-64 +-61 +-56 +-53 +-49 +-47 +-43 +-40 +-37 +-35 +-33 +-31 +-28 +-27 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +94 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +9 +8 +6 +6 +5 +5 +4 +4 +3 +3 +2 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-106 +-101 +-109 +-103 +-96 +-91 +-84 +-79 +-73 +-69 +-65 +-61 +-56 +-53 +-49 +-47 +-43 +-41 +-37 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +60 +54 +51 +45 +43 +39 +36 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-69 +-64 +-60 +-56 +-52 +-49 +-45 +-43 +-39 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-22 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +45 +43 +38 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-56 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +109 +99 +94 +86 +81 +73 +69 +63 +59 +53 +50 +45 +43 +39 +36 +32 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +59 +54 +51 +46 +43 +38 +37 +33 +31 +28 +26 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +107 +97 +91 +83 +79 +72 +67 +61 +57 +52 +49 +44 +42 +38 +35 +31 +30 +26 +25 +22 +21 +19 +18 +15 +-12 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-86 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-47 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +101 +95 +86 +80 +74 +70 +63 +59 +54 +51 +46 +43 +39 +37 +33 +31 +28 +25 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +97 +91 +83 +79 +71 +67 +61 +58 +52 +49 +44 +41 +38 +35 +32 +30 +27 +25 +22 +22 +19 +17 +15 +15 +12 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-83 +-95 +-105 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-80 +-74 +-69 +-64 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +94 +86 +81 +74 +69 +63 +59 +54 +51 +45 +43 +39 +37 +32 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-26 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +74 +70 +63 +60 +54 +51 +46 +44 +39 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +95 +86 +82 +74 +69 +63 +60 +53 +51 +45 +43 +39 +37 +33 +31 +28 +27 +23 +22 +19 +18 +16 +15 +13 +13 +11 +11 +9 +9 +6 +7 +5 +5 +3 +4 +2 +3 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-90 +-84 +-79 +-73 +-69 +-65 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-13 +-13 +-11 +-12 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +100 +95 +86 +82 +74 +69 +63 +60 +54 +51 +45 +43 +39 +37 +33 +30 +28 +27 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-97 +-89 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-5 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +110 +101 +95 +86 +81 +74 +70 +63 +59 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +107 +98 +91 +83 +79 +71 +67 +61 +57 +52 +49 +44 +42 +37 +36 +32 +30 +27 +25 +22 +21 +18 +17 +16 +-11 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-111 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-5 +-6 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +100 +95 +86 +81 +74 +69 +63 +59 +54 +51 +45 +44 +39 +36 +33 +31 +28 +26 +23 +22 +19 +19 +16 +15 +14 +13 +10 +11 +9 +8 +7 +7 +5 +5 +3 +4 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-28 +-50 +-67 +-82 +-95 +-106 +-97 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-109 +-103 +-96 +-91 +-84 +-79 +-74 +-69 +-65 +-61 +-56 +-53 +-49 +-46 +-43 +-40 +-37 +-36 +-33 +-31 +-29 +-27 +-25 +-24 +-22 +-21 +-19 +-18 +-17 +-17 +-15 +-15 +-14 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +82 +74 +69 +63 +60 +54 +50 +45 +43 +38 +37 +33 +31 +28 +27 +24 +22 +20 +19 +15 +15 +13 +12 +11 +10 +9 +8 +7 +7 +5 +5 +4 +4 +2 +2 +1 +1 +0 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-68 +-83 +-95 +-106 +-98 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-109 +-104 +-96 +-91 +-84 +-79 +-74 +-70 +-65 +-61 +-57 +-54 +-49 +-47 +-43 +-40 +-38 +-36 +-33 +-31 +-29 +-28 +-25 +-24 +-22 +-21 +-19 +-19 +-17 +-17 +-15 +-15 +-13 +-13 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +111 +101 +94 +86 +81 +74 +70 +63 +60 +54 +51 +46 +43 +38 +37 +33 +30 +28 +27 +23 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-97 +-90 +-84 +-78 +-74 +-68 +-64 +-59 +-57 +-52 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-30 +-29 +-27 +-26 +-23 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +81 +73 +70 +63 +59 +54 +51 +46 +44 +39 +37 +33 +31 +28 +26 +23 +22 +19 +-8 +-33 +-52 +-70 +-84 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +-68 +-64 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-15 +-14 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +100 +94 +84 +80 +73 +69 +62 +59 +53 +50 +45 +43 +38 +37 +33 +31 +27 +26 +23 +22 +19 +-8 +-33 +-53 +-70 +-84 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +-69 +-64 +-60 +-57 +-52 +-50 +-45 +-43 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-25 +-23 +-23 +-20 +-20 +-17 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +111 +100 +95 +86 +82 +74 +69 +63 +59 +54 +51 +45 +43 +39 +36 +33 +31 +28 +27 +24 +22 +19 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-106 +-99 +-109 +-102 +-96 +-89 +-84 +-78 +-74 +105 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +107 +97 +92 +83 +79 +72 +68 +61 +57 +52 +49 +44 +42 +37 +35 +32 +30 +26 +25 +23 +22 +18 +18 +16 +-11 +-36 +-55 +-72 +-85 +-98 +-107 +-99 +-105 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +110 +101 +95 +86 +81 +74 +69 +63 +60 +54 +51 +46 +43 +39 +37 +33 +31 +28 +27 +23 +22 +20 +-8 +-33 +-52 +-70 +-83 +-96 +-105 +-98 +-104 +-110 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-99 +-109 +-102 +-96 +-90 +-84 +-78 +-74 +106 +127 +127 +127 +127 +127 +127 +127 diff --git a/traces/modulation-direct-50.pm3 b/traces/modulation-direct-50.pm3 new file mode 100644 index 000000000..a15d2e048 --- /dev/null +++ b/traces/modulation-direct-50.pm3 @@ -0,0 +1,20000 @@ +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +37 +32 +30 +27 +26 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +84 +79 +72 +68 +61 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +21 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +73 +69 +62 +59 +52 +49 +45 +43 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +16 +15 +13 +12 +10 +11 +8 +8 +6 +-19 +-41 +-59 +-75 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +99 +90 +85 +77 +73 +66 +62 +56 +53 +48 +46 +41 +38 +34 +33 +29 +27 +24 +23 +20 +20 +17 +16 +14 +14 +12 +11 +10 +9 +7 +7 +5 +-20 +-42 +-60 +-76 +-89 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +92 +85 +80 +72 +68 +62 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-86 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +40 +39 +35 +33 +29 +28 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +6 +6 +4 +4 +3 +3 +2 +2 +0 +1 +0 +0 +-1 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-28 +-49 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-94 +-89 +-82 +-77 +-72 +-68 +-63 +-59 +-54 +-51 +-48 +-45 +-42 +-40 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +63 +59 +53 +50 +45 +42 +38 +36 +32 +30 +28 +26 +22 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +7 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-5 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +80 +73 +68 +62 +58 +53 +50 +44 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +14 +13 +13 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +92 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +39 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +5 +3 +4 +3 +2 +2 +2 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-107 +-100 +-93 +-89 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-20 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +79 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +28 +25 +22 +22 +19 +17 +16 +15 +13 +12 +10 +10 +8 +8 +7 +-18 +-42 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +39 +34 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +5 +-20 +-42 +-60 +-76 +-89 +-100 +-109 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +49 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +5 +5 +4 +3 +3 +2 +1 +2 +1 +1 +0 +-1 +-1 +0 +-1 +-1 +-1 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-28 +-49 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-107 +-101 +-94 +-88 +-82 +-78 +-72 +-68 +-63 +-60 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-31 +-28 +-27 +-25 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-15 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +22 +22 +19 +18 +16 +15 +12 +13 +11 +10 +8 +8 +6 +7 +5 +4 +3 +4 +3 +2 +1 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-6 +-4 +-5 +-5 +-5 +-5 +-5 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-106 +-101 +-94 +-88 +-82 +-78 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-40 +-36 +-34 +-33 +-31 +-28 +-27 +-24 +-24 +-21 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +116 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +49 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +9 +9 +7 +-18 +-42 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +85 +80 +72 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +15 +15 +12 +13 +10 +10 +8 +8 +7 +-19 +-42 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +107 +99 +93 +85 +79 +72 +69 +62 +59 +53 +49 +45 +42 +37 +36 +32 +30 +28 +26 +23 +22 +19 +18 +15 +15 +13 +12 +11 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-85 +-80 +-74 +-69 +-65 +-60 +-58 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +107 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +105 +98 +89 +85 +77 +73 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +5 +-20 +-42 +-60 +-76 +-89 +-100 +-108 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-111 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-39 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-5 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +98 +93 +85 +79 +73 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +32 +29 +27 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +5 +4 +5 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-7 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +93 +85 +79 +72 +69 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +21 +19 +19 +16 +15 +13 +13 +10 +9 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-17 +-16 +-15 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +107 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +23 +21 +19 +18 +16 +15 +12 +12 +11 +10 +9 +8 +6 +7 +5 +5 +3 +3 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-28 +-49 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-71 +-67 +-63 +-59 +-54 +-51 +-47 +-45 +-42 +-40 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-17 +-16 +-15 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +107 +99 +93 +84 +80 +73 +69 +62 +58 +52 +50 +45 +42 +37 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +11 +10 +8 +8 +7 +-18 +-41 +-59 +-75 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +98 +93 +85 +79 +72 +69 +62 +59 +53 +50 +45 +43 +38 +35 +32 +30 +27 +26 +22 +22 +19 +18 +15 +15 +13 +13 +10 +9 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-102 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-43 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +34 +33 +29 +27 +25 +24 +20 +19 +16 +16 +14 +14 +11 +10 +9 +9 +7 +8 +5 +-20 +-42 +-60 +-76 +-88 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-10 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +12 +11 +11 +8 +8 +6 +6 +5 +5 +3 +3 +2 +3 +1 +1 +0 +1 +0 +0 +-2 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-103 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-71 +-67 +-62 +-59 +-54 +-52 +-48 +-45 +-42 +-39 +-37 +-34 +-32 +-30 +-28 +-27 +-24 +-23 +-21 +-21 +-19 +-18 +-16 +-16 +-15 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +79 +73 +69 +62 +58 +53 +50 +45 +43 +38 +36 +33 +31 +27 +26 +23 +21 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +7 +6 +4 +5 +4 +4 +2 +2 +1 +1 +1 +1 +-1 +0 +-1 +0 +-1 +-1 +-2 +-2 +-2 +-2 +-4 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-29 +-50 +-67 +-82 +-94 +-105 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-41 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-12 +-13 +-11 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +7 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-8 +-8 +-7 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +84 +79 +73 +69 +61 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +21 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-15 +-15 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +92 +85 +79 +72 +68 +62 +57 +53 +50 +45 +42 +38 +36 +31 +31 +27 +25 +22 +22 +19 +18 +16 +15 +13 +13 +10 +9 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-7 +-6 +-7 +-6 +-7 +-5 +-6 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +79 +72 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +9 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +72 +66 +62 +56 +54 +48 +45 +41 +39 +35 +32 +29 +28 +24 +23 +20 +19 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +79 +73 +68 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +7 +-19 +-41 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +104 +98 +90 +85 +77 +73 +66 +62 +56 +53 +48 +45 +41 +39 +35 +32 +29 +28 +25 +23 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +4 +2 +3 +2 +2 +1 +1 +0 +1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-67 +-63 +-59 +-54 +-51 +-48 +-45 +-42 +-40 +-36 +-34 +-32 +-30 +-28 +-26 +-24 +-23 +-21 +-20 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-7 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +73 +68 +61 +58 +52 +49 +45 +42 +38 +36 +32 +31 +27 +26 +23 +21 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-75 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-10 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +73 +68 +62 +59 +52 +50 +45 +43 +38 +36 +32 +30 +28 +26 +22 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +7 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-80 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-10 +-10 +-10 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +6 +5 +5 +4 +4 +2 +3 +1 +1 +1 +1 +-1 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-5 +-3 +-5 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-29 +-50 +-67 +-82 +-94 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-113 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-9 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +53 +49 +45 +43 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-75 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +66 +62 +57 +53 +48 +46 +41 +39 +34 +32 +29 +27 +25 +23 +20 +20 +17 +16 +14 +14 +11 +11 +9 +9 +7 +7 +6 +-20 +-42 +-60 +-76 +-89 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-86 +-80 +-75 +-70 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-7 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +79 +72 +69 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +6 +5 +4 +4 +4 +2 +2 +1 +1 +0 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-1 +-3 +-2 +-3 +-2 +-3 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-28 +-49 +-67 +-82 +-94 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-114 +-107 +-101 +-94 +-88 +-82 +-78 +-72 +-68 +-63 +-59 +-54 +-52 +-48 +-45 +-42 +-40 +-36 +-34 +-32 +-31 +-28 +-27 +-25 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-8 +-8 +-6 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +92 +84 +80 +73 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +6 +6 +5 +5 +3 +4 +3 +3 +1 +1 +0 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-29 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-107 +-101 +-94 +-88 +-82 +-77 +-72 +-67 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-39 +-36 +-34 +-32 +-31 +-28 +-27 +-24 +-24 +-21 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-13 +-13 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +98 +93 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +22 +22 +18 +18 +16 +15 +13 +13 +11 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-28 +-26 +-24 +-23 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +73 +68 +62 +58 +52 +50 +45 +42 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +9 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-9 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +72 +68 +62 +59 +53 +49 +45 +42 +38 +36 +32 +31 +27 +26 +22 +22 +19 +18 +15 +14 +13 +12 +10 +10 +9 +8 +6 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-108 +-101 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-47 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-20 +-18 +-17 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-9 +-8 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-4 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +80 +72 +69 +62 +59 +53 +50 +45 +42 +37 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-41 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +99 +90 +85 +77 +73 +66 +62 +56 +53 +47 +45 +40 +38 +35 +33 +29 +28 +25 +24 +20 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +8 +6 +-19 +-42 +-60 +-76 +-89 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-98 +-91 +-85 +-80 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-41 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-4 +-5 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +109 +99 +93 +84 +79 +72 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +31 +27 +26 +22 +22 +19 +18 +16 +15 +12 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-108 +-101 +-110 +-103 +-97 +-91 +-86 +-79 +-75 +-69 +-66 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +98 +90 +85 +77 +73 +66 +62 +56 +54 +48 +45 +41 +39 +34 +33 +29 +27 +24 +23 +21 +19 +17 +16 +14 +13 +11 +11 +9 +9 +7 +7 +5 +6 +4 +4 +3 +3 +2 +2 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-3 +-3 +-4 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-98 +-107 +-101 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-55 +-51 +-48 +-45 +-42 +-40 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-8 +-7 +-8 +-6 +-7 +-7 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +85 +80 +72 +68 +63 +59 +52 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-10 +-10 +-9 +-10 +-8 +-8 +-7 +-7 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +116 +109 +98 +93 +84 +79 +73 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +85 +80 +72 +68 +62 +59 +52 +50 +45 +42 +38 +36 +32 +31 +28 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +7 +6 +5 +5 +3 +4 +2 +2 +1 +2 +1 +1 +0 +0 +-1 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-3 +-3 +-2 +-4 +-3 +-4 +-4 +-4 +-3 +-5 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-4 +-4 +-4 +-28 +-50 +-66 +-81 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-107 +-100 +-94 +-88 +-82 +-77 +-72 +-67 +-63 +-59 +-55 +-52 +-48 +-45 +-42 +-40 +-36 +-34 +-32 +-31 +-28 +-27 +-25 +-24 +-21 +-20 +-19 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +93 +85 +79 +72 +69 +62 +58 +52 +50 +45 +43 +38 +36 +33 +31 +27 +26 +23 +22 +19 +18 +15 +14 +13 +13 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-61 +-58 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-17 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-9 +-7 +-8 +-7 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +92 +85 +80 +73 +69 +62 +58 +53 +50 +45 +42 +38 +36 +32 +30 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-74 +-69 +-65 +-60 +-57 +-52 +-49 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +85 +77 +72 +66 +62 +56 +53 +48 +45 +40 +38 +34 +32 +30 +28 +24 +23 +20 +19 +17 +16 +14 +13 +12 +11 +9 +9 +7 +7 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-109 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-101 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-23 +-21 +-20 +-18 +-18 +-16 +-16 +-14 +-13 +-12 +-12 +-11 +-11 +-10 +-10 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-2 +-3 +-2 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +108 +99 +93 +84 +80 +72 +68 +62 +58 +53 +50 +45 +43 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +12 +10 +11 +8 +8 +6 +7 +5 +5 +3 +4 +2 +3 +1 +1 +1 +1 +0 +0 +-1 +-1 +-1 +-1 +-2 +-2 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-3 +-3 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-28 +-50 +-67 +-82 +-93 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-111 +-104 +-114 +-106 +-100 +-94 +-88 +-82 +-77 +-71 +-68 +-63 +-59 +-55 +-52 +-48 +-46 +-42 +-39 +-36 +-34 +-32 +-30 +-28 +-27 +-24 +-24 +-22 +-21 +-19 +-18 +-17 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-2 +-2 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +92 +85 +80 +72 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +31 +28 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +7 +5 +5 +3 +4 +2 +2 +2 +2 +0 +1 +0 +0 +-1 +0 +-2 +-1 +-2 +-2 +-3 +-2 +-3 +-3 +-3 +-3 +-4 +-2 +-3 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-4 +-4 +-3 +-4 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-4 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-4 +-6 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-4 +-5 +-5 +-5 +-28 +-50 +-67 +-82 +-94 +-104 +-112 +-104 +-109 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-110 +-104 +-113 +-106 +-100 +-94 +-88 +-82 +-77 +-72 +-68 +-63 +-59 +-54 +-52 +-48 +-45 +-42 +-39 +-36 +-35 +-32 +-31 +-28 +-27 +-24 +-23 +-21 +-21 +-18 +-18 +-17 +-16 +-14 +-14 +-13 +-12 +-11 +-11 +-10 +-10 +-9 +-9 +-7 +-8 +-7 +-7 +-6 +-7 +-6 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +93 +84 +80 +73 +68 +62 +59 +53 +50 +45 +42 +38 +36 +32 +31 +27 +26 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +7 +-18 +-41 +-59 +-76 +-88 +-99 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-23 +-22 +-21 +-20 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-10 +-10 +-9 +-10 +-8 +-8 +-8 +-8 +-6 +-7 +-6 +-6 +-6 +-6 +-4 +-5 +-4 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-1 +-2 +-1 +-2 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +98 +92 +85 +80 +72 +68 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +25 +23 +22 +19 +18 +16 +15 +13 +13 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-49 +-46 +-43 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-23 +-23 +-20 +-19 +-18 +-17 +-16 +-16 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-10 +-8 +-8 +-7 +-8 +-7 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-3 +-3 +-2 +-3 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +108 +99 +92 +84 +79 +72 +67 +62 +59 +53 +50 +45 +43 +38 +36 +32 +30 +27 +26 +22 +22 +19 +18 +15 +15 +13 +12 +10 +10 +8 +8 +6 +-19 +-42 +-60 +-76 +-88 +-100 +-108 +-100 +-106 +-111 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-112 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-29 +-27 +-26 +-24 +-23 +-20 +-19 +-18 +-18 +-16 +-15 +-14 +-14 +-12 +-12 +-11 +-11 +-9 +-9 +-8 +-9 +-8 +-8 +-6 +-7 +-6 +-6 +-5 +-6 +-5 +-5 +-4 +-5 +-4 +-4 +-4 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +109 +99 +93 +84 +80 +73 +68 +62 +58 +52 +50 +45 +43 +38 +36 +32 +31 +27 +26 +22 +22 +19 +18 +16 +15 +13 +13 +11 +10 +8 +8 +7 +-19 +-41 +-59 +-76 +-88 +-100 +-108 +-100 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-90 +-85 +-79 +-75 +-69 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +99 +90 +84 +77 +73 +65 +62 +56 +53 +48 +46 +41 +39 +35 +32 +29 +28 +24 +23 +21 +20 +17 +16 +14 +14 +12 +11 +9 +9 +7 +7 +5 +-20 +-43 +-61 +-77 +-89 +-100 +-109 +-101 +-106 +-112 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-127 +-107 +-100 +-110 +-103 +-97 +-91 +-85 +-79 +-75 +-70 +-65 +-60 +-57 +-53 +-50 +-46 +-44 +-40 +-38 +-35 +-33 +-31 +-30 +-27 +-26 +-24 +-22 +-20 +-20 +-18 +-18 +-16 +-16 +-14 +-14 +-12 +-12 +-10 +-11 +-9 +-9 +-8 +-8 +-7 +-8 +-6 +-7 +-6 +-7 +-5 +-6 +-5 +-5 +-4 +-4 +-3 +-4 +-3 +-4 +-3 +-4 +-3 +-3 +-3 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-2 +-3 +-2 +-3 +-2 +-3 +-2 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-2 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-2 +-1 +-1 +-1 +-2 diff --git a/traces/modulation-fsk1-50.pm3 b/traces/modulation-fsk1-50.pm3 new file mode 100644 index 000000000..01fb01c56 --- /dev/null +++ b/traces/modulation-fsk1-50.pm3 @@ -0,0 +1,20000 @@ +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-3 +-28 +-49 +22 +30 +0 +-27 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +20 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +30 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +27 +0 +-16 +-39 +-59 +-75 +-89 +30 +55 +22 +-3 +-27 +-49 +-66 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +37 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +0 +-24 +43 +49 +14 +-13 +-37 +34 +40 +9 +-19 +-41 +29 +38 +6 +-20 +-43 +28 +34 +4 +-23 +-45 +26 +35 +3 +-23 +-46 +26 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-25 +-48 +22 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-42 +-59 +52 +28 +-2 +-27 +-48 +51 +25 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-52 +48 +22 +-6 +-31 +-51 +47 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-52 +46 +22 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +46 +20 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +33 +61 +28 +4 +-22 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +68 +33 +7 +-18 +-42 +-60 +-77 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +33 +1 +-24 +-46 +25 +32 +2 +-25 +-46 +23 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +0 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-2 +-27 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-49 +-67 +-82 +30 +58 +26 +1 +-24 +-46 +-64 +-80 +35 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-76 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +37 +5 +-21 +-44 +28 +35 +5 +-22 +-44 +26 +34 +2 +-23 +-46 +25 +33 +3 +-24 +-46 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-49 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-6 +-31 +-51 +48 +24 +-7 +-31 +-51 +49 +22 +-7 +-31 +-51 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +68 +33 +7 +-18 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-41 +-59 +49 +27 +-3 +-28 +-49 +52 +26 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-6 +-30 +-51 +47 +21 +-7 +-32 +-51 +46 +23 +-7 +-31 +-52 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +20 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +19 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +45 +20 +-9 +-33 +-53 +46 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +43 +19 +-10 +-33 +-54 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-8 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +-70 +41 +62 +28 +2 +-23 +-46 +-64 +-80 +33 +61 +27 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +8 +-18 +-42 +-60 +-76 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +1 +-24 +43 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +29 +39 +6 +-20 +-43 +28 +36 +5 +-22 +-44 +26 +35 +3 +-23 +-45 +25 +32 +1 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +22 +31 +0 +-26 +-48 +22 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +24 +1 +-25 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-20 +-42 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +43 +69 +35 +8 +-17 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +46 +70 +36 +9 +-17 +-40 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-40 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +32 +1 +-24 +-47 +25 +33 +3 +-24 +-45 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-27 +-48 +22 +29 +0 +-27 +-47 +20 +28 +-3 +-28 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-48 +21 +30 +-2 +-27 +-49 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +19 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +27 +-1 +-16 +-39 +-59 +-75 +-89 +30 +56 +23 +-3 +-27 +-49 +-67 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +1 +-24 +42 +49 +15 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-45 +24 +32 +1 +-25 +-46 +23 +32 +1 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-4 +-28 +-50 +-67 +-82 +29 +58 +25 +0 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-19 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-52 +48 +22 +-7 +-31 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-52 +47 +21 +-7 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +-70 +37 +60 +27 +1 +-24 +-46 +-64 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +39 +66 +31 +6 +-20 +-43 +-61 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +50 +28 +-3 +-27 +-49 +52 +26 +-3 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-5 +-30 +-50 +48 +24 +-7 +-31 +-51 +46 +21 +-7 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-32 +-52 +47 +21 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-8 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +-71 +40 +63 +29 +2 +-23 +-46 +-63 +-79 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +43 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +5 +-23 +-44 +24 +32 +0 +-25 +-47 +25 +33 +2 +-24 +-45 +23 +33 +1 +-24 +-47 +24 +32 +1 +-25 +-46 +23 +32 +0 +-25 +-48 +22 +29 +1 +-16 +-39 +-59 +-74 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +9 +-18 +-41 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +33 +2 +-24 +-46 +23 +32 +1 +-25 +-47 +23 +31 +1 +-25 +-47 +22 +31 +0 +-25 +-47 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +28 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-17 +-39 +-60 +-75 +-90 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +57 +24 +1 +-24 +-47 +-65 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-59 +52 +28 +-3 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-52 +49 +22 +-7 +-32 +-51 +47 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-51 +45 +22 +-8 +-32 +-52 +47 +21 +-8 +-33 +-52 +-70 +38 +61 +28 +2 +-23 +-46 +-64 +-79 +33 +61 +28 +4 +-22 +-44 +-62 +-78 +38 +66 +32 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +44 +70 +36 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +34 +2 +-23 +43 +49 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +29 +38 +5 +-20 +-43 +28 +35 +4 +-23 +-44 +24 +33 +2 +-24 +-46 +25 +32 +2 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +32 +0 +-25 +-47 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-1 +-28 +-49 +21 +30 +-2 +-27 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-27 +-49 +23 +30 +0 +-27 +-47 +20 +28 +-3 +-28 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +19 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +27 +-3 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +20 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +28 +-3 +-28 +-50 +22 +29 +-1 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +20 +28 +-3 +-28 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +28 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +28 +36 +5 +-22 +-44 +26 +35 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +24 +32 +0 +-25 +-47 +23 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +31 +1 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-47 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +30 +58 +25 +1 +-25 +-47 +-64 +-80 +36 +63 +29 +5 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +40 +68 +33 +8 +-18 +-42 +-59 +51 +28 +-3 +-27 +-48 +52 +25 +-3 +-29 +-49 +49 +25 +-6 +-30 +-51 +50 +23 +-6 +-31 +-50 +48 +24 +-7 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +23 +-8 +-31 +-52 +48 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +48 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +-71 +37 +60 +26 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +3 +-22 +-44 +-63 +-79 +38 +65 +31 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +46 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +44 +70 +35 +9 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +45 +50 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +30 +38 +5 +-21 +-43 +28 +35 +4 +-23 +-44 +25 +33 +1 +-24 +-46 +25 +33 +2 +-24 +-45 +24 +32 +1 +-24 +-47 +23 +31 +1 +-25 +-47 +23 +32 +0 +-25 +-47 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-27 +-49 +23 +30 +-1 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +28 +-1 +-28 +-49 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +57 +25 +1 +-24 +-47 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +9 +-18 +-40 +29 +38 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +26 +35 +3 +-23 +-46 +25 +33 +2 +-25 +-46 +23 +32 +1 +-25 +-47 +23 +31 +0 +-26 +-47 +22 +31 +0 +-25 +-48 +23 +30 +0 +-27 +-47 +21 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +28 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +57 +25 +0 +-25 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +39 +67 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +49 +23 +-5 +-30 +-50 +48 +23 +-7 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +-70 +37 +61 +27 +1 +-24 +-46 +-64 +-80 +34 +62 +29 +4 +-21 +-44 +-62 +-78 +38 +66 +32 +6 +-20 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-58 +50 +28 +-3 +-27 +-48 +51 +25 +-3 +-29 +-49 +50 +26 +-5 +-29 +-50 +50 +24 +-5 +-30 +-50 +48 +24 +-7 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-7 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +46 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +22 +-8 +-32 +-53 +46 +20 +-9 +-33 +-53 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +45 +19 +-9 +-34 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +40 +61 +28 +2 +-24 +-46 +-64 +-80 +33 +62 +28 +3 +-22 +-45 +-63 +-79 +37 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +67 +33 +8 +-19 +-42 +-60 +-76 +41 +67 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +9 +-17 +-40 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +1 +-24 +44 +50 +16 +-12 +-36 +35 +41 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +25 +34 +2 +-23 +-46 +25 +33 +3 +-24 +-45 +24 +32 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-4 +-28 +-50 +-67 +-82 +29 +57 +25 +0 +-25 +-47 +-65 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +68 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +41 +69 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-40 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +9 +-17 +-41 +-59 +-76 +45 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +2 +-23 +43 +49 +14 +-13 +-37 +35 +42 +10 +-18 +-40 +30 +37 +5 +-21 +-44 +28 +35 +5 +-22 +-44 +24 +33 +2 +-23 +-46 +26 +33 +3 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-47 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-66 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +0 +-24 +43 +49 +15 +-13 +-37 +35 +41 +9 +-18 +-40 +29 +38 +6 +-20 +-43 +28 +34 +4 +-23 +-45 +26 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +33 +8 +-18 +-42 +-59 +52 +28 +-3 +-27 +-48 +53 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-51 +49 +22 +-6 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +21 +-7 +-32 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +-70 +37 +61 +27 +2 +-24 +-46 +-64 +-80 +33 +62 +28 +4 +-22 +-45 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +34 +8 +-18 +-42 +-59 +50 +27 +-4 +-28 +-49 +53 +26 +-3 +-29 +-49 +49 +25 +-6 +-29 +-50 +50 +23 +-5 +-30 +-50 +48 +24 +-6 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +21 +-7 +-32 +-51 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +44 +21 +-9 +-33 +-53 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +20 +-10 +-33 +-54 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +40 +62 +28 +2 +-24 +-46 +-64 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +34 +7 +-19 +-42 +-60 +-77 +40 +67 +33 +8 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +33 +1 +-23 +43 +49 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +29 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +24 +34 +2 +-24 +-46 +25 +32 +1 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +32 +0 +-25 +-47 +21 +29 +1 +-15 +-38 +-59 +-74 +-89 +29 +56 +23 +-2 +-27 +-49 +-66 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +40 +66 +32 +6 +-19 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +48 +14 +-13 +-37 +35 +42 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +23 +33 +1 +-24 +-47 +24 +31 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +23 +30 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-49 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-74 +-89 +28 +54 +21 +-4 +-28 +-50 +-67 +-83 +30 +58 +26 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-19 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +51 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-7 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-52 +45 +22 +-8 +-32 +-52 +47 +21 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-23 +-46 +-63 +-80 +34 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +67 +33 +8 +-18 +-41 +-60 +-76 +46 +71 +36 +9 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-45 +25 +34 +2 +-24 +-46 +25 +32 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-25 +-46 +22 +31 +0 +-25 +-48 +21 +28 +-1 +-28 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-27 +-48 +21 +28 +-1 +-28 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-27 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-49 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-47 +21 +30 +-2 +-26 +-48 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +20 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +21 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-2 +-26 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +20 +27 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-49 +-66 +-82 +29 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +41 +9 +-18 +-41 +29 +38 +5 +-20 +-43 +28 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-46 +25 +33 +2 +-24 +-46 +23 +32 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-25 +-48 +23 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-24 +-47 +-65 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +68 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-30 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-51 +48 +24 +-6 +-31 +-51 +48 +22 +-6 +-31 +-51 +47 +23 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-53 +46 +21 +-9 +-32 +-53 +46 +20 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +-70 +38 +61 +27 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-18 +-42 +-60 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-76 +42 +69 +34 +8 +-18 +-42 +-60 +-76 +45 +70 +35 +9 +-17 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +43 +49 +15 +-12 +-36 +36 +42 +11 +-17 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +25 +33 +1 +-24 +-46 +25 +32 +2 +-25 +-46 +24 +32 +1 +-24 +-47 +24 +31 +1 +-26 +-46 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-2 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +20 +28 +0 +-16 +-38 +-59 +-75 +-89 +29 +54 +21 +-3 +-28 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +1 +-24 +43 +49 +15 +-13 +-36 +35 +40 +9 +-19 +-41 +29 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +35 +3 +-23 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +30 +57 +25 +1 +-24 +-47 +-65 +-80 +37 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +7 +-18 +-42 +-59 +52 +28 +-3 +-27 +-48 +52 +25 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-7 +-30 +-51 +49 +22 +-7 +-32 +-51 +46 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-51 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-23 +-46 +-64 +-80 +34 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-20 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +50 +27 +-3 +-28 +-49 +52 +26 +-3 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +24 +-5 +-30 +-50 +48 +23 +-7 +-31 +-51 +47 +21 +-7 +-32 +-51 +47 +23 +-7 +-31 +-52 +48 +22 +-7 +-32 +-51 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +44 +21 +-9 +-33 +-53 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +44 +20 +-9 +-33 +-53 +47 +20 +-7 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-32 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-9 +-33 +-53 +44 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +44 +20 +-9 +-33 +-54 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +-70 +41 +62 +28 +2 +-23 +-46 +-64 +-80 +34 +62 +28 +4 +-22 +-44 +-62 +-79 +38 +65 +31 +5 +-20 +-43 +-61 +-77 +42 +68 +34 +8 +-19 +-42 +-60 +-76 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +41 +69 +34 +8 +-18 +-41 +-60 +-76 +42 +68 +33 +8 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +34 +9 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +36 +5 +-22 +-44 +26 +34 +2 +-24 +-46 +25 +32 +2 +-25 +-46 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +31 +-1 +-26 +-48 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +22 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-2 +-26 +-49 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +34 +8 +-18 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +46 +70 +36 +9 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +44 +70 +36 +9 +-17 +-40 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-45 +25 +33 +2 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +31 +1 +-26 +-47 +23 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +0 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-2 +-27 +-49 +21 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +62 +29 +4 +-22 +-44 +-62 +-78 +40 +67 +32 +6 +-20 +-43 +-61 +-77 +39 +67 +32 +7 +-19 +-42 +-60 +-77 +40 +67 +32 +1 +-24 +42 +49 +14 +-13 +-37 +35 +42 +10 +-18 +-40 +30 +38 +6 +-20 +-43 +28 +35 +5 +-22 +-44 +26 +35 +2 +-23 +-46 +25 +33 +2 +-24 +-46 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +21 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +49 +23 +-5 +-31 +-50 +48 +23 +-7 +-30 +-51 +48 +22 +-6 +-31 +-51 +47 +22 +-8 +-31 +-52 +48 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +-70 +37 +60 +26 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-45 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +50 +28 +-3 +-27 +-49 +52 +26 +-3 +-29 +-49 +49 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +23 +-7 +-31 +-51 +47 +21 +-7 +-32 +-52 +47 +23 +-7 +-31 +-52 +48 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-32 +-53 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +45 +19 +-9 +-33 +-53 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +43 +20 +-10 +-33 +-54 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +41 +62 +28 +2 +-23 +-46 +-64 +-80 +33 +61 +27 +3 +-22 +-45 +-63 +-79 +39 +66 +32 +6 +-20 +-43 +-61 +-78 +42 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +33 +1 +-24 +44 +50 +15 +-12 +-36 +35 +40 +9 +-19 +-41 +29 +38 +5 +-21 +-44 +27 +35 +4 +-23 +-44 +24 +33 +2 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-46 +24 +31 +1 +-25 +-47 +22 +31 +0 +-25 +-48 +21 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +55 +23 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +0 +-24 +43 +49 +15 +-13 +-37 +35 +40 +9 +-19 +-41 +30 +38 +5 +-21 +-43 +28 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-46 +25 +33 +3 +-24 +-46 +24 +33 +1 +-25 +-47 +24 +31 +0 +-26 +-47 +22 +31 +0 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +23 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +23 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +0 +-17 +-39 +-59 +-75 +-90 +29 +55 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-25 +-47 +-65 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-6 +-31 +-50 +48 +24 +-6 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +23 +-8 +-32 +-52 +47 +21 +-7 +-32 +-52 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +34 +63 +29 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +67 +33 +7 +-19 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-60 +-76 +45 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-60 +-76 +41 +68 +34 +8 +-17 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +44 +50 +15 +-13 +-36 +35 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +36 +5 +-22 +-44 +24 +33 +1 +-24 +-46 +25 +33 +3 +-24 +-46 +24 +32 +1 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +23 +29 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +20 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-48 +22 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-2 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +19 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +21 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-49 +21 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +20 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-76 +40 +67 +31 +0 +-25 +43 +49 +15 +-12 +-37 +35 +41 +10 +-18 +-41 +30 +38 +5 +-21 +-43 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +22 +32 +0 +-25 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-27 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-26 +-47 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +54 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-24 +-46 +-64 +-80 +37 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-42 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-61 +-77 +41 +68 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-50 +50 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-52 +49 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +48 +22 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +20 +-10 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +20 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +38 +61 +27 +1 +-24 +-46 +-64 +-80 +33 +62 +28 +4 +-22 +-45 +-63 +-78 +38 +66 +32 +6 +-20 +-43 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +35 +41 +10 +-18 +-40 +29 +38 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +24 +33 +2 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +22 +31 +0 +-25 +-48 +21 +28 +-1 +-27 +-48 +22 +31 +0 +-25 +-47 +23 +29 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +20 +28 +-1 +-27 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-19 +-43 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +37 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +25 +33 +2 +-24 +-46 +25 +33 +3 +-24 +-45 +24 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-47 +22 +31 +0 +-26 +-48 +23 +30 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +22 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +22 +28 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +0 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-50 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +62 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-5 +-29 +-50 +49 +23 +-5 +-31 +-50 +48 +24 +-7 +-31 +-51 +49 +22 +-7 +-32 +-51 +47 +23 +-8 +-31 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-53 +-70 +37 +61 +27 +2 +-23 +-46 +-64 +-80 +34 +62 +29 +4 +-22 +-44 +-62 +-79 +39 +66 +32 +7 +-19 +-42 +-61 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +49 +28 +-3 +-27 +-49 +52 +26 +-3 +-29 +-49 +49 +26 +-5 +-29 +-50 +50 +24 +-5 +-31 +-50 +48 +24 +-6 +-31 +-51 +47 +21 +-8 +-32 +-52 +47 +23 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-31 +-52 +47 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-52 +45 +19 +-9 +-34 +-53 +45 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +44 +19 +-9 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +43 +19 +-10 +-33 +-54 +47 +20 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +46 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +44 +20 +-10 +-33 +-53 +47 +20 +-8 +-32 +-52 +45 +22 +-8 +-32 +-53 +48 +21 +-7 +-32 +-52 +45 +21 +-9 +-32 +-53 +45 +20 +-8 +-33 +-53 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +40 +62 +28 +2 +-23 +-46 +-63 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +41 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +7 +-18 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +41 +69 +34 +9 +-17 +-40 +-59 +-76 +42 +69 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +1 +-24 +43 +50 +15 +-12 +-36 +35 +42 +10 +-18 +-40 +30 +39 +6 +-20 +-43 +28 +35 +4 +-23 +-44 +26 +35 +3 +-22 +-45 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +24 +30 +0 +-26 +-47 +23 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-49 +-67 +-82 +29 +57 +25 +1 +-24 +-47 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +66 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +41 +68 +33 +8 +-18 +-41 +-60 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +70 +35 +9 +-17 +-41 +-59 +-76 +42 +68 +33 +8 +-17 +-41 +-59 +-76 +42 +68 +34 +8 +-17 +-41 +-59 +-76 +46 +71 +36 +9 +-17 +-40 +-59 +-76 +42 +68 +34 +8 +-18 +-42 +-60 +-76 +42 +69 +35 +8 +-17 +-41 +-59 +-76 +44 +69 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +43 +69 +33 +2 +-23 +44 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +33 +1 +-24 +-46 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-46 +24 +31 +1 +-25 +-47 +22 +31 +0 +-25 +-48 +22 +29 +0 +-27 +-48 +22 +31 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +28 +-1 +-28 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +0 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +29 +57 +24 +1 +-24 +-46 +-64 +-80 +36 +64 +30 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +30 +38 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +26 +34 +2 +-23 +-46 +25 +33 +2 +-25 +-46 +23 +32 +0 +-25 +-47 +24 +31 +0 +-26 +-47 +22 +31 +0 +-25 +-47 +23 +30 +0 +-26 +-47 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +28 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +28 +54 +22 +-3 +-28 +-50 +-67 +-82 +29 +57 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +39 +66 +31 +6 +-20 +-42 +-61 +-77 +40 +66 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-3 +-29 +-49 +49 +25 +-5 +-30 +-50 +49 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-51 +48 +22 +-7 +-32 +-51 +47 +22 +-8 +-31 +-52 +47 +21 +-7 +-32 +-51 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-32 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +45 +21 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-53 +-70 +37 +61 +27 +1 +-24 +-46 +-64 +-80 +33 +62 +29 +4 +-22 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +42 +67 +33 +7 +-18 +-42 +-60 +-77 +41 +68 +33 +7 +-19 +-42 +-60 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +50 +28 +-3 +-28 +-49 +51 +26 +-3 +-29 +-49 +50 +25 +-5 +-29 +-50 +50 +23 +-5 +-31 +-50 +48 +24 +-7 +-30 +-51 +46 +21 +-7 +-32 +-52 +47 +23 +-7 +-31 +-52 +47 +21 +-7 +-32 +-52 +47 +22 +-8 +-32 +-52 +47 +21 +-7 +-32 +-52 +44 +20 +-10 +-33 +-54 +47 +21 +-7 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +45 +19 +-9 +-33 +-53 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +21 +-9 +-32 +-53 +46 +20 +-8 +-33 +-52 +44 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-33 +-53 +45 +20 +-9 +-33 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-7 +-33 +-52 +44 +20 +-9 +-33 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +45 +19 +-9 +-34 +-53 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +-70 +40 +62 +28 +2 +-23 +-46 +-64 +-80 +33 +61 +28 +3 +-22 +-45 +-63 +-79 +39 +66 +31 +6 +-20 +-43 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +33 +8 +-19 +-42 +-60 +-76 +41 +67 +33 +8 +-18 +-42 +-60 +-76 +42 +69 +33 +2 +-23 +43 +49 +14 +-13 +-37 +36 +42 +10 +-18 +-40 +30 +37 +5 +-21 +-44 +28 +35 +4 +-23 +-44 +24 +33 +1 +-24 +-47 +25 +33 +2 +-24 +-46 +24 +33 +1 +-24 +-47 +25 +31 +1 +-25 +-46 +22 +31 +0 +-25 +-48 +22 +29 +1 +-15 +-38 +-58 +-74 +-88 +29 +55 +22 +-3 +-27 +-49 +-67 +-82 +30 +58 +25 +1 +-24 +-46 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +66 +32 +6 +-20 +-42 +-61 +-77 +40 +68 +33 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +35 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-44 +27 +35 +5 +-22 +-44 +25 +34 +2 +-23 +-46 +25 +32 +2 +-25 +-46 +23 +32 +0 +-25 +-47 +24 +31 +1 +-26 +-46 +22 +31 +-1 +-26 +-48 +23 +31 +1 +-26 +-47 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-26 +-47 +22 +30 +-1 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-26 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +1 +-16 +-39 +-59 +-74 +-89 +29 +54 +22 +-3 +-28 +-49 +-67 +-82 +30 +57 +25 +1 +-25 +-47 +-65 +-80 +36 +63 +30 +4 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-18 +-42 +-60 +-76 +40 +67 +33 +8 +-18 +-42 +-59 +52 +29 +-2 +-27 +-48 +52 +26 +-3 +-29 +-49 +49 +25 +-6 +-30 +-51 +50 +24 +-5 +-31 +-50 +48 +23 +-7 +-31 +-52 +49 +22 +-7 +-31 +-51 +47 +22 +-8 +-31 +-52 +48 +21 +-7 +-32 +-52 +45 +22 +-8 +-32 +-53 +47 +21 +-8 +-33 +-52 +-70 +38 +61 +27 +2 +-24 +-46 +-64 +-80 +34 +62 +28 +4 +-22 +-44 +-62 +-79 +39 +66 +32 +6 +-19 +-42 +-61 +-77 +42 +68 +33 +7 +-19 +-42 +-60 +-76 +41 +68 +33 +8 +-18 +-42 +-60 +-76 +41 +68 +34 +8 +-18 +-41 +-60 +-76 +45 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +33 +8 +-18 +-41 +-59 +-76 +41 +68 +33 +8 +-18 +-41 +-59 +-76 +44 +70 +35 +8 +-18 +-41 +-59 +-76 +42 +68 +34 +8 +-18 +-41 +-59 +-76 +41 +68 +34 +8 +-18 +-41 +-59 +-76 +42 +69 +33 +2 +-23 +43 +50 +15 +-12 +-36 +36 +42 +10 +-18 +-40 +30 +38 +5 +-20 +-43 +27 +35 +4 +-23 +-44 +25 +34 +2 +-23 +-46 +26 +33 +2 +-24 +-45 +24 +32 +0 +-25 +-47 +24 +31 +1 +-25 +-46 +22 +31 +0 +-25 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +0 +-25 +-48 +23 +30 +0 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-26 +-49 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +21 +29 +-1 +-28 +-49 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +23 +30 +0 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +28 +-2 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +21 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-49 +23 +29 +0 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +30 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +28 +-2 +-28 +-49 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-48 +21 +27 +-2 +-28 +-49 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +31 +0 +-26 +-48 +21 +28 +-2 +-28 +-49 +21 +31 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +29 +-2 +-27 +-49 +21 +29 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-49 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +-1 +-27 +-48 +20 +29 +-3 +-27 +-49 +22 +30 +0 +-27 +-47 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +20 +28 +-1 +-16 +-39 +-59 +-75 +-89 +29 +55 +22 +-3 +-28 +-49 +-66 +-82 +30 +58 +25 +1 +-24 +-47 +-64 +-80 +36 +63 +29 +4 +-21 +-44 +-62 +-78 +39 +65 +31 +6 +-19 +-43 +-61 +-77 +40 +67 +32 +7 +-19 +-42 +-60 +-77 +41 +68 +32 +1 +-24 +43 +49 +14 +-13 +-37 +34 +41 +10 +-18 +-40 +29 +38 +5 +-21 +-43 +27 +35 +4 +-23 +-44 +25 +35 +2 +-23 +-45 +25 +32 +2 +-24 +-46 +23 +32 +0 +-25 +-47 +24 +31 +1 +-25 +-47 +22 +30 +-1 +-26 +-48 +22 +30 +0 +-26 +-47 +21 +30 +-1 +-26 +-48 +23 +30 +0 +-27 +-47 +22 +30 +-1 +-26 +-48 +23 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +23 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-28 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +20 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +28 +-1 +-28 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +22 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +29 +-1 +-27 +-48 +21 +31 +-1 +-26 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-1 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +30 +-2 +-27 +-48 +21 +29 +-1 +-27 +-48 +21 +30 +-1 +-26 +-48 +22 +29 +-1 +-27 +-48 +21 +30 +-1 +-27 +-48 +22 +29 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +30 +0 +-27 +-48 +21 +30 +-2 +-27 +-49 +22 +29 +-1 +-27 +-48 +21 +29 +-2 +-27 +-49 +22 +29 +1 +-16 +-39 +-59 +-75 +-89 +29 +54 +21 +-3 +-28 +-49 +-67 +-82 +30 +58 +25 +0 +-25 +-47 +-64 +-80 +36 +63 +30 +5 +-21 +-44 +-62 +-78 +38 +65 +31 +6 +-20 +-43 +-61 +-77 +40 +67 +33 +7 +-19 +-42 +-60 +-77 +41 +67 +33 +8 +-18 +-41 +-59 +52 +29 +-2 +-27 +-48 +52 +25 +-4 +-29 +-49 +49 +25 +-6 +-29 +-50 +50 +23 +-6 +-31 +-50 +48 +23 +-7 +-31 +-51 +49 +22 +-7 +-32 +-51 +46 +22 +-8 +-32 +-52 +48 +21 +-7 +-32 +-51 +45 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +46 +22 +-8 +-32 +-52 +47 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +21 +-8 +-32 +-53 +47 +20 +-8 +-33 +-53 +46 +22 +-8 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-33 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-8 +-32 +-53 +46 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-8 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 +20 +-9 +-33 +-52 +45 +21 +-9 +-32 +-53 +47 diff --git a/traces/modulation-fsk1a-50.pm3 b/traces/modulation-fsk1a-50.pm3 new file mode 100644 index 000000000..01153d4c4 --- /dev/null +++ b/traces/modulation-fsk1a-50.pm3 @@ -0,0 +1,20000 @@ +45 +-7 +-49 +-85 +-82 +17 +77 +96 +40 +-11 +-52 +-88 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-87 +11 +71 +90 +34 +-16 +-56 +-91 +-90 +10 +68 +88 +33 +-17 +-57 +-92 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +85 +31 +-19 +-59 +-94 +-91 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +85 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-91 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-53 +-6 +-37 +-74 +-106 +-37 +16 +-12 +-54 +-88 +-24 +26 +-6 +-48 +-83 +-19 +30 +-1 +-45 +-79 +-14 +36 +3 +-39 +-76 +-11 +37 +6 +-38 +-74 +-9 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-103 +-48 +45 +103 +122 +63 +9 +-35 +-74 +-64 +32 +91 +109 +52 +-1 +-44 +-81 +-75 +22 +81 +100 +43 +-8 +-50 +-86 +-82 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +72 +91 +36 +-15 +-55 +-91 +-88 +11 +70 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +68 +88 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +85 +30 +-19 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-91 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +32 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-53 +-5 +-36 +-73 +-105 +-36 +16 +-13 +-55 +-88 +-25 +26 +-6 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-15 +36 +4 +-39 +-76 +-11 +38 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-6 +44 +11 +-33 +-71 +-5 +43 +13 +-33 +-69 +-6 +44 +11 +-33 +-70 +-4 +44 +12 +-33 +-69 +-4 +46 +12 +-32 +-70 +-3 +45 +14 +-32 +-69 +-4 +46 +13 +-32 +-69 +-3 +44 +13 +-33 +-69 +-4 +47 +12 +-32 +-69 +-3 +45 +14 +-32 +-69 +-3 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-102 +-47 +47 +105 +124 +65 +10 +-34 +-73 +-64 +33 +91 +109 +52 +-1 +-43 +-81 +-75 +23 +82 +101 +45 +-7 +-49 +-85 +-83 +15 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-88 +10 +70 +90 +35 +-16 +-56 +-92 +-91 +8 +68 +87 +32 +-17 +-58 +-93 +-90 +8 +69 +88 +33 +-17 +-57 +-92 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +66 +86 +32 +-18 +-58 +-93 +-93 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-58 +-53 +-6 +-37 +-74 +-106 +-37 +16 +-12 +-54 +-88 +-25 +26 +-6 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-15 +35 +3 +-40 +-76 +-11 +38 +6 +-38 +-74 +-9 +41 +8 +-35 +-72 +-7 +42 +10 +-36 +-71 +-6 +44 +10 +-33 +-71 +-5 +44 +12 +-34 +-70 +-103 +-48 +46 +104 +123 +63 +9 +-35 +-74 +-64 +32 +91 +109 +51 +-1 +-44 +-81 +-76 +22 +82 +100 +44 +-7 +-49 +-86 +-83 +15 +74 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +91 +36 +-15 +-55 +-91 +-88 +11 +70 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +87 +31 +-18 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +65 +85 +30 +-19 +-59 +-94 +-91 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +85 +31 +-19 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +65 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-54 +-5 +-36 +-73 +-105 +-36 +16 +-13 +-54 +-88 +-26 +25 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +4 +-40 +-76 +-11 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-36 +-71 +-7 +44 +10 +-34 +-71 +-4 +43 +13 +-33 +-70 +-102 +-48 +45 +104 +122 +63 +9 +-35 +-73 +-65 +32 +91 +109 +52 +-1 +-44 +-81 +-76 +22 +80 +100 +44 +-8 +-49 +-86 +-83 +15 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +37 +-14 +-55 +-90 +-88 +10 +70 +89 +34 +-16 +-57 +-51 +-4 +-35 +-72 +-104 +-35 +18 +-11 +-53 +-86 +-24 +27 +-6 +-47 +-83 +-17 +31 +0 +-44 +-78 +-14 +36 +3 +-39 +-76 +-10 +38 +6 +-38 +-74 +-9 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-6 +44 +11 +-33 +-70 +-5 +44 +12 +-34 +-71 +-103 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-64 +32 +91 +109 +51 +-1 +-44 +-81 +-75 +23 +82 +100 +44 +-8 +-49 +-86 +-83 +15 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +72 +91 +36 +-14 +-55 +-91 +-88 +11 +70 +90 +35 +-15 +-56 +-92 +-90 +9 +69 +88 +32 +-17 +-57 +-93 +-91 +9 +68 +88 +33 +-17 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-91 +8 +67 +88 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +6 +45 +-6 +-48 +-50 +-1 +8 +-36 +-74 +-66 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-50 +8 +28 +-20 +-59 +-46 +13 +29 +-17 +-58 +-44 +14 +33 +-16 +-56 +-43 +17 +33 +-14 +-55 +-40 +17 +35 +-13 +-54 +-41 +18 +34 +-13 +-54 +-39 +18 +36 +-13 +-53 +-39 +20 +36 +-11 +-53 +-39 +18 +37 +-12 +-53 +-39 +20 +37 +-11 +-52 +-39 +19 +38 +-11 +-52 +-39 +19 +36 +-11 +-53 +-38 +20 +38 +-11 +-51 +-38 +20 +36 +-11 +-53 +-38 +20 +39 +-11 +-51 +-38 +21 +37 +-11 +-52 +-38 +19 +58 +73 +22 +-25 +-64 +-98 +-63 +36 +96 +116 +57 +3 +-40 +-78 +-73 +24 +83 +102 +45 +-7 +-49 +-85 +-81 +17 +76 +95 +39 +-12 +-53 +-89 +-85 +13 +72 +92 +37 +-14 +-54 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-89 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +66 +86 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-91 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +7 +66 +85 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-54 +-5 +-36 +-73 +-105 +-37 +15 +-13 +-54 +-88 +-25 +26 +-6 +-48 +-83 +-18 +30 +0 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +37 +6 +-38 +-74 +-9 +41 +7 +-36 +-73 +-8 +41 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-69 +-5 +45 +11 +-33 +-70 +-4 +45 +13 +-33 +-69 +-4 +45 +12 +-33 +-70 +-3 +45 +13 +-33 +-69 +-3 +46 +13 +-32 +-69 +-3 +44 +12 +-33 +-69 +-3 +47 +13 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +12 +-32 +-69 +-3 +46 +15 +-31 +-67 +-3 +46 +12 +-32 +-70 +-4 +45 +14 +-32 +-68 +-3 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-68 +-3 +47 +13 +-31 +-68 +-3 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-3 +45 +14 +-32 +-68 +-4 +46 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-102 +-47 +48 +106 +124 +64 +10 +-35 +-73 +-64 +33 +91 +110 +53 +0 +-43 +-80 +-76 +22 +82 +100 +44 +-8 +-50 +-86 +-82 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-88 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +8 +68 +88 +33 +-17 +-57 +-92 +-91 +9 +69 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +88 +32 +-17 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-54 +-5 +-36 +-73 +-105 +-37 +16 +-13 +-54 +-88 +-25 +25 +-7 +-49 +-84 +-19 +31 +0 +-44 +-79 +-15 +36 +4 +-39 +-76 +-11 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-7 +43 +10 +-33 +-71 +-5 +44 +12 +-33 +-70 +-103 +-49 +46 +104 +122 +63 +9 +-35 +-74 +-64 +32 +90 +109 +52 +-1 +-44 +-81 +-76 +22 +81 +100 +44 +-8 +-49 +-86 +-83 +15 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-15 +-55 +-91 +-88 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +8 +67 +88 +32 +-17 +-58 +-93 +-90 +9 +69 +87 +32 +-17 +-58 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +6 +65 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-58 +-94 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +46 +-5 +-47 +-50 +-2 +7 +-37 +-75 +-67 +-5 +17 +-29 +-67 +-53 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-60 +-47 +13 +30 +-17 +-58 +-44 +14 +32 +-16 +-56 +-43 +17 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-13 +-54 +-40 +18 +58 +73 +22 +-26 +-64 +-98 +-64 +35 +95 +114 +56 +2 +-41 +-78 +-74 +24 +83 +102 +45 +-7 +-49 +-85 +-81 +17 +76 +95 +40 +-11 +-53 +-88 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +69 +88 +33 +-17 +-57 +-92 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +8 +67 +87 +32 +-17 +-58 +-93 +-91 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-54 +-7 +-38 +-75 +-106 +-37 +16 +-12 +-54 +-87 +-24 +27 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +6 +-39 +-74 +-9 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-103 +-48 +45 +104 +123 +64 +9 +-35 +-73 +-64 +33 +91 +109 +52 +-1 +-44 +-81 +-76 +22 +81 +100 +43 +-8 +-50 +-86 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-88 +11 +70 +89 +33 +-16 +-57 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +8 +67 +87 +32 +-18 +-58 +-93 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +66 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +65 +85 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-54 +-6 +-37 +-74 +-106 +-37 +15 +-12 +-54 +-87 +-25 +26 +-7 +-49 +-84 +-19 +30 +0 +-44 +-78 +-15 +36 +3 +-40 +-76 +-11 +37 +6 +-38 +-74 +-9 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-6 +45 +11 +-33 +-71 +-5 +44 +12 +-34 +-71 +-103 +-48 +45 +104 +123 +64 +9 +-35 +-73 +-65 +32 +91 +109 +51 +-1 +-44 +-81 +-75 +23 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +75 +94 +38 +-13 +-53 +-89 +-86 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +46 +-4 +-47 +-49 +0 +9 +-35 +-74 +-65 +-3 +18 +-28 +-67 +-53 +6 +23 +-22 +-63 +-49 +10 +28 +-19 +-59 +-46 +13 +29 +-17 +-58 +-44 +14 +33 +-16 +-55 +-42 +17 +34 +-13 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +36 +-12 +-54 +-38 +18 +57 +72 +21 +-26 +-64 +-98 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-81 +17 +77 +96 +40 +-11 +-53 +-88 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-88 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-91 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +85 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +46 +-5 +-47 +-50 +-2 +7 +-36 +-75 +-67 +-5 +17 +-29 +-67 +-54 +5 +22 +-23 +-63 +-50 +8 +28 +-20 +-59 +-47 +12 +30 +-17 +-58 +-45 +13 +32 +-16 +-56 +-43 +17 +33 +-13 +-55 +-42 +16 +35 +-14 +-54 +-41 +18 +35 +-12 +-54 +-39 +18 +58 +73 +22 +-25 +-64 +-98 +-64 +35 +95 +115 +56 +3 +-40 +-78 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-81 +17 +76 +95 +40 +-11 +-52 +-88 +-87 +13 +72 +92 +36 +-14 +-55 +-91 +-88 +11 +71 +90 +34 +-16 +-56 +-91 +-90 +9 +69 +89 +33 +-17 +-57 +-52 +-4 +-35 +-72 +-104 +-36 +16 +-12 +-54 +-87 +-25 +27 +-6 +-47 +-83 +-18 +31 +0 +-44 +-79 +-15 +36 +4 +-39 +-76 +-10 +38 +7 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +43 +13 +-33 +-69 +-6 +45 +11 +-33 +-70 +-4 +45 +12 +-33 +-69 +-4 +46 +12 +-32 +-69 +-3 +45 +13 +-32 +-68 +-4 +46 +13 +-31 +-69 +-3 +44 +13 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-101 +-47 +47 +105 +124 +64 +10 +-34 +-72 +-64 +33 +92 +109 +52 +-1 +-43 +-80 +-75 +23 +82 +101 +45 +-7 +-49 +-85 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-85 +13 +72 +92 +36 +-14 +-55 +-90 +-89 +10 +70 +90 +34 +-16 +-56 +-91 +-91 +8 +68 +87 +32 +-17 +-58 +-93 +-90 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +66 +86 +31 +-18 +-58 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-19 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +32 +-18 +-58 +-93 +-94 +6 +65 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +66 +85 +30 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +5 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +6 +65 +85 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +5 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +7 +67 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +46 +-5 +-47 +-50 +-2 +6 +-38 +-76 +-68 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-59 +-48 +13 +30 +-17 +-58 +-44 +13 +33 +-16 +-56 +-43 +17 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-40 +19 +35 +-12 +-53 +-40 +18 +58 +73 +22 +-26 +-64 +-98 +-63 +36 +95 +115 +57 +3 +-40 +-78 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-82 +17 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +89 +33 +-16 +-57 +-92 +-90 +10 +69 +88 +33 +-16 +-57 +-92 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +65 +85 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-54 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-54 +-88 +-26 +25 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +37 +6 +-38 +-74 +-9 +42 +8 +-36 +-73 +-7 +41 +9 +-36 +-72 +-7 +45 +10 +-34 +-71 +-4 +43 +12 +-33 +-70 +-103 +-48 +46 +104 +123 +64 +10 +-35 +-73 +-65 +32 +91 +109 +51 +-1 +-44 +-81 +-75 +23 +81 +101 +44 +-7 +-49 +-85 +-83 +16 +75 +94 +38 +-13 +-53 +-89 +-86 +14 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-91 +-90 +9 +69 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +65 +85 +31 +-19 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-55 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-54 +-88 +-26 +26 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +36 +5 +-39 +-74 +-10 +42 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-69 +-5 +43 +10 +-34 +-71 +-4 +44 +13 +-33 +-69 +-4 +46 +12 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +46 +13 +-31 +-69 +-4 +45 +13 +-33 +-69 +-4 +46 +12 +-32 +-69 +-3 +46 +14 +-32 +-68 +-4 +47 +12 +-32 +-69 +-3 +45 +15 +-31 +-69 +-101 +-47 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +93 +111 +53 +0 +-43 +-80 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-91 +8 +67 +88 +32 +-17 +-57 +-93 +-91 +9 +69 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +88 +32 +-17 +-57 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-92 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-55 +-6 +-38 +-75 +-106 +-37 +16 +-13 +-54 +-88 +-25 +26 +-7 +-48 +-84 +-19 +29 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-103 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +22 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +76 +94 +38 +-13 +-53 +-89 +-86 +13 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-54 +-5 +-37 +-74 +-106 +-38 +15 +-13 +-55 +-88 +-25 +26 +-7 +-48 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +6 +-38 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-102 +-49 +46 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +22 +82 +100 +44 +-8 +-49 +-86 +-84 +16 +76 +94 +39 +-12 +-53 +-89 +-87 +13 +72 +91 +35 +-15 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-52 +-5 +-36 +-73 +-105 +-35 +17 +-11 +-53 +-86 +-24 +27 +-6 +-47 +-83 +-18 +31 +0 +-43 +-78 +-14 +37 +4 +-39 +-76 +-10 +37 +6 +-38 +-74 +-10 +42 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-33 +-71 +-4 +43 +12 +-33 +-70 +-102 +-48 +45 +104 +123 +63 +9 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-87 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-91 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +85 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +46 +-5 +-48 +-51 +-2 +7 +-36 +-75 +-68 +-5 +17 +-29 +-67 +-55 +5 +22 +-23 +-63 +-50 +8 +28 +-20 +-59 +-47 +12 +29 +-17 +-58 +-45 +14 +33 +-16 +-55 +-43 +16 +33 +-14 +-55 +-42 +17 +35 +-14 +-54 +-41 +19 +36 +-12 +-53 +-39 +18 +36 +-13 +-53 +-40 +19 +36 +-11 +-53 +-39 +19 +37 +-12 +-52 +-39 +20 +36 +-11 +-53 +-39 +20 +38 +-11 +-51 +-38 +20 +36 +-11 +-53 +-39 +19 +37 +-12 +-52 +-39 +21 +37 +-11 +-52 +-38 +20 +37 +-12 +-52 +-40 +20 +37 +-10 +-52 +-37 +20 +58 +74 +23 +-25 +-63 +-97 +-63 +37 +97 +116 +57 +4 +-39 +-77 +-74 +25 +83 +102 +45 +-7 +-48 +-85 +-81 +18 +78 +97 +40 +-11 +-52 +-88 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-88 +11 +71 +91 +35 +-15 +-56 +-91 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +65 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +5 +66 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +85 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-55 +-88 +-25 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-12 +37 +5 +-39 +-75 +-10 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-69 +-5 +45 +11 +-33 +-70 +-5 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-3 +45 +12 +-33 +-69 +-4 +46 +13 +-31 +-68 +-3 +45 +13 +-33 +-69 +-5 +46 +12 +-32 +-69 +-3 +45 +13 +-32 +-68 +-3 +47 +13 +-32 +-69 +-3 +45 +14 +-32 +-68 +-4 +46 +12 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +46 +14 +-32 +-68 +-4 +47 +14 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-101 +-47 +48 +106 +125 +65 +10 +-34 +-72 +-64 +34 +92 +110 +53 +0 +-43 +-80 +-76 +23 +83 +101 +45 +-7 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +91 +35 +-14 +-55 +-91 +-89 +10 +70 +90 +35 +-15 +-56 +-91 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-56 +-6 +-37 +-74 +-106 +-37 +16 +-14 +-55 +-88 +-26 +26 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +36 +4 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-70 +-102 +-48 +47 +104 +123 +63 +9 +-35 +-73 +-65 +33 +92 +110 +52 +0 +-43 +-80 +-76 +22 +82 +100 +44 +-7 +-49 +-86 +-83 +16 +76 +95 +38 +-12 +-53 +-89 +-87 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +89 +34 +-16 +-56 +-91 +-92 +8 +68 +88 +32 +-17 +-57 +-93 +-91 +9 +69 +88 +32 +-17 +-57 +-93 +-92 +9 +69 +88 +32 +-17 +-57 +-92 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +46 +-4 +-47 +-51 +-3 +6 +-37 +-75 +-69 +-6 +16 +-30 +-68 +-55 +5 +23 +-22 +-63 +-51 +8 +27 +-20 +-59 +-48 +12 +30 +-17 +-57 +-45 +14 +33 +-16 +-55 +-44 +16 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-41 +18 +35 +-12 +-53 +-40 +18 +58 +73 +22 +-25 +-64 +-97 +-63 +35 +96 +115 +57 +3 +-40 +-77 +-74 +24 +84 +102 +45 +-6 +-48 +-85 +-81 +18 +77 +96 +40 +-11 +-52 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-91 +-89 +11 +70 +90 +34 +-16 +-56 +-91 +-90 +10 +69 +89 +33 +-16 +-57 +-92 +-92 +8 +68 +87 +32 +-17 +-58 +-92 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-92 +9 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +32 +-18 +-58 +-54 +-7 +-38 +-75 +-106 +-38 +16 +-13 +-54 +-88 +-25 +26 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +38 +6 +-39 +-74 +-9 +41 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-33 +-71 +-5 +43 +12 +-33 +-70 +-102 +-49 +47 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-77 +23 +83 +101 +44 +-7 +-49 +-85 +-84 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +35 +-15 +-56 +-91 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +69 +88 +32 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-55 +-7 +-39 +-75 +-107 +-38 +16 +-13 +-54 +-87 +-25 +26 +-8 +-49 +-84 +-20 +30 +0 +-44 +-79 +-15 +37 +3 +-39 +-76 +-12 +37 +5 +-39 +-75 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-49 +46 +105 +123 +63 +9 +-35 +-73 +-64 +33 +92 +111 +53 +0 +-43 +-80 +-77 +22 +82 +100 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +9 +47 +-4 +-46 +-50 +-1 +7 +-36 +-74 +-67 +-4 +18 +-28 +-66 +-54 +7 +23 +-22 +-62 +-50 +8 +28 +-20 +-59 +-47 +13 +30 +-17 +-58 +-44 +14 +33 +-15 +-55 +-43 +17 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-13 +-54 +-39 +17 +57 +73 +22 +-26 +-64 +-97 +-63 +37 +96 +115 +57 +3 +-40 +-77 +-74 +25 +84 +102 +46 +-6 +-48 +-84 +-82 +18 +77 +95 +40 +-11 +-53 +-88 +-86 +13 +74 +93 +37 +-14 +-54 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-90 +10 +69 +88 +33 +-16 +-57 +-92 +-93 +8 +69 +88 +32 +-17 +-57 +-92 +-92 +9 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-95 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +46 +-5 +-47 +-51 +-3 +6 +-37 +-75 +-68 +-5 +16 +-29 +-67 +-54 +5 +23 +-23 +-63 +-51 +8 +27 +-21 +-60 +-48 +12 +30 +-17 +-58 +-44 +14 +32 +-16 +-56 +-44 +16 +33 +-14 +-55 +-41 +17 +35 +-13 +-53 +-42 +18 +35 +-12 +-54 +-40 +18 +57 +74 +23 +-25 +-64 +-97 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +25 +84 +102 +46 +-6 +-48 +-84 +-82 +17 +77 +96 +40 +-11 +-52 +-88 +-87 +14 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-91 +10 +69 +88 +33 +-16 +-57 +-54 +-4 +-35 +-72 +-104 +-36 +17 +-12 +-54 +-87 +-25 +26 +-7 +-48 +-84 +-19 +31 +0 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +6 +-38 +-74 +-10 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-69 +-6 +44 +10 +-34 +-71 +-4 +45 +13 +-33 +-69 +-4 +47 +12 +-32 +-69 +-5 +45 +13 +-33 +-69 +-3 +47 +13 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-68 +-4 +46 +13 +-32 +-69 +-3 +46 +15 +-31 +-68 +-101 +-47 +48 +106 +123 +64 +9 +-34 +-73 +-64 +34 +93 +111 +54 +0 +-42 +-80 +-76 +23 +82 +101 +44 +-7 +-49 +-85 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +12 +71 +89 +34 +-16 +-56 +-92 +-92 +9 +68 +88 +33 +-17 +-57 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-57 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +85 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-95 +6 +65 +85 +30 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +30 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-19 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +68 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +46 +-5 +-47 +-52 +-3 +6 +-37 +-75 +-68 +-5 +16 +-30 +-67 +-55 +5 +22 +-23 +-63 +-51 +8 +28 +-20 +-59 +-48 +13 +30 +-17 +-57 +-45 +14 +32 +-16 +-56 +-43 +16 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-42 +18 +35 +-12 +-53 +-40 +18 +58 +74 +23 +-25 +-64 +-97 +-64 +35 +96 +116 +57 +3 +-40 +-77 +-73 +25 +84 +101 +45 +-7 +-49 +-85 +-82 +17 +77 +96 +40 +-11 +-52 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-88 +12 +71 +90 +35 +-15 +-56 +-91 +-91 +10 +70 +89 +33 +-17 +-57 +-92 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-93 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-95 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-55 +-7 +-39 +-76 +-107 +-38 +16 +-13 +-55 +-88 +-25 +26 +-7 +-49 +-84 +-20 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +5 +-39 +-74 +-10 +41 +8 +-35 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +46 +105 +124 +64 +9 +-35 +-73 +-65 +34 +93 +111 +53 +0 +-43 +-80 +-76 +23 +82 +100 +43 +-8 +-49 +-86 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-87 +12 +73 +92 +37 +-14 +-54 +-90 +-90 +11 +71 +89 +33 +-16 +-56 +-92 +-91 +9 +69 +89 +33 +-16 +-56 +-92 +-92 +9 +69 +87 +31 +-18 +-58 +-93 +-92 +9 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-17 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-94 +8 +68 +87 +31 +-18 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +15 +-14 +-55 +-88 +-26 +26 +-7 +-48 +-84 +-20 +30 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-12 +38 +6 +-38 +-74 +-10 +40 +7 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-69 +-5 +45 +11 +-33 +-70 +-5 +45 +12 +-33 +-69 +-5 +46 +12 +-32 +-69 +-3 +45 +13 +-33 +-69 +-5 +46 +13 +-32 +-69 +-4 +45 +12 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-69 +-101 +-46 +48 +106 +125 +65 +11 +-33 +-72 +-64 +34 +93 +111 +53 +0 +-43 +-80 +-76 +24 +82 +101 +45 +-7 +-49 +-85 +-84 +15 +75 +95 +38 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-92 +8 +68 +88 +33 +-17 +-57 +-93 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-55 +-6 +-38 +-75 +-107 +-38 +16 +-13 +-55 +-88 +-26 +26 +-7 +-49 +-84 +-20 +30 +-1 +-44 +-79 +-15 +35 +2 +-40 +-77 +-11 +38 +5 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +45 +11 +-33 +-70 +-5 +44 +12 +-34 +-71 +-103 +-48 +47 +105 +124 +64 +10 +-34 +-72 +-65 +33 +92 +109 +52 +0 +-43 +-80 +-76 +23 +83 +101 +44 +-8 +-49 +-85 +-84 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-90 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +69 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +6 +66 +86 +31 +-18 +-59 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +88 +32 +-18 +-58 +-93 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-56 +-6 +-37 +-74 +-106 +-37 +16 +-14 +-55 +-89 +-26 +25 +-8 +-49 +-84 +-19 +31 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-12 +37 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-8 +41 +9 +-35 +-71 +-7 +43 +10 +-33 +-71 +-5 +43 +12 +-34 +-71 +-103 +-49 +47 +106 +124 +64 +10 +-34 +-73 +-64 +33 +92 +110 +52 +0 +-43 +-80 +-76 +23 +83 +101 +44 +-7 +-49 +-85 +-84 +16 +75 +94 +38 +-12 +-53 +-89 +-87 +14 +74 +93 +37 +-14 +-54 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-52 +-5 +-37 +-73 +-105 +-37 +17 +-12 +-54 +-87 +-24 +27 +-6 +-47 +-83 +-19 +31 +0 +-44 +-78 +-15 +35 +3 +-40 +-76 +-10 +38 +6 +-38 +-74 +-9 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-33 +-71 +-5 +44 +12 +-33 +-70 +-103 +-48 +47 +106 +124 +64 +10 +-34 +-72 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +23 +83 +101 +44 +-8 +-49 +-85 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-91 +-90 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +10 +69 +88 +32 +-17 +-57 +-93 +-93 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +46 +-6 +-47 +-52 +-3 +7 +-37 +-75 +-68 +-5 +17 +-29 +-67 +-55 +5 +22 +-23 +-63 +-51 +8 +27 +-20 +-59 +-47 +12 +29 +-17 +-58 +-45 +14 +32 +-16 +-56 +-44 +17 +33 +-14 +-55 +-41 +17 +36 +-13 +-54 +-42 +18 +35 +-12 +-54 +-39 +18 +37 +-12 +-53 +-40 +20 +37 +-11 +-53 +-39 +18 +37 +-12 +-52 +-40 +20 +37 +-10 +-52 +-39 +18 +37 +-12 +-52 +-39 +21 +37 +-11 +-52 +-38 +19 +38 +-11 +-51 +-40 +20 +37 +-10 +-52 +-38 +19 +38 +-11 +-51 +-39 +20 +36 +-11 +-53 +-38 +19 +59 +75 +23 +-24 +-63 +-97 +-63 +37 +97 +116 +57 +3 +-40 +-77 +-74 +25 +84 +103 +46 +-6 +-48 +-84 +-82 +18 +77 +96 +40 +-11 +-52 +-88 +-86 +14 +73 +93 +37 +-14 +-55 +-90 +-89 +12 +71 +90 +34 +-16 +-56 +-91 +-91 +10 +69 +89 +33 +-17 +-57 +-92 +-92 +8 +69 +88 +33 +-17 +-57 +-92 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +8 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-94 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-56 +-6 +-37 +-74 +-106 +-38 +16 +-14 +-55 +-89 +-26 +25 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-11 +38 +6 +-38 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +9 +-36 +-71 +-6 +45 +10 +-33 +-71 +-5 +44 +13 +-33 +-69 +-6 +45 +11 +-33 +-70 +-4 +44 +12 +-33 +-69 +-5 +46 +12 +-32 +-70 +-4 +45 +14 +-32 +-68 +-4 +47 +13 +-31 +-69 +-4 +44 +12 +-33 +-69 +-4 +47 +12 +-32 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +15 +-31 +-67 +-4 +46 +12 +-32 +-70 +-3 +45 +14 +-32 +-68 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-68 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-68 +-4 +47 +12 +-32 +-69 +-3 +46 +14 +-32 +-69 +-101 +-46 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +93 +111 +53 +0 +-43 +-80 +-75 +23 +82 +101 +44 +-7 +-49 +-85 +-83 +16 +77 +95 +39 +-11 +-53 +-88 +-86 +13 +73 +93 +36 +-14 +-54 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-92 +9 +68 +88 +33 +-17 +-57 +-92 +-92 +9 +69 +88 +32 +-17 +-58 +-93 +-92 +9 +69 +88 +33 +-17 +-57 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +9 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-95 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +15 +-13 +-55 +-88 +-26 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +36 +2 +-40 +-77 +-11 +37 +6 +-38 +-74 +-9 +42 +7 +-36 +-73 +-8 +41 +9 +-36 +-71 +-6 +44 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-102 +-48 +47 +105 +124 +64 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +22 +82 +101 +45 +-7 +-49 +-85 +-84 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +14 +73 +92 +37 +-14 +-54 +-90 +-90 +11 +71 +90 +34 +-16 +-56 +-91 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-17 +-58 +-93 +-94 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +45 +-5 +-47 +-52 +-3 +6 +-38 +-76 +-68 +-5 +16 +-29 +-67 +-56 +5 +23 +-23 +-63 +-51 +8 +27 +-20 +-60 +-48 +13 +30 +-17 +-58 +-45 +14 +32 +-16 +-56 +-44 +17 +34 +-13 +-55 +-41 +17 +35 +-14 +-54 +-42 +18 +35 +-13 +-54 +-40 +18 +58 +74 +23 +-25 +-64 +-97 +-64 +36 +96 +115 +57 +3 +-40 +-78 +-73 +25 +84 +102 +45 +-6 +-48 +-85 +-82 +18 +77 +95 +40 +-11 +-52 +-88 +-87 +14 +73 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +91 +35 +-15 +-56 +-91 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-56 +-8 +-39 +-75 +-107 +-38 +16 +-13 +-54 +-87 +-25 +26 +-7 +-48 +-84 +-20 +31 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +38 +6 +-39 +-74 +-10 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +47 +105 +124 +64 +9 +-35 +-73 +-65 +34 +92 +109 +52 +-1 +-43 +-80 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-87 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +9 +69 +89 +33 +-17 +-57 +-92 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +9 +69 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-56 +-7 +-38 +-75 +-107 +-38 +16 +-13 +-55 +-88 +-25 +26 +-7 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-16 +35 +3 +-40 +-77 +-11 +38 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +41 +9 +-36 +-72 +-7 +45 +11 +-33 +-71 +-5 +43 +12 +-33 +-70 +-103 +-48 +47 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-44 +-81 +-76 +23 +82 +101 +44 +-8 +-49 +-85 +-83 +16 +76 +95 +39 +-12 +-53 +-88 +-87 +14 +73 +91 +35 +-15 +-55 +-91 +-89 +11 +71 +90 +35 +-16 +-56 +-91 +-92 +9 +47 +-4 +-46 +-50 +0 +8 +-35 +-74 +-66 +-4 +18 +-28 +-66 +-54 +6 +23 +-22 +-62 +-50 +9 +29 +-19 +-59 +-46 +12 +29 +-17 +-58 +-45 +14 +33 +-16 +-55 +-42 +17 +34 +-13 +-54 +-42 +16 +35 +-13 +-54 +-41 +18 +36 +-11 +-53 +-39 +18 +57 +72 +21 +-26 +-64 +-98 +-64 +36 +97 +116 +57 +3 +-40 +-77 +-74 +24 +83 +101 +45 +-7 +-49 +-85 +-81 +17 +77 +96 +40 +-11 +-52 +-88 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-88 +12 +71 +91 +35 +-15 +-56 +-91 +-91 +10 +69 +89 +33 +-16 +-57 +-92 +-92 +8 +69 +88 +32 +-17 +-58 +-93 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +68 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +46 +-5 +-47 +-51 +-2 +6 +-37 +-75 +-67 +-5 +17 +-29 +-67 +-55 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-59 +-48 +13 +29 +-17 +-58 +-45 +13 +32 +-16 +-56 +-43 +17 +33 +-14 +-55 +-42 +16 +35 +-13 +-53 +-41 +19 +36 +-12 +-53 +-40 +18 +58 +74 +22 +-25 +-64 +-97 +-64 +36 +96 +115 +57 +4 +-40 +-78 +-74 +25 +83 +102 +45 +-6 +-48 +-85 +-82 +18 +78 +95 +39 +-12 +-53 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-92 +-90 +10 +70 +89 +34 +-16 +-56 +-54 +-4 +-36 +-73 +-104 +-37 +16 +-12 +-54 +-87 +-24 +27 +-6 +-48 +-83 +-20 +31 +-1 +-44 +-79 +-15 +36 +4 +-39 +-76 +-11 +38 +6 +-38 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +43 +10 +-34 +-71 +-5 +43 +12 +-33 +-70 +-5 +45 +11 +-33 +-70 +-4 +45 +13 +-33 +-69 +-5 +46 +12 +-32 +-70 +-3 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +46 +12 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-102 +-47 +48 +106 +124 +65 +10 +-34 +-72 +-64 +33 +92 +111 +53 +0 +-43 +-80 +-75 +23 +83 +101 +45 +-7 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +88 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-94 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +66 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-95 +6 +65 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +46 +-5 +-47 +-52 +-3 +6 +-37 +-76 +-68 +-5 +16 +-29 +-67 +-55 +6 +23 +-22 +-63 +-50 +8 +27 +-20 +-59 +-48 +13 +30 +-17 +-57 +-44 +13 +32 +-16 +-56 +-44 +16 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-42 +18 +35 +-12 +-54 +-40 +18 +58 +74 +22 +-25 +-64 +-97 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +25 +84 +102 +46 +-6 +-48 +-84 +-82 +17 +76 +94 +38 +-12 +-53 +-89 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +70 +89 +33 +-16 +-57 +-92 +-92 +8 +68 +88 +32 +-17 +-57 +-92 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +88 +33 +-17 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-54 +-7 +-38 +-75 +-106 +-37 +16 +-12 +-54 +-88 +-24 +26 +-7 +-48 +-83 +-19 +31 +-1 +-44 +-79 +-16 +35 +2 +-40 +-76 +-11 +38 +5 +-39 +-74 +-10 +41 +7 +-36 +-73 +-7 +42 +9 +-36 +-72 +-7 +44 +10 +-33 +-71 +-5 +44 +11 +-34 +-71 +-103 +-48 +47 +104 +123 +64 +9 +-35 +-73 +-65 +32 +91 +109 +52 +-1 +-44 +-80 +-76 +23 +82 +100 +44 +-8 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +35 +-14 +-55 +-91 +-89 +11 +71 +90 +35 +-15 +-56 +-91 +-91 +9 +69 +88 +33 +-17 +-57 +-93 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +65 +85 +31 +-19 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-56 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-55 +-88 +-26 +25 +-7 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-16 +35 +3 +-39 +-76 +-11 +36 +5 +-39 +-74 +-10 +42 +8 +-36 +-72 +-7 +41 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +43 +13 +-33 +-69 +-6 +45 +11 +-33 +-71 +-4 +45 +13 +-32 +-69 +-4 +47 +12 +-32 +-70 +-4 +45 +13 +-32 +-69 +-4 +47 +13 +-32 +-69 +-4 +45 +13 +-33 +-69 +-4 +47 +13 +-32 +-69 +-3 +45 +14 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +46 +14 +-32 +-69 +-101 +-46 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +93 +109 +52 +-1 +-43 +-80 +-76 +23 +82 +101 +44 +-7 +-49 +-85 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +37 +-14 +-54 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-91 +8 +67 +88 +33 +-17 +-58 +-92 +-91 +8 +69 +88 +33 +-17 +-57 +-93 +-92 +9 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-55 +-7 +-38 +-75 +-106 +-37 +16 +-12 +-54 +-87 +-25 +26 +-7 +-48 +-84 +-20 +31 +0 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-75 +-10 +41 +8 +-35 +-72 +-7 +42 +10 +-35 +-71 +-7 +43 +10 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-64 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +22 +81 +100 +43 +-8 +-50 +-86 +-83 +16 +75 +95 +39 +-12 +-53 +-88 +-87 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +88 +32 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +68 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-94 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-95 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-38 +16 +-13 +-55 +-88 +-25 +26 +-7 +-48 +-84 +-20 +30 +-1 +-44 +-79 +-16 +36 +3 +-40 +-76 +-11 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +43 +13 +-33 +-70 +-102 +-48 +47 +105 +123 +63 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +22 +81 +100 +44 +-7 +-49 +-85 +-84 +16 +76 +95 +38 +-12 +-53 +-89 +-87 +13 +72 +92 +36 +-14 +-55 +-91 +-89 +11 +71 +90 +34 +-16 +-56 +-52 +-5 +-36 +-73 +-105 +-36 +18 +-11 +-53 +-86 +-24 +27 +-6 +-47 +-83 +-19 +31 +0 +-44 +-78 +-14 +37 +4 +-39 +-76 +-10 +38 +5 +-39 +-74 +-9 +41 +8 +-35 +-72 +-6 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-4 +44 +12 +-33 +-70 +-103 +-48 +46 +104 +123 +64 +9 +-35 +-73 +-65 +33 +92 +109 +52 +-1 +-43 +-80 +-75 +23 +82 +100 +43 +-8 +-50 +-86 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +70 +90 +34 +-16 +-56 +-92 +-91 +10 +69 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-95 +6 +66 +86 +30 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +45 +-5 +-47 +-51 +-2 +6 +-37 +-75 +-67 +-6 +16 +-30 +-67 +-54 +6 +23 +-23 +-63 +-50 +8 +27 +-20 +-59 +-47 +12 +29 +-18 +-58 +-44 +14 +33 +-15 +-55 +-43 +16 +33 +-14 +-55 +-42 +16 +36 +-13 +-53 +-40 +19 +35 +-12 +-54 +-39 +18 +36 +-13 +-53 +-40 +20 +37 +-11 +-53 +-39 +19 +37 +-12 +-53 +-40 +19 +36 +-11 +-53 +-38 +20 +38 +-11 +-51 +-38 +20 +36 +-12 +-53 +-39 +19 +38 +-11 +-52 +-38 +21 +37 +-10 +-52 +-39 +19 +38 +-11 +-52 +-39 +20 +37 +-10 +-52 +-38 +19 +59 +73 +22 +-26 +-64 +-98 +-63 +37 +97 +116 +58 +4 +-39 +-77 +-74 +25 +84 +102 +45 +-7 +-49 +-85 +-81 +18 +77 +96 +40 +-11 +-52 +-88 +-86 +14 +74 +93 +37 +-14 +-55 +-90 +-88 +12 +71 +90 +35 +-15 +-56 +-91 +-90 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +65 +86 +30 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +15 +-13 +-55 +-88 +-26 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +5 +-39 +-74 +-10 +42 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +44 +10 +-33 +-71 +-5 +44 +13 +-33 +-69 +-5 +45 +10 +-33 +-71 +-4 +45 +13 +-33 +-69 +-4 +47 +12 +-32 +-70 +-4 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-68 +-4 +46 +12 +-32 +-69 +-3 +45 +15 +-31 +-68 +-3 +46 +12 +-32 +-69 +-3 +45 +14 +-32 +-69 +-3 +47 +13 +-32 +-69 +-3 +45 +14 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-102 +-46 +48 +107 +125 +65 +11 +-34 +-72 +-64 +33 +92 +110 +52 +-1 +-43 +-80 +-75 +23 +82 +101 +45 +-7 +-49 +-85 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +35 +-15 +-56 +-92 +-91 +8 +67 +87 +32 +-17 +-58 +-93 +-91 +9 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +87 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-55 +-7 +-37 +-74 +-106 +-37 +16 +-13 +-55 +-88 +-25 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +4 +-39 +-76 +-12 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-70 +-102 +-48 +47 +105 +123 +64 +10 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-44 +-81 +-76 +22 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +75 +94 +38 +-12 +-53 +-89 +-86 +13 +73 +92 +37 +-14 +-55 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-91 +8 +68 +88 +33 +-17 +-57 +-92 +-91 +9 +68 +87 +32 +-17 +-58 +-93 +-91 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +85 +30 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +30 +-19 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +46 +-4 +-47 +-51 +-2 +6 +-37 +-75 +-68 +-6 +16 +-29 +-67 +-54 +6 +23 +-23 +-63 +-51 +8 +27 +-20 +-60 +-48 +13 +30 +-17 +-58 +-45 +14 +33 +-16 +-56 +-43 +16 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-12 +-53 +-40 +18 +58 +74 +22 +-25 +-64 +-97 +-64 +36 +96 +115 +56 +3 +-40 +-78 +-74 +24 +83 +102 +45 +-7 +-48 +-85 +-82 +18 +77 +95 +39 +-12 +-53 +-88 +-86 +13 +73 +93 +37 +-14 +-55 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-90 +10 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-91 +8 +67 +88 +32 +-17 +-58 +-93 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-54 +-6 +-39 +-75 +-107 +-38 +16 +-13 +-54 +-88 +-24 +26 +-7 +-48 +-83 +-20 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +41 +8 +-35 +-72 +-7 +41 +10 +-35 +-71 +-6 +45 +10 +-34 +-71 +-5 +43 +12 +-34 +-70 +-103 +-48 +47 +105 +124 +64 +9 +-35 +-73 +-65 +33 +91 +109 +51 +-1 +-44 +-81 +-75 +22 +82 +100 +44 +-8 +-49 +-85 +-84 +16 +76 +95 +39 +-12 +-53 +-89 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-91 +9 +68 +88 +32 +-17 +-57 +-92 +-91 +9 +69 +88 +32 +-17 +-57 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-19 +-59 +-55 +-7 +-38 +-74 +-106 +-37 +16 +-12 +-54 +-87 +-25 +25 +-8 +-49 +-84 +-19 +30 +-1 +-44 +-79 +-15 +36 +3 +-40 +-76 +-11 +37 +5 +-39 +-74 +-10 +42 +9 +-35 +-72 +-6 +41 +10 +-35 +-71 +-7 +44 +9 +-34 +-71 +-5 +44 +12 +-33 +-70 +-102 +-48 +45 +104 +123 +63 +9 +-35 +-73 +-65 +33 +91 +109 +52 +-1 +-43 +-80 +-76 +22 +82 +100 +44 +-8 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-86 +14 +73 +93 +37 +-13 +-54 +-90 +-89 +11 +71 +89 +33 +-16 +-56 +-92 +-91 +9 +47 +-4 +-46 +-49 +-1 +8 +-35 +-74 +-66 +-4 +17 +-28 +-67 +-53 +7 +24 +-22 +-62 +-50 +9 +27 +-20 +-59 +-46 +13 +30 +-17 +-58 +-44 +14 +33 +-15 +-55 +-43 +16 +33 +-14 +-55 +-40 +17 +36 +-13 +-53 +-41 +19 +35 +-12 +-53 +-39 +18 +57 +73 +22 +-25 +-64 +-97 +-63 +36 +96 +115 +57 +3 +-40 +-78 +-73 +25 +83 +102 +45 +-6 +-48 +-85 +-82 +17 +76 +95 +39 +-12 +-53 +-88 +-86 +13 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +9 +69 +88 +32 +-17 +-58 +-93 +-91 +8 +69 +88 +33 +-17 +-57 +-92 +-92 +8 +68 +86 +31 +-18 +-58 +-93 +-92 +8 +68 +87 +32 +-17 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-92 +7 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +46 +-5 +-47 +-51 +-2 +5 +-38 +-76 +-68 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-51 +8 +27 +-20 +-59 +-47 +13 +30 +-17 +-57 +-44 +13 +32 +-16 +-56 +-43 +16 +33 +-14 +-55 +-41 +17 +36 +-13 +-53 +-41 +18 +35 +-13 +-54 +-40 +18 +58 +73 +22 +-25 +-64 +-97 +-64 +34 +95 +115 +56 +2 +-41 +-78 +-74 +25 +84 +102 +45 +-7 +-48 +-85 +-82 +17 +76 +96 +40 +-11 +-52 +-88 +-87 +13 +73 +92 +36 +-14 +-55 +-90 +-88 +12 +71 +90 +35 +-15 +-56 +-91 +-90 +10 +69 +89 +33 +-17 +-57 +-53 +-4 +-35 +-72 +-104 +-36 +17 +-12 +-54 +-87 +-25 +26 +-6 +-48 +-83 +-19 +31 +0 +-43 +-78 +-15 +36 +3 +-39 +-76 +-11 +38 +6 +-39 +-74 +-9 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +12 +-33 +-69 +-6 +45 +11 +-33 +-71 +-4 +45 +14 +-32 +-69 +-4 +47 +12 +-32 +-70 +-3 +45 +13 +-33 +-69 +-4 +47 +14 +-31 +-69 +-3 +45 +13 +-33 +-69 +-4 +47 +13 +-31 +-69 +-3 +45 +13 +-32 +-68 +-4 +47 +13 +-31 +-69 +-3 +45 +14 +-31 +-69 +-101 +-47 +47 +105 +124 +64 +9 +-35 +-73 +-64 +34 +93 +110 +52 +-1 +-43 +-80 +-76 +22 +81 +101 +45 +-7 +-49 +-85 +-83 +16 +76 +94 +38 +-12 +-53 +-89 +-86 +14 +73 +93 +37 +-14 +-54 +-90 +-89 +11 +70 +89 +34 +-16 +-56 +-92 +-92 +8 +68 +88 +32 +-17 +-57 +-93 +-91 +9 +68 +88 +33 +-17 +-57 +-93 +-92 +9 +68 +87 +32 +-17 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +32 +-18 +-58 +-93 +-94 +6 +66 +85 +30 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +32 +-17 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +8 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +66 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +5 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +87 +31 +-18 +-58 +-93 +-94 +7 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +45 +-5 +-47 +-51 +-2 +6 +-38 +-76 +-67 +-5 +17 +-29 +-67 +-54 +6 +23 +-23 +-63 +-51 +8 +28 +-20 +-59 +-47 +13 +30 +-17 +-58 +-45 +13 +32 +-16 +-56 +-43 +17 +34 +-13 +-54 +-42 +16 +35 +-14 +-54 +-41 +19 +35 +-12 +-53 +-40 +18 +58 +73 +22 +-25 +-64 +-98 +-64 +35 +95 +115 +56 +3 +-40 +-78 +-73 +24 +83 +102 +45 +-7 +-49 +-85 +-81 +18 +77 +96 +40 +-11 +-52 +-88 +-87 +13 +72 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +90 +34 +-16 +-56 +-92 +-90 +10 +69 +89 +33 +-16 +-57 +-92 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +9 +68 +88 +32 +-17 +-58 +-93 +-92 +7 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +6 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-92 +8 +67 +87 +32 +-17 +-58 +-93 +-94 +7 +66 +86 +30 +-19 +-59 +-94 +-92 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-92 +8 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +68 +87 +31 +-18 +-58 +-93 +-94 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +6 +66 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-94 +6 +67 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-55 +-7 +-38 +-74 +-106 +-37 +16 +-12 +-54 +-87 +-25 +26 +-7 +-49 +-84 +-19 +29 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-11 +37 +5 +-39 +-74 +-10 +42 +8 +-35 +-72 +-7 +41 +10 +-35 +-71 +-7 +44 +10 +-34 +-71 +-5 +44 +13 +-33 +-70 +-102 +-48 +46 +104 +123 +63 +9 +-35 +-73 +-64 +33 +92 +109 +52 +-1 +-43 +-80 +-76 +23 +81 +100 +44 +-8 +-49 +-86 +-83 +16 +75 +95 +39 +-12 +-53 +-89 +-86 +14 +73 +92 +36 +-14 +-55 +-90 +-89 +11 +71 +89 +34 +-16 +-56 +-92 +-91 +9 +69 +88 +32 +-17 +-57 +-93 +-91 +8 +68 +88 +33 +-17 +-57 +-93 +-92 +8 +68 +87 +32 +-18 +-58 +-93 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +87 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +31 +-19 +-59 +-94 +-93 +6 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +32 +-18 +-58 +-93 +-94 +6 +66 +86 +31 +-19 +-59 +-94 +-92 +8 +67 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-94 +6 +65 +86 +31 +-19 +-59 +-94 +-92 +8 +68 +88 +32 +-17 +-58 +-93 +-93 +8 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +8 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +87 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +87 +32 +-18 +-58 +-93 +-93 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-93 +8 +68 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-59 +-93 +-93 +7 +67 +86 +31 +-19 +-59 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-94 +-93 +7 +67 +86 +31 +-18 +-58 +-93 +-94 +7 +66 +86 +31 +-18 +-59 +-94 +-92 +7 +67 +86 +31 +-18 +-59 +-94 +-93 +8 +67 +86 +32 +-18 +-58 +-55 +-6 +-37 +-74 +-106 +-37 +16 +-13 +-54 +-88 +-25 +26 +-7 +-48 +-84 +-20 +30 +-1 +-44 +-79 +-15 +36 +3 +-39 +-76 +-12 +37 +6 +-39 +-74 +-10 +41 +8 +-36 +-73 +-7 +42 +10 +-35 +-71 +-6 +43 +10 +-34 +-71 +-5 +43 +13 +-33 +-69 +-5 +45 +11 +-33 +-70 +-5 +44 +12 +-33 +-69 +-5 +46 +12 +-32 +-69 +-3 +45 +13 +-32 +-69 +-4 +47 +13 +-31 +-68 +-4 +45 +13 +-33 +-69 +-4 +46 +13 +-32 +-69 +-3 +45 +14 +-32 +-68 +-3 +47 +13 +-31 +-69 +-3 +45 +14 +-32 +-69 +-101 +-47 +48 +106 +124 +65 +10 +-34 +-72 +-64 +34 +92 +109 +52 +-1 diff --git a/traces/modulation-fsk2-50.pm3 b/traces/modulation-fsk2-50.pm3 new file mode 100644 index 000000000..667ab6740 --- /dev/null +++ b/traces/modulation-fsk2-50.pm3 @@ -0,0 +1,20000 @@ +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +68 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +40 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-17 +-38 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +34 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-77 +-89 +79 +64 +38 +30 +1 +-25 +-45 +-63 +-77 +-89 +81 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +41 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +11 +-16 +-37 +-56 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +75 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-43 +-62 +-76 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-76 +72 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +39 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-22 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +37 +7 +-19 +-41 +-59 +-74 +77 +62 +34 +4 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-24 +-44 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +4 +-20 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-20 +-42 +-59 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-22 +-43 +-61 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +27 +-3 +-27 +-48 +-65 +-80 +-90 +76 +65 +36 +31 +0 +-24 +-45 +-62 +-77 +-89 +79 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +79 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +69 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +80 +66 +38 +8 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-22 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-44 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-43 +-61 +-76 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +81 +68 +42 +34 +5 +-22 +-42 +-61 +-75 +-88 +83 +68 +43 +34 +4 +-22 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +61 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +73 +59 +32 +26 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +40 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-71 +80 +66 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +6 +-21 +-41 +-60 +-75 +76 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +31 +0 +-24 +-46 +-63 +-78 +-88 +78 +67 +39 +33 +3 +-22 +-44 +-61 +-76 +-88 +79 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +62 +35 +5 +-21 +-42 +-61 +-75 +76 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +65 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +3 +-22 +-43 +-61 +-76 +-88 +82 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-61 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +77 +62 +34 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +3 +-22 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-24 +-44 +-62 +-76 +73 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +11 +-16 +-37 +-57 +-72 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-23 +-44 +-62 +-76 +74 +60 +32 +27 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +68 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +41 +33 +3 +-22 +-44 +-61 +-76 +-87 +80 +70 +41 +35 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +34 +3 +-21 +-43 +-61 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-41 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-23 +-44 +-62 +-77 +-89 +78 +63 +37 +30 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-44 +-62 +-76 +-88 +82 +68 +42 +33 +3 +-22 +-43 +-61 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +7 +-20 +-40 +-60 +-74 +77 +62 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-4 +-28 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +68 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +72 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +83 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-59 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +11 +-16 +-37 +-57 +-72 +80 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +26 +-3 +-27 +-48 +-65 +-80 +-90 +76 +65 +36 +31 +0 +-24 +-45 +-62 +-78 +-89 +78 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +70 +41 +11 +-16 +-37 +-57 +-72 +80 +65 +37 +7 +-19 +-40 +-60 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +63 +36 +6 +-20 +-41 +-60 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-62 +-76 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +74 +59 +32 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +58 +31 +26 +-4 +-27 +-49 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +80 +70 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +76 +63 +35 +6 +-21 +-41 +-60 +-74 +75 +61 +33 +3 +-22 +-43 +-62 +-76 +75 +60 +33 +3 +-22 +-43 +-61 +-76 +74 +60 +31 +2 +-23 +-44 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +3 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +1 +-24 +-45 +-63 +-77 +72 +59 +31 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-23 +-44 +-62 +-77 +-89 +78 +63 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +31 +2 +-23 +-44 +-62 +-76 +-88 +81 +68 +42 +33 +3 +-23 +-43 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +44 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +37 +7 +-20 +-41 +-59 +-74 +77 +62 +34 +4 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +1 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-56 +-71 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +76 +63 +35 +6 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-43 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +12 +-16 +-37 +-56 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +35 +6 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-22 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +-89 +79 +64 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +67 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-74 +77 +64 +36 +7 +-19 +-40 +-59 +-74 +77 +62 +34 +5 +-22 +-42 +-61 +-75 +74 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-44 +-62 +-76 +-88 +81 +68 +42 +33 +3 +-22 +-43 +-61 +-76 +-88 +82 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +77 +63 +36 +7 +-20 +-41 +-60 +-74 +77 +63 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +75 +64 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +40 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +27 +-3 +-27 +-48 +-65 +-80 +-90 +75 +65 +37 +30 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +39 +32 +1 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +78 +64 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-22 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +-89 +78 +63 +38 +29 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +40 +31 +2 +-24 +-44 +-62 +-77 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +82 +69 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +6 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +37 +7 +-20 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +60 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +75 +64 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +69 +40 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +72 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +75 +61 +32 +3 +-22 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +77 +65 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +79 +68 +38 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-86 +81 +70 +41 +11 +-16 +-37 +-57 +-72 +79 +66 +38 +8 +-19 +-40 +-59 +-73 +77 +63 +34 +5 +-21 +-42 +-60 +-75 +76 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-24 +-44 +-63 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +65 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +67 +41 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +68 +42 +33 +5 +-22 +-42 +-61 +-75 +-88 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +61 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +27 +-3 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +38 +32 +1 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +33 +2 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-41 +-60 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +61 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-90 +75 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-76 +-87 +79 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +3 +-21 +-43 +-60 +-76 +-87 +80 +70 +41 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +62 +34 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +7 +-20 +-40 +-59 +-74 +77 +63 +34 +4 +-22 +-42 +-61 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +74 +59 +31 +25 +-4 +-28 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +38 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +5 +-20 +-43 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +72 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +58 +31 +2 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +37 +29 +1 +-25 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +7 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +3 +-22 +-43 +-61 +-76 +74 +60 +33 +3 +-22 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +74 +60 +32 +2 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-3 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +34 +3 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-41 +-60 +-74 +75 +60 +33 +3 +-22 +-43 +-61 +-76 +75 +61 +33 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +2 +-23 +-43 +-62 +-76 +73 +60 +32 +25 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +68 +39 +33 +2 +-22 +-44 +-61 +-77 +-87 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +11 +-16 +-38 +-57 +-71 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-41 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +4 +-22 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +79 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +33 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +4 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +7 +-20 +-41 +-59 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +2 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +67 +41 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +61 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +60 +32 +2 +-23 +-44 +-62 +-76 +73 +58 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +69 +42 +11 +-16 +-37 +-57 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-90 +76 +65 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +79 +68 +39 +33 +2 +-22 +-44 +-61 +-76 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +40 +10 +-17 +-38 +-57 +-72 +79 +65 +38 +8 +-19 +-40 +-59 +-73 +77 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +41 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-22 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-20 +-41 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +75 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +31 +0 +-24 +-45 +-63 +-78 +-88 +78 +67 +39 +32 +2 +-23 +-44 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-43 +-61 +-76 +-87 +80 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-59 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-16 +-37 +-57 +-72 +80 +66 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +76 +62 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +27 +-3 +-27 +-48 +-65 +-79 +-90 +76 +65 +36 +31 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +69 +41 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-76 +-87 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-56 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-41 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +3 +-23 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +78 +64 +38 +29 +0 +-25 +-45 +-63 +-77 +-89 +79 +66 +40 +31 +2 +-23 +-44 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +69 +42 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +77 +64 +36 +7 +-19 +-41 +-60 +-74 +76 +62 +34 +5 +-22 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +25 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-25 +-46 +-63 +-78 +-89 +79 +68 +39 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +41 +11 +-16 +-38 +-57 +-72 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +75 +61 +33 +3 +-22 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-76 +74 +60 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +31 +1 +-24 +-45 +-62 +-77 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-16 +-38 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-44 +-62 +-77 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +67 +41 +33 +4 +-22 +-43 +-61 +-76 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +84 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-74 +78 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +58 +31 +26 +-4 +-28 +-48 +-65 +-80 +-91 +75 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-87 +80 +68 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +35 +3 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +83 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +36 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +12 +-16 +-37 +-56 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +6 +-21 +-42 +-60 +-74 +75 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +58 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +58 +31 +1 +-24 +-44 +-63 +-77 +-89 +78 +64 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +41 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +77 +63 +36 +7 +-20 +-41 +-60 +-74 +76 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +2 +-23 +-44 +-62 +-76 +73 +60 +32 +3 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +79 +67 +38 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +68 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +40 +34 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +36 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +34 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +12 +-16 +-37 +-57 +-71 +80 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-62 +-78 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +69 +41 +35 +4 +-20 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +70 +42 +11 +-16 +-37 +-56 +-71 +79 +65 +37 +8 +-19 +-40 +-59 +-74 +77 +62 +34 +5 +-21 +-42 +-61 +-75 +76 +62 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +-89 +79 +64 +38 +30 +1 +-24 +-45 +-63 +-77 +-89 +81 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +42 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +68 +42 +34 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +77 +63 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +4 +-22 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +-89 +78 +64 +38 +30 +1 +-24 +-44 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-21 +-42 +-60 +-75 +77 +63 +35 +6 +-20 +-41 +-60 +-74 +76 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +74 +59 +31 +25 +-4 +-28 +-49 +-65 +-80 +-91 +76 +65 +36 +30 +0 +-24 +-46 +-63 +-78 +-88 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-76 +-88 +80 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +4 +-20 +-42 +-59 +-75 +-86 +82 +69 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-59 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-76 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +11 +-16 +-37 +-57 +-72 +80 +66 +38 +8 +-19 +-40 +-59 +-73 +76 +63 +35 +5 +-21 +-41 +-60 +-74 +75 +61 +33 +4 +-22 +-43 +-62 +-76 +74 +61 +33 +3 +-23 +-43 +-61 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +27 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +31 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +38 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-44 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-20 +-40 +-59 +-74 +77 +62 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +72 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +72 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +58 +31 +1 +-24 +-44 +-63 +-77 +72 +59 +31 +3 +-23 +-44 +-62 +-76 +-89 +77 +63 +37 +30 +1 +-24 +-45 +-63 +-77 +-89 +80 +66 +40 +32 +3 +-23 +-43 +-62 +-76 +-88 +81 +68 +41 +33 +4 +-22 +-43 +-61 +-75 +-88 +82 +69 +42 +34 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +42 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-41 +-60 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +4 +-22 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +4 +-22 +-42 +-61 +-75 +-88 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +6 +-20 +-41 +-60 +-74 +-87 +82 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +42 +34 +5 +-21 +-42 +-61 +-75 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +76 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-44 +-62 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-90 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +38 +32 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +3 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-76 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +69 +41 +35 +4 +-20 +-42 +-60 +-76 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-87 +82 +71 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +12 +-16 +-37 +-56 +-71 +79 +65 +37 +7 +-19 +-40 +-59 +-74 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +75 +61 +33 +4 +-22 +-43 +-61 +-75 +74 +61 +33 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +72 +59 +32 +26 +-4 +-27 +-48 +-65 +-80 +-91 +76 +65 +37 +30 +0 +-24 +-46 +-63 +-78 +-89 +78 +67 +39 +33 +2 +-22 +-44 +-61 +-77 +-88 +80 +69 +40 +33 +3 +-22 +-43 +-61 +-76 +-87 +80 +69 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-20 +-43 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +72 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +11 +-16 +-37 +-57 +-72 +80 +65 +37 +8 +-19 +-40 +-59 +-73 +77 +63 +35 +5 +-21 +-42 +-60 +-75 +76 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +33 +3 +-22 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +32 +3 +-23 +-43 +-62 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-77 +73 +59 +32 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-77 +72 +58 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-77 +-89 +78 +64 +38 +29 +0 +-25 +-45 +-63 +-77 +-89 +80 +67 +41 +32 +3 +-23 +-43 +-62 +-76 +-88 +82 +68 +41 +33 +4 +-22 +-42 +-61 +-75 +-88 +82 +68 +42 +33 +4 +-22 +-42 +-61 +-75 +-88 +83 +69 +42 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +68 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +82 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-74 +77 +64 +36 +6 +-20 +-41 +-60 +-74 +77 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +60 +33 +4 +-22 +-43 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-23 +-44 +-62 +-76 +74 +59 +31 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +65 +36 +31 +0 +-24 +-45 +-62 +-78 +-89 +78 +67 +38 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +68 +40 +33 +3 +-21 +-44 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +81 +70 +41 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +70 +42 +36 +5 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +36 +4 +-20 +-42 +-60 +-75 +-86 +82 +70 +42 +35 +4 +-20 +-43 +-60 +-75 +-86 +82 +70 +41 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-42 +-60 +-75 +-87 +81 +70 +41 +36 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-86 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-20 +-42 +-60 +-75 +-87 +82 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +81 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 +82 +71 +42 +12 +-16 +-37 +-56 +-71 +80 +65 +36 +7 +-20 +-40 +-59 +-74 +77 +63 +35 +6 +-20 +-41 +-60 +-74 +76 +61 +33 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +32 +26 +-3 +-27 +-48 +-65 +-80 +-91 +76 +64 +36 +30 +0 +-24 +-46 +-63 +-78 +-89 +79 +67 +39 +32 +2 +-23 +-44 +-61 +-77 +-88 +80 +69 +40 +34 +3 +-21 +-43 +-61 +-76 +-87 +80 +69 +41 +35 +4 +-21 +-43 +-60 +-76 +-87 +80 +69 +41 +11 +-16 +-37 +-57 +-72 +79 +65 +37 +7 +-19 +-40 +-59 +-73 +77 +62 +34 +5 +-21 +-42 +-61 +-75 +75 +61 +34 +4 +-22 +-42 +-61 +-75 +74 +60 +32 +3 +-23 +-43 +-62 +-76 +73 +60 +32 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-24 +-44 +-62 +-77 +-89 +79 +64 +38 +29 +1 +-25 +-45 +-63 +-77 +-89 +80 +67 +40 +31 +2 +-23 +-44 +-62 +-76 +-88 +82 +68 +42 +33 +4 +-22 +-43 +-61 +-76 +-88 +82 +69 +42 +33 +4 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-22 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +42 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +42 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +35 +5 +-21 +-41 +-60 +-74 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +68 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +-87 +83 +70 +43 +35 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +70 +43 +34 +5 +-21 +-42 +-60 +-75 +-87 +83 +69 +43 +34 +5 +-21 +-42 +-61 +-75 +77 +65 +37 +7 +-19 +-40 +-59 +-74 +76 +62 +35 +5 +-21 +-42 +-61 +-75 +75 +61 +33 +3 +-22 +-43 +-61 +-76 +73 +60 +33 +3 +-23 +-43 +-62 +-76 +74 +59 +31 +2 +-23 +-44 +-62 +-76 +73 +59 +32 +3 +-23 +-43 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +72 +59 +31 +2 +-24 +-44 +-62 +-76 +73 +59 +31 +2 +-24 +-44 +-63 +-76 +73 +59 +31 +26 +-4 +-27 +-48 +-65 +-80 +-91 +75 +64 +36 +30 +0 +-24 +-45 +-63 +-78 +-89 +78 +67 +38 +32 +1 +-23 +-45 +-62 +-77 +-88 +80 +69 +40 +34 +3 +-22 +-44 +-61 +-76 +-87 +81 +70 +41 +34 +3 +-21 +-43 +-61 +-76 +-87 +81 +71 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +41 +35 +4 +-21 +-42 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-87 +82 +71 +41 +35 +4 +-20 +-42 +-60 +-75 +-86 +82 +71 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +82 +70 +41 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +70 +41 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +41 +35 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +36 +5 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-21 +-42 +-60 +-76 +-87 +82 +71 +42 +35 +4 +-20 +-42 +-60 +-75 +-86 +81 +70 +42 +35 +4 +-21 +-43 +-60 +-75 +-86 diff --git a/traces/modulation-fsk2a-40.pm3 b/traces/modulation-fsk2a-40.pm3 new file mode 100644 index 000000000..aa83baca2 --- /dev/null +++ b/traces/modulation-fsk2a-40.pm3 @@ -0,0 +1,20000 @@ +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-72 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-76 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-26 +-47 +-65 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +63 +36 +26 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +79 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-65 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +65 +37 +5 +-20 +-43 +-61 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +32 +22 +-6 +-31 +-50 +-68 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-86 +83 +70 +42 +32 +3 +-23 +-45 +-63 +-77 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-26 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +69 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +84 +71 +44 +11 +-15 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-83 +85 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +45 +33 +4 +-22 +-43 +-62 +-77 +-84 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-22 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +0 +-26 +-46 +-65 +-79 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +84 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +84 +71 +42 +10 +-17 +-40 +-58 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-73 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +59 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +78 +65 +37 +28 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +67 +38 +6 +-19 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +63 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-72 +86 +62 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +31 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +22 +-6 +-31 +-51 +-69 +-82 +-91 +78 +64 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +72 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-84 +85 +72 +45 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-22 +-44 +-61 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +57 +30 +-1 +-26 +-48 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +32 +2 +-24 +-45 +-63 +-78 +-86 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +84 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-26 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-52 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +85 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +71 +43 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +0 +-24 +-46 +-63 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-26 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +29 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +31 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +65 +38 +27 +-2 +-27 +-47 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +1 +-24 +-45 +-64 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-92 +77 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +83 +71 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +84 +72 +44 +33 +3 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-76 +80 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +80 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +2 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +43 +33 +4 +-23 +-43 +-63 +-77 +-84 +85 +71 +43 +33 +4 +-22 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +45 +34 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-23 +-46 +-63 +-75 +83 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +0 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +3 +-24 +-45 +-63 +-77 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-45 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +67 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +85 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +80 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-82 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +29 +0 +-26 +-46 +-64 +-79 +-87 +82 +70 +43 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-85 +84 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +84 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +1 +-24 +-46 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +76 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +0 +-25 +-46 +-65 +-79 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +4 +-22 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +64 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +43 +33 +4 +-22 +-44 +-63 +-77 +-84 +84 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +83 +71 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +84 +71 +44 +11 +-15 +-39 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +20 +-7 +-32 +-52 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +66 +38 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +80 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-31 +-51 +-69 +-82 +-91 +77 +64 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-1 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +3 +-23 +-43 +-63 +-77 +-85 +84 +71 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-43 +-62 +-77 +-84 +84 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +0 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +21 +-7 +-32 +-52 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +60 +31 +22 +-5 +-31 +-50 +-68 +-82 +-91 +77 +64 +37 +28 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +83 +70 +42 +32 +3 +-24 +-44 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +88 +66 +37 +6 +-20 +-42 +-60 +-72 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +29 +-1 +-26 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +29 +-1 +-26 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +63 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +71 +43 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-43 +-62 +-77 +-84 +85 +71 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-78 +-86 +84 +71 +43 +33 +4 +-23 +-44 +-62 +-77 +-84 +84 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +36 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-62 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +63 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +65 +37 +26 +-3 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +31 +3 +-24 +-45 +-63 +-77 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-23 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +84 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-77 +-86 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-76 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +78 +64 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +41 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +42 +10 +-16 +-40 +-58 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +90 +67 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +83 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +84 +61 +32 +22 +-6 +-31 +-51 +-69 +-82 +-91 +77 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +85 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-26 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-26 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +63 +37 +27 +-1 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +85 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +4 +-23 +-44 +-63 +-77 +-85 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-39 +-57 +-69 +89 +66 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +32 +1 +-24 +-46 +-64 +-76 +81 +59 +31 +0 +-25 +-46 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +29 +1 +-26 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +57 +29 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +60 +31 +22 +-6 +-31 +-51 +-69 +-82 +-91 +77 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-26 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-83 +-91 +77 +63 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +71 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +83 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +32 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-77 +-85 +84 +70 +43 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +71 +43 +33 +3 +-23 +-44 +-63 +-77 +-84 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +86 +72 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +72 +43 +33 +4 +-23 +-43 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +34 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +43 +10 +-16 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +83 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +81 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-1 +-27 +-47 +-66 +-80 +-88 +80 +67 +39 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-6 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +29 +0 +-26 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-64 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +21 +-6 +-31 +-51 +-69 +-82 +-91 +78 +65 +37 +27 +-1 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +32 +3 +-24 +-45 +-63 +-77 +-85 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +32 +1 +-24 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +43 +31 +2 +-24 +-44 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-6 +-31 +-51 +-69 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-47 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +42 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +11 +-15 +-39 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +80 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +29 +-1 +-26 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +83 +70 +42 +31 +2 +-24 +-45 +-63 +-77 +-86 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +87 +64 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-77 +-86 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-43 +-60 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-77 +-85 +83 +70 +43 +32 +3 +-24 +-44 +-63 +-77 +-86 +84 +71 +43 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +71 +44 +33 +4 +-23 +-43 +-62 +-77 +-85 +83 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +39 +6 +-19 +-42 +-60 +-72 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +58 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +76 +63 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +87 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +37 +26 +-3 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +66 +37 +5 +-20 +-42 +-61 +-73 +86 +63 +35 +4 +-22 +-44 +-62 +-74 +86 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +85 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +78 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +33 +1 +-24 +-45 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +43 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +43 +33 +4 +-22 +-43 +-62 +-77 +-85 +84 +72 +43 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +71 +43 +10 +-16 +-39 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +60 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-83 +-91 +77 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +80 +67 +39 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +71 +44 +33 +3 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +84 +72 +44 +33 +4 +-22 +-44 +-62 +-77 +-84 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +90 +67 +38 +6 +-20 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-23 +-46 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +76 +63 +37 +27 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +0 +-25 +-46 +-64 +-79 +-87 +82 +70 +43 +31 +2 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-76 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +76 +64 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +79 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +81 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +35 +4 +-22 +-44 +-61 +-74 +85 +62 +33 +1 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +77 +64 +36 +27 +-1 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +32 +3 +-24 +-44 +-63 +-77 +-85 +83 +70 +42 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +5 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-24 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +57 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-7 +-32 +-51 +-69 +-82 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +69 +42 +31 +3 +-24 +-45 +-63 +-77 +-86 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +22 +-5 +-31 +-50 +-68 +-82 +-91 +77 +65 +37 +27 +-2 +-27 +-47 +-66 +-80 +-88 +81 +67 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +69 +42 +32 +2 +-24 +-45 +-63 +-78 +-85 +83 +70 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +83 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +80 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +77 +64 +37 +27 +-2 +-27 +-47 +-66 +-80 +-88 +80 +67 +40 +30 +0 +-25 +-46 +-64 +-79 +-87 +82 +69 +42 +32 +3 +-24 +-45 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +67 +38 +5 +-20 +-42 +-60 +-73 +86 +64 +35 +4 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +83 +60 +31 +22 +-6 +-31 +-51 +-68 +-82 +-91 +77 +65 +37 +27 +-2 +-27 +-48 +-66 +-80 +-88 +81 +68 +40 +30 +1 +-25 +-45 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +33 +3 +-23 +-44 +-63 +-77 +-86 +83 +71 +43 +33 +4 +-23 +-44 +-63 +-77 +-85 +84 +71 +43 +33 +3 +-23 +-44 +-63 +-77 +-85 +84 +72 +45 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +11 +-15 +-38 +-57 +-69 +89 +67 +38 +6 +-19 +-42 +-60 +-72 +86 +64 +35 +4 +-21 +-44 +-61 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-63 +-75 +85 +61 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +31 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +21 +-6 +-31 +-51 +-69 +-82 +-91 +77 +64 +36 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-86 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +67 +38 +6 +-20 +-42 +-60 +-72 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-75 +84 +60 +31 +1 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +30 +0 +-25 +-47 +-64 +-77 +80 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-82 +-92 +77 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +30 +1 +-25 +-46 +-64 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-44 +-63 +-78 +-85 +83 +71 +43 +10 +-16 +-39 +-57 +-70 +89 +66 +37 +5 +-20 +-43 +-61 +-73 +86 +63 +35 +3 +-22 +-44 +-62 +-74 +84 +62 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-24 +-46 +-63 +-75 +83 +60 +32 +1 +-24 +-46 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +58 +30 +0 +-25 +-47 +-64 +-76 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +58 +30 +-1 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +59 +30 +-1 +-25 +-47 +-65 +-76 +83 +59 +31 +21 +-7 +-32 +-51 +-69 +-83 +-91 +76 +64 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +80 +68 +40 +29 +0 +-25 +-46 +-65 +-79 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +71 +43 +32 +3 +-23 +-44 +-63 +-77 +-86 +84 +72 +44 +33 +3 +-23 +-44 +-63 +-77 +-84 +85 +72 +44 +33 +4 +-23 +-44 +-62 +-77 +-85 +85 +72 +44 +33 +4 +-22 +-43 +-62 +-77 +-85 +85 +72 +43 +10 +-16 +-39 +-57 +-69 +90 +67 +38 +6 +-19 +-42 +-60 +-72 +87 +64 +35 +4 +-21 +-44 +-61 +-74 +84 +61 +33 +2 +-23 +-45 +-63 +-75 +84 +61 +32 +1 +-24 +-46 +-63 +-75 +84 +60 +31 +0 +-24 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-46 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +58 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-76 +83 +60 +30 +20 +-7 +-32 +-51 +-69 +-83 +-91 +77 +65 +37 +26 +-2 +-28 +-48 +-66 +-80 +-88 +81 +68 +41 +30 +1 +-25 +-46 +-64 +-78 +-87 +82 +70 +42 +31 +2 +-24 +-45 +-63 +-78 +-85 +84 +70 +43 +10 +-16 +-39 +-58 +-70 +89 +66 +37 +6 +-20 +-42 +-60 +-73 +86 +63 +34 +3 +-22 +-44 +-62 +-74 +85 +61 +33 +2 +-23 +-45 +-63 +-75 +83 +61 +32 +1 +-23 +-45 +-63 +-75 +84 +60 +31 +0 +-25 +-46 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +82 +58 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +-1 +-25 +-47 +-64 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-76 +83 +59 +30 +-1 +-25 +-47 +-64 +-76 +81 +59 +31 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-76 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +-1 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-77 +82 +59 +30 +-1 +-25 +-47 +-65 +-77 +81 +58 +30 +-1 +-25 +-47 +-64 +-76 +83 +59 +30 +0 +-25 +-47 +-64 +-77 +82 +59 +30 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 +-47 +-65 +-76 +82 +59 +31 +0 +-25 +-47 +-64 +-77 +81 +58 +30 +-1 +-25 diff --git a/traces/modulation-fsk2a-50.pm3 b/traces/modulation-fsk2a-50.pm3 new file mode 100644 index 000000000..3fd2d18b5 --- /dev/null +++ b/traces/modulation-fsk2a-50.pm3 @@ -0,0 +1,20000 @@ +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +71 +64 +38 +29 +-1 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +30 +1 +-25 +-45 +-63 +-78 +-90 +78 +70 +43 +32 +3 +-23 +-44 +-63 +-77 +-89 +79 +71 +44 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +12 +-15 +-38 +-56 +-72 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +76 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +44 +11 +-15 +-38 +-57 +-72 +85 +66 +38 +6 +-19 +-41 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +1 +-23 +-45 +-62 +-78 +-89 +77 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +42 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-44 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +60 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +80 +60 +31 +1 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +37 +5 +-20 +-42 +-60 +-75 +81 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-62 +-78 +-89 +77 +72 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +62 +35 +4 +-21 +-44 +-61 +-76 +80 +62 +34 +2 +-22 +-44 +-62 +-77 +81 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +60 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +80 +60 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +71 +64 +38 +28 +-1 +-26 +-46 +-65 +-78 +-91 +75 +67 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +24 +-5 +-30 +-49 +-67 +-81 +-93 +73 +65 +38 +29 +0 +-26 +-46 +-64 +-78 +-91 +76 +68 +41 +32 +2 +-24 +-44 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-22 +-43 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +85 +67 +39 +7 +-19 +-41 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +76 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +22 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +84 +66 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-77 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +70 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +77 +71 +41 +33 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +76 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +44 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +33 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +80 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-72 +86 +67 +39 +7 +-18 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-64 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +77 +72 +42 +33 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +29 +-1 +-26 +-46 +-65 +-78 +-91 +76 +69 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +3 +-23 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +40 +33 +2 +-23 +-45 +-62 +-77 +-89 +77 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +43 +35 +4 +-21 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +62 +35 +3 +-21 +-44 +-61 +-76 +79 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +74 +70 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +3 +-21 +-44 +-61 +-77 +-88 +78 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +79 +73 +44 +36 +5 +-20 +-43 +-61 +-76 +-87 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-76 +-88 +78 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +79 +74 +44 +36 +4 +-21 +-43 +-61 +-75 +83 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-76 +82 +61 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +33 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-24 +-45 +-63 +-77 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +65 +38 +27 +-1 +-27 +-47 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +4 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +4 +-22 +-43 +-61 +-76 +-88 +79 +73 +46 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-72 +85 +67 +39 +6 +-19 +-42 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +70 +44 +11 +-15 +-38 +-56 +-72 +86 +66 +39 +6 +-19 +-41 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +59 +32 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +63 +38 +28 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +67 +39 +7 +-19 +-41 +-59 +-74 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-77 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-89 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +-90 +72 +66 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-23 +-44 +-62 +-77 +81 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +80 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +63 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-88 +78 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-41 +-59 +-74 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +82 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +24 +-4 +-30 +-49 +-67 +-81 +-93 +72 +65 +39 +29 +0 +-26 +-46 +-64 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +4 +-23 +-43 +-62 +-76 +-89 +78 +70 +44 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +71 +45 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-75 +-88 +79 +72 +46 +12 +-14 +-37 +-56 +-71 +86 +67 +39 +7 +-18 +-41 +-59 +-74 +81 +63 +36 +5 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-23 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +70 +43 +32 +3 +-23 +-44 +-62 +-77 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +86 +67 +38 +6 +-19 +-42 +-59 +-75 +81 +62 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +65 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +23 +-5 +-31 +-50 +-68 +-81 +-93 +73 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +42 +32 +3 +-24 +-44 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +43 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +80 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-72 +85 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +-90 +71 +65 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-62 +-77 +-89 +76 +70 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +83 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-78 +-91 +76 +68 +41 +31 +1 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +79 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +33 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-46 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +37 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-23 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +67 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-77 +-89 +75 +70 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +78 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-60 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-60 +-75 +85 +66 +38 +6 +-20 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +58 +32 +1 +-24 +-45 +-63 +-78 +80 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +65 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +42 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +34 +5 +-22 +-43 +-62 +-76 +-89 +78 +71 +45 +34 +4 +-22 +-43 +-61 +-76 +-88 +79 +71 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +86 +67 +39 +6 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-77 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +45 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +5 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +80 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +32 +3 +-23 +-44 +-62 +-76 +-89 +79 +72 +45 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +7 +-19 +-42 +-59 +-74 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +77 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +29 +-1 +-26 +-47 +-64 +-79 +-90 +74 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +73 +43 +34 +3 +-21 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-75 +83 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-21 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-44 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-76 +81 +61 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +22 +-5 +-30 +-50 +-68 +-81 +-94 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +83 +64 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +24 +-5 +-30 +-49 +-67 +-81 +-93 +72 +65 +39 +29 +0 +-26 +-46 +-65 +-78 +-91 +76 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +71 +44 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +85 +66 +39 +6 +-19 +-41 +-59 +-75 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +82 +62 +35 +3 +-22 +-44 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-76 +-88 +77 +74 +44 +35 +3 +-21 +-44 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-45 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-47 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-61 +-76 +-89 +79 +72 +44 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +12 +-14 +-38 +-56 +-72 +86 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-2 +-26 +-48 +-65 +-80 +-91 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +33 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +43 +35 +3 +-22 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-43 +-62 +-77 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +45 +11 +-15 +-38 +-56 +-72 +85 +67 +39 +6 +-19 +-41 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +1 +-23 +-45 +-63 +-77 +78 +60 +33 +1 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +-90 +72 +67 +38 +29 +-1 +-26 +-47 +-64 +-79 +-90 +75 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +76 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +3 +-22 +-44 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +2 +-22 +-45 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-21 +-44 +-61 +-76 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-76 +-88 +77 +74 +45 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +78 +74 +44 +35 +4 +-21 +-43 +-61 +-75 +85 +66 +39 +6 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +33 +2 +-22 +-44 +-62 +-77 +81 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +80 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +78 +72 +45 +34 +4 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +46 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +34 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +46 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +80 +73 +45 +12 +-14 +-37 +-56 +-72 +85 +66 +39 +6 +-19 +-41 +-59 +-75 +83 +64 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +35 +3 +-22 +-44 +-62 +-76 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +22 +-6 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +76 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +44 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +22 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +37 +28 +0 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-88 +78 +71 +44 +11 +-15 +-38 +-56 +-72 +85 +66 +39 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +82 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +79 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-79 +-90 +72 +66 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-62 +-78 +-89 +76 +70 +41 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +62 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-25 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +2 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-61 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +62 +35 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +2 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +37 +30 +-1 +-25 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +2 +-23 +-45 +-62 +-77 +-89 +77 +71 +42 +33 +3 +-22 +-44 +-62 +-77 +-89 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +43 +35 +4 +-21 +-43 +-61 +-75 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +35 +4 +-21 +-44 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +71 +63 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +78 +70 +44 +11 +-15 +-38 +-56 +-72 +85 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-22 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +60 +32 +24 +-5 +-30 +-49 +-67 +-81 +-93 +73 +65 +38 +29 +0 +-26 +-46 +-64 +-78 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +43 +33 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +78 +71 +45 +34 +5 +-22 +-43 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +71 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +86 +67 +39 +6 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +57 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +81 +59 +31 +22 +-6 +-31 +-50 +-68 +-81 +-94 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +78 +70 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +71 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +44 +11 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +75 +69 +40 +32 +1 +-23 +-45 +-62 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +72 +43 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +4 +-21 +-44 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-25 +-46 +-64 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-64 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +76 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +80 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +-1 +-26 +-47 +-65 +-79 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +12 +-14 +-37 +-56 +-71 +85 +66 +39 +7 +-19 +-41 +-59 +-74 +82 +64 +36 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-61 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-77 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +-90 +72 +66 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-62 +-77 +-89 +76 +71 +41 +33 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +37 +6 +-19 +-42 +-60 +-75 +82 +62 +35 +4 +-21 +-44 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +76 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-45 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-25 +-46 +-64 +-78 +78 +59 +32 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +65 +38 +28 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +41 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +70 +43 +33 +3 +-23 +-43 +-62 +-76 +-89 +78 +71 +44 +33 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +79 +61 +34 +3 +-22 +-44 +-62 +-77 +79 +61 +33 +1 +-23 +-45 +-62 +-77 +78 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +72 +67 +38 +30 +-1 +-25 +-47 +-64 +-79 +-90 +74 +70 +40 +33 +2 +-23 +-45 +-62 +-77 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +73 +44 +36 +4 +-21 +-43 +-61 +-75 +84 +65 +37 +6 +-19 +-42 +-60 +-75 +81 +62 +35 +3 +-21 +-44 +-61 +-76 +79 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +32 +1 +-23 +-45 +-63 +-78 +79 +60 +33 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +60 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +-90 +71 +66 +37 +29 +-1 +-26 +-47 +-64 +-79 +-90 +74 +70 +41 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +72 +42 +33 +2 +-22 +-44 +-62 +-77 +-88 +77 +72 +43 +35 +3 +-22 +-44 +-61 +-77 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-44 +-61 +-76 +-88 +77 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +79 +74 +44 +35 +4 +-21 +-43 +-61 +-76 +-88 +78 +73 +44 +36 +5 +-20 +-43 +-60 +-75 +84 +66 +38 +6 +-19 +-42 +-60 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +81 +61 +32 +1 +-23 +-45 +-63 +-78 +78 +60 +32 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +79 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +22 +-5 +-30 +-50 +-68 +-81 +-93 +73 +65 +38 +28 +0 +-26 +-46 +-65 +-79 +-91 +76 +68 +41 +31 +2 +-24 +-44 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-44 +-62 +-76 +-89 +78 +71 +44 +33 +3 +-23 +-44 +-62 +-76 +-89 +79 +72 +45 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +72 +45 +34 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-22 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +34 +5 +-22 +-42 +-61 +-76 +-88 +79 +72 +45 +35 +5 +-21 +-42 +-61 +-75 +-88 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +86 +67 +39 +7 +-19 +-41 +-59 +-74 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +34 +3 +-22 +-44 +-62 +-77 +80 +61 +33 +2 +-23 +-45 +-62 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +23 +-5 +-30 +-50 +-67 +-81 +-93 +72 +64 +38 +29 +0 +-26 +-46 +-65 +-78 +-91 +75 +68 +42 +31 +2 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +32 +3 +-23 +-44 +-62 +-77 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-89 +79 +72 +45 +12 +-14 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +35 +4 +-21 +-43 +-61 +-76 +80 +62 +34 +3 +-22 +-44 +-61 +-77 +79 +60 +33 +2 +-23 +-45 +-63 +-77 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-23 +-45 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-25 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +79 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +0 +-24 +-46 +-63 +-78 +80 +59 +31 +23 +-5 +-30 +-50 +-68 +-81 +-93 +72 +64 +38 +28 +-1 +-26 +-46 +-65 +-79 +-91 +75 +68 +41 +31 +1 +-24 +-45 +-63 +-77 +-90 +77 +69 +43 +33 +3 +-23 +-44 +-62 +-77 +-89 +78 +70 +44 +34 +4 +-22 +-43 +-62 +-76 +-88 +79 +71 +45 +12 +-15 +-38 +-56 +-72 +85 +66 +38 +6 +-19 +-42 +-59 +-75 +82 +63 +36 +4 +-21 +-43 +-61 +-76 +81 +62 +34 +3 +-22 +-44 +-62 +-77 +79 +60 +33 +2 +-23 +-45 +-62 +-77 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-45 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +-90 +72 +65 +37 +29 +-1 +-25 +-47 +-64 +-79 +-90 +74 +69 +40 +32 +1 +-23 +-45 +-63 +-78 +-89 +76 +71 +42 +34 +3 +-22 +-44 +-62 +-77 +-88 +77 +73 +43 +35 +3 +-21 +-43 +-61 +-76 +-88 +77 +73 +44 +35 +4 +-21 +-43 +-61 +-76 +84 +65 +38 +6 +-19 +-42 +-60 +-75 +81 +63 +36 +4 +-21 +-43 +-61 +-76 +80 +61 +33 +2 +-22 +-45 +-62 +-77 +79 +61 +33 +2 +-23 +-45 +-62 +-77 +79 +60 +32 +1 +-24 +-46 +-63 +-78 +78 +60 +32 +1 +-23 +-45 +-63 +-77 +79 +59 +32 +1 +-24 +-46 +-63 +-78 +78 +58 +31 +1 +-24 +-46 +-63 +-78 +78 +59 +31 +1 +-24 +-46 +-63 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-64 +-78 +79 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +79 +59 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +31 +0 +-24 +-46 +-63 +-78 +78 +59 +32 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 +-63 +-78 +77 +58 +31 +0 +-24 +-46 +-63 +-78 +77 +58 +31 +1 +-24 +-46 diff --git a/traces/modulation-psk1-32-4.pm3 b/traces/modulation-psk1-32-4.pm3 new file mode 100644 index 000000000..504c305f6 --- /dev/null +++ b/traces/modulation-psk1-32-4.pm3 @@ -0,0 +1,20000 @@ +8 +52 +65 +26 +-13 +-46 +-6 +17 +-20 +-52 +1 +14 +-23 +-54 +3 +17 +-20 +-52 +5 +19 +-18 +-50 +5 +20 +-18 +-50 +6 +21 +-16 +-49 +8 +22 +-16 +-49 +-75 +-98 +55 +101 +51 +7 +11 +11 +-25 +-57 +5 +24 +-14 +-47 +6 +21 +-16 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +21 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +22 +-15 +-48 +8 +23 +-14 +-47 +9 +23 +-15 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +8 +23 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +25 +-14 +-46 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-47 +9 +23 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +67 +28 +-10 +-44 +-4 +18 +-19 +-51 +3 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-49 +7 +21 +-16 +-49 +7 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-15 +-48 +9 +23 +-15 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +-74 +-98 +56 +102 +52 +8 +12 +12 +-24 +-56 +6 +25 +-14 +-47 +8 +22 +-16 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +9 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +8 +23 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +25 +-14 +-46 +10 +23 +-15 +-47 +9 +23 +-15 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +54 +67 +28 +-10 +-44 +-5 +18 +-19 +-51 +2 +15 +-21 +-53 +4 +18 +-19 +-51 +5 +19 +-18 +-50 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +7 +22 +-15 +-48 +8 +22 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +23 +-14 +-47 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +-74 +-97 +55 +102 +52 +8 +12 +13 +-23 +-55 +6 +25 +-13 +-46 +8 +22 +-16 +-49 +8 +21 +-16 +-49 +7 +22 +-16 +-48 +8 +22 +-15 +-48 +9 +23 +-15 +-48 +9 +21 +-17 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-47 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +67 +29 +-10 +-44 +-4 +18 +-19 +-51 +2 +15 +-22 +-53 +3 +18 +-19 +-51 +5 +19 +-18 +-50 +6 +20 +-17 +-50 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +-75 +-98 +54 +100 +50 +6 +11 +12 +-25 +-56 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-13 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +25 +-13 +-46 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +25 +-13 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +54 +67 +28 +-10 +-44 +-4 +18 +-19 +-51 +3 +16 +-21 +-53 +3 +18 +-19 +-51 +5 +20 +-18 +-50 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +7 +22 +-16 +-48 +-75 +-99 +54 +101 +51 +7 +11 +11 +-25 +-57 +5 +24 +-14 +-47 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +22 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +53 +67 +29 +-10 +-44 +-5 +17 +-20 +-52 +1 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-17 +-50 +5 +20 +-17 +-50 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +-75 +-99 +53 +100 +51 +6 +11 +12 +-25 +-56 +5 +24 +-14 +-47 +7 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +22 +-16 +-48 +8 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +67 +29 +-10 +-44 +-5 +18 +-19 +-51 +2 +16 +-21 +-53 +3 +19 +-19 +-51 +5 +20 +-17 +-50 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +-75 +-99 +53 +101 +51 +7 +11 +12 +-24 +-56 +5 +24 +-14 +-47 +6 +21 +-16 +-49 +7 +21 +-17 +-49 +8 +22 +-15 +-48 +8 +22 +-16 +-49 +8 +52 +65 +27 +-12 +-46 +-6 +16 +-21 +-53 +1 +14 +-23 +-54 +2 +17 +-20 +-52 +4 +19 +-18 +-51 +5 +20 +-18 +-50 +7 +20 +-17 +-50 +6 +21 +-17 +-49 +-76 +-99 +53 +100 +51 +6 +11 +12 +-24 +-56 +5 +24 +-14 +-47 +7 +22 +-16 +-49 +7 +21 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +54 +67 +28 +-11 +-44 +-5 +18 +-19 +-52 +2 +16 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-17 +-50 +6 +20 +-18 +-50 +6 +21 +-16 +-49 +7 +22 +-15 +-48 +-75 +-99 +53 +101 +51 +7 +11 +12 +-24 +-56 +5 +24 +-14 +-47 +7 +22 +-17 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +9 +52 +65 +27 +-12 +-46 +-6 +17 +-20 +-52 +1 +14 +-23 +-55 +1 +17 +-20 +-52 +4 +19 +-19 +-51 +5 +20 +-18 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +7 +23 +-15 +-48 +8 +22 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +-74 +-98 +54 +101 +51 +7 +13 +13 +-24 +-55 +6 +24 +-14 +-47 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +8 +22 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +8 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-15 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-47 +9 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-13 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +23 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +54 +68 +29 +-10 +-44 +-5 +18 +-20 +-52 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +6 +20 +-18 +-50 +6 +20 +-17 +-50 +7 +21 +-17 +-49 +7 +22 +-16 +-49 +-75 +-99 +52 +100 +50 +6 +11 +13 +-24 +-56 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +7 +21 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-15 +-48 +8 +21 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-13 +-46 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +54 +67 +29 +-10 +-44 +-5 +17 +-20 +-52 +2 +16 +-21 +-53 +4 +19 +-18 +-51 +5 +19 +-18 +-50 +4 +20 +-18 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +-75 +-99 +51 +100 +50 +6 +12 +13 +-24 +-56 +5 +25 +-14 +-47 +7 +22 +-17 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +8 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +54 +68 +30 +-10 +-44 +-5 +17 +-20 +-52 +2 +16 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-50 +5 +20 +-18 +-50 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +-75 +-98 +53 +101 +51 +7 +13 +13 +-24 +-56 +5 +25 +-13 +-47 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-13 +-47 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +54 +68 +30 +-10 +-44 +-5 +17 +-20 +-52 +1 +16 +-21 +-53 +4 +19 +-18 +-51 +6 +20 +-17 +-50 +5 +20 +-18 +-50 +6 +22 +-16 +-49 +8 +22 +-15 +-48 +-75 +-99 +51 +100 +50 +6 +12 +13 +-24 +-56 +5 +25 +-14 +-47 +7 +21 +-17 +-49 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +21 +-17 +-49 +7 +22 +-16 +-49 +7 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +25 +-13 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +68 +30 +-9 +-44 +-5 +17 +-20 +-52 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-17 +-50 +6 +20 +-17 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +-76 +-99 +51 +100 +50 +6 +11 +12 +-24 +-56 +5 +25 +-13 +-47 +7 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +52 +66 +28 +-11 +-45 +-7 +16 +-21 +-53 +1 +14 +-22 +-54 +2 +18 +-20 +-52 +4 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-49 +7 +22 +-16 +-49 +-76 +-99 +51 +100 +50 +6 +13 +12 +-24 +-56 +4 +24 +-15 +-48 +7 +22 +-17 +-49 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +9 +23 +-16 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +22 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +10 +53 +68 +30 +-9 +-44 +-5 +17 +-20 +-53 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +21 +-17 +-50 +6 +20 +-17 +-50 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +-75 +-98 +51 +101 +51 +6 +14 +14 +-23 +-55 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-48 +7 +23 +-16 +-48 +9 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +23 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +53 +68 +30 +-9 +-44 +-5 +18 +-20 +-52 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +20 +-18 +-50 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-16 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +-75 +-98 +51 +101 +51 +6 +13 +14 +-23 +-55 +5 +25 +-14 +-47 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +53 +68 +30 +-9 +-43 +-6 +17 +-20 +-53 +3 +16 +-22 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +20 +-17 +-50 +7 +21 +-17 +-49 +8 +22 +-16 +-49 +-76 +-100 +50 +99 +49 +5 +12 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +25 +-13 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +23 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +54 +67 +30 +-9 +-44 +-6 +17 +-21 +-53 +2 +16 +-21 +-53 +4 +18 +-19 +-51 +4 +20 +-18 +-50 +5 +21 +-17 +-50 +8 +22 +-16 +-49 +8 +21 +-17 +-50 +-76 +-100 +49 +100 +50 +5 +13 +13 +-24 +-56 +4 +24 +-14 +-48 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-48 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +52 +67 +30 +-9 +-44 +-6 +17 +-20 +-53 +2 +16 +-21 +-53 +2 +18 +-19 +-52 +5 +20 +-18 +-50 +5 +20 +-17 +-50 +7 +21 +-17 +-49 +8 +22 +-17 +-50 +-76 +-100 +50 +100 +50 +5 +13 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +54 +67 +31 +-9 +-44 +-6 +17 +-21 +-53 +3 +16 +-21 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +-76 +-100 +50 +100 +50 +5 +13 +13 +-24 +-56 +4 +24 +-14 +-48 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +51 +66 +29 +-11 +-45 +-7 +16 +-22 +-54 +1 +14 +-23 +-55 +1 +18 +-20 +-52 +5 +19 +-18 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-50 +7 +22 +-16 +-49 +-76 +-100 +49 +99 +49 +5 +12 +13 +-24 +-56 +5 +25 +-14 +-47 +7 +22 +-16 +-49 +7 +22 +-17 +-49 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +22 +-16 +-49 +8 +22 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-16 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-13 +-47 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +54 +68 +31 +-9 +-43 +-7 +17 +-21 +-53 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +-76 +-99 +49 +99 +49 +5 +13 +13 +-24 +-56 +4 +24 +-14 +-48 +8 +21 +-17 +-50 +8 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +52 +66 +29 +-10 +-44 +-7 +16 +-21 +-54 +1 +14 +-23 +-55 +2 +18 +-20 +-52 +4 +19 +-18 +-51 +5 +20 +-18 +-50 +6 +21 +-17 +-50 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +9 +23 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +-75 +-99 +50 +101 +51 +6 +15 +14 +-23 +-56 +5 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +24 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +53 +69 +31 +-9 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +20 +-17 +-50 +6 +21 +-17 +-49 +7 +22 +-16 +-49 +-76 +-100 +48 +100 +49 +5 +14 +14 +-23 +-56 +4 +24 +-14 +-48 +8 +22 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +22 +-16 +-49 +7 +21 +-17 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +9 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +53 +69 +31 +-9 +-43 +-7 +16 +-21 +-53 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +-76 +-100 +48 +99 +49 +5 +13 +13 +-24 +-56 +5 +25 +-14 +-48 +8 +22 +-16 +-49 +6 +22 +-17 +-50 +8 +23 +-15 +-49 +9 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-48 +8 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +53 +68 +31 +-8 +-43 +-6 +16 +-21 +-53 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +5 +20 +-18 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +-75 +-99 +50 +100 +50 +6 +14 +14 +-23 +-55 +5 +25 +-13 +-47 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +52 +68 +31 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-50 +6 +20 +-18 +-50 +7 +22 +-17 +-49 +8 +22 +-17 +-50 +-76 +-100 +47 +99 +49 +5 +14 +13 +-24 +-56 +5 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +8 +22 +-17 +-49 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +53 +68 +32 +-8 +-43 +-7 +16 +-22 +-54 +3 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +7 +22 +-17 +-50 +-77 +-100 +47 +99 +49 +4 +14 +14 +-23 +-56 +4 +24 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +52 +66 +30 +-10 +-44 +-8 +15 +-22 +-54 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-100 +47 +99 +49 +4 +14 +14 +-24 +-56 +4 +25 +-14 +-48 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-16 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +52 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +3 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +21 +-18 +-50 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +-75 +-99 +48 +100 +50 +5 +15 +14 +-24 +-56 +5 +26 +-13 +-47 +9 +23 +-15 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +53 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +8 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +8 +23 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +-75 +-99 +48 +100 +49 +5 +15 +15 +-23 +-55 +5 +26 +-13 +-47 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +53 +68 +33 +-8 +-42 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-17 +-50 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +8 +22 +-17 +-50 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-47 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +53 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +18 +-20 +-52 +5 +20 +-18 +-50 +5 +21 +-17 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +-76 +-100 +47 +99 +48 +4 +14 +13 +-24 +-57 +4 +25 +-14 +-48 +7 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +52 +68 +33 +-8 +-43 +-7 +15 +-23 +-55 +2 +16 +-22 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-16 +-49 +7 +21 +-17 +-50 +-77 +-101 +46 +99 +48 +4 +15 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +53 +68 +32 +-8 +-43 +-7 +16 +-22 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +-76 +-100 +46 +99 +48 +4 +14 +13 +-24 +-56 +5 +24 +-15 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +51 +67 +30 +-10 +-44 +-8 +14 +-23 +-55 +1 +15 +-22 +-55 +1 +18 +-20 +-53 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +6 +22 +-17 +-50 +-77 +-101 +46 +98 +48 +4 +14 +14 +-24 +-56 +3 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +23 +-15 +-49 +9 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +25 +-14 +-47 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +32 +-8 +-43 +-7 +16 +-22 +-54 +2 +16 +-21 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-16 +-49 +7 +23 +-16 +-49 +-77 +-100 +46 +98 +48 +4 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +51 +67 +30 +-10 +-44 +-8 +15 +-23 +-55 +1 +15 +-23 +-55 +1 +18 +-20 +-53 +4 +20 +-19 +-51 +5 +20 +-18 +-51 +7 +21 +-17 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +-76 +-100 +47 +100 +49 +5 +16 +15 +-23 +-55 +5 +26 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-49 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +52 +69 +33 +-7 +-42 +-7 +15 +-22 +-55 +1 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +21 +-17 +-50 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-100 +45 +98 +48 +4 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +53 +69 +33 +-8 +-43 +-8 +15 +-22 +-54 +3 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +23 +-16 +-50 +-77 +-101 +45 +98 +48 +4 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +8 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +53 +69 +33 +-8 +-43 +-8 +15 +-22 +-55 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +22 +-17 +-50 +6 +22 +-17 +-50 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +-76 +-100 +46 +99 +48 +4 +16 +14 +-23 +-56 +4 +26 +-13 +-47 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +33 +-7 +-42 +-8 +15 +-23 +-55 +2 +16 +-21 +-54 +4 +20 +-18 +-51 +6 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +-77 +-101 +45 +98 +48 +3 +15 +14 +-23 +-56 +4 +26 +-14 +-48 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +53 +69 +33 +-7 +-42 +-7 +15 +-23 +-55 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +6 +21 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +44 +97 +47 +3 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +52 +67 +31 +-9 +-44 +-9 +15 +-23 +-55 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +5 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +44 +98 +47 +3 +15 +14 +-24 +-56 +4 +24 +-15 +-48 +8 +22 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +52 +69 +33 +-7 +-42 +-7 +15 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +-76 +-100 +45 +99 +49 +4 +17 +15 +-22 +-55 +4 +25 +-14 +-48 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +52 +69 +34 +-7 +-42 +-7 +15 +-22 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-49 +9 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +23 +-15 +-49 +8 +23 +-16 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +25 +-15 +-48 +-76 +-100 +45 +99 +49 +4 +16 +15 +-22 +-55 +5 +26 +-13 +-47 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +68 +33 +-7 +-42 +-8 +15 +-23 +-55 +3 +16 +-22 +-54 +3 +19 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +44 +98 +47 +3 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +26 +-14 +-48 +9 +24 +-16 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +52 +68 +33 +-7 +-43 +-8 +15 +-23 +-55 +3 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-102 +44 +97 +47 +3 +16 +14 +-23 +-56 +4 +24 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-50 +8 +24 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +51 +68 +33 +-7 +-43 +-8 +14 +-23 +-55 +2 +16 +-22 +-55 +3 +19 +-20 +-52 +5 +21 +-18 +-51 +6 +21 +-17 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +44 +97 +47 +3 +15 +14 +-24 +-56 +3 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +53 +68 +33 +-8 +-43 +-8 +15 +-23 +-55 +3 +17 +-21 +-54 +4 +18 +-20 +-53 +5 +20 +-18 +-51 +5 +21 +-17 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +43 +98 +47 +3 +16 +14 +-23 +-56 +4 +25 +-15 +-48 +8 +23 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +51 +67 +32 +-9 +-44 +-9 +14 +-24 +-56 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +5 +20 +-19 +-52 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +43 +96 +46 +2 +16 +14 +-23 +-56 +3 +25 +-14 +-48 +8 +22 +-16 +-50 +8 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-50 +7 +23 +-16 +-49 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-16 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +52 +69 +33 +-7 +-43 +-8 +15 +-23 +-55 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +51 +67 +32 +-8 +-43 +-9 +14 +-24 +-56 +1 +14 +-23 +-56 +2 +18 +-21 +-53 +4 +20 +-19 +-52 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +8 +23 +-16 +-49 +9 +25 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +17 +15 +-22 +-55 +4 +25 +-14 +-48 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-50 +7 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +25 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +9 +52 +69 +34 +-7 +-43 +-8 +14 +-23 +-56 +2 +17 +-21 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +3 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-50 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-49 +9 +53 +69 +34 +-7 +-42 +-9 +14 +-23 +-55 +2 +16 +-21 +-54 +4 +19 +-19 +-52 +6 +21 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +42 +97 +47 +2 +16 +15 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +7 +22 +-17 +-50 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +23 +-16 +-49 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +25 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +52 +69 +34 +-7 +-42 +-8 +14 +-24 +-56 +2 +16 +-22 +-54 +3 +20 +-19 +-52 +6 +21 +-18 +-51 +5 +20 +-19 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +17 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-16 +-49 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +9 +52 +69 +33 +-7 +-42 +-8 +14 +-23 +-56 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +9 +23 +-16 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +52 +68 +34 +-7 +-42 +-8 +14 +-24 +-56 +2 +16 +-22 +-54 +3 +19 +-20 +-53 +5 +20 +-18 +-51 +6 +21 +-18 +-50 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-102 +43 +97 +47 +3 +16 +14 +-23 +-56 +3 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +22 +-17 +-50 +8 +22 +-16 +-50 +9 +24 +-15 +-49 +9 +52 +67 +32 +-8 +-43 +-10 +14 +-24 +-56 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-78 +-102 +43 +97 +47 +3 +16 +14 +-23 +-56 +3 +25 +-15 +-48 +8 +22 +-17 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-16 +-49 +8 +23 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +52 +68 +33 +-7 +-42 +-8 +14 +-23 +-55 +3 +16 +-22 +-54 +3 +19 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +-76 +-101 +44 +99 +48 +4 +17 +15 +-23 +-55 +5 +26 +-14 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-16 +-49 +9 +24 +-16 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-15 +-48 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +69 +34 +-7 +-42 +-8 +15 +-23 +-55 +2 +17 +-21 +-54 +3 +18 +-20 +-53 +4 +20 +-19 +-52 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-16 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +17 +15 +-22 +-55 +5 +26 +-14 +-48 +9 +24 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +24 +-16 +-49 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +53 +69 +34 +-6 +-42 +-8 +14 +-23 +-56 +2 +16 +-22 +-55 +3 +19 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-24 +-56 +3 +25 +-15 +-48 +8 +22 +-16 +-50 +8 +23 +-16 +-50 +9 +23 +-16 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +53 +69 +34 +-7 +-42 +-8 +15 +-23 +-56 +2 +16 +-22 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +24 +-15 +-48 +8 +22 +-16 +-50 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-16 +-49 +8 +22 +-17 +-50 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +52 +69 +33 +-7 +-42 +-9 +14 +-23 +-56 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +4 +20 +-18 +-52 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-102 +43 +97 +47 +3 +16 +13 +-24 +-56 +3 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +22 +-16 +-50 +9 +22 +-17 +-50 +8 +23 +-16 +-50 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +10 +25 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +53 +69 +34 +-7 +-42 +-8 +15 +-23 +-56 +2 +17 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +24 +-15 +-49 +8 +22 +-16 +-50 +7 +22 +-16 +-50 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +51 +67 +32 +-9 +-44 +-8 +14 +-24 +-56 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +20 +-19 +-51 +5 +20 +-18 +-51 +7 +21 +-17 +-50 +7 +22 +-17 +-51 +-78 +-102 +43 +97 +47 +3 +16 +13 +-24 +-57 +3 +24 +-15 +-48 +8 +23 +-16 +-49 +7 +22 +-17 +-50 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-16 +-49 +10 +24 +-15 +-48 +9 +53 +69 +33 +-7 +-42 +-8 +14 +-23 +-55 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +6 +21 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +51 +67 +32 +-9 +-44 +-9 +14 +-23 +-56 +1 +15 +-22 +-55 +2 +18 +-20 +-53 +4 +20 +-19 +-51 +4 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +7 +22 +-17 +-50 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +-76 +-100 +44 +98 +48 +4 +17 +15 +-23 +-56 +5 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +23 +-16 +-50 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-49 +10 +25 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +52 +69 +34 +-7 +-42 +-8 +14 +-23 +-55 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-50 +7 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +8 +23 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +52 +68 +33 +-7 +-43 +-8 +15 +-23 +-55 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +9 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +9 +24 +-16 +-49 +9 +25 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +69 +33 +-7 +-42 +-8 +15 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +24 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +-76 +-100 +45 +99 +48 +4 +16 +14 +-23 +-56 +4 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-16 +-49 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +52 +69 +34 +-7 +-42 +-8 +15 +-23 +-55 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +44 +98 +47 +3 +16 +15 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-17 +-50 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-49 +10 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +52 +69 +34 +-7 +-42 +-8 +14 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +-77 +-101 +44 +97 +47 +3 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +51 +67 +31 +-9 +-44 +-9 +14 +-23 +-55 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +5 +19 +-19 +-52 +4 +20 +-19 +-52 +6 +22 +-17 +-50 +8 +23 +-16 +-50 +-77 +-101 +43 +97 +47 +3 +15 +13 +-24 +-57 +4 +24 +-15 +-49 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-15 +-48 +10 +52 +69 +33 +-7 +-42 +-8 +15 +-23 +-55 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +-76 +-100 +45 +99 +49 +4 +17 +15 +-23 +-55 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-50 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +52 +68 +33 +-7 +-42 +-8 +15 +-22 +-55 +2 +16 +-21 +-54 +3 +18 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +-76 +-100 +45 +99 +49 +4 +16 +15 +-22 +-55 +5 +26 +-13 +-47 +9 +23 +-16 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-15 +-48 +10 +25 +-14 +-48 +9 +52 +69 +33 +-8 +-43 +-8 +15 +-22 +-55 +3 +16 +-21 +-54 +2 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-17 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +45 +99 +48 +4 +15 +13 +-24 +-57 +3 +24 +-15 +-48 +7 +23 +-16 +-49 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-49 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +52 +68 +33 +-7 +-43 +-8 +15 +-22 +-55 +2 +16 +-22 +-54 +3 +18 +-20 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +44 +98 +48 +4 +15 +14 +-24 +-56 +4 +24 +-15 +-48 +7 +22 +-16 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +22 +-16 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +52 +68 +33 +-7 +-43 +-8 +15 +-22 +-54 +2 +15 +-22 +-54 +3 +18 +-20 +-52 +4 +20 +-18 +-51 +6 +21 +-18 +-51 +7 +21 +-17 +-50 +8 +22 +-17 +-50 +-77 +-101 +45 +97 +47 +3 +15 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +53 +68 +32 +-8 +-43 +-8 +16 +-22 +-55 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +44 +98 +48 +3 +15 +14 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +52 +67 +31 +-9 +-44 +-8 +14 +-23 +-56 +1 +15 +-23 +-55 +2 +18 +-20 +-53 +4 +19 +-19 +-51 +4 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +-77 +-101 +45 +97 +47 +3 +15 +14 +-23 +-56 +3 +24 +-14 +-48 +8 +23 +-16 +-50 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +24 +-15 +-48 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +52 +68 +32 +-8 +-43 +-8 +15 +-22 +-55 +1 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-101 +44 +98 +48 +4 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +52 +67 +31 +-9 +-44 +-9 +14 +-23 +-55 +1 +15 +-23 +-55 +2 +17 +-21 +-53 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +21 +-17 +-50 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +-76 +-100 +46 +100 +49 +5 +15 +15 +-23 +-55 +4 +25 +-14 +-48 +9 +23 +-16 +-49 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +22 +-17 +-50 +7 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-48 +9 +24 +-15 +-49 +9 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +25 +-14 +-48 +9 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-16 +-49 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +52 +69 +32 +-8 +-43 +-7 +15 +-22 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +21 +-18 +-50 +7 +21 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +46 +98 +48 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +7 +21 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-49 +9 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +32 +-8 +-43 +-8 +15 +-22 +-55 +1 +16 +-21 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +19 +-19 +-51 +6 +22 +-17 +-50 +8 +22 +-16 +-50 +-77 +-101 +45 +98 +48 +4 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-50 +7 +22 +-17 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-49 +9 +22 +-17 +-49 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-16 +-49 +9 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +52 +69 +33 +-7 +-43 +-7 +15 +-22 +-54 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +5 +19 +-19 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +-76 +-100 +47 +100 +50 +5 +15 +14 +-23 +-56 +4 +25 +-14 +-48 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-17 +-49 +9 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +53 +69 +32 +-8 +-43 +-7 +15 +-22 +-54 +1 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +21 +-18 +-51 +6 +20 +-18 +-51 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +-77 +-100 +46 +98 +48 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-17 +-50 +8 +22 +-17 +-50 +8 +23 +-16 +-49 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +23 +-16 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +8 +23 +-16 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +52 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-22 +-54 +3 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +6 +22 +-17 +-50 +-77 +-101 +47 +99 +49 +4 +14 +13 +-24 +-56 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +22 +-17 +-50 +7 +22 +-17 +-50 +9 +23 +-15 +-49 +9 +52 +67 +30 +-10 +-45 +-9 +14 +-23 +-55 +1 +15 +-22 +-54 +2 +18 +-20 +-52 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-17 +-50 +-77 +-101 +46 +99 +49 +4 +14 +13 +-24 +-56 +4 +24 +-15 +-49 +7 +22 +-17 +-50 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-17 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +52 +68 +31 +-9 +-43 +-7 +16 +-22 +-54 +2 +15 +-22 +-54 +3 +18 +-19 +-52 +5 +20 +-18 +-51 +6 +20 +-18 +-51 +7 +21 +-17 +-50 +7 +21 +-17 +-50 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +23 +-15 +-49 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +-75 +-99 +47 +99 +49 +4 +15 +15 +-23 +-55 +5 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +23 +-15 +-49 +9 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-15 +-49 +9 +24 +-15 +-48 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +10 +25 +-14 +-48 +10 +53 +68 +31 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-21 +-54 +3 +18 +-20 +-52 +5 +20 +-18 +-51 +6 +21 +-18 +-50 +7 +22 +-17 +-50 +7 +21 +-17 +-50 +8 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +8 +22 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +-75 +-100 +48 +100 +50 +5 +15 +14 +-23 +-56 +4 +25 +-14 +-47 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +9 +23 +-16 +-49 +7 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +22 +-17 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +53 +69 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +15 +-22 +-54 +3 +19 +-19 +-51 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-17 +-50 +-77 +-101 +47 +99 +49 +4 +14 +13 +-24 +-56 +3 +24 +-14 +-48 +7 +22 +-16 +-49 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-15 +-48 +9 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +24 +-15 +-48 +8 +23 +-15 +-48 +8 +23 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-49 +8 +24 +-15 +-48 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-16 +-49 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-14 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-47 +10 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +23 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-47 +10 +24 +-15 +-48 +8 +24 +-15 +-48 +10 +24 +-14 +-48 +10 +54 +68 +32 +-8 +-43 +-7 +16 +-21 +-54 +2 +16 +-22 +-54 +4 +18 +-19 +-52 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +14 +13 +-24 +-56 +4 +24 +-14 +-48 +7 +22 +-16 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +7 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +53 +68 +31 +-9 +-43 +-7 +16 +-22 +-54 +2 +16 +-21 +-54 +3 +19 +-19 +-52 +4 +20 +-18 +-51 +5 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-17 +-50 +-77 +-100 +47 +99 +49 +5 +14 +12 +-25 +-57 +3 +24 +-14 +-48 +7 +22 +-16 +-50 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +22 +-16 +-49 +7 +22 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-16 +-48 +9 +23 +-15 +-48 +10 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +10 +25 +-14 +-47 +9 +23 +-15 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +53 +69 +32 +-8 +-43 +-8 +16 +-22 +-54 +1 +16 +-22 +-54 +4 +19 +-19 +-52 +5 +20 +-18 +-51 +4 +20 +-18 +-51 +7 +22 +-17 +-49 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +14 +13 +-24 +-56 +5 +24 +-15 +-48 +7 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +23 +-16 +-49 +8 +51 +66 +30 +-10 +-45 +-8 +15 +-22 +-54 +1 +15 +-23 +-55 +2 +17 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +21 +-17 +-50 +7 +21 +-17 +-50 +-77 +-101 +47 +98 +48 +4 +13 +12 +-25 +-57 +4 +25 +-14 +-48 +8 +22 +-16 +-49 +7 +21 +-17 +-50 +8 +22 +-17 +-49 +8 +23 +-15 +-49 +8 +23 +-15 +-48 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +22 +-16 +-49 +8 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +23 +-15 +-48 +8 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +25 +-14 +-47 +10 +23 +-16 +-49 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +10 +24 +-14 +-48 +10 +24 +-15 +-48 +9 +24 +-15 +-48 +10 +24 +-14 +-48 +9 +25 +-14 +-48 +9 +24 +-15 +-48 +9 +24 +-14 +-48 +9 +24 +-15 +-48 +9 +25 +-14 +-48 +10 +24 +-15 +-48 +9 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +53 +68 +31 +-9 +-43 +-7 +16 +-21 +-54 +1 +16 +-21 +-54 +3 +19 +-19 +-51 +5 +20 +-18 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +8 +22 +-16 +-49 +-76 +-100 +47 +99 +49 +4 +13 +13 +-24 +-56 +5 +25 +-14 +-48 +8 +22 +-17 +-50 +7 +22 +-17 +-50 +8 +22 +-16 +-49 +8 +23 +-16 +-49 +8 +52 +65 +29 +-10 +-45 +-8 +15 +-22 +-54 +1 +15 +-22 +-54 +2 +17 +-21 +-53 +4 +19 +-19 +-51 +5 +20 +-18 +-51 +6 +22 +-17 +-50 +7 +22 +-16 +-49 +8 +23 +-16 +-49 +6 +22 +-17 +-49 +8 +23 +-15 +-48 +9 +24 +-15 +-48 +9 +24 +-15 +-48 +7 +23 +-15 +-49 +9 +24 +-14 +-48 +9 +24 diff --git a/traces/modulation-psk1-64-8.pm3 b/traces/modulation-psk1-64-8.pm3 new file mode 100644 index 000000000..f30b8fed3 --- /dev/null +++ b/traces/modulation-psk1-64-8.pm3 @@ -0,0 +1,20000 @@ +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +41 +8 +-19 +-43 +-61 +-77 +84 +72 +39 +5 +-21 +-44 +-63 +-79 +82 +68 +35 +3 +-23 +-46 +-65 +-80 +81 +68 +35 +2 +-23 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +67 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +32 +0 +-26 +-48 +-67 +-82 +77 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-5 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +67 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +59 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +67 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +15 +17 +16 +15 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +93 +80 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-78 +81 +69 +36 +4 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +14 +15 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +3 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +13 +16 +15 +14 +-15 +-39 +-59 +-76 +-89 +75 +63 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +41 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-22 +-46 +-64 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +80 +68 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-65 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +79 +68 +35 +2 +-24 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +60 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +4 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +67 +33 +15 +17 +16 +15 +-14 +-37 +-58 +-75 +-89 +75 +63 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-80 +79 +66 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-94 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +41 +7 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-80 +79 +68 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +14 +16 +16 +15 +-14 +-37 +-58 +-75 +-88 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +81 +69 +36 +4 +-22 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +67 +33 +1 +-25 +-47 +-65 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +15 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +65 +32 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-14 +-39 +-58 +-74 +88 +75 +41 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +68 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-24 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +15 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +60 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-14 +-39 +-58 +-74 +87 +75 +41 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +68 +36 +3 +-23 +-46 +-65 +-80 +81 +68 +35 +3 +-23 +-46 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +67 +34 +1 +-25 +-47 +-65 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +15 +-14 +-38 +-59 +-75 +-89 +76 +64 +32 +0 +-26 +-49 +-67 +-82 +77 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-18 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +83 +70 +36 +4 +-22 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +32 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +37 +4 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +66 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +15 +17 +16 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-65 +-80 +81 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +66 +33 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +63 +31 +-1 +-27 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +15 +15 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +4 +-23 +-45 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-47 +-66 +-81 +79 +67 +33 +1 +-25 +-48 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-94 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +41 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +79 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +33 +1 +-24 +-47 +-66 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +83 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +93 +94 +59 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +12 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +3 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-16 +-39 +-59 +-76 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-68 +93 +81 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +15 +17 +16 +15 +-14 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-59 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-47 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +65 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-44 +-63 +-79 +83 +70 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +3 +-24 +-47 +-65 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +15 +16 +16 +15 +-14 +-37 +-58 +-74 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +67 +33 +1 +-25 +-48 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +32 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +76 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +59 +22 +-6 +-31 +-52 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +14 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-48 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +80 +67 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +15 +15 +-14 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-22 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +15 +17 +16 +15 +-14 +-38 +-59 +-75 +-89 +76 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +39 +6 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +66 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +24 +-5 +-31 +-51 +-69 +94 +81 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-24 +-47 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +67 +34 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +15 +15 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +32 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-74 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-24 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +15 +16 +15 +-14 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-103 +93 +94 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +87 +74 +41 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +14 +14 +-15 +-38 +-59 +-75 +-89 +75 +65 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +81 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-66 +-81 +79 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +14 +16 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +63 +31 +-1 +-27 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-5 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +87 +74 +41 +8 +-19 +-43 +-61 +-77 +83 +72 +39 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-65 +-80 +79 +68 +35 +2 +-23 +-47 +-65 +-80 +80 +67 +33 +1 +-24 +-47 +-66 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +14 +16 +15 +14 +-16 +-39 +-60 +-76 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-49 +-67 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-18 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +3 +-23 +-46 +-65 +-80 +79 +66 +33 +1 +-24 +-47 +-66 +-81 +79 +66 +33 +14 +17 +16 +15 +-15 +-38 +-59 +-75 +-89 +75 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +59 +23 +-6 +-31 +-52 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-74 +87 +75 +42 +8 +-19 +-43 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-65 +-80 +80 +68 +35 +2 +-24 +-46 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +59 +23 +-6 +-31 +-52 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-75 +88 +75 +42 +8 +-19 +-42 +-61 +-77 +83 +71 +38 +5 +-21 +-44 +-63 +-79 +82 +70 +36 +3 +-23 +-46 +-64 +-80 +79 +67 +35 +2 +-24 +-47 +-65 +-81 +80 +67 +33 +1 +-24 +-47 +-65 +-81 +79 +66 +34 +15 +16 +16 +15 +-14 +-37 +-59 +-75 +-89 +76 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +87 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-48 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +14 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +94 +59 +23 +-6 +-31 +-52 +-69 +93 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +41 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +4 +-22 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-25 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +15 +15 +15 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +94 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +81 +47 +13 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-80 +79 +67 +34 +2 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-47 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-81 +77 +65 +33 +0 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +64 +32 +0 +-26 +-49 +-67 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-99 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +93 +82 +47 +13 +-15 +-39 +-58 +-74 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +83 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +36 +3 +-22 +-46 +-64 +-80 +80 +68 +34 +2 +-24 +-47 +-65 +-81 +80 +68 +34 +2 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +79 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +14 +16 +15 +15 +-14 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +93 +80 +47 +12 +-15 +-39 +-59 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +70 +37 +4 +-23 +-46 +-64 +-80 +80 +68 +35 +2 +-23 +-46 +-65 +-80 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +33 +1 +-24 +-47 +-65 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-26 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +14 +17 +15 +14 +-15 +-39 +-59 +-75 +-89 +75 +64 +31 +0 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-5 +-31 +-51 +-69 +94 +81 +47 +12 +-15 +-39 +-59 +-75 +87 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +15 +17 +16 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +93 +95 +60 +23 +-6 +-31 +-51 +-69 +94 +82 +47 +13 +-15 +-39 +-58 +-75 +87 +75 +42 +8 +-19 +-42 +-61 +-77 +84 +72 +38 +5 +-21 +-44 +-63 +-79 +82 +69 +36 +3 +-23 +-46 +-64 +-80 +81 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +78 +67 +34 +1 +-24 +-47 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +79 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-81 +78 +65 +33 +1 +-25 +-48 +-66 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-81 +78 +65 +32 +1 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +14 +16 +16 +14 +-15 +-38 +-59 +-75 +-89 +75 +64 +31 +-1 +-26 +-49 +-67 +-82 +77 +65 +32 +0 +-26 +-48 +-66 +-82 +78 +65 +32 +0 +-26 +-48 +-66 +-82 +77 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-82 +78 +66 +32 +0 +-25 +-48 +-66 +-82 +78 +65 +33 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +78 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +65 +32 +0 +-25 +-48 +-66 +-82 +-95 +-106 +-98 +-102 +94 +95 +60 +23 +-6 +-31 +-52 +-69 +94 +81 +47 +12 +-15 +-39 +-58 +-75 +88 +76 +42 +8 +-19 +-42 +-61 +-77 +84 +71 +38 +5 +-21 +-45 +-63 +-79 +82 +69 +36 +4 +-22 +-45 +-64 +-80 +80 +68 +35 +2 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +67 +34 +1 +-24 +-47 +-65 +-81 +79 +66 +33 +1 +-25 +-48 +-66 +-81 +78 +66 +33 +1 +-24 +-47 +-66 +-81 +78 +65 +33 +0 diff --git a/traces/modulation-psk2-32-2.pm3 b/traces/modulation-psk2-32-2.pm3 new file mode 100644 index 000000000..eb9a2800b --- /dev/null +++ b/traces/modulation-psk2-32-2.pm3 @@ -0,0 +1,20000 @@ +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-14 +5 +-22 +6 +-21 +7 +-21 +6 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +5 +-22 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +7 +-19 +12 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-19 +7 +-19 +6 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-22 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +6 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +-42 +45 +12 +7 +-20 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +7 +-19 +7 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +22 +-8 +12 +-17 +4 +-23 +6 +-21 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +6 +-21 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +10 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +8 +-18 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +6 +-20 +8 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-17 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +10 +-17 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-19 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-20 +8 +-18 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-20 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +-40 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +7 +22 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +6 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-18 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +6 +-21 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +22 +-8 +12 +-16 +5 +-23 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +6 +-20 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +22 +-8 +14 +-15 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +-41 +44 +12 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +7 +-19 +6 +-21 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-21 +7 +-21 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +-41 +45 +13 +6 +-19 +11 +-16 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +7 +-20 +5 +-21 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +6 +-20 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +23 +-8 +13 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +44 +12 +6 +-20 +11 +-17 +9 +-18 +8 +-18 +7 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +22 +-8 +12 +-16 +4 +-23 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +7 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +8 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +-41 +45 +13 +7 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-19 +7 +-20 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-22 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +6 +-21 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +8 +-19 +7 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +6 +-20 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-23 +6 +-21 +6 +-22 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +7 +-21 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-19 +6 +-20 +5 +-21 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +23 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-22 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-19 +9 +-19 +8 +-20 +9 +-18 +10 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-18 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +7 +-20 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +10 +-18 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +12 +-16 +5 +-22 +6 +-22 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +44 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +7 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +6 +-20 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +-41 +44 +12 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +6 +-20 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-17 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +-42 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +23 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +6 +-20 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +-41 +45 +12 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-21 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +7 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +9 +-19 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-21 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +4 +-23 +6 +-22 +7 +-21 +6 +-21 +7 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +10 +-17 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-18 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +8 +-19 +7 +22 +-8 +12 +-16 +5 +-23 +5 +-22 +7 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-18 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +8 +-19 +7 +-20 +6 +-20 +7 +-20 +7 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +7 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +6 +-20 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-20 +6 +-21 +7 +-20 +8 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +22 +-8 +12 +-16 +5 +-22 +6 +-22 +6 +-21 +7 +-20 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +5 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-20 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-17 +7 +-20 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-18 +-41 +45 +13 +7 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +8 +-19 +7 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-23 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +6 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +7 +-21 +6 +-21 +7 +-21 +8 +-20 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +5 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +8 +-19 +8 +-18 +6 +-20 +5 +-21 +7 +-20 +6 +-20 +8 +-18 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-20 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +10 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +10 +-19 +8 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +22 +-8 +13 +-16 +5 +-23 +6 +-22 +7 +-21 +6 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +10 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +10 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-19 +6 +-20 +6 +-21 +6 +-20 +7 +-20 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +6 +-22 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +6 +-21 +7 +-21 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +44 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-17 +7 +-19 +8 +-19 +7 +-19 +5 +-21 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +8 +-18 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +23 +-8 +14 +-15 +5 +-23 +6 +-22 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +-42 +45 +12 +6 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-20 +7 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +23 +-8 +12 +-16 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +5 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-18 +6 +-20 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-17 +8 +-19 +9 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-19 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +7 +-21 +6 +-21 +6 +-21 +8 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-20 +8 +-19 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +8 +-19 +7 +-19 +8 +22 +-8 +12 +-16 +4 +-23 +6 +-22 +7 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-21 +7 +-20 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-19 +10 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-19 +7 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-17 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-17 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +8 +-19 +6 +-20 +5 +-21 +6 +-20 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +5 +-23 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +10 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-17 +9 +-17 +8 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-20 +8 +-18 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-20 +7 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +12 +7 +-19 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +6 +-21 +7 +-19 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-20 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +6 +-21 +6 +-21 +6 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-21 +7 +-21 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +8 +-19 +7 +-19 +7 +-19 +6 +-20 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-17 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-14 +5 +-22 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +8 +-20 +7 +-20 +7 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +6 +-21 +5 +-21 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +7 +22 +-8 +12 +-17 +5 +-22 +5 +-22 +7 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-20 +8 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-18 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +10 +-19 +9 +-18 +9 +-19 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-19 +11 +-16 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +6 +-20 +6 +-21 +7 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +23 +-7 +14 +-15 +5 +-22 +6 +-22 +7 +-21 +7 +-20 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-21 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +6 +-20 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +23 +-7 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-20 +8 +-20 +7 +-20 +7 +-21 +7 +-21 +8 +-19 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +8 +-19 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +7 +-20 +8 +-18 +8 +-19 +8 +-19 +7 +-20 +8 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +6 +-20 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-23 +6 +-21 +7 +-21 +6 +-21 +7 +-20 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +22 +-8 +13 +-16 +4 +-23 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +9 +-19 +8 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +45 +13 +7 +-20 +11 +-16 +9 +-17 +8 +-18 +8 +-19 +8 +-18 +6 +-20 +6 +-20 +7 +-19 +6 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-17 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-17 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +23 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +8 +-20 +7 +-20 +8 +-20 +8 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +10 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +8 +-20 +8 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +8 +-20 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +10 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +8 +-19 +8 +-19 +10 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +6 +-20 +6 +-20 +6 +-20 +7 +-19 +7 +-19 +8 +-18 +7 +-19 +8 +22 +-8 +12 +-16 +5 +-23 +6 +-22 +7 +-21 +6 +-21 +7 +-20 +8 +-20 +7 +-21 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +10 +-18 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-20 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-18 +8 +-19 +8 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +10 +-18 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-18 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +9 +-19 +9 +-19 +-41 +45 +13 +7 +-19 +11 +-16 +9 +-17 +8 +-18 +7 +-19 +8 +-19 +6 +-20 +6 +-20 +6 +-20 +6 +-20 +8 +-19 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +9 +-17 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-19 +9 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +23 +-7 +13 +-16 +5 +-22 +6 +-22 +7 +-21 +7 +-20 +7 +-21 +8 +-20 +6 +-21 +7 +-20 +9 +-19 +8 +-20 +9 +-19 +8 +-19 +9 +-19 +9 +-19 +8 +-20 +8 +-20 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +10 +-18 +9 +-19 +-41 +44 +12 +6 +-20 +11 +-16 +9 +-18 +9 +-18 +8 +-19 +8 +-19 +7 +-19 +5 +-21 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +7 +-19 +6 +-20 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-17 +8 +-19 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +22 +-8 +14 +-15 +5 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-21 +8 +-20 +7 +-20 +7 +-20 +8 +-19 +8 +-20 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +-41 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +7 +-19 +7 +-20 +6 +-21 +6 +-20 +6 +-20 +7 +-20 +7 +-19 +7 +-19 +7 +-19 +8 +-19 +7 +-20 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +7 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +9 +-18 +8 +-19 +8 +-18 +7 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +9 +-18 +7 +-19 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +7 +-19 +8 +-18 +8 +-19 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +7 +-19 +9 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-19 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +-18 +8 +-19 +8 +-18 +8 +-18 +8 +-18 +8 +-18 +9 +-18 +8 +-18 +8 +23 +-8 +14 +-14 +5 +-23 +6 +-21 +7 +-20 +7 +-21 +8 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-20 +9 +-19 +8 +-20 +9 +-19 +9 +-19 +-42 +45 +13 +6 +-20 +11 +-16 +9 +-18 +8 +-18 +7 +-19 +7 +-19 +6 +-20 +5 +-21 +7 +-20 +6 +-20 +6 +-19 +7 +-19 +7 +-19 +8 +-19 +8 +23 +-8 +11 +-17 +4 +-23 +6 +-22 +6 +-21 +7 +-21 +7 +-21 +7 +-20 +7 +-20 +7 +-21 +8 +-20 +8 +-20 +8 +-19 +8 +-19 +8 +-19 +9 +-19 +8 +-20 +8 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +9 +-19 +8 +-19 +8 +-20 diff --git a/traces/modulation-psk3-32-8.pm3 b/traces/modulation-psk3-32-8.pm3 new file mode 100644 index 000000000..a30993978 --- /dev/null +++ b/traces/modulation-psk3-32-8.pm3 @@ -0,0 +1,20000 @@ +53 +95 +54 +5 +-38 +-73 +-104 +-53 +52 +94 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +93 +54 +4 +-39 +-73 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +5 +-39 +-74 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +93 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +4 +-40 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +5 +-38 +-74 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +5 +-39 +-74 +-104 +-53 +52 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +5 +-38 +-74 +-104 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +93 +84 +49 +6 +-30 +-67 +-98 +-108 +-127 +-127 +-35 +72 +115 +73 +20 +-25 +-62 +-94 +-41 +63 +104 +62 +12 +-32 +-68 +-99 +-45 +58 +100 +59 +8 +-35 +-71 +-102 +-48 +56 +98 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +56 +5 +-38 +-73 +-103 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-53 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +69 +18 +-27 +-64 +-95 +-25 +79 +119 +78 +25 +-21 +-58 +-91 +-36 +67 +109 +68 +16 +-29 +-65 +-97 +-41 +63 +104 +63 +12 +-32 +-68 +-100 +-46 +58 +100 +59 +9 +-35 +-70 +-101 +-48 +56 +97 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +56 +6 +-38 +-73 +-103 +-50 +54 +95 +55 +5 +-38 +-73 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +95 +55 +5 +-38 +-73 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-73 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +95 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +52 +94 +54 +5 +-38 +-74 +-104 +-53 +52 +93 +52 +3 +-40 +-75 +-105 +-51 +52 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +5 +-39 +-73 +-104 +-53 +52 +94 +53 +3 +-40 +-75 +-105 +-52 +52 +93 +54 +4 +-39 +-74 +-105 +-53 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +84 +49 +7 +-29 +-67 +-97 +-108 +-127 +-127 +-37 +72 +115 +73 +21 +-25 +-62 +-94 +-41 +63 +103 +62 +11 +-33 +-68 +-100 +-45 +59 +100 +60 +9 +-35 +-70 +-101 +-48 +56 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +56 +6 +-37 +-73 +-103 +-50 +54 +95 +54 +4 +-38 +-74 +-104 +-50 +54 +94 +53 +4 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +113 +69 +18 +-27 +-64 +-95 +-25 +79 +119 +78 +25 +-21 +-58 +-91 +-37 +68 +109 +68 +16 +-29 +-65 +-97 +-41 +63 +104 +63 +13 +-32 +-68 +-99 +-46 +58 +100 +59 +9 +-35 +-71 +-101 +-48 +57 +98 +57 +7 +-36 +-72 +-102 +-50 +54 +96 +55 +6 +-38 +-73 +-103 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +54 +5 +-38 +-73 +-104 +-53 +52 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +54 +5 +-38 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +93 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +52 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +84 +49 +7 +-30 +-67 +-97 +-108 +-127 +-127 +-36 +71 +115 +73 +21 +-25 +-62 +-94 +-41 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +101 +60 +9 +-35 +-70 +-101 +-48 +56 +97 +56 +6 +-37 +-72 +-103 +-50 +56 +97 +55 +5 +-38 +-73 +-103 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +52 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +93 +53 +3 +-40 +-75 +-105 +-51 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +112 +69 +18 +-27 +-64 +-95 +-25 +79 +120 +79 +26 +-20 +-58 +-91 +-36 +68 +109 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +63 +12 +-32 +-68 +-99 +-47 +58 +99 +58 +8 +-35 +-71 +-102 +-48 +56 +97 +57 +7 +-36 +-72 +-103 +-50 +54 +96 +56 +5 +-38 +-73 +-103 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-52 +53 +95 +54 +5 +-39 +-74 +-104 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +52 +93 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +5 +-38 +-73 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-53 +52 +93 +52 +3 +-40 +-74 +-105 +-52 +52 +94 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-53 +52 +93 +53 +4 +-39 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +52 +93 +83 +48 +5 +-30 +-67 +-98 +-108 +-127 +-127 +-35 +72 +114 +72 +21 +-25 +-62 +-94 +-41 +63 +104 +63 +12 +-32 +-68 +-99 +-46 +59 +100 +59 +8 +-35 +-71 +-102 +-47 +57 +98 +57 +7 +-36 +-72 +-103 +-49 +56 +96 +55 +6 +-38 +-73 +-103 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-51 +54 +96 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +93 +52 +3 +-40 +-75 +-106 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +111 +69 +17 +-27 +-64 +-95 +-25 +78 +119 +78 +25 +-21 +-59 +-91 +-36 +68 +109 +68 +16 +-29 +-65 +-97 +-41 +62 +104 +63 +12 +-32 +-68 +-99 +-47 +58 +100 +58 +8 +-35 +-71 +-102 +-48 +57 +98 +58 +7 +-36 +-72 +-102 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-52 +52 +94 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +83 +48 +6 +-30 +-67 +-97 +-108 +-127 +-127 +-35 +72 +115 +73 +21 +-25 +-62 +-94 +-41 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +100 +59 +8 +-35 +-71 +-102 +-48 +57 +98 +57 +7 +-37 +-72 +-103 +-49 +56 +96 +56 +6 +-38 +-73 +-104 +-50 +54 +95 +54 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +53 +3 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +112 +69 +18 +-27 +-64 +-95 +-25 +79 +119 +77 +25 +-21 +-59 +-91 +-36 +69 +110 +68 +16 +-29 +-65 +-97 +-42 +62 +103 +63 +12 +-32 +-68 +-99 +-46 +58 +100 +58 +8 +-35 +-71 +-102 +-48 +57 +98 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +96 +85 +50 +7 +-29 +-66 +-97 +-107 +-127 +-127 +-35 +73 +116 +74 +22 +-24 +-61 +-93 +-41 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +100 +59 +9 +-35 +-70 +-102 +-48 +57 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +52 +3 +-40 +-75 +-105 +-52 +53 +93 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +112 +69 +18 +-27 +-63 +-95 +-26 +79 +120 +78 +25 +-21 +-59 +-91 +-36 +68 +110 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +63 +12 +-33 +-68 +-100 +-46 +59 +100 +59 +8 +-35 +-71 +-102 +-49 +56 +98 +58 +7 +-36 +-72 +-103 +-50 +55 +95 +55 +5 +-38 +-73 +-104 +-50 +54 +96 +86 +50 +7 +-29 +-66 +-97 +-108 +-127 +-127 +-35 +73 +115 +74 +22 +-24 +-61 +-94 +-41 +63 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +60 +9 +-35 +-70 +-101 +-49 +56 +98 +57 +7 +-37 +-72 +-103 +-49 +56 +97 +56 +6 +-38 +-73 +-103 +-50 +54 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +52 +93 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +52 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-104 +-51 +53 +95 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +93 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +52 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +93 +53 +3 +-40 +-74 +-105 +-52 +52 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +95 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-39 +-74 +-105 +-52 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-75 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +80 +112 +69 +17 +-27 +-64 +-95 +-25 +79 +119 +77 +25 +-21 +-59 +-92 +-36 +68 +110 +68 +16 +-29 +-65 +-97 +-42 +62 +104 +62 +11 +-33 +-68 +-100 +-46 +58 +100 +58 +8 +-36 +-71 +-102 +-48 +57 +99 +58 +7 +-36 +-72 +-103 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +55 +5 +-38 +-73 +-104 +-52 +53 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +5 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +54 +4 +-39 +-74 +-105 +-53 +53 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +54 +4 +-39 +-74 +-105 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-53 +53 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-52 +53 +94 +54 +4 +-39 +-74 +-104 +-53 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +84 +49 +6 +-30 +-67 +-98 +-109 +-127 +-127 +-36 +72 +115 +73 +20 +-25 +-62 +-95 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +60 +9 +-35 +-70 +-102 +-48 +57 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +56 +5 +-38 +-73 +-104 +-50 +54 +95 +54 +4 +-39 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +52 +93 +52 +3 +-40 +-75 +-105 +-52 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-106 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-105 +-52 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-106 +-127 +-127 +-127 +-127 +-4 +81 +112 +69 +17 +-27 +-64 +-95 +-25 +80 +120 +78 +25 +-21 +-59 +-91 +-36 +68 +109 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +62 +12 +-33 +-69 +-100 +-46 +59 +100 +58 +8 +-35 +-71 +-102 +-48 +56 +97 +57 +7 +-37 +-72 +-103 +-50 +56 +96 +55 +5 +-38 +-73 +-104 +-50 +55 +96 +55 +5 +-38 +-73 +-104 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +52 +94 +53 +3 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +93 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-53 +52 +94 +54 +4 +-39 +-74 +-105 +-51 +54 +94 +84 +48 +5 +-31 +-68 +-98 +-109 +-127 +-127 +-36 +72 +115 +73 +21 +-25 +-62 +-94 +-40 +64 +104 +63 +12 +-32 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-48 +57 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-50 +55 +96 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-104 +-52 +53 +95 +52 +3 +-40 +-75 +-106 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +93 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +53 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +53 +3 +-40 +-75 +-105 +-52 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +112 +68 +17 +-27 +-64 +-95 +-26 +79 +119 +77 +24 +-22 +-59 +-92 +-35 +69 +110 +68 +16 +-29 +-65 +-97 +-42 +63 +104 +63 +12 +-32 +-68 +-99 +-46 +59 +99 +58 +8 +-36 +-71 +-102 +-47 +57 +99 +58 +7 +-36 +-72 +-103 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +96 +85 +49 +6 +-30 +-67 +-98 +-108 +-127 +-127 +-34 +73 +115 +73 +21 +-25 +-62 +-94 +-40 +63 +105 +62 +11 +-33 +-69 +-100 +-44 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +57 +98 +56 +7 +-37 +-72 +-103 +-49 +56 +97 +56 +5 +-38 +-73 +-104 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +69 +17 +-28 +-64 +-96 +-25 +79 +120 +77 +25 +-21 +-59 +-92 +-35 +69 +109 +68 +16 +-29 +-65 +-97 +-41 +63 +104 +63 +12 +-33 +-68 +-100 +-46 +59 +100 +58 +7 +-36 +-72 +-103 +-47 +57 +98 +57 +7 +-36 +-72 +-103 +-50 +55 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +55 +6 +-38 +-73 +-104 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +93 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +54 +4 +-39 +-74 +-105 +-52 +54 +95 +52 +2 +-40 +-75 +-106 +-52 +53 +94 +53 +4 +-40 +-74 +-105 +-52 +53 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +83 +47 +5 +-31 +-68 +-99 +-109 +-127 +-127 +-35 +73 +115 +73 +21 +-25 +-62 +-94 +-41 +64 +105 +63 +12 +-33 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-47 +57 +99 +57 +7 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +54 +95 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +55 +95 +53 +4 +-39 +-74 +-104 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +17 +-28 +-64 +-96 +-24 +79 +120 +78 +25 +-21 +-59 +-92 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-41 +63 +104 +63 +12 +-33 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-47 +57 +97 +57 +6 +-37 +-72 +-103 +-50 +55 +97 +55 +5 +-38 +-73 +-104 +-50 +55 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +54 +4 +-39 +-74 +-105 +-51 +52 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +95 +54 +4 +-39 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-52 +52 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-52 +53 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +84 +48 +5 +-31 +-68 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-26 +-63 +-94 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +8 +-35 +-71 +-102 +-47 +57 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +54 +5 +-38 +-74 +-104 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +112 +68 +17 +-28 +-64 +-96 +-24 +79 +120 +77 +25 +-21 +-59 +-92 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-40 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +8 +-36 +-71 +-102 +-47 +58 +98 +57 +7 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-74 +-104 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-51 +53 +95 +53 +4 +-39 +-74 +-105 +-51 +55 +95 +54 +5 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-52 +52 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +95 +84 +48 +5 +-31 +-68 +-98 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-40 +63 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-73 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +3 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +112 +68 +17 +-28 +-64 +-96 +-24 +80 +120 +77 +24 +-22 +-59 +-92 +-35 +70 +110 +68 +16 +-29 +-65 +-97 +-40 +64 +105 +63 +12 +-33 +-68 +-100 +-46 +59 +100 +57 +7 +-36 +-72 +-102 +-47 +58 +98 +57 +7 +-37 +-72 +-103 +-50 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-51 +54 +95 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-75 +-106 +-50 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +84 +48 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-35 +73 +116 +72 +20 +-26 +-62 +-94 +-40 +64 +105 +62 +11 +-33 +-69 +-100 +-44 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +57 +97 +56 +6 +-37 +-73 +-103 +-48 +56 +97 +55 +5 +-38 +-73 +-104 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-4 +81 +112 +68 +17 +-27 +-64 +-96 +-24 +80 +120 +77 +25 +-21 +-59 +-91 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +104 +62 +11 +-32 +-68 +-100 +-46 +59 +100 +58 +8 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-49 +55 +96 +54 +5 +-38 +-74 +-104 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-50 +54 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +93 +52 +3 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +52 +2 +-40 +-75 +-106 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +93 +52 +3 +-40 +-75 +-106 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-52 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-106 +-50 +54 +95 +54 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +53 +4 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-106 +-51 +54 +95 +83 +47 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +60 +101 +59 +8 +-35 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +94 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +53 +94 +52 +3 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +25 +-22 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +64 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-47 +58 +98 +56 +7 +-37 +-72 +-103 +-49 +56 +96 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +93 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-39 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-52 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +94 +53 +4 +-39 +-74 +-105 +-52 +53 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +83 +47 +4 +-32 +-69 +-99 +-110 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-63 +-95 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-44 +60 +101 +58 +8 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-91 +-35 +69 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-46 +57 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-52 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-110 +-127 +-127 +-35 +72 +115 +72 +20 +-26 +-63 +-95 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +61 +101 +59 +8 +-36 +-71 +-102 +-46 +58 +97 +55 +5 +-38 +-73 +-104 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +56 +95 +53 +3 +-39 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +112 +68 +16 +-28 +-65 +-96 +-23 +81 +120 +77 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +53 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +83 +47 +5 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +116 +73 +20 +-25 +-62 +-94 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-102 +-47 +57 +97 +56 +5 +-38 +-72 +-103 +-47 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +55 +96 +54 +4 +-39 +-74 +-104 +-49 +56 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +78 +25 +-21 +-59 +-91 +-35 +70 +110 +66 +14 +-30 +-66 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +54 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +53 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +83 +46 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +19 +-26 +-63 +-95 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +59 +99 +55 +5 +-38 +-73 +-103 +-48 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-105 +-49 +56 +96 +53 +3 +-39 +-74 +-105 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +103 +61 +11 +-33 +-69 +-100 +-45 +59 +100 +58 +7 +-36 +-71 +-102 +-46 +58 +99 +56 +7 +-37 +-72 +-103 +-48 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +83 +47 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +20 +-26 +-62 +-95 +-39 +65 +106 +62 +11 +-33 +-69 +-100 +-43 +61 +100 +58 +8 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-104 +-49 +55 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +16 +-29 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +99 +57 +7 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +83 +48 +5 +-31 +-68 +-98 +-109 +-127 +-127 +-33 +74 +116 +73 +21 +-24 +-62 +-94 +-39 +65 +105 +61 +10 +-33 +-69 +-100 +-43 +61 +101 +59 +8 +-35 +-71 +-101 +-46 +58 +99 +56 +5 +-38 +-72 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +66 +15 +-29 +-65 +-96 +-24 +79 +120 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +60 +99 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +56 +7 +-37 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +84 +48 +5 +-31 +-68 +-98 +-108 +-127 +-127 +-33 +74 +116 +73 +21 +-25 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-48 +56 +96 +54 +4 +-39 +-73 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +53 +93 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +53 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-68 +-100 +-44 +60 +100 +58 +7 +-36 +-71 +-102 +-46 +58 +99 +57 +7 +-37 +-72 +-102 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-48 +56 +96 +54 +4 +-39 +-73 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +53 +93 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +19 +-26 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +61 +101 +59 +8 +-35 +-71 +-101 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-49 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-74 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-39 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +79 +110 +67 +16 +-28 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-58 +-91 +-35 +70 +109 +66 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-68 +-100 +-45 +60 +100 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +82 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +71 +19 +-26 +-63 +-95 +-39 +65 +105 +62 +11 +-33 +-68 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-103 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-64 +-95 +-24 +80 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +59 +99 +56 +7 +-36 +-72 +-102 +-46 +58 +98 +57 +7 +-36 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-48 +56 +96 +84 +47 +4 +-31 +-68 +-98 +-109 +-127 +-127 +-34 +74 +116 +72 +20 +-25 +-62 +-94 +-38 +65 +105 +63 +12 +-32 +-68 +-99 +-43 +61 +101 +58 +7 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +4 +-38 +-73 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +54 +94 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +110 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +66 +15 +-29 +-65 +-97 +-40 +64 +105 +62 +11 +-33 +-68 +-99 +-45 +60 +99 +56 +7 +-36 +-72 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-48 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +83 +46 +3 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +62 +11 +-33 +-68 +-99 +-43 +61 +100 +58 +7 +-35 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +110 +67 +16 +-28 +-64 +-96 +-23 +80 +120 +77 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +64 +103 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +7 +-36 +-71 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +2 +-40 +-75 +-105 +-51 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +83 +46 +3 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-94 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +57 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +16 +-28 +-64 +-96 +-23 +80 +120 +77 +24 +-21 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +63 +103 +61 +11 +-33 +-69 +-100 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +56 +7 +-37 +-72 +-102 +-49 +56 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +102 +58 +8 +-35 +-71 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +17 +-28 +-64 +-95 +-23 +81 +121 +78 +25 +-21 +-58 +-91 +-34 +70 +110 +66 +15 +-29 +-66 +-97 +-39 +64 +104 +62 +11 +-33 +-68 +-99 +-46 +59 +100 +57 +7 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +95 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +3 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +56 +95 +53 +4 +-39 +-74 +-104 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-104 +-52 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-52 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +3 +-33 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +71 +19 +-26 +-62 +-94 +-39 +65 +104 +61 +11 +-33 +-69 +-100 +-44 +61 +101 +59 +9 +-35 +-70 +-101 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-103 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-64 +-95 +-23 +81 +121 +78 +25 +-21 +-58 +-90 +-35 +69 +110 +66 +15 +-30 +-66 +-97 +-39 +65 +104 +62 +12 +-32 +-68 +-99 +-46 +60 +100 +58 +7 +-36 +-71 +-102 +-46 +59 +98 +56 +7 +-36 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +55 +95 +54 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +51 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-52 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +83 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-35 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +104 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +59 +9 +-35 +-70 +-101 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +96 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +16 +-28 +-64 +-95 +-24 +80 +120 +77 +24 +-22 +-59 +-91 +-34 +69 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-68 +-100 +-45 +60 +100 +57 +7 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-50 +55 +96 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-74 +-104 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-35 +72 +115 +72 +20 +-25 +-62 +-94 +-39 +66 +105 +62 +11 +-33 +-68 +-99 +-44 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-103 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +77 +24 +-22 +-59 +-91 +-35 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +64 +105 +62 +11 +-33 +-68 +-99 +-45 +61 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-38 +-73 +-104 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-52 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +53 +4 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-40 +-75 +-106 +-51 +54 +94 +53 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-40 +-74 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +61 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-101 +-46 +58 +99 +55 +6 +-37 +-73 +-103 +-48 +57 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-104 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +81 +121 +78 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-35 +73 +115 +73 +21 +-25 +-62 +-94 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-101 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-50 +55 +96 +53 +3 +-40 +-74 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +15 +-29 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-59 +-91 +-35 +70 +110 +66 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +8 +-35 +-71 +-102 +-47 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-38 +-74 +-104 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-50 +56 +96 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +56 +96 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-52 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-52 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +82 +47 +3 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +20 +-26 +-62 +-94 +-39 +65 +106 +62 +11 +-33 +-68 +-99 +-44 +62 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-104 +-50 +56 +96 +53 +4 +-39 +-74 +-105 +-50 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-24 +81 +121 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +65 +104 +62 +11 +-32 +-68 +-100 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +54 +95 +53 +4 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +83 +47 +4 +-32 +-69 +-99 +-109 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +106 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +59 +9 +-35 +-71 +-102 +-46 +59 +99 +55 +5 +-38 +-73 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +2 +-41 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +17 +-28 +-64 +-96 +-24 +81 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +111 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +59 +100 +57 +7 +-36 +-71 +-102 +-47 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +83 +47 +4 +-31 +-68 +-99 +-109 +-127 +-127 +-33 +74 +116 +72 +21 +-25 +-62 +-94 +-39 +66 +106 +62 +11 +-33 +-68 +-99 +-43 +62 +101 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +97 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +68 +16 +-28 +-64 +-95 +-24 +80 +121 +77 +25 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +57 +7 +-36 +-72 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-39 +-74 +-104 +-48 +56 +96 +84 +47 +4 +-32 +-68 +-99 +-109 +-127 +-127 +-33 +74 +116 +73 +21 +-25 +-62 +-94 +-39 +66 +106 +62 +11 +-33 +-68 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-39 +-74 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +56 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +56 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-41 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-51 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +67 +16 +-28 +-65 +-96 +-24 +81 +121 +77 +24 +-22 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-66 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +60 +100 +57 +7 +-36 +-72 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-48 +56 +96 +54 +4 +-39 +-73 +-104 +-50 +56 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +56 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +83 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +116 +72 +19 +-26 +-63 +-95 +-39 +66 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +102 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +96 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +56 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +1 +-41 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-106 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-41 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-65 +-96 +-23 +81 +121 +77 +24 +-22 +-59 +-91 +-34 +70 +111 +67 +16 +-29 +-65 +-97 +-40 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +57 +7 +-36 +-72 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-49 +57 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +56 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-50 +54 +94 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +51 +1 +-41 +-75 +-106 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +19 +-26 +-63 +-95 +-38 +66 +105 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-35 +-71 +-102 +-46 +59 +99 +56 +5 +-38 +-73 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +52 +3 +-40 +-75 +-105 +-49 +56 +96 +53 +3 +-39 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +56 +95 +53 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-106 +-49 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-41 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-41 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-24 +80 +121 +77 +24 +-22 +-59 +-92 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-45 +61 +100 +57 +7 +-36 +-72 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-48 +56 +96 +84 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-33 +75 +117 +72 +20 +-25 +-62 +-94 +-37 +66 +106 +62 +12 +-33 +-68 +-99 +-43 +62 +102 +57 +7 +-36 +-71 +-102 +-45 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +58 +97 +54 +5 +-38 +-73 +-104 +-48 +57 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-106 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +121 +77 +25 +-21 +-59 +-91 +-34 +70 +109 +66 +15 +-30 +-66 +-97 +-39 +64 +105 +63 +12 +-32 +-68 +-100 +-45 +60 +101 +57 +7 +-37 +-72 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +96 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-106 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-52 +54 +93 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-50 +55 +96 +53 +3 +-39 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +83 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +20 +-26 +-63 +-95 +-38 +66 +106 +62 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +59 +98 +55 +5 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-106 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-127 +-127 +-127 +-127 +-6 +80 +111 +66 +15 +-29 +-65 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-92 +-34 +70 +111 +67 +15 +-29 +-66 +-97 +-39 +64 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +7 +-36 +-71 +-102 +-46 +59 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +96 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +95 +51 +1 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +83 +46 +3 +-33 +-70 +-100 +-110 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-95 +-38 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +55 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +4 +-39 +-74 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-106 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-64 +-96 +-23 +80 +120 +77 +24 +-22 +-59 +-92 +-34 +71 +111 +67 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +57 +7 +-36 +-72 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-49 +56 +97 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-39 +-74 +-104 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +53 +3 +-39 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-105 +-49 +55 +94 +83 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-33 +74 +115 +72 +20 +-25 +-62 +-94 +-38 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-36 +-71 +-102 +-45 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +53 +4 +-39 +-74 +-104 +-48 +56 +96 +53 +3 +-39 +-74 +-104 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-29 +-65 +-96 +-23 +81 +121 +78 +25 +-21 +-58 +-91 +-34 +70 +110 +66 +15 +-30 +-66 +-97 +-39 +65 +104 +62 +11 +-33 +-69 +-100 +-45 +60 +101 +58 +7 +-36 +-71 +-102 +-46 +59 +99 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +55 +5 +-38 +-73 +-104 +-49 +56 +96 +53 +3 +-39 +-74 +-104 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-106 +-49 +56 +95 +83 +47 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +19 +-26 +-63 +-95 +-38 +66 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-101 +-46 +58 +98 +56 +6 +-38 +-73 +-103 +-47 +58 +97 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-22 +81 +121 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +66 +15 +-30 +-66 +-97 +-39 +65 +105 +62 +11 +-33 +-68 +-99 +-45 +60 +101 +57 +7 +-36 +-71 +-102 +-46 +59 +98 +56 +6 +-37 +-72 +-103 +-48 +56 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +1 +-41 +-75 +-106 +-50 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +95 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +93 +52 +2 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +83 +47 +4 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +73 +115 +72 +20 +-25 +-62 +-94 +-38 +66 +105 +61 +11 +-33 +-69 +-100 +-43 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +55 +5 +-38 +-73 +-103 +-48 +56 +97 +54 +4 +-39 +-74 +-104 +-49 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-49 +55 +95 +52 +2 +-40 +-75 +-105 +-49 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-106 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-106 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-28 +-65 +-96 +-23 +80 +121 +77 +24 +-22 +-59 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-40 +65 +105 +62 +11 +-33 +-69 +-100 +-44 +61 +100 +57 +7 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +54 +4 +-39 +-73 +-104 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +56 +95 +52 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-51 +53 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-106 +-49 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-51 +54 +94 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +73 +115 +72 +20 +-26 +-62 +-94 +-38 +66 +106 +62 +11 +-33 +-68 +-100 +-43 +61 +101 +57 +7 +-36 +-71 +-102 +-47 +58 +98 +55 +5 +-38 +-73 +-104 +-47 +57 +97 +54 +5 +-38 +-73 +-104 +-49 +56 +96 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +53 +4 +-39 +-74 +-104 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-74 +-105 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +93 +51 +1 +-41 +-75 +-106 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +2 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +79 +111 +67 +16 +-28 +-64 +-96 +-24 +80 +120 +76 +23 +-22 +-59 +-92 +-34 +70 +110 +67 +16 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +8 +-36 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-74 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +2 +-40 +-75 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +2 +-41 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-40 +-74 +-104 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +93 +51 +3 +-40 +-75 +-105 +-50 +55 +95 +82 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-33 +73 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-101 +-46 +58 +99 +55 +5 +-38 +-73 +-103 +-47 +57 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-5 +80 +111 +67 +16 +-29 +-65 +-96 +-22 +81 +120 +77 +25 +-21 +-58 +-91 +-34 +70 +110 +67 +15 +-29 +-65 +-97 +-39 +65 +104 +62 +11 +-33 +-69 +-100 +-44 +61 +101 +58 +7 +-36 +-71 +-102 +-46 +58 +99 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +54 +5 +-38 +-73 +-103 +-49 +56 +96 +54 +4 +-39 +-74 +-104 +-49 +55 +94 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +54 +95 +53 +3 +-39 +-74 +-105 +-51 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +55 +95 +53 +3 +-39 +-74 +-104 +-51 +54 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-104 +-51 +54 +93 +51 +2 +-40 +-75 +-106 +-50 +55 +95 +83 +46 +3 +-33 +-69 +-99 +-110 +-127 +-127 +-34 +74 +115 +72 +20 +-25 +-62 +-94 +-39 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +62 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-48 +57 +97 +53 +4 +-39 +-74 +-104 +-48 +56 +96 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +52 +3 +-40 +-74 +-105 +-49 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-49 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-49 +54 +94 +52 +3 +-40 +-75 +-105 +-51 +54 +95 +52 +2 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +52 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-127 +-127 +-127 +-127 +-6 +79 +111 +67 +15 +-29 +-65 +-96 +-23 +80 +120 +77 +25 +-21 +-59 +-91 +-34 +70 +110 +66 +15 +-29 +-65 +-97 +-40 +64 +104 +62 +11 +-33 +-69 +-99 +-44 +60 +101 +58 +8 +-35 +-71 +-102 +-46 +58 +97 +56 +6 +-37 +-72 +-103 +-49 +55 +96 +54 +4 +-38 +-73 +-104 +-49 +56 +96 +54 +5 +-38 +-73 +-104 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +53 +3 +-40 +-74 +-104 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-49 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +95 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +55 +95 +53 +3 +-40 +-74 +-105 +-50 +54 +94 +51 +2 +-41 +-75 +-105 +-50 +54 +94 +53 +3 +-39 +-74 +-104 +-51 +54 +94 +51 +2 +-40 +-75 +-105 +-50 +55 +94 +53 +3 +-39 +-74 +-104 +-51 +53 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-75 +-105 +-50 +54 +94 +52 +2 +-40 +-74 +-105 +-51 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +83 +46 +3 +-32 +-68 +-99 +-109 +-127 +-127 +-34 +74 +115 +72 +19 +-26 +-63 +-95 +-38 +65 +105 +62 +11 +-33 +-69 +-100 +-43 +61 +100 +58 +8 +-36 +-71 +-101 +-46 +58 +98 +56 +6 +-37 +-72 +-103 +-47 +57 +97 +54 +5 +-38 +-73 +-103 +-49 +55 +95 +53 +4 +-39 +-74 +-104 +-49 +56 +96 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-104 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-49 +56 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +94 +52 +2 +-40 +-75 +-105 +-50 +55 +95 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +3 +-40 +-74 +-105 +-50 +55 +94 +51 +2 +-40 +-75 +-105 +-50 +54 +94 +52 +3 +-40 +-74 +-105 +-50 +54 +95 +52 +2 From 88a3e9433d06e5097980bd67749a2e5ecbd0587a Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Tue, 27 Jan 2015 16:08:15 -0500 Subject: [PATCH 127/133] Revert "Revert "Traces"" This reverts commit 58f478696de57e7c6f70a5ca0c0fefaf86960b18. --- traces/EM4102-1.pm3 | 16000 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 16000 insertions(+) create mode 100644 traces/EM4102-1.pm3 diff --git a/traces/EM4102-1.pm3 b/traces/EM4102-1.pm3 new file mode 100644 index 000000000..cad34276a --- /dev/null +++ b/traces/EM4102-1.pm3 @@ -0,0 +1,16000 @@ +85 +85 +78 +68 +59 +54 +56 +51 +44 +35 +35 +37 +33 +25 +-39 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-112 +-112 +-101 +-92 +-94 +-86 +-76 +-79 +-73 +-63 +-67 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +92 +91 +83 +73 +64 +63 +62 +55 +45 +40 +43 +41 +34 +26 +23 +-31 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-102 +-102 +-105 +-97 +-98 +-90 +-80 +-82 +-78 +-66 +-69 +-68 +-55 +-58 +-59 +-48 +-50 +-52 +-41 +-41 +-46 +-37 +-33 +-39 +-38 +-28 +-31 +-35 +-26 +-24 +-30 +-30 +-20 +-23 +-28 +-23 +-18 +-23 +-25 +-16 +-17 +-24 +-20 +-15 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +121 +111 +102 +90 +82 +81 +77 +70 +61 +52 +52 +51 +45 +36 +31 +35 +-27 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-108 +-114 +-103 +-104 +-97 +-85 +-87 +-81 +-70 +-73 +-70 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +115 +103 +90 +82 +81 +77 +70 +59 +53 +56 +52 +45 +36 +34 +37 +33 +24 +20 +25 +24 +17 +11 +14 +16 +11 +5 +4 +11 +7 +0 +-3 +4 +3 +-2 +-7 +-2 +1 +-2 +-8 +-6 +-1 +-4 +-10 +-8 +-3 +-6 +-13 +-8 +-4 +-68 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-107 +-104 +-104 +-102 +-101 +-87 +-85 +-86 +-73 +-70 +-74 +-64 +-58 +-62 +-58 +-49 +-51 +-52 +-41 +-40 +-46 +-39 +-33 +-37 +-39 +-29 +-28 +-34 +-31 +-24 +-27 +-31 +-23 +-20 +-26 +-27 +-18 +-18 +-25 +-22 +-15 +-18 +-24 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +111 +103 +94 +84 +74 +71 +71 +64 +54 +47 +49 +47 +39 +31 +30 +34 +29 +21 +18 +24 +21 +13 +10 +16 +14 +6 +4 +11 +7 +1 +-2 +5 +3 +-3 +-5 +2 +0 +-6 +-9 +-2 +-3 +-10 +-12 +-4 +-5 +-11 +-12 +-63 +-121 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-106 +-106 +-101 +-102 +-88 +-83 +-86 +-75 +-68 +-72 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +101 +89 +81 +79 +77 +70 +62 +53 +48 +50 +47 +41 +33 +28 +31 +30 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-104 +-106 +-95 +-86 +-89 +-82 +-71 +-74 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +104 +93 +83 +77 +79 +72 +64 +54 +49 +51 +48 +41 +33 +29 +34 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-111 +-112 +-104 +-106 +-94 +-87 +-89 +-80 +-72 +-75 +-69 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +93 +83 +79 +79 +72 +63 +53 +50 +52 +47 +39 +31 +30 +33 +28 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-114 +-104 +-106 +-95 +-87 +-89 +-81 +-72 +-75 +-70 +-60 +-63 +-60 +-50 +-54 +-53 +-42 +-45 +-47 +-35 +-38 +-42 +-31 +-31 +-36 +-31 +-25 +-30 +-31 +-21 +-23 +-29 +-24 +-18 +-23 +-25 +-16 +-18 +-24 +-18 +-14 +-20 +-21 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +103 +95 +91 +89 +82 +74 +64 +57 +56 +56 +49 +40 +35 +38 +36 +30 +21 +22 +26 +21 +13 +11 +17 +14 +6 +4 +10 +7 +-1 +-1 +6 +2 +-5 +-3 +3 +-1 +-8 +-4 +0 +-4 +-10 +-6 +-3 +-7 +-12 +-7 +-3 +-67 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-107 +-104 +-104 +-103 +-101 +-86 +-86 +-86 +-72 +-72 +-73 +-60 +-59 +-63 +-54 +-50 +-54 +-50 +-41 +-43 +-46 +-35 +-35 +-40 +-34 +-29 +-33 +-34 +-24 +-26 +-32 +-25 +-21 +-26 +-27 +-18 +-20 +-26 +-19 +-16 +-21 +-23 +-15 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +121 +111 +101 +90 +82 +80 +77 +70 +61 +52 +51 +51 +45 +36 +31 +35 +33 +26 +20 +20 +24 +19 +11 +10 +16 +13 +6 +3 +9 +8 +2 +-3 +3 +3 +-1 +-6 +-2 +1 +-3 +-10 +-4 +-2 +-8 +-11 +-3 +-4 +-11 +-11 +-62 +-121 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-97 +-114 +-103 +-93 +-94 +-88 +-77 +-80 +-75 +-64 +8 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +120 +112 +102 +91 +81 +75 +77 +71 +63 +54 +48 +49 +48 +41 +33 +28 +33 +30 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-104 +-106 +-95 +-86 +-89 +-82 +-72 +-75 +-70 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +90 +83 +83 +77 +69 +60 +53 +56 +52 +45 +36 +33 +37 +33 +26 +-40 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-100 +-103 +-104 +-98 +-85 +-87 +-83 +-71 +-73 +-72 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +91 +83 +81 +79 +71 +63 +54 +49 +51 +47 +41 +33 +28 +32 +30 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-109 +-99 +-103 +-105 +-97 +-86 +-88 +-82 +-71 +-75 +-69 +-59 +-63 +-59 +-49 +-55 +-50 +-42 +-47 +-45 +-35 +-41 +-40 +-31 +-35 +-36 +-26 +-30 +-33 +-25 +-26 +-32 +-24 +-21 +-26 +-26 +-17 +-20 +-25 +-17 +-15 +-22 +-21 +-13 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +112 +104 +104 +96 +87 +77 +69 +67 +66 +59 +49 +43 +46 +43 +37 +28 +27 +30 +27 +19 +14 +19 +19 +13 +6 +6 +11 +8 +1 +0 +7 +5 +-2 +-5 +3 +1 +-5 +-7 +0 +-1 +-7 +-10 +-2 +-3 +-8 +-11 +-4 +-4 +-68 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-103 +-104 +-106 +-98 +-101 +-90 +-81 +-84 +-78 +-68 +-72 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +110 +99 +88 +85 +83 +77 +67 +57 +53 +56 +50 +43 +34 +33 +36 +31 +23 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-110 +-112 +-102 +-92 +-94 +-87 +-76 +-79 +-73 +-63 +-67 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +104 +93 +83 +77 +77 +71 +63 +54 +48 +51 +47 +41 +32 +30 +34 +30 +-37 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-104 +-105 +-96 +-86 +-87 +-83 +-71 +-73 +-71 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +103 +91 +83 +84 +78 +70 +61 +53 +53 +52 +47 +38 +33 +35 +34 +28 +-39 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-99 +-104 +-106 +-95 +-86 +-89 +-79 +-72 +-76 +-67 +-61 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +102 +91 +83 +81 +79 +71 +62 +53 +52 +52 +47 +38 +31 +33 +33 +27 +-40 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-99 +-103 +-105 +-98 +-86 +-88 +-84 +-71 +-73 +-70 +-59 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +105 +95 +84 +75 +75 +71 +64 +54 +47 +48 +48 +41 +33 +28 +32 +30 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-112 +-105 +-107 +-93 +-87 +-90 +-79 +-72 +-76 +-68 +-60 +-64 +-60 +-50 +-54 +-52 +-42 +-45 +-46 +-35 +-39 +-42 +-32 +-32 +-37 +-30 +-26 +-31 +-31 +-22 +-26 +-29 +-19 +-21 +-27 +-20 +-17 +-22 +-24 +-15 +-16 +-22 +-20 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +105 +97 +90 +85 +81 +77 +71 +65 +59 +53 +47 +42 +38 +34 +32 +-29 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-100 +-101 +-107 +-96 +-98 +-90 +-79 +-82 +-78 +-67 +-69 +-67 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +98 +94 +92 +84 +76 +67 +59 +58 +57 +51 +43 +35 +35 +37 +32 +24 +-39 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-99 +-92 +-94 +-85 +-76 +-78 +-75 +-63 +-65 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +96 +91 +91 +83 +73 +64 +61 +62 +55 +45 +39 +41 +40 +34 +26 +24 +29 +24 +17 +12 +18 +17 +11 +5 +9 +10 +5 +-1 +3 +6 +1 +-5 +0 +3 +-1 +-7 +-1 +1 +-4 +-9 +-2 +-1 +-7 +-10 +-2 +-3 +-10 +-12 +-62 +-120 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-107 +-100 +-102 +-89 +-83 +-86 +-77 +-69 +-72 +5 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +111 +100 +88 +82 +82 +77 +69 +60 +52 +53 +52 +45 +35 +31 +35 +32 +25 +-41 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-100 +-104 +-106 +-98 +-87 +-88 +-83 +-71 +-74 +-71 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +90 +82 +81 +78 +70 +62 +53 +50 +52 +48 +41 +33 +30 +34 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-102 +-103 +-104 +-98 +-100 +-87 +-81 +-84 +-77 +-67 +-69 +-68 +-56 +-58 +-59 +-48 +-46 +-52 +-45 +-39 +-43 +-43 +-33 +-34 +-39 +-30 +-27 +-33 +-32 +-23 +-25 +-30 +-23 +-20 +-24 +-27 +-18 +-18 +-24 +-22 +-15 +-19 +-24 +-16 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +103 +97 +91 +87 +82 +77 +71 +65 +59 +53 +45 +39 +35 +33 +32 +-28 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-100 +-99 +-111 +-96 +-96 +-94 +-80 +-79 +-80 +-66 +-65 +-67 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +95 +85 +75 +74 +72 +66 +57 +48 +45 +48 +43 +35 +28 +30 +31 +26 +18 +16 +21 +19 +12 +7 +12 +13 +7 +1 +4 +7 +2 +-4 +0 +2 +-3 +-8 +-3 +0 +-5 +-9 +-5 +-2 +-7 +-11 +-7 +-3 +-9 +-13 +-6 +-64 +-126 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-102 +-105 +-107 +-97 +-87 +-91 +-80 +-73 +-77 +-68 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +106 +104 +96 +88 +77 +69 +65 +66 +60 +53 +43 +40 +43 +40 +33 +26 +22 +-33 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-103 +-104 +-106 +-98 +-100 +-90 +-81 +-84 +-79 +-68 +-70 +-68 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +113 +106 +96 +85 +76 +73 +72 +66 +57 +48 +45 +48 +43 +35 +28 +30 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-112 +-97 +-99 +-92 +-95 +-83 +-77 +-80 +-73 +-64 +-67 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +90 +91 +83 +75 +65 +59 +60 +57 +50 +41 +36 +40 +37 +30 +22 +-37 +-90 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-101 +-103 +-105 +-97 +-99 +-91 +-80 +-82 +-78 +-67 +-70 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +109 +105 +97 +87 +77 +70 +67 +67 +60 +52 +44 +42 +44 +40 +32 +26 +25 +-32 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-104 +-106 +-95 +-86 +-89 +-83 +-72 +-75 +-71 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +103 +91 +83 +81 +78 +70 +59 +52 +55 +51 +44 +35 +33 +37 +33 +24 +-39 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-111 +-111 +-103 +-91 +-92 +-88 +-75 +-77 +-76 +-63 +-65 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +107 +97 +95 +91 +83 +73 +64 +61 +62 +56 +47 +40 +41 +41 +35 +27 +24 +-31 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-104 +-105 +-96 +-86 +-89 +-82 +-71 +-75 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +101 +89 +84 +84 +78 +69 +60 +53 +56 +52 +45 +36 +35 +37 +32 +23 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-111 +-112 +-101 +-91 +-94 +-86 +-76 +-79 +-71 +-63 +-67 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +102 +90 +83 +82 +77 +70 +61 +52 +51 +51 +47 +38 +31 +31 +34 +29 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-111 +-106 +-106 +-92 +-88 +-90 +-78 +-72 +-76 +-69 +-60 +-63 +-61 +-50 +-52 +-53 +-42 +-44 +-47 +-37 +-35 +-41 +-37 +-30 +-34 +-36 +-26 +-26 +-32 +-26 +-21 +-27 +-28 +-18 +-21 +-26 +-19 +-16 +-23 +-23 +-14 +-17 +-23 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +113 +111 +104 +95 +86 +75 +69 +69 +65 +59 +51 +43 +41 +43 +39 +32 +-34 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-100 +-100 +-108 +-96 +-97 +-90 +-80 +-83 +-76 +-67 +-71 +-65 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +115 +106 +95 +85 +76 +76 +73 +66 +57 +49 +47 +48 +43 +35 +28 +30 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-105 +-107 +-95 +-87 +-89 +-82 +-71 +-74 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +114 +105 +95 +85 +75 +71 +71 +66 +58 +49 +44 +47 +44 +38 +30 +26 +30 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-110 +-105 +-106 +-91 +-86 +-89 +-78 +-71 +-74 +-69 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +118 +114 +105 +93 +83 +77 +77 +71 +64 +54 +49 +51 +47 +40 +32 +31 +35 +29 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-112 +-104 +-106 +-94 +-86 +-89 +-80 +-71 +-75 +-69 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +104 +93 +83 +77 +78 +72 +65 +55 +49 +51 +48 +41 +33 +29 +33 +30 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-111 +-114 +-104 +-106 +-96 +-86 +-89 +-82 +-71 +-74 +-71 +-59 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +114 +105 +94 +83 +76 +78 +72 +63 +54 +50 +52 +47 +39 +32 +34 +34 +27 +-39 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-99 +-104 +-105 +-97 +-86 +-88 +-82 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +91 +83 +80 +79 +71 +64 +54 +49 +50 +48 +42 +33 +28 +32 +30 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-112 +-104 +-106 +-93 +-86 +-89 +-78 +-71 +-75 +-66 +-60 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +101 +89 +85 +84 +77 +67 +59 +56 +57 +51 +42 +34 +34 +36 +32 +24 +19 +22 +23 +18 +11 +9 +16 +13 +6 +2 +8 +8 +3 +-3 +2 +4 +-1 +-6 +-2 +1 +-3 +-9 +-4 +-2 +-7 +-12 +-6 +-4 +-8 +-13 +-8 +-4 +-67 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-102 +-106 +-107 +-98 +-88 +-91 +-81 +-73 +-77 +-69 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +111 +104 +94 +85 +75 +70 +71 +65 +57 +48 +45 +48 +43 +35 +28 +29 +30 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-104 +-106 +-96 +-86 +-88 +-82 +-71 +-74 +-70 +-59 +-63 +-61 +-50 +-54 +-52 +-43 +-47 +-47 +-36 +-41 +-40 +-31 +-36 +-36 +-27 +-33 +-32 +-23 +-29 +-29 +-20 +-25 +-27 +-17 +-22 +-25 +-16 +-19 +-24 +-15 +-15 +-22 +58 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +111 +101 +89 +82 +81 +77 +69 +59 +52 +54 +51 +44 +35 +32 +36 +-28 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-110 +-113 +-103 +-105 +-96 +-86 +-88 +-83 +-71 +-73 +-70 +-59 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +102 +91 +87 +85 +77 +67 +59 +58 +57 +51 +42 +35 +39 +37 +31 +23 +-39 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-112 +-112 +-101 +-92 +-94 +-87 +-76 +-78 +-75 +-63 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +93 +92 +84 +75 +65 +61 +62 +57 +48 +40 +38 +41 +36 +28 +22 +-35 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-104 +-104 +-105 +-98 +-100 +-91 +-80 +-83 +-79 +-67 +-69 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +106 +96 +88 +77 +71 +71 +67 +59 +50 +45 +47 +44 +37 +29 +27 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-98 +-104 +-106 +-97 +-86 +-89 +-80 +-72 +-76 +-69 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +89 +82 +82 +77 +69 +59 +52 +55 +51 +45 +36 +33 +37 +34 +26 +20 +22 +24 +17 +11 +13 +16 +10 +3 +6 +9 +4 +-2 +2 +4 +-2 +-7 +0 +1 +-5 +-8 +-1 +-2 +-9 +-9 +-2 +-5 +-11 +-10 +-4 +-7 +-13 +-69 +-102 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-105 +-106 +-97 +-86 +-87 +-83 +-71 +-72 +-72 +-60 +-59 +-62 +-53 +-48 +-53 +-51 +-41 +-42 +-46 +-37 +-34 +-38 +-38 +-29 +-30 +-35 +-29 +-24 +-29 +-30 +-21 +-22 +-29 +-23 +-18 +-23 +-26 +-17 +-17 +-23 +-22 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +111 +103 +94 +84 +76 +69 +63 +61 +59 +55 +50 +46 +42 +38 +34 +-30 +-90 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-107 +-101 +-102 +-103 +-98 +-85 +-87 +-83 +-71 +-73 +-69 +-59 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +88 +85 +77 +66 +59 +59 +57 +50 +41 +36 +41 +36 +29 +22 +-36 +-90 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-103 +-104 +-107 +-98 +-99 +-93 +-81 +-82 +-80 +-67 +-67 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +107 +105 +97 +89 +79 +70 +65 +67 +61 +54 +44 +41 +45 +40 +32 +26 +27 +29 +23 +15 +13 +19 +15 +9 +5 +11 +10 +4 +-1 +5 +6 +0 +-5 +2 +2 +-4 +-7 +0 +-1 +-7 +-10 +-2 +-3 +-9 +-12 +-5 +-4 +-10 +-14 +-65 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-107 +-101 +-103 +-90 +-84 +-86 +-78 +-69 +-72 +-67 +-57 +-60 +-60 +-47 +-49 +-51 +-41 +-40 +-45 +-37 +-33 +-37 +-36 +-27 +-30 +-34 +-24 +-24 +-30 +-26 +-21 +-25 +-28 +-18 +-19 +-25 +-21 +-16 +-21 +-24 +-16 +60 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +97 +88 +81 +75 +73 +69 +65 +59 +55 +50 +44 +38 +33 +29 +27 +26 +26 +24 +22 +19 +17 +15 +12 +10 +8 +6 +5 +4 +4 +4 +3 +2 +1 +0 +-1 +-2 +-3 +-3 +-3 +-4 +-3 +-3 +-4 +-4 +-5 +-5 +-65 +-102 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-111 +-98 +-100 +-92 +-82 +-85 +-77 +-68 +-73 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +88 +83 +83 +77 +69 +60 +52 +53 +51 +45 +37 +31 +34 +33 +27 +-40 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-104 +-106 +-97 +-87 +-89 +-84 +-72 +-76 +-70 +-61 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +100 +89 +87 +85 +77 +67 +58 +55 +57 +50 +41 +35 +39 +37 +30 +22 +-38 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-106 +-99 +-101 +-89 +-81 +-85 +-77 +-68 +-71 +-66 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +118 +114 +105 +95 +85 +76 +76 +73 +66 +57 +49 +49 +49 +43 +35 +30 +34 +31 +-35 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-105 +-107 +-95 +-87 +-89 +-81 +-72 +-75 +-69 +-60 +-63 +-60 +-50 +-54 +-54 +-43 +-45 +-48 +-37 +-36 +-41 +-37 +-29 +-33 +-35 +-26 +-26 +-32 +-27 +-21 +-25 +-29 +-20 +-19 +-25 +-25 +-16 +-18 +-24 +-19 +-15 +-20 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +118 +112 +103 +91 +82 +80 +77 +70 +61 +52 +53 +51 +45 +36 +31 +35 +-27 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-111 +-104 +-106 +-95 +-86 +-88 +-82 +-70 +-73 +-70 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +115 +104 +92 +82 +80 +78 +70 +61 +53 +55 +52 +46 +37 +33 +37 +34 +27 +20 +20 +24 +19 +13 +9 +14 +14 +9 +2 +4 +9 +5 +-2 +-2 +4 +0 +-7 +-5 +1 +-3 +-9 +-5 +-1 +-5 +-11 +-5 +-3 +-8 +-13 +-6 +-5 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-128 +-98 +-107 +-108 +-94 +-89 +-92 +-80 +-73 +-76 +-71 +-61 +-64 +-62 +-51 +-52 +-56 +-44 +-43 +-48 +-42 +-35 +-39 +-40 +-31 +-31 +-36 +-29 +-25 +-30 +-31 +-21 +-23 +-29 +-22 +-18 +-25 +-25 +-16 +-19 +-25 +-18 +-15 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +106 +97 +93 +91 +83 +73 +63 +61 +61 +55 +45 +38 +40 +39 +33 +24 +21 +27 +24 +17 +11 +18 +16 +10 +4 +10 +10 +4 +-1 +5 +5 +-1 +-5 +3 +2 +-5 +-7 +0 +-1 +-8 +-11 +-3 +-4 +-9 +-12 +-5 +-4 +-68 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-97 +-98 +-105 +-93 +-93 +-90 +-76 +-76 +-77 +-65 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +98 +87 +83 +83 +77 +69 +59 +52 +54 +51 +45 +35 +33 +37 +33 +24 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-111 +-112 +-102 +-92 +-93 +-87 +-76 +-79 +-75 +-63 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +98 +91 +91 +84 +75 +65 +59 +61 +57 +49 +40 +37 +41 +35 +27 +23 +-32 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-113 +-105 +-107 +-94 +-87 +-90 +-80 +-72 +-76 +-71 +-61 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +105 +95 +84 +77 +77 +73 +65 +55 +48 +49 +47 +40 +32 +29 +34 +29 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-109 +-102 +-104 +-105 +-98 +-85 +-88 +-81 +-71 +-73 +-69 +-59 +-62 +-60 +-49 +-51 +-53 +-42 +-41 +-47 +-40 +-34 +-38 +-40 +-29 +-30 +-35 +-30 +-26 +-30 +-32 +-22 +-23 +-29 +-23 +-18 +-24 +-26 +-16 +-19 +-24 +-18 +-15 +-20 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +114 +111 +103 +93 +81 +76 +77 +70 +61 +52 +53 +51 +45 +36 +31 +36 +33 +25 +20 +22 +24 +18 +11 +10 +15 +11 +4 +3 +10 +5 +-1 +1 +5 +0 +-5 +0 +2 +-3 +-8 +-2 +-1 +-6 +-10 +-4 +-3 +-8 +-12 +-6 +-63 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-104 +-105 +-106 +-99 +-87 +-90 +-82 +-73 +-77 +-70 +-61 +-65 +-61 +-51 +-54 +-54 +-43 +-47 +-46 +-36 +-40 +-41 +-31 +-34 +-37 +-27 +-28 +-34 +-26 +-23 +-29 +-29 +-19 +-23 +-28 +-21 +-18 +-23 +-25 +-16 +-17 +-23 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +109 +105 +95 +87 +77 +68 +65 +66 +59 +51 +43 +41 +44 +39 +31 +25 +27 +28 +22 +15 +16 +19 +13 +7 +9 +13 +7 +1 +4 +7 +1 +-5 +-1 +3 +-2 +-7 +-3 +0 +-5 +-10 +-5 +-2 +-7 +-12 +-5 +-4 +-10 +-72 +-105 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-107 +-108 +-95 +-88 +-91 +-82 +-73 +-75 +-72 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +97 +92 +91 +83 +74 +64 +60 +62 +56 +48 +40 +38 +41 +35 +28 +21 +-36 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-109 +-98 +-99 +-93 +-81 +-83 +-81 +-68 +-70 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +96 +85 +76 +74 +73 +66 +56 +48 +45 +48 +42 +34 +29 +32 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-104 +-106 +-97 +-87 +-89 +-81 +-72 +-75 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +103 +91 +83 +80 +79 +71 +63 +54 +51 +53 +48 +39 +32 +33 +35 +29 +-39 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-113 +-104 +-106 +-96 +-86 +-88 +-82 +-71 +-73 +-71 +-60 +-62 +-62 +-49 +-51 +-54 +-44 +-41 +-47 +-42 +-34 +-38 +-40 +-29 +-31 +-35 +-28 +-25 +-31 +-29 +-21 +-25 +-29 +-20 +-19 +-26 +-23 +-16 +-21 +-24 +-15 +-17 +-24 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +105 +96 +93 +90 +82 +74 +64 +58 +59 +56 +48 +40 +34 +37 +36 +30 +22 +21 +25 +22 +14 +11 +16 +15 +7 +3 +9 +9 +3 +-2 +3 +5 +-1 +-5 +1 +2 +-3 +-8 +-2 +-1 +-6 +-10 +-3 +-2 +-7 +-11 +-5 +-63 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-110 +-100 +-101 +-94 +-83 +-84 +-81 +-68 +-71 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +105 +95 +93 +90 +81 +72 +63 +62 +61 +55 +45 +39 +42 +40 +33 +25 +25 +-32 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-98 +-104 +-106 +-98 +-86 +-88 +-83 +-71 +-74 +-71 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +93 +83 +79 +79 +72 +63 +54 +52 +53 +47 +37 +33 +37 +34 +25 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-100 +-93 +-95 +-86 +-76 +-79 +-76 +-64 +-67 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +98 +93 +91 +83 +74 +64 +61 +62 +56 +47 +40 +38 +41 +35 +28 +22 +-36 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-105 +-105 +-106 +-99 +-101 +-90 +-82 +-85 +-77 +-68 +-71 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +106 +102 +97 +90 +80 +70 +65 +67 +61 +53 +44 +42 +45 +40 +31 +26 +29 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-104 +-106 +-97 +-86 +-88 +-83 +-71 +-74 +-71 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +112 +106 +96 +87 +77 +70 +70 +67 +60 +53 +44 +42 +44 +40 +33 +26 +26 +-31 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-110 +-105 +-91 +-93 +-88 +-76 +-79 +-76 +-64 +-67 +-65 +-54 +-57 +-56 +-44 +-48 +-49 +-38 +-39 +-43 +-33 +-33 +-38 +-33 +-27 +-31 +-33 +-23 +-24 +-30 +-23 +-20 +-25 +-27 +-18 +-19 +-26 +-20 +-16 +-21 +-23 +-15 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +105 +99 +93 +88 +82 +76 +70 +63 +56 +51 +45 +43 +39 +37 +35 +-28 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-101 +-102 +-107 +-97 +-99 +-88 +-80 +-84 +-74 +-67 +-71 +-65 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +106 +100 +98 +91 +83 +73 +65 +62 +63 +57 +48 +41 +40 +41 +35 +27 +24 +-31 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-112 +-107 +-108 +-93 +-89 +-91 +-78 +-73 +-77 +-68 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +105 +94 +85 +77 +79 +74 +67 +58 +50 +48 +50 +44 +35 +29 +31 +31 +25 +17 +17 +21 +18 +11 +7 +12 +12 +6 +1 +3 +7 +3 +-3 +-2 +3 +-1 +-7 +-4 +0 +-5 +-10 +-4 +-3 +-9 +-12 +-5 +-4 +-10 +-13 +-7 +-65 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-106 +-107 +-101 +-103 +-90 +-83 +-86 +-78 +-69 +-71 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +96 +89 +90 +83 +74 +64 +59 +61 +56 +48 +40 +36 +40 +36 +29 +22 +-38 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-112 +-97 +-102 +-92 +-95 +-85 +-77 +-80 +-73 +-64 +-68 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +110 +98 +92 +92 +84 +75 +64 +61 +62 +57 +48 +40 +38 +41 +36 +29 +23 +-34 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-104 +-108 +-98 +-100 +-92 +-81 +-84 +-78 +-68 +-71 +-68 +-57 +-60 +-59 +-47 +-50 +-51 +-40 +-40 +-45 +-38 +-33 +-38 +-37 +-28 +-31 +-35 +-26 +-24 +-30 +-29 +-20 +-22 +-28 +-23 +-18 +-23 +-26 +-18 +-17 +-22 +-23 +-14 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +111 +105 +96 +87 +77 +69 +65 +65 +59 +53 +45 +39 +39 +40 +35 +-33 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-101 +-101 +-110 +-97 +-97 +-94 +-80 +-81 +-80 +-66 +-67 +-68 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +112 +106 +97 +89 +79 +71 +67 +68 +62 +54 +45 +41 +43 +41 +35 +27 +23 +27 +25 +21 +13 +12 +17 +14 +7 +3 +8 +9 +4 +-1 +0 +6 +2 +-5 +-6 +2 +0 +-6 +-9 +-1 +-2 +-7 +-11 +-4 +-3 +-8 +-12 +-6 +-4 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-109 +-99 +-101 +-94 +-82 +-85 +-81 +-69 +-72 +7 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +96 +90 +90 +83 +75 +65 +58 +58 +56 +49 +41 +34 +37 +36 +29 +22 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-105 +-105 +-105 +-100 +-101 +-88 +-82 +-85 +-75 +-68 +-72 +-65 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +106 +96 +87 +77 +70 +70 +67 +61 +52 +44 +43 +45 +40 +32 +26 +26 +-32 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-96 +-87 +-89 +-83 +-72 +-74 +-71 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +115 +105 +94 +84 +79 +79 +73 +63 +54 +53 +54 +47 +38 +34 +38 +35 +27 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-113 +-98 +-100 +-94 +-96 +-84 +-78 +-81 +-73 +-64 +-68 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +91 +83 +83 +79 +71 +63 +54 +51 +53 +48 +40 +32 +30 +34 +29 +-39 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-105 +-107 +-97 +-88 +-90 +-82 +-72 +-76 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +102 +91 +85 +85 +77 +69 +60 +53 +56 +52 +45 +36 +35 +37 +33 +24 +-40 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-99 +-93 +-95 +-86 +-76 +-79 +-74 +-63 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +108 +98 +96 +92 +83 +74 +65 +62 +62 +57 +48 +40 +38 +41 +36 +28 +23 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-109 +-98 +-99 +-94 +-81 +-82 +-80 +-67 +-67 +-70 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +106 +103 +98 +90 +80 +71 +67 +67 +61 +52 +45 +45 +45 +39 +31 +26 +29 +-31 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-105 +-105 +-107 +-100 +-101 +-93 +-82 +-84 +-80 +-68 +-70 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +98 +89 +78 +70 +66 +67 +61 +53 +44 +42 +44 +40 +31 +26 +29 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-95 +-87 +-90 +-81 +-72 +-76 +-69 +-60 +-64 +-61 +-50 +-55 +-51 +-42 +-45 +-46 +-36 +-40 +-42 +-32 +-33 +-37 +-28 +-27 +-33 +-29 +-22 +-27 +-29 +-20 +-21 +-27 +-21 +-17 +-22 +-24 +-15 +-16 +-22 +-20 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +105 +97 +94 +91 +83 +75 +65 +58 +59 +56 +49 +41 +35 +36 +35 +-30 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-107 +-102 +-103 +-103 +-98 +-86 +-88 +-83 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +92 +84 +81 +79 +71 +63 +53 +51 +52 +48 +40 +33 +31 +35 +30 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-97 +-87 +-89 +-83 +-72 +-73 +-72 +-60 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +113 +107 +98 +89 +79 +71 +71 +68 +61 +52 +45 +47 +45 +39 +31 +26 +29 +-31 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-98 +-105 +-107 +-97 +-87 +-89 +-84 +-72 +-73 +-73 +-61 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +103 +99 +91 +81 +72 +65 +67 +62 +54 +45 +42 +44 +39 +30 +25 +30 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-99 +-87 +-87 +-85 +-72 +-70 +-73 +-62 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +102 +98 +91 +83 +75 +65 +59 +58 +57 +51 +44 +36 +35 +38 +33 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-105 +-106 +-97 +-87 +-90 +-81 +-73 +-76 +-69 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +104 +92 +83 +80 +79 +73 +64 +55 +50 +52 +48 +41 +33 +30 +34 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-103 +-110 +-98 +-99 +-93 +-81 +-84 +-78 +-68 +-72 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +94 +84 +77 +78 +73 +66 +57 +49 +46 +48 +43 +36 +29 +27 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-99 +-105 +-108 +-96 +-88 +-91 +-81 +-73 +-77 +-70 +-61 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +89 +84 +84 +77 +69 +59 +54 +57 +51 +44 +35 +35 +37 +33 +24 +20 +24 +23 +17 +11 +13 +16 +11 +4 +6 +11 +6 +-1 +0 +5 +0 +-6 +-3 +2 +-3 +-8 +-3 +-1 +-7 +-10 +-2 +-3 +-10 +-11 +-3 +-5 +-12 +-72 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-107 +-109 +-96 +-89 +-92 +-82 +-73 +-76 +-73 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +102 +93 +84 +76 +74 +72 +66 +58 +49 +43 +47 +43 +37 +29 +26 +31 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-97 +-87 +-88 +-85 +-72 +-73 +-73 +-61 +-60 +-63 +-54 +-48 +-51 +-51 +-41 +-40 +-44 +-41 +-33 +-34 +-39 +-31 +-27 +-31 +-33 +-24 +-23 +-29 +-28 +-19 +-22 +-28 +-21 +-18 +-22 +-25 +-17 +-16 +-21 +-23 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +106 +100 +95 +89 +82 +76 +70 +63 +56 +50 +45 +41 +38 +37 +34 +-28 +-87 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-110 +-112 +-103 +-104 +-95 +-85 +-87 +-82 +-70 +-74 +-70 +-59 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +88 +85 +77 +67 +59 +57 +57 +51 +42 +37 +41 +37 +30 +23 +-37 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-105 +-105 +-105 +-100 +-101 +-90 +-82 +-85 +-77 +-68 +-71 +-67 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +100 +90 +88 +85 +78 +71 +62 +54 +52 +53 +48 +40 +32 +29 +33 +30 +-37 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-101 +-105 +-107 +-97 +-87 +-90 +-83 +-72 +-75 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +92 +83 +80 +79 +71 +64 +55 +49 +51 +49 +43 +35 +29 +31 +32 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-99 +-105 +-106 +-97 +-87 +-88 +-84 +-72 +-74 +-72 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +97 +87 +77 +71 +72 +67 +58 +49 +45 +48 +44 +37 +29 +27 +31 +28 +21 +15 +15 +19 +14 +7 +6 +13 +9 +2 +1 +8 +4 +-3 +-3 +3 +0 +-6 +-7 +1 +-2 +-8 +-9 +-1 +-3 +-10 +-10 +-3 +-5 +-10 +-13 +-65 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-102 +-99 +-99 +-100 +-97 +-84 +-85 +-83 +-69 +-71 +-70 +-58 +-60 +-61 +-49 +-51 +-53 +-41 +-43 +-47 +-36 +-35 +-41 +-35 +-29 +-34 +-34 +-25 +-27 +-32 +-23 +-23 +-29 +-26 +-19 +-23 +-26 +-16 +-18 +-24 +-18 +-15 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +89 +88 +83 +76 +65 +58 +57 +56 +50 +42 +35 +36 +37 +-29 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-112 +-104 +-105 +-96 +-86 +-88 +-83 +-71 +-73 +-71 +-59 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +102 +99 +92 +83 +73 +65 +66 +63 +56 +46 +40 +42 +41 +35 +28 +23 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-107 +-99 +-101 +-92 +-81 +-83 +-79 +-68 +-70 +-70 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +102 +91 +84 +84 +79 +71 +61 +54 +56 +52 +45 +36 +32 +36 +33 +27 +20 +19 +24 +20 +13 +9 +14 +14 +9 +2 +4 +8 +5 +-2 +-2 +4 +1 +-5 +-6 +1 +-1 +-9 +-8 +-2 +-5 +-11 +-8 +-3 +-6 +-12 +-8 +-5 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-105 +-107 +-98 +-87 +-91 +-82 +-74 +-77 +-71 +-62 +-66 +-61 +-52 +-56 +-54 +-43 +-48 +-46 +-37 +-43 +-40 +-32 +-38 +-37 +-28 +-33 +-34 +-24 +-28 +-31 +-21 +-23 +-29 +-20 +-19 +-26 +-23 +-16 +-20 +-24 +-15 +61 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +114 +106 +102 +97 +90 +83 +77 +71 +64 +56 +50 +45 +42 +41 +39 +36 +33 +29 +26 +21 +17 +15 +14 +13 +13 +12 +11 +9 +8 +6 +5 +3 +1 +0 +0 +0 +0 +-1 +-1 +-2 +-3 +-4 +-4 +-6 +-6 +-7 +-7 +-8 +-66 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-107 +-107 +-99 +-88 +-91 +-83 +-74 +-78 +-70 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +119 +114 +105 +95 +85 +76 +72 +71 +65 +57 +48 +43 +47 +43 +37 +28 +27 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-95 +-87 +-89 +-83 +-72 +-74 +-72 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +98 +93 +91 +83 +74 +64 +63 +62 +56 +45 +41 +44 +40 +32 +25 +29 +-33 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-105 +-107 +-98 +-87 +-90 +-82 +-72 +-76 +-69 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +104 +91 +84 +84 +79 +71 +61 +54 +56 +52 +45 +35 +35 +37 +31 +23 +-41 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-101 +-97 +-98 +-98 +-96 +-82 +-83 +-81 +-68 +-69 +-69 +-56 +-57 +-59 +-48 +-46 +-51 +-44 +-38 +-42 +-42 +-32 +-34 +-39 +-29 +-27 +-34 +-30 +-23 +-27 +-30 +-21 +-22 +-28 +-23 +-17 +-23 +-24 +-15 +-17 +-23 +-17 +-14 +58 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +90 +90 +84 +77 +68 +59 +55 +57 +51 +44 +35 +34 +37 +-29 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-98 +-104 +-106 +-95 +-86 +-89 +-80 +-71 +-75 +-68 +-59 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +93 +84 +81 +79 +73 +64 +55 +51 +53 +48 +41 +33 +31 +35 +31 +23 +17 +20 +21 +16 +9 +8 +14 +11 +3 +1 +9 +6 +-1 +-3 +4 +2 +-5 +-6 +0 +0 +-6 +-9 +-3 +-2 +-7 +-11 +-6 +-4 +-10 +-14 +-7 +-66 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-107 +-109 +-97 +-89 +-92 +-83 +-74 +-76 +-72 +-61 +-64 +-62 +-51 +-54 +-54 +-43 +-46 +-48 +-37 +-39 +-42 +-32 +-31 +-37 +-32 +-25 +-29 +-31 +-22 +-23 +-30 +-24 +-19 +-23 +-26 +-16 +-18 +-24 +-20 +-15 +-19 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +112 +109 +104 +94 +83 +75 +77 +71 +63 +52 +49 +52 +46 +37 +32 +36 +33 +26 +19 +21 +23 +18 +11 +9 +15 +12 +5 +2 +9 +6 +1 +-3 +3 +3 +-1 +-6 +-3 +1 +-2 +-9 +-6 +-1 +-5 +-11 +-8 +-3 +-6 +-12 +-70 +-102 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-97 +-109 +-109 +-93 +-91 +-92 +-78 +-75 +-78 +-69 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +102 +91 +83 +80 +79 +71 +63 +54 +49 +51 +47 +39 +32 +31 +33 +28 +-40 +-101 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-95 +-87 +-90 +-84 +-73 +-75 +-72 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +101 +99 +91 +82 +72 +65 +65 +61 +55 +45 +39 +42 +41 +34 +26 +23 +-32 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-105 +-111 +-99 +-99 +-94 +-81 +-83 +-80 +-67 +-70 +-68 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +113 +106 +97 +87 +77 +71 +71 +67 +61 +53 +44 +43 +45 +41 +33 +27 +28 +-31 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-108 +-97 +-88 +-90 +-82 +-73 +-76 +-71 +-61 +-64 +-62 +-50 +-54 +-54 +-43 +-46 +-48 +-36 +-39 +-41 +-31 +-33 +-37 +-27 +-27 +-33 +-26 +-23 +-28 +-29 +-20 +-21 +-27 +-20 +-17 +-22 +-24 +-15 +-17 +-23 +-19 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +105 +98 +92 +88 +83 +77 +71 +65 +59 +52 +46 +41 +37 +35 +33 +31 +29 +27 +24 +21 +18 +15 +13 +12 +10 +10 +9 +8 +7 +6 +4 +2 +0 +-1 +-2 +-2 +-2 +-2 +-3 +-3 +-4 +-4 +-5 +-5 +-6 +-6 +-7 +-66 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-102 +-107 +-108 +-96 +-89 +-91 +-80 +-73 +-77 +-70 +-61 +-64 +-62 +-51 +-53 +-55 +-43 +-43 +-48 +-41 +-35 +-39 +-40 +-30 +-32 +-37 +-29 +-26 +-31 +-31 +-22 +-24 +-29 +-22 +-19 +-25 +-25 +-16 +-19 +-25 +-16 +-15 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +106 +96 +92 +91 +83 +75 +65 +58 +58 +57 +50 +42 +35 +37 +37 +31 +23 +21 +26 +22 +14 +10 +16 +14 +7 +3 +8 +9 +3 +-2 +4 +4 +-2 +-5 +1 +2 +-4 +-8 +-2 +-1 +-6 +-10 +-6 +-2 +-7 +-12 +-6 +-64 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-105 +-106 +-101 +-102 +-89 +-83 +-86 +-80 +-70 +-72 +6 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +88 +83 +83 +77 +69 +60 +52 +53 +51 +45 +36 +31 +33 +33 +27 +-41 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-106 +-108 +-96 +-88 +-90 +-83 +-73 +-75 +-72 +-61 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +107 +97 +87 +76 +73 +73 +67 +59 +49 +45 +49 +44 +37 +29 +28 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-113 +-106 +-107 +-97 +-87 +-89 +-84 +-72 +-74 +-72 +-60 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +99 +91 +80 +71 +66 +67 +62 +55 +45 +41 +44 +41 +33 +26 +24 +-32 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-103 +-105 +-105 +-100 +-87 +-88 +-85 +-72 +-74 +-73 +-61 +-63 +-63 +-50 +-53 +-54 +-43 +-43 +-47 +-38 +-35 +-41 +-38 +-29 +-32 +-35 +-26 +-25 +-32 +-28 +-21 +-25 +-29 +-19 +-19 +-25 +-25 +-17 +-20 +-25 +-20 +-15 +-19 +53 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +104 +102 +98 +89 +80 +70 +63 +65 +61 +53 +44 +40 +43 +41 +35 +27 +23 +29 +26 +21 +14 +13 +18 +15 +9 +4 +7 +10 +5 +-1 +0 +5 +1 +-5 +-6 +1 +0 +-6 +-9 +-1 +-3 +-9 +-11 +-3 +-5 +-11 +-12 +-64 +-120 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-99 +-99 +-101 +-95 +-96 +-89 +-78 +-80 +-77 +-65 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +107 +105 +97 +89 +79 +70 +67 +67 +60 +51 +43 +45 +44 +38 +29 +26 +30 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-128 +-99 +-105 +-107 +-98 +-87 +-88 +-85 +-72 +-74 +-73 +-61 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +114 +107 +97 +87 +77 +73 +73 +67 +58 +50 +45 +48 +43 +37 +29 +26 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-106 +-108 +-98 +-88 +-91 +-82 +-72 +-76 +-70 +-60 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +103 +91 +84 +84 +78 +69 +60 +54 +57 +52 +45 +36 +34 +37 +33 +25 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-112 +-97 +-104 +-92 +-95 +-88 +-77 +-80 +-75 +-64 +-67 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +111 +100 +95 +94 +85 +75 +66 +64 +63 +57 +47 +41 +42 +42 +34 +26 +25 +-32 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-108 +-94 +-88 +-90 +-83 +-72 +-74 +-73 +-61 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +101 +99 +91 +82 +72 +65 +66 +62 +55 +46 +40 +42 +40 +34 +27 +23 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-109 +-99 +-101 +-93 +-82 +-84 +-79 +-68 +-70 +-67 +-56 +-60 +-58 +-47 +-51 +-50 +-40 +-45 +-43 +-34 +-38 +-39 +-29 +-33 +-35 +-25 +-27 +-33 +-25 +-22 +-27 +-29 +-19 +-20 +-26 +-23 +-16 +-20 +-24 +-16 +-15 +-21 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +90 +89 +84 +77 +67 +59 +55 +57 +51 +44 +35 +34 +37 +-29 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-112 +-104 +-106 +-94 +-86 +-89 +-81 +-71 +-74 +-70 +-59 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +107 +96 +86 +77 +77 +74 +66 +56 +49 +51 +49 +42 +33 +29 +33 +30 +-37 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-101 +-105 +-107 +-95 +-87 +-90 +-81 +-72 +-75 +-68 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +101 +90 +87 +85 +78 +67 +58 +57 +56 +50 +42 +35 +37 +37 +31 +23 +21 +26 +22 +15 +11 +16 +15 +10 +4 +4 +10 +6 +0 +-2 +5 +3 +-3 +-7 +0 +0 +-4 +-9 +-5 +-1 +-5 +-11 +-6 +-3 +-8 +-12 +-5 +-5 +-70 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-107 +-106 +-102 +-103 +-88 +-84 +-87 +-76 +-69 +-73 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +121 +114 +105 +94 +84 +76 +75 +72 +65 +56 +49 +46 +48 +43 +35 +29 +30 +31 +-35 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-101 +-105 +-107 +-98 +-87 +-89 +-85 +-72 +-74 +-73 +-61 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +98 +89 +78 +71 +71 +67 +60 +51 +44 +45 +44 +38 +30 +25 +29 +-33 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-106 +-108 +-97 +-88 +-90 +-84 +-72 +-74 +-72 +-60 +-62 +-63 +-50 +-52 +-54 +-43 +-43 +-47 +-38 +-35 +-40 +-38 +-29 +-32 +-35 +-26 +-25 +-31 +-29 +-22 +-25 +-30 +-21 +-19 +-25 +-26 +-17 +-19 +-25 +-19 +-14 +-19 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +109 +106 +97 +87 +76 +73 +73 +66 +55 +48 +49 +48 +41 +32 +30 +-27 +-89 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-98 +-105 +-106 +-97 +-86 +-88 +-84 +-71 +-73 +-72 +-59 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +107 +98 +88 +77 +73 +74 +67 +59 +50 +47 +49 +44 +37 +29 +29 +32 +27 +19 +14 +18 +19 +14 +8 +8 +13 +9 +2 +2 +8 +4 +-3 +0 +4 +-2 +-7 +-2 +1 +-4 +-9 +-4 +-1 +-7 +-11 +-5 +-3 +-9 +-13 +-7 +-65 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-107 +-109 +-96 +-90 +-92 +-83 +-74 +-76 +-73 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +108 +97 +92 +91 +84 +75 +65 +58 +58 +56 +50 +41 +35 +38 +37 +31 +23 +-40 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-98 +-98 +-100 +-94 +-96 +-86 +-77 +-80 +-75 +-64 +-66 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +110 +99 +91 +91 +85 +77 +68 +59 +57 +58 +52 +44 +36 +36 +37 +33 +24 +-41 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-113 +-98 +-101 +-93 +-95 +-86 +-76 +-79 +-73 +-63 +-67 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +90 +85 +78 +67 +59 +57 +57 +51 +42 +36 +39 +37 +30 +22 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-112 +-97 +-103 +-92 +-95 +-88 +-78 +-81 +-75 +-65 +-68 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +101 +90 +89 +86 +77 +67 +59 +58 +57 +51 +42 +36 +40 +37 +31 +23 +-38 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-105 +-105 +-103 +-101 +-87 +-85 +-86 +-73 +-70 +-73 +-63 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +102 +91 +83 +80 +79 +72 +64 +55 +50 +51 +49 +43 +34 +29 +33 +31 +-36 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-107 +-98 +-87 +-89 +-84 +-72 +-74 +-72 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +113 +107 +98 +89 +78 +71 +71 +68 +60 +51 +44 +47 +44 +38 +29 +27 +31 +-35 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-98 +-105 +-107 +-97 +-87 +-89 +-85 +-73 +-74 +-73 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +116 +107 +96 +86 +77 +78 +73 +65 +55 +49 +51 +48 +40 +32 +31 +35 +30 +-38 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-107 +-106 +-105 +-101 +-102 +-88 +-83 +-86 +-76 +-69 +-72 +-67 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +105 +95 +86 +77 +73 +73 +67 +58 +49 +45 +48 +44 +37 +29 +27 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-109 +-104 +-104 +-103 +-101 +-86 +-86 +-85 +-71 +-72 +-72 +-60 +-60 +-63 +-51 +-50 +-55 +-46 +-41 +-46 +-43 +-34 +-38 +-40 +-29 +-32 +-36 +-26 +-26 +-32 +-26 +-21 +-27 +-28 +-19 +-21 +-26 +-18 +-17 +-24 +-21 +-14 +-19 +-24 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +104 +94 +85 +75 +73 +72 +66 +58 +49 +43 +45 +43 +38 +30 +-36 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-110 +-101 +-104 +-105 +-99 +-86 +-87 +-83 +-71 +-74 +-70 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +103 +90 +83 +84 +79 +70 +60 +54 +57 +52 +45 +37 +34 +38 +34 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-101 +-104 +-104 +-99 +-85 +-86 +-84 +-70 +-71 +-72 +-59 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +103 +92 +83 +79 +79 +72 +65 +55 +49 +49 +48 +42 +34 +29 +31 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-108 +-105 +-104 +-102 +-101 +-87 +-83 +-86 +-73 +-69 +-73 +-65 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +99 +97 +92 +84 +75 +65 +61 +62 +57 +49 +40 +37 +40 +35 +28 +22 +-33 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-103 +-97 +-99 +-99 +-95 +-81 +-81 +-81 +-67 +-67 +-69 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +99 +93 +91 +84 +77 +67 +59 +54 +57 +52 +47 +39 +33 +33 +35 +30 +-37 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-104 +-109 +-98 +-100 +-92 +-81 +-84 +-77 +-68 +-72 +-65 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +112 +99 +89 +89 +85 +77 +68 +59 +57 +58 +51 +43 +36 +37 +37 +32 +23 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-112 +-97 +-105 +-92 +-94 +-89 +-77 +-79 +-75 +-64 +-67 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +100 +99 +93 +84 +74 +65 +64 +63 +57 +47 +41 +41 +40 +33 +25 +23 +-33 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-111 +-99 +-100 +-95 +-82 +-83 +-81 +-68 +-69 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +108 +105 +99 +91 +80 +71 +66 +67 +62 +54 +45 +42 +45 +40 +32 +26 +27 +29 +23 +16 +14 +20 +15 +8 +7 +13 +9 +2 +2 +8 +3 +-3 +-3 +3 +-1 +-7 +-5 +1 +-4 +-9 +-4 +-1 +-7 +-11 +-4 +-4 +-10 +-12 +-4 +-67 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-105 +-106 +-106 +-101 +-88 +-90 +-84 +-73 +-77 +-70 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +112 +101 +89 +83 +83 +78 +70 +62 +53 +51 +52 +47 +38 +32 +33 +34 +27 +-41 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-99 +-105 +-107 +-96 +-87 +-89 +-84 +-72 +-74 +-73 +-61 +-60 +-63 +-51 +-49 +-53 +-48 +-40 +-44 +-45 +-34 +-35 +-40 +-33 +-29 +-33 +-34 +-25 +-25 +-31 +-27 +-21 +-24 +-28 +-21 +-19 +-24 +-26 +-17 +-17 +-23 +-23 +-14 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +112 +103 +91 +83 +78 +77 +71 +63 +54 +49 +52 +49 +42 +35 +30 +-28 +-86 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-104 +-104 +-105 +-99 +-101 +-89 +-81 +-84 +-77 +-67 +-69 +-68 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +102 +91 +84 +81 +79 +73 +65 +56 +49 +49 +49 +44 +36 +29 +30 +32 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-96 +-87 +-89 +-82 +-72 +-75 +-71 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +116 +106 +95 +85 +77 +79 +73 +67 +57 +50 +49 +49 +43 +35 +29 +32 +31 +-36 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-98 +-87 +-88 +-85 +-73 +-73 +-73 +-61 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +92 +84 +80 +80 +73 +64 +54 +49 +51 +47 +40 +32 +30 +34 +30 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-102 +-105 +-107 +-97 +-87 +-90 +-82 +-72 +-75 +-71 +-60 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +105 +95 +85 +76 +75 +73 +66 +56 +49 +49 +48 +42 +33 +29 +34 +31 +25 +17 +19 +22 +18 +10 +10 +16 +12 +3 +4 +9 +5 +-2 +2 +5 +0 +-5 +2 +1 +-5 +-8 +0 +-2 +-9 +-10 +-2 +-5 +-12 +-9 +-4 +-9 +-73 +-107 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-106 +-111 +-100 +-102 +-94 +-83 +-85 +-81 +-69 +-71 +-70 +-59 +-61 +-61 +-49 +-51 +-53 +-41 +-41 +-46 +-37 +-34 +-39 +-37 +-28 +-32 +-34 +-25 +-24 +-31 +-28 +-21 +-24 +-28 +-19 +-18 +-23 +-25 +-16 +-18 +-24 +-20 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +112 +104 +95 +85 +77 +71 +64 +61 +58 +55 +51 +47 +43 +39 +34 +-31 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-107 +-104 +-104 +-100 +-101 +-88 +-81 +-84 +-77 +-67 +-70 +-68 +21 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +94 +85 +78 +79 +74 +67 +57 +49 +49 +49 +43 +35 +29 +33 +31 +-35 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-98 +-105 +-107 +-97 +-87 +-88 +-84 +-72 +-73 +-73 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +90 +90 +85 +77 +67 +59 +55 +57 +53 +46 +38 +33 +35 +34 +27 +20 +17 +23 +20 +13 +8 +14 +13 +7 +2 +8 +9 +3 +-2 +2 +5 +0 +-6 +-3 +2 +-1 +-8 +-5 +0 +-3 +-10 +-6 +-3 +-7 +-13 +-7 +-5 +-69 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-107 +-110 +-101 +-103 +-94 +-83 +-85 +-81 +-69 +-71 +-69 +-57 +-59 +-60 +-48 +-48 +-52 +-44 +-39 +-45 +-42 +-33 +-36 +-39 +-29 +-29 +-35 +-29 +-25 +-30 +-30 +-21 +-23 +-28 +-21 +-18 +-23 +-25 +-16 +-17 +-23 +-20 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +98 +90 +83 +77 +75 +71 +66 +60 +55 +49 +44 +38 +34 +31 +29 +27 +27 +24 +23 +20 +18 +15 +12 +9 +7 +7 +6 +5 +5 +4 +3 +1 +0 +-1 +-2 +-3 +-3 +-3 +-3 +-4 +-4 +-4 +-5 +-5 +-6 +-7 +-66 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-107 +-108 +-101 +-102 +-93 +-83 +-84 +-81 +-68 +-69 +5 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +108 +97 +91 +91 +83 +74 +64 +59 +61 +56 +48 +40 +37 +40 +35 +27 +22 +-35 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-105 +-108 +-100 +-102 +-94 +-83 +-84 +-81 +-68 +-70 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +105 +99 +90 +79 +70 +65 +67 +61 +52 +44 +43 +44 +40 +31 +26 +29 +-32 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-105 +-107 +-98 +-87 +-89 +-84 +-72 +-75 +-72 +-61 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +95 +84 +77 +79 +73 +64 +54 +50 +53 +48 +39 +33 +33 +35 +29 +-39 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-114 +-105 +-107 +-95 +-87 +-89 +-82 +-72 +-75 +-70 +-60 +-64 +-62 +-51 +-54 +-53 +-43 +-45 +-47 +-36 +-37 +-42 +-33 +-30 +-36 +-34 +-25 +-28 +-32 +-23 +-22 +-28 +-27 +-18 +-21 +-26 +-20 +-16 +-22 +-24 +-16 +-16 +-22 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +99 +89 +87 +84 +77 +66 +57 +55 +57 +50 +41 +35 +39 +36 +-32 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-105 +-106 +-94 +-86 +-88 +-82 +-71 +-73 +-71 +-59 +16 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +107 +104 +98 +90 +81 +71 +65 +67 +62 +54 +45 +41 +45 +41 +33 +26 +25 +29 +24 +18 +13 +17 +17 +13 +6 +5 +10 +8 +1 +-1 +5 +4 +-2 +-6 +0 +2 +-4 +-8 +-3 +0 +-5 +-10 +-7 +-2 +-6 +-11 +-10 +-4 +-7 +-72 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-102 +-105 +-108 +-96 +-88 +-91 +-80 +-73 +-77 +-69 +-61 +-66 +-60 +-52 +-55 +-53 +-43 +-47 +-47 +-37 +-39 +-42 +-31 +-33 +-38 +-29 +-27 +-33 +-31 +-23 +-26 +-30 +-20 +-21 +-27 +-25 +-18 +-22 +-26 +-18 +-16 +-22 +54 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +104 +99 +97 +90 +80 +70 +63 +64 +60 +53 +44 +39 +43 +40 +33 +25 +24 +29 +25 +17 +13 +17 +17 +12 +5 +8 +11 +7 +0 +0 +7 +3 +-4 +-6 +1 +1 +-5 +-8 +-1 +-1 +-8 +-10 +-4 +-3 +-8 +-12 +-7 +-64 +-125 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-108 +-106 +-106 +-102 +-102 +-89 +-84 +-86 +-78 +-69 +-72 +8 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +97 +90 +91 +84 +76 +65 +59 +59 +57 +50 +41 +36 +40 +37 +30 +22 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-104 +-110 +-98 +-100 +-92 +-82 +-85 +-76 +-68 +-72 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +108 +105 +99 +90 +80 +70 +66 +67 +61 +53 +44 +41 +43 +39 +31 +25 +25 +-33 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-110 +-108 +-92 +-93 +-90 +-77 +-77 +-77 +-63 +-64 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +112 +99 +91 +91 +85 +77 +67 +59 +55 +57 +51 +45 +36 +34 +37 +33 +26 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-99 +-105 +-107 +-96 +-87 +-89 +-82 +-72 +-76 +-69 +-60 +-63 +-60 +-50 +-53 +-53 +-42 +-44 +-47 +-37 +-37 +-42 +-37 +-30 +-33 +-36 +-27 +-25 +-31 +-30 +-21 +-23 +-29 +-21 +-18 +-23 +-25 +-16 +-17 +-24 +-19 +-14 +-18 +54 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +114 +111 +105 +95 +85 +75 +72 +72 +65 +57 +48 +45 +48 +42 +35 +27 +30 +30 +24 +17 +17 +21 +17 +10 +7 +13 +12 +5 +1 +7 +7 +2 +-3 +1 +4 +-1 +-7 +-3 +1 +-3 +-9 +-6 +-1 +-6 +-12 +-8 +-3 +-8 +-72 +-108 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-106 +-112 +-100 +-101 +-95 +-83 +-84 +-81 +-69 +-70 +-70 +-57 +-58 +-60 +-49 +-48 +-52 +-45 +-39 +-43 +-43 +-33 +-34 +-39 +-31 +-28 +-33 +-33 +-24 +-25 +-31 +-26 +-20 +-25 +-27 +-18 +-19 +-25 +-20 +-15 +-20 +-23 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +113 +103 +98 +93 +89 +83 +77 +70 +63 +56 +51 +45 +42 +39 +37 +35 +33 +29 +26 +23 +20 +17 +15 +13 +12 +10 +9 +8 +7 +6 +5 +3 +2 +1 +1 +0 +0 +0 +-1 +-1 +-2 +-2 +-3 +-4 +-5 +-6 +-6 +-6 +-65 +-103 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-106 +-106 +-107 +-101 +-88 +-90 +-84 +-73 +-76 +-71 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +121 +114 +104 +93 +83 +77 +78 +71 +63 +54 +48 +51 +48 +41 +32 +28 +33 +29 +-38 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-114 +-105 +-107 +-97 +-87 +-90 +-82 +-72 +-76 +-70 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +102 +90 +84 +84 +77 +69 +60 +54 +57 +52 +44 +36 +37 +38 +32 +23 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-112 +-97 +-102 +-92 +-94 +-87 +-77 +-79 +-75 +-63 +-67 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +111 +99 +90 +90 +85 +77 +66 +59 +60 +57 +50 +41 +37 +41 +37 +31 +23 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-106 +-112 +-97 +-102 +-92 +-95 +-86 +-77 +-80 +-74 +-64 +-68 +-66 +-54 +-56 +-57 +-46 +-46 +-49 +-42 +-36 +-41 +-41 +-31 +-32 +-37 +-30 +-26 +-31 +-32 +-22 +-23 +-29 +-24 +-18 +-23 +-26 +-17 +-17 +-24 +-23 +-15 +-18 +-23 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +105 +97 +95 +91 +82 +73 +63 +57 +59 +55 +48 +40 +35 +38 +36 +31 +22 +20 +25 +22 +15 +10 +15 +15 +9 +3 +6 +9 +4 +-2 +0 +5 +1 +-6 +-4 +1 +-2 +-8 +-5 +-1 +-5 +-11 +-5 +-3 +-8 +-12 +-4 +-65 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-107 +-109 +-94 +-89 +-91 +-79 +-74 +-77 +-69 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +109 +97 +89 +89 +83 +77 +67 +59 +54 +57 +51 +45 +37 +32 +35 +34 +28 +-39 +-100 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-103 +-105 +-106 +-99 +-87 +-89 +-82 +-72 +-76 +-69 +-60 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +113 +100 +90 +91 +85 +77 +66 +59 +61 +57 +49 +41 +37 +41 +36 +28 +21 +-37 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-105 +-108 +-98 +-100 +-93 +-82 +-84 +-80 +-68 +-70 +-69 +19 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +107 +99 +98 +91 +84 +74 +64 +59 +60 +56 +50 +42 +36 +38 +37 +33 +24 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-113 +-97 +-99 +-92 +-94 +-85 +-76 +-78 +-74 +-63 +-65 +11 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +109 +99 +89 +89 +84 +77 +67 +59 +55 +57 +51 +44 +35 +35 +37 +32 +23 +-40 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-107 +-112 +-97 +-103 +-92 +-94 +-88 +-76 +-79 +-75 +-63 +-66 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +99 +94 +93 +84 +74 +65 +65 +62 +55 +45 +42 +45 +41 +32 +25 +28 +-33 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-107 +-107 +-94 +-88 +-90 +-83 +-73 +-75 +-72 +-60 +-62 +-62 +-50 +-51 +-54 +-43 +-41 +-47 +-40 +-35 +-39 +-39 +-29 +-31 +-36 +-28 +-25 +-30 +-30 +-21 +-23 +-29 +-22 +-19 +-24 +-25 +-16 +-18 +-24 +-19 +-14 +-19 +55 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +112 +103 +93 +83 +75 +77 +71 +64 +54 +48 +51 +48 +40 +32 +30 +-27 +-89 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-112 +-104 +-106 +-93 +-86 +-89 +-80 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +114 +102 +90 +87 +86 +78 +68 +59 +59 +58 +51 +42 +37 +41 +37 +31 +23 +-39 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-105 +-112 +-112 +-104 +-92 +-93 +-89 +-76 +-76 +-77 +-63 +-63 +9 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +121 +108 +98 +96 +92 +83 +73 +64 +64 +62 +56 +47 +40 +39 +41 +35 +27 +22 +26 +25 +19 +12 +14 +17 +14 +6 +6 +11 +8 +0 +1 +6 +2 +-5 +-3 +2 +-1 +-7 +-4 +0 +-4 +-11 +-6 +-3 +-8 +-12 +-5 +-4 +-10 +-13 +-63 +-122 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-106 +-106 +-103 +-102 +-87 +-86 +-87 +-73 +-71 +-74 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +115 +107 +105 +96 +88 +77 +69 +69 +67 +59 +50 +43 +46 +44 +38 +29 +26 +31 +-33 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-106 +-99 +-86 +-87 +-85 +-72 +-72 +-73 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +107 +103 +99 +91 +80 +71 +66 +67 +61 +53 +44 +44 +45 +40 +31 +26 +30 +-32 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-99 +-104 +-106 +-98 +-86 +-88 +-83 +-72 +-76 +-72 +-61 +-63 +-62 +-50 +-53 +-54 +-43 +-45 +-47 +-36 +-37 +-41 +-32 +-30 +-36 +-32 +-24 +-28 +-31 +-21 +-21 +-27 +-25 +-18 +-22 +-27 +-19 +-17 +-23 +-23 +-15 +-17 +-23 +62 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +105 +96 +92 +90 +83 +75 +67 +58 +54 +56 +51 +45 +36 +32 +36 +-27 +-93 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-110 +-111 +-98 +-104 +-105 +-95 +-86 +-88 +-81 +-71 +-74 +-69 +-59 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +106 +95 +85 +77 +77 +73 +67 +57 +49 +48 +49 +43 +35 +29 +33 +31 +26 +18 +18 +22 +18 +10 +7 +13 +11 +4 +1 +7 +7 +1 +-3 +2 +3 +-2 +-7 +-2 +1 +-4 +-9 +-4 +-2 +-7 +-11 +-7 +-3 +-8 +-13 +-8 +-65 +-110 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-104 +-105 +-107 +-99 +-88 +-91 +-84 +-74 +-77 +-71 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +117 +113 +105 +95 +85 +75 +71 +71 +66 +58 +49 +43 +44 +43 +38 +30 +25 +26 +-32 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-107 +-95 +-88 +-90 +-79 +-73 +-77 +-69 +-61 +12 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +124 +113 +100 +89 +86 +85 +77 +67 +59 +59 +57 +49 +41 +38 +42 +37 +29 +24 +-32 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-104 +-108 +-99 +-101 +-91 +-81 +-84 +-78 +-68 +-71 +-67 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +115 +106 +96 +87 +77 +71 +72 +67 +59 +50 +44 +48 +44 +38 +29 +28 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-113 +-105 +-106 +-96 +-86 +-89 +-83 +-72 +-75 +-72 +-61 +14 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +122 +115 +105 +93 +83 +81 +79 +71 +62 +53 +53 +51 +45 +35 +33 +37 +33 +25 +-41 +-97 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-104 +-98 +-98 +-100 +-93 +-95 +-86 +-76 +-78 +-75 +-63 +-65 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +106 +97 +87 +76 +72 +73 +67 +58 +49 +45 +48 +43 +36 +29 +29 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-104 +-105 +-99 +-86 +-87 +-85 +-71 +-73 +-73 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +109 +98 +93 +92 +84 +75 +65 +60 +61 +56 +48 +40 +38 +41 +35 +27 +22 +-33 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-101 +-102 +-109 +-97 +-97 +-93 +-80 +-82 +-79 +-67 +-70 +-69 +18 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +112 +106 +97 +87 +77 +71 +71 +67 +59 +51 +44 +45 +43 +37 +29 +26 +30 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-107 +-108 +-95 +-88 +-90 +-81 +-72 +-74 +-72 +-60 +17 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +107 +105 +98 +89 +78 +70 +68 +67 +60 +51 +44 +46 +45 +38 +29 +27 +31 +-33 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-98 +-104 +-106 +-98 +-86 +-88 +-84 +-71 +-74 +-71 +-60 +-64 +-60 +-50 +-54 +-52 +-42 +-46 +-46 +-36 +-40 +-42 +-31 +-34 +-37 +-27 +-28 +-33 +-27 +-22 +-27 +-29 +-19 +-20 +-27 +-21 +-16 +-20 +-24 +-17 +-15 +-20 +-23 +63 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +119 +106 +98 +90 +83 +79 +76 +71 +66 +60 +55 +50 +45 +38 +33 +29 +-34 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-112 +-104 +-105 +-96 +-86 +-87 +-85 +-71 +-71 +-72 +-61 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +117 +109 +107 +98 +90 +81 +71 +64 +65 +61 +55 +46 +40 +43 +41 +35 +27 +27 +-30 +-94 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-98 +-105 +-107 +-96 +-87 +-89 +-82 +-72 +-75 +-71 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +122 +115 +104 +92 +83 +80 +79 +71 +62 +54 +53 +53 +47 +38 +33 +36 +34 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-99 +-104 +-107 +-95 +-87 +-90 +-80 +-72 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +105 +93 +83 +80 +79 +71 +63 +53 +52 +53 +47 +37 +32 +36 +33 +25 +-41 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-107 +-106 +-93 +-87 +-90 +-81 +-72 +-75 +-71 +-60 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +116 +105 +93 +84 +82 +79 +71 +61 +53 +54 +52 +45 +36 +33 +37 +33 +25 +-40 +-96 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-100 +-105 +-107 +-97 +-87 +-89 +-83 +-72 +-75 +-70 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +114 +101 +89 +86 +85 +78 +67 +59 +58 +58 +51 +42 +35 +38 +37 +31 +22 +-39 +-91 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-103 +-103 +-104 +-98 +-100 +-90 +-81 +-83 +-78 +-67 +-69 +-68 +20 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +90 +89 +85 +77 +67 +59 +56 +57 +51 +43 +35 +36 +37 +32 +23 +-41 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-103 +-112 +-97 +-99 +-92 +-95 +-86 +-77 +-79 +-76 +-64 +-65 +10 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +111 +99 +90 +89 +85 +77 +68 +59 +54 +56 +52 +45 +36 +33 +37 +34 +28 +21 +19 +24 +21 +14 +9 +13 +14 +9 +2 +4 +9 +5 +-3 +0 +5 +-1 +-7 +-4 +0 +-4 +-10 +-5 +-1 +-6 +-11 +-5 +-3 +-9 +-13 +-5 +-5 +-70 +-111 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-108 +-106 +-105 +-103 +-102 +-87 +-86 +-86 +-73 +-72 +-74 +15 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +105 +99 +97 +90 +81 +71 +63 +63 +61 +55 +45 +39 +41 +40 +34 +26 +23 +-32 +-92 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-112 +-113 +-106 +-107 +-94 +-88 +-90 +-80 +-72 +-77 +-70 +-61 +-65 +-62 +-50 +-53 +-54 +-43 +-42 +-47 +-40 +-35 +-39 +-40 +-30 +-31 +-36 +-28 +-25 +-31 +-30 +-21 +-22 +-28 +-24 +-18 +-21 +-26 +-18 +-16 +-21 +-23 +-14 +-14 +57 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +116 +104 +97 +96 +90 +81 +70 +62 +63 +60 +53 +44 +38 +42 +39 +32 +-36 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-109 +-109 +-99 +-103 +-105 +-95 +-85 +-89 +-79 +-71 +-76 +-66 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +125 +115 +104 +93 +83 +79 +79 +72 +63 +54 +51 +53 +48 +41 +33 +31 +35 +30 +-38 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-110 +-107 +-106 +-91 +-89 +-90 +-76 +-73 +-77 +-66 +-61 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +118 +115 +106 +96 +86 +77 +73 +73 +67 +59 +50 +45 +47 +43 +37 +28 +27 +31 +-34 +-99 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-111 +-111 +-100 +-105 +-106 +-98 +-87 +-89 +-83 +-71 +-75 +-69 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +123 +115 +104 +91 +83 +80 +79 +71 +62 +53 +53 +53 +47 +37 +33 +37 +34 +27 +-40 +-98 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-112 +-111 +-100 +-104 +-106 +-98 +-86 +-89 +-82 +-71 +-74 +-71 +-60 +13 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +126 +115 +102 +91 +86 +85 +78 +69 +60 +57 +58 +51 +43 +36 +40 +37 +31 +23 +23 +26 +21 +12 +12 +16 +13 +6 +4 +11 +8 +0 +-1 +6 +4 +-3 +-5 +2 +0 +-6 +-7 +0 +-2 +-9 +-10 +-2 +-4 +-11 +-11 +-3 +-6 +-13 +-73 +-104 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-99 +-106 +-107 +-98 +-88 +-90 +-86 +-73 +-75 +-73 +-61 +-62 +-63 +-51 +-51 +-55 +-45 +-41 +-46 +-43 +-34 +-38 +-40 +-30 +-31 +-36 +-28 +-25 +-31 +-30 +-21 +-24 +-29 +-24 +-19 +-24 +-26 +-17 +-18 +-24 +-19 +-15 +59 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +127 +120 +107 +96 +88 +88 +83 +75 +65 +57 +56 +56 +50 +41 +35 +38 +37 +-31 +-95 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 +-128 From 117d9ec25c7cbc88555a6a990293ca95a544b915 Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Fri, 16 Jan 2015 11:00:17 +0100 Subject: [PATCH 128/133] Refactoring of BigBuf handling in order to prepare for more efficient memory allocation and longer traces. --- armsrc/BigBuf.c | 68 ++++++++++++++++++++++++++++++++++++++++++++ armsrc/BigBuf.h | 40 ++++++++++++++++++++++++++ armsrc/Makefile | 4 +-- armsrc/appmain.c | 23 ++++++--------- armsrc/apps.h | 43 +--------------------------- armsrc/hitag2.c | 26 +++++++++++++---- armsrc/iclass.c | 22 +++++++------- armsrc/iso14443.c | 27 +++++++++--------- armsrc/iso14443a.c | 42 +++++++++++++-------------- armsrc/iso15693.c | 24 ++++++++-------- armsrc/legicrf.c | 41 ++++++++++++++------------ armsrc/lfops.c | 44 ++++++++++++++-------------- armsrc/mifaresniff.c | 3 +- armsrc/mifareutil.c | 8 +++--- 14 files changed, 251 insertions(+), 164 deletions(-) create mode 100644 armsrc/BigBuf.c create mode 100644 armsrc/BigBuf.h diff --git a/armsrc/BigBuf.c b/armsrc/BigBuf.c new file mode 100644 index 000000000..987fee7d5 --- /dev/null +++ b/armsrc/BigBuf.c @@ -0,0 +1,68 @@ +//----------------------------------------------------------------------------- +// Jonathan Westhues, Aug 2005 +// Gerhard de Koning Gans, April 2008, May 2011 +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// BigBuf and functions to allocate/free parts of it. +//----------------------------------------------------------------------------- + +#include +#include "proxmark3.h" +#include "apps.h" +#include "string.h" + +// The large multi-purpose buffer, typically used to hold A/D samples or traces, +// may be processed in some way. Also used to hold various smaller buffers. +static uint8_t BigBuf[BIGBUF_SIZE]; + +// High memory mark +static uint16_t BigBuf_hi = BIGBUF_SIZE; + +// trace related global variables. Change to function calls? +//uint8_t *trace = BigBuf; +uint16_t traceLen; + + +// get the address of BigBuf +uint8_t *BigBuf_get_addr(void) +{ + return BigBuf; +} + + +// clear ALL of BigBuf +void BigBuf_Clear(void) +{ + memset(BigBuf,0,BIGBUF_SIZE); + Dbprintf("Buffer cleared (%i bytes)",BIGBUF_SIZE); +} + + +// allocate a chunk of memory from BigBuf. We allocate high memory first. Low memory +// is always for traces/samples +uint8_t *BigBuf_malloc(uint16_t chunksize) +{ + if (BigBuf_hi - chunksize < 0) { + return NULL; // no memory left + } else { + BigBuf_hi -= chunksize; // aligned to 4 Byte boundary + return BigBuf + BigBuf_hi; + } +} + + +// free ALL allocated chunks. The whole BigBuf is available for traces again. +void BigBuf_free(void) +{ + BigBuf_hi = BIGBUF_SIZE; +} + + +// return the maximum trace length (i.e. the unallocated size of BigBuf) +uint16_t BigBuf_max_trace_len(void) +{ + return BigBuf_hi; +} \ No newline at end of file diff --git a/armsrc/BigBuf.h b/armsrc/BigBuf.h new file mode 100644 index 000000000..075352770 --- /dev/null +++ b/armsrc/BigBuf.h @@ -0,0 +1,40 @@ +//----------------------------------------------------------------------------- +// Jonathan Westhues, Aug 2005 +// Gerhard de Koning Gans, April 2008, May 2011 +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// BigBuf and functions to allocate/free parts of it. +//----------------------------------------------------------------------------- + +#ifndef __BIGBUF_H +#define __BIGBUF_H + + +#define BIGBUF_SIZE 40000 +#define TRACE_OFFSET 0 +#define TRACE_SIZE 3000 +#define RECV_CMD_OFFSET (TRACE_OFFSET + TRACE_SIZE) +#define MAX_FRAME_SIZE 256 +#define MAX_PARITY_SIZE ((MAX_FRAME_SIZE + 1)/ 8) +#define RECV_CMD_PAR_OFFSET (RECV_CMD_OFFSET + MAX_FRAME_SIZE) +#define RECV_RESP_OFFSET (RECV_CMD_PAR_OFFSET + MAX_PARITY_SIZE) +#define RECV_RESP_PAR_OFFSET (RECV_RESP_OFFSET + MAX_FRAME_SIZE) +#define CARD_MEMORY_OFFSET (RECV_RESP_PAR_OFFSET + MAX_PARITY_SIZE) +#define CARD_MEMORY_SIZE 4096 +#define DMA_BUFFER_OFFSET CARD_MEMORY_OFFSET +#define DMA_BUFFER_SIZE CARD_MEMORY_SIZE +#define FREE_BUFFER_OFFSET (CARD_MEMORY_OFFSET + CARD_MEMORY_SIZE) +#define FREE_BUFFER_SIZE (BIGBUF_SIZE - FREE_BUFFER_OFFSET - 1) + +extern uint8_t *BigBuf_get_addr(void); +extern uint16_t BigBuf_max_trace_len(void); +void BigBuf_Clear(void); +extern uint8_t *BigBuf_malloc(uint16_t); +extern void BigBuf_free(void); + +extern uint16_t traceLen; + +#endif /* __BIGBUF_H */ diff --git a/armsrc/Makefile b/armsrc/Makefile index 929f1e796..bbcbcb1c4 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -41,8 +41,8 @@ ARMSRC = fpgaloader.c \ $(SRC_CRAPTO1) \ $(SRC_CRC) \ legic_prng.c \ - iclass.c - + iclass.c \ + BigBuf.c \ # stdint.h provided locally until GCC 4.5 becomes C99 compliant APP_CFLAGS += -I. diff --git a/armsrc/appmain.c b/armsrc/appmain.c index 88ade8511..a4d9c3354 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -42,12 +42,6 @@ int ToSendMax; static int ToSendBit; struct common_area common_area __attribute__((section(".commonarea"))); -void BufferClear(void) -{ - memset(BigBuf,0,sizeof(BigBuf)); - Dbprintf("Buffer cleared (%i bytes)",sizeof(BigBuf)); -} - void ToSendReset(void) { ToSendMax = -1; @@ -246,7 +240,7 @@ void MeasureAntennaTuningHf(void) void SimulateTagHfListen(void) { - uint8_t *dest = (uint8_t *)BigBuf+FREE_BUFFER_OFFSET; + uint8_t *dest = BigBuf_get_addr() + FREE_BUFFER_OFFSET; uint8_t v = 0; int i; int p = 0; @@ -808,11 +802,11 @@ void UsbPacketReceived(uint8_t *packet, int len) MifareUC_Auth2(c->arg[0],c->d.asBytes); break; case CMD_MIFAREU_READCARD: - MifareUReadCard(c->arg[0],c->arg[1],c->d.asBytes); - break; + MifareUReadCard(c->arg[0], c->arg[1], c->d.asBytes); + break; case CMD_MIFAREUC_READCARD: - MifareUReadCard(c->arg[0],c->arg[1],c->d.asBytes); - break; + MifareUReadCard(c->arg[0], c->arg[1], c->d.asBytes); + break; case CMD_MIFARE_READSC: MifareReadSector(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes); break; @@ -891,7 +885,7 @@ void UsbPacketReceived(uint8_t *packet, int len) break; case CMD_BUFF_CLEAR: - BufferClear(); + BigBuf_Clear(); break; case CMD_MEASURE_ANTENNA_TUNING: @@ -915,9 +909,10 @@ void UsbPacketReceived(uint8_t *packet, int len) case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K: LED_B_ON(); + uint8_t *BigBuf = BigBuf_get_addr(); for(size_t i=0; iarg[1]; i += USB_CMD_DATA_SIZE) { size_t len = MIN((c->arg[1] - i),USB_CMD_DATA_SIZE); - cmd_send(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K,i,len,0,((byte_t*)BigBuf)+c->arg[0]+i,len); + cmd_send(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K,i,len,0,BigBuf+c->arg[0]+i,len); } // Trigger a finish downloading signal with an ACK frame cmd_send(CMD_ACK,0,0,0,0,0); @@ -925,7 +920,7 @@ void UsbPacketReceived(uint8_t *packet, int len) break; case CMD_DOWNLOADED_SIM_SAMPLES_125K: { - uint8_t *b = (uint8_t *)BigBuf; + uint8_t *b = BigBuf_get_addr(); memcpy(b+c->arg[0], c->d.asBytes, USB_CMD_DATA_SIZE); cmd_send(CMD_ACK,0,0,0,0,0); break; diff --git a/armsrc/apps.h b/armsrc/apps.h index 376e52c8c..5ef876232 100644 --- a/armsrc/apps.h +++ b/armsrc/apps.h @@ -17,50 +17,10 @@ #include "common.h" #include "hitag2.h" #include "mifare.h" - #include "../common/crc32.h" - -// The large multi-purpose buffer, typically used to hold A/D samples, -// maybe processed in some way. -#define BIGBUF_SIZE 40000 -uint32_t BigBuf[BIGBUF_SIZE / sizeof(uint32_t)]; -#define TRACE_OFFSET 0 -#define TRACE_SIZE 3000 -#define RECV_CMD_OFFSET (TRACE_OFFSET + TRACE_SIZE) -#define MAX_FRAME_SIZE 256 -#define MAX_PARITY_SIZE ((MAX_FRAME_SIZE + 1)/ 8) -#define RECV_CMD_PAR_OFFSET (RECV_CMD_OFFSET + MAX_FRAME_SIZE) -#define RECV_RESP_OFFSET (RECV_CMD_PAR_OFFSET + MAX_PARITY_SIZE) -#define RECV_RESP_PAR_OFFSET (RECV_RESP_OFFSET + MAX_FRAME_SIZE) -#define CARD_MEMORY_OFFSET (RECV_RESP_PAR_OFFSET + MAX_PARITY_SIZE) -#define CARD_MEMORY_SIZE 4096 -#define DMA_BUFFER_OFFSET CARD_MEMORY_OFFSET -#define DMA_BUFFER_SIZE CARD_MEMORY_SIZE -#define FREE_BUFFER_OFFSET (CARD_MEMORY_OFFSET + CARD_MEMORY_SIZE) -#define FREE_BUFFER_SIZE (BIGBUF_SIZE - FREE_BUFFER_OFFSET - 1) - -/* -The statements above translates into this : -BIGBUF_SIZE = 40000 -TRACE_OFFSET = 0 -TRACE_SIZE = 3000 -RECV_CMD_OFFSET = 3000 -MAX_FRAME_SIZE = 256 -MAX_PARITY_SIZE = 32 -RECV_CMD_PAR_OFFSET = 3256 -RECV_RESP_OFFSET = 3288 -RECV_RESP_PAR_OFFSET= 3544 -CARD_MEMORY_OFFSET = 3576 -CARD_MEMORY_SIZE = 4096 -DMA_BUFFER_OFFSET = 3576 -DMA_BUFFER_SIZE = 4096 -FREE_BUFFER_OFFSET = 7672 -FREE_BUFFER_SIZE = 32327 - */ +#include "BigBuf.h" extern const uint8_t OddByteParity[256]; -extern uint8_t *trace; // = (uint8_t *) BigBuf; -extern int traceLen; // = 0; extern int rsamples; // = 0; extern int tracing; // = TRUE; extern uint8_t trigger; @@ -88,7 +48,6 @@ void SnoopLFRawAdcSamples(int divisor, int trigger_threshold); void DoAcquisition125k(int trigger_threshold); extern int ToSendMax; extern uint8_t ToSend[]; -extern uint32_t BigBuf[]; /// fpga.h void FpgaSendCommand(uint16_t cmd, uint16_t v); diff --git a/armsrc/hitag2.c b/armsrc/hitag2.c index da77cc8a0..689167483 100644 --- a/armsrc/hitag2.c +++ b/armsrc/hitag2.c @@ -29,8 +29,12 @@ bool bAuthenticating; bool bPwd; bool bSuccessful; + int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader) { + static uint16_t traceLen = 0; + uint8_t *trace = BigBuf_get_addr(); + // Return when trace is full if (traceLen >= TRACE_SIZE) return FALSE; @@ -92,7 +96,6 @@ static struct hitag2_tag tag = { #define AUTH_TABLE_OFFSET FREE_BUFFER_OFFSET #define AUTH_TABLE_LENGTH FREE_BUFFER_SIZE -byte_t* auth_table = (byte_t *)BigBuf+AUTH_TABLE_OFFSET; size_t auth_table_pos = 0; size_t auth_table_len = AUTH_TABLE_LENGTH; @@ -302,6 +305,8 @@ static void hitag_send_frame(const byte_t* frame, size_t frame_len) void hitag2_handle_reader_command(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { + byte_t* auth_table; + auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; byte_t rx_air[HITAG_FRAME_LEN]; // Copy the (original) received frame how it is send over the air @@ -664,6 +669,10 @@ bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txl } bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { + + byte_t* auth_table; + auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; + // Reset the transmission frame length *txlen = 0; @@ -736,6 +745,8 @@ void SnoopHitag(uint32_t type) { auth_table_len = 0; auth_table_pos = 0; + byte_t* auth_table; + auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; memset(auth_table, 0x00, AUTH_TABLE_LENGTH); DbpString("Starting Hitag2 snoop"); @@ -941,10 +952,12 @@ void SimulateHitagTag(bool tag_mem_supplied, byte_t* data) { bQuiet = false; // Clean up trace and prepare it for storing frames - iso14a_set_tracing(TRUE); - iso14a_clear_trace(); + iso14a_set_tracing(TRUE); + iso14a_clear_trace(); auth_table_len = 0; auth_table_pos = 0; + byte_t* auth_table; + auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; memset(auth_table, 0x00, AUTH_TABLE_LENGTH); DbpString("Starting Hitag2 simulation"); @@ -1131,8 +1144,11 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { bSuccessful = false; // Clean up trace and prepare it for storing frames - iso14a_set_tracing(TRUE); - iso14a_clear_trace(); + iso14a_set_tracing(TRUE); + iso14a_clear_trace(); + byte_t* auth_table; + auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; + DbpString("Starting Hitag reader family"); // Check configuration diff --git a/armsrc/iclass.c b/armsrc/iclass.c index e7dd95358..334eb362a 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -640,9 +640,9 @@ void RAMFUNC SnoopIClass(void) // The command (reader -> tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! - uint8_t *readerToTagCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); + uint8_t *readerToTagCmd = BigBuf_get_addr() + RECV_CMD_OFFSET; // The response (tag -> reader) that we're receiving. - uint8_t *tagToReaderResponse = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + uint8_t *tagToReaderResponse = BigBuf_get_addr() + RECV_RESP_OFFSET; FpgaDownloadAndGo(FPGA_BITSTREAM_HF); @@ -652,9 +652,9 @@ void RAMFUNC SnoopIClass(void) iso14a_set_trigger(FALSE); // The DMA buffer, used to stream samples from the FPGA - int8_t *dmaBuf = ((int8_t *)BigBuf) + DMA_BUFFER_OFFSET; + uint8_t *dmaBuf = BigBuf_get_addr() + DMA_BUFFER_OFFSET; int lastRxCounter; - int8_t *upTo; + uint8_t *upTo; int smpl; int maxBehindBy = 0; @@ -1065,26 +1065,26 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader //uint8_t sof = 0x0f; // Respond SOF -- takes 1 bytes - uint8_t *resp1 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); + uint8_t *resp1 = (BigBuf_get_addr() + FREE_BUFFER_OFFSET); int resp1Len; // Anticollision CSN (rotated CSN) // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte) - uint8_t *resp2 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 2); + uint8_t *resp2 = (BigBuf_get_addr() + FREE_BUFFER_OFFSET + 2); int resp2Len; // CSN // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte) - uint8_t *resp3 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 30); + uint8_t *resp3 = (BigBuf_get_addr() + FREE_BUFFER_OFFSET + 30); int resp3Len; // e-Purse // 18: Takes 2 bytes for SOF/EOF and 8 * 2 = 16 bytes (2 bytes/byte) - uint8_t *resp4 = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + 60); + uint8_t *resp4 = (BigBuf_get_addr() + FREE_BUFFER_OFFSET + 60); int resp4Len; // + 1720.. - uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); + uint8_t *receivedCmd = BigBuf_get_addr() + RECV_CMD_OFFSET; memset(receivedCmd, 0x44, MAX_FRAME_SIZE); int len; @@ -1529,7 +1529,7 @@ uint8_t handshakeIclassTag(uint8_t *card_data) static uint8_t identify[] = { 0x0c }; static uint8_t select[] = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static uint8_t readcheck_cc[]= { 0x88, 0x02 }; - uint8_t *resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + uint8_t *resp = BigBuf_get_addr() + RECV_RESP_OFFSET; uint8_t read_status = 0; @@ -1650,7 +1650,7 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { int keyaccess; } memory; - uint8_t* resp = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + uint8_t* resp = BigBuf_get_addr() + RECV_RESP_OFFSET; setupIclassReader(); diff --git a/armsrc/iso14443.c b/armsrc/iso14443.c index e9483189d..e94a8ec27 100644 --- a/armsrc/iso14443.c +++ b/armsrc/iso14443.c @@ -339,10 +339,10 @@ void SimulateIso14443Tag(void) uint8_t *resp; int respLen; - uint8_t *resp1 = (((uint8_t *)BigBuf) + 800); + uint8_t *resp1 = BigBuf_get_addr() + 800; int resp1Len; - uint8_t *receivedCmd = (uint8_t *)BigBuf; + uint8_t *receivedCmd = BigBuf_get_addr(); int len; int i; @@ -629,31 +629,32 @@ static void GetSamplesFor14443Demod(int weTx, int n, int quiet) int gotFrame = FALSE; //# define DMA_BUFFER_SIZE 8 - int8_t *dmaBuf; + uint8_t *dmaBuf; int lastRxCounter; - int8_t *upTo; + uint8_t *upTo; int ci, cq; int samples = 0; // Clear out the state of the "UART" that receives from the tag. + uint8_t *BigBuf = BigBuf_get_addr(); memset(BigBuf, 0x00, 400); - Demod.output = (uint8_t *)BigBuf; + Demod.output = BigBuf; Demod.len = 0; Demod.state = DEMOD_UNSYNCD; // And the UART that receives from the reader - Uart.output = (((uint8_t *)BigBuf) + 1024); + Uart.output = BigBuf + 1024; Uart.byteCntMax = 100; Uart.state = STATE_UNSYNCD; // Setup for the DMA. - dmaBuf = (int8_t *)(BigBuf + 32); + dmaBuf = BigBuf + 32; upTo = dmaBuf; lastRxCounter = DEMOD_DMA_BUFFER_SIZE; - FpgaSetupSscDma((uint8_t *)dmaBuf, DEMOD_DMA_BUFFER_SIZE); + FpgaSetupSscDma(dmaBuf, DEMOD_DMA_BUFFER_SIZE); // Signal field is ON with the appropriate LED: if (weTx) LED_D_ON(); else LED_D_OFF(); @@ -1013,19 +1014,19 @@ void RAMFUNC SnoopIso14443(void) FpgaDownloadAndGo(FPGA_BITSTREAM_HF); // The command (reader -> tag) that we're working on receiving. - uint8_t *receivedCmd = (uint8_t *)(BigBuf) + DEMOD_TRACE_SIZE; + uint8_t *receivedCmd = BigBuf_get_addr() + DEMOD_TRACE_SIZE; // The response (tag -> reader) that we're working on receiving. - uint8_t *receivedResponse = (uint8_t *)(BigBuf) + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE; + uint8_t *receivedResponse = BigBuf_get_addr() + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE; // As we receive stuff, we copy it from receivedCmd or receivedResponse // into trace, along with its length and other annotations. - uint8_t *trace = (uint8_t *)BigBuf; + uint8_t *trace = BigBuf_get_addr(); int traceLen = 0; // The DMA buffer, used to stream samples from the FPGA. - int8_t *dmaBuf = (int8_t *)(BigBuf) + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE + TAG_READER_BUFFER_SIZE; + uint8_t *dmaBuf = BigBuf_get_addr() + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE + TAG_READER_BUFFER_SIZE; int lastRxCounter; - int8_t *upTo; + uint8_t *upTo; int ci, cq; int maxBehindBy = 0; diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index 2722ccb2e..f43c59a1d 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -22,9 +22,7 @@ #include "mifareutil.h" static uint32_t iso14a_timeout; -uint8_t *trace = (uint8_t *) BigBuf+TRACE_OFFSET; int rsamples = 0; -int traceLen = 0; int tracing = TRUE; uint8_t trigger = 0; // the block number for the ISO14443-4 PCB @@ -149,6 +147,7 @@ void iso14a_set_trigger(bool enable) { } void iso14a_clear_trace() { + uint8_t *trace = BigBuf_get_addr(); memset(trace, 0x44, TRACE_SIZE); traceLen = 0; } @@ -204,6 +203,7 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_ { if (!tracing) return FALSE; + uint8_t *trace = BigBuf_get_addr(); uint16_t num_paritybytes = (iLen-1)/8 + 1; // number of valid paritybytes in *parity uint16_t duration = timestamp_end - timestamp_start; @@ -604,19 +604,19 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { // The command (reader -> tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! - uint8_t *receivedCmd = ((uint8_t *)BigBuf) + RECV_CMD_OFFSET; - uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET; + uint8_t *receivedCmd = BigBuf_get_addr() + RECV_CMD_OFFSET; + uint8_t *receivedCmdPar = BigBuf_get_addr() + RECV_CMD_PAR_OFFSET; // The response (tag -> reader) that we're receiving. - uint8_t *receivedResponse = ((uint8_t *)BigBuf) + RECV_RESP_OFFSET; - uint8_t *receivedResponsePar = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET; + uint8_t *receivedResponse = BigBuf_get_addr() + RECV_RESP_OFFSET; + uint8_t *receivedResponsePar = BigBuf_get_addr() + RECV_RESP_PAR_OFFSET; // As we receive stuff, we copy it from receivedCmd or receivedResponse // into trace, along with its length and other annotations. //uint8_t *trace = (uint8_t *)BigBuf; // The DMA buffer, used to stream samples from the FPGA - uint8_t *dmaBuf = ((uint8_t *)BigBuf) + DMA_BUFFER_OFFSET; + uint8_t *dmaBuf = BigBuf_get_addr() + DMA_BUFFER_OFFSET; uint8_t *data = dmaBuf; uint8_t previous_data = 0; int maxDataLen = 0; @@ -885,7 +885,7 @@ int EmSendCmdPar(uint8_t *resp, uint16_t respLen, uint8_t *par); bool EmLogTrace(uint8_t *reader_data, uint16_t reader_len, uint32_t reader_StartTime, uint32_t reader_EndTime, uint8_t *reader_Parity, uint8_t *tag_data, uint16_t tag_len, uint32_t tag_StartTime, uint32_t tag_EndTime, uint8_t *tag_Parity); -static uint8_t* free_buffer_pointer = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); +static uint8_t* free_buffer_pointer; typedef struct { uint8_t* response; @@ -896,7 +896,7 @@ typedef struct { } tag_response_info_t; void reset_free_buffer() { - free_buffer_pointer = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET); + free_buffer_pointer = BigBuf_get_addr() + FREE_BUFFER_OFFSET; } bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffer_size) { @@ -936,7 +936,7 @@ bool prepare_allocated_tag_modulation(tag_response_info_t* response_info) { response_info->modulation = free_buffer_pointer; // Determine the maximum size we can use from our buffer - size_t max_buffer_size = (((uint8_t *)BigBuf) + FREE_BUFFER_OFFSET + FREE_BUFFER_SIZE) - free_buffer_pointer; + size_t max_buffer_size = BigBuf_get_addr() + FREE_BUFFER_OFFSET + FREE_BUFFER_SIZE - free_buffer_pointer; // Forward the prepare tag modulation function to the inner function if (prepare_tag_modulation(response_info,max_buffer_size)) { @@ -1091,8 +1091,8 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) iso14443a_setup(FPGA_HF_ISO14443A_TAGSIM_LISTEN); // buffers used on software Uart: - uint8_t *receivedCmd = ((uint8_t *)BigBuf) + RECV_CMD_OFFSET; - uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET; + uint8_t *receivedCmd = BigBuf_get_addr() + RECV_CMD_OFFSET; + uint8_t *receivedCmdPar = BigBuf_get_addr() + RECV_CMD_PAR_OFFSET; cmdsRecvd = 0; tag_response_info_t* p_response; @@ -1727,8 +1727,8 @@ int iso14443a_select_card(byte_t *uid_ptr, iso14a_card_select_t *p_hi14a_card, u uint8_t sel_all[] = { 0x93,0x20 }; uint8_t sel_uid[] = { 0x93,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; uint8_t rats[] = { 0xE0,0x80,0x00,0x00 }; // FSD=256, FSDI=8, CID=0 - uint8_t *resp = ((uint8_t *)BigBuf) + RECV_RESP_OFFSET; - uint8_t *resp_par = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET; + uint8_t *resp = BigBuf_get_addr() + RECV_RESP_OFFSET; + uint8_t *resp_par = BigBuf_get_addr() + RECV_RESP_PAR_OFFSET; byte_t uid_resp[4]; size_t uid_resp_len; @@ -2020,8 +2020,8 @@ void ReaderMifare(bool first_try) uint8_t mf_nr_ar[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static uint8_t mf_nr_ar3; - uint8_t* receivedAnswer = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); - uint8_t* receivedAnswerPar = (((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET); + uint8_t* receivedAnswer = BigBuf_get_addr() + RECV_RESP_OFFSET; + uint8_t* receivedAnswerPar = BigBuf_get_addr() + RECV_RESP_PAR_OFFSET; iso14a_clear_trace(); iso14a_set_tracing(TRUE); @@ -2722,18 +2722,18 @@ void RAMFUNC SniffMifare(uint8_t param) { // The command (reader -> tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! - uint8_t *receivedCmd = (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); - uint8_t *receivedCmdPar = ((uint8_t *)BigBuf) + RECV_CMD_PAR_OFFSET; + uint8_t *receivedCmd = BigBuf_get_addr() + RECV_CMD_OFFSET; + uint8_t *receivedCmdPar = BigBuf_get_addr() + RECV_CMD_PAR_OFFSET; // The response (tag -> reader) that we're receiving. - uint8_t *receivedResponse = (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); - uint8_t *receivedResponsePar = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET; + uint8_t *receivedResponse = BigBuf_get_addr() + RECV_RESP_OFFSET; + uint8_t *receivedResponsePar = BigBuf_get_addr() + RECV_RESP_PAR_OFFSET; // As we receive stuff, we copy it from receivedCmd or receivedResponse // into trace, along with its length and other annotations. //uint8_t *trace = (uint8_t *)BigBuf; // The DMA buffer, used to stream samples from the FPGA - uint8_t *dmaBuf = ((uint8_t *)BigBuf) + DMA_BUFFER_OFFSET; + uint8_t *dmaBuf = BigBuf_get_addr() + DMA_BUFFER_OFFSET; uint8_t *data = dmaBuf; uint8_t previous_data = 0; int maxDataLen = 0; diff --git a/armsrc/iso15693.c b/armsrc/iso15693.c index ec8120b9d..94040a857 100644 --- a/armsrc/iso15693.c +++ b/armsrc/iso15693.c @@ -296,7 +296,7 @@ static void TransmitTo15693Reader(const uint8_t *cmd, int len, int *samples, int static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed) { int c = 0; - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int getNext = 0; int8_t prev = 0; @@ -446,7 +446,7 @@ static int GetIso15693AnswerFromTag(uint8_t *receivedResponse, int maxLen, int * static int GetIso15693AnswerFromSniff(uint8_t *receivedResponse, int maxLen, int *samples, int *elapsed) { int c = 0; - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int getNext = 0; int8_t prev = 0; @@ -596,7 +596,7 @@ static void BuildIdentifyRequest(void); //----------------------------------------------------------------------------- void AcquireRawAdcSamplesIso15693(void) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int c = 0; int getNext = 0; @@ -678,7 +678,7 @@ void AcquireRawAdcSamplesIso15693(void) void RecordRawAdcSamplesIso15693(void) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int c = 0; int getNext = 0; @@ -878,8 +878,8 @@ int SendDataTag(uint8_t *send, int sendlen, int init, int speed, uint8_t **recv) LED_D_OFF(); int answerLen=0; - uint8_t *answer = (((uint8_t *)BigBuf) + 3660); - if (recv!=NULL) memset(BigBuf + 3660, 0, 100); + uint8_t *answer = BigBuf_get_addr() + 3660; + if (recv != NULL) memset(answer, 0, 100); if (init) Iso15693InitReader(); @@ -999,9 +999,9 @@ void ReaderIso15693(uint32_t parameter) LED_C_OFF(); LED_D_OFF(); - uint8_t *answer1 = (((uint8_t *)BigBuf) + 3660); // - uint8_t *answer2 = (((uint8_t *)BigBuf) + 3760); - uint8_t *answer3 = (((uint8_t *)BigBuf) + 3860); + uint8_t *answer1 = BigBuf_get_addr() + 3660; + uint8_t *answer2 = BigBuf_get_addr() + 3760; + uint8_t *answer3 = BigBuf_get_addr() + 3860; int answerLen1 = 0; int answerLen2 = 0; @@ -1015,7 +1015,7 @@ void ReaderIso15693(uint32_t parameter) // Blank arrays - memset(BigBuf + 3660, 0x00, 300); + memset(answer1, 0x00, 300); FpgaDownloadAndGo(FPGA_BITSTREAM_HF); @@ -1111,7 +1111,7 @@ void SimTagIso15693(uint32_t parameter, uint8_t *uid) LED_C_OFF(); LED_D_OFF(); - uint8_t *buf = (((uint8_t *)BigBuf) + 3660); // + uint8_t *buf = BigBuf_get_addr() + 3660; int answerLen1 = 0; int samples = 0; @@ -1213,7 +1213,7 @@ void BruteforceIso15693Afi(uint32_t speed) void DirectTag15693Command(uint32_t datalen,uint32_t speed, uint32_t recv, uint8_t data[]) { int recvlen=0; - uint8_t *recvbuf=(uint8_t *)BigBuf; + uint8_t *recvbuf = BigBuf_get_addr(); // UsbCommand n; if (DEBUG) { diff --git a/armsrc/legicrf.c b/armsrc/legicrf.c index 3fbdf5cba..074a0f789 100644 --- a/armsrc/legicrf.c +++ b/armsrc/legicrf.c @@ -98,13 +98,14 @@ static uint32_t get_key_stream(int skip, int count) } /* Write Time Data into LOG */ + uint8_t *BigBuf = BigBuf_get_addr(); if(count == 6) { i = -1; } else { i = legic_read_count; } - ((uint8_t*)BigBuf)[OFFSET_LOG+128+i] = legic_prng_count(); - ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4] = (legic_prng_bc >> 0) & 0xff; - ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+1] = (legic_prng_bc >> 8) & 0xff; - ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+2] = (legic_prng_bc >>16) & 0xff; - ((uint8_t*)BigBuf)[OFFSET_LOG+256+i*4+3] = (legic_prng_bc >>24) & 0xff; - ((uint8_t*)BigBuf)[OFFSET_LOG+384+i] = count; + BigBuf[OFFSET_LOG+128+i] = legic_prng_count(); + BigBuf[OFFSET_LOG+256+i*4] = (legic_prng_bc >> 0) & 0xff; + BigBuf[OFFSET_LOG+256+i*4+1] = (legic_prng_bc >> 8) & 0xff; + BigBuf[OFFSET_LOG+256+i*4+2] = (legic_prng_bc >>16) & 0xff; + BigBuf[OFFSET_LOG+256+i*4+3] = (legic_prng_bc >>24) & 0xff; + BigBuf[OFFSET_LOG+384+i] = count; /* Generate KeyStream */ for(i=0; ibits == 7) { if(f->data == SESSION_IV) { @@ -582,9 +587,9 @@ static void frame_handle_tag(struct legic_frame const * const f) if(legic_state == STATE_CON) { int key = get_key_stream(-1, 11); //legic_phase_drift, 11); int addr = f->data ^ key; addr = addr >> 1; - int data = ((uint8_t*)BigBuf)[addr]; + int data = BigBuf[addr]; int hash = LegicCRC(addr, data, 11) << 8; - ((uint8_t*)BigBuf)[OFFSET_LOG+legic_read_count] = (uint8_t)addr; + BigBuf[OFFSET_LOG+legic_read_count] = (uint8_t)addr; legic_read_count++; //Dbprintf("Data:%03.3x, key:%03.3x, addr: %03.3x, read_c:%u", f->data, key, addr, read_c); @@ -619,19 +624,19 @@ static void frame_handle_tag(struct legic_frame const * const f) int i; Dbprintf("IV: %03.3x", legic_prng_iv); for(i = 0; iPIO_PDR = GPIO_SSC_DIN; @@ -378,7 +379,7 @@ void AcquireTiType(void) AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DOUT; AT91C_BASE_PIOA->PIO_ASR = GPIO_SSC_DIN | GPIO_SSC_DOUT; - char *dest = (char *)BigBuf; + char *dest = (char *)BigBuf_get_addr(); n = TIBUFLEN*32; // unpack buffer for (i=TIBUFLEN-1; i>=0; i--) { @@ -467,7 +468,7 @@ void WriteTItag(uint32_t idhi, uint32_t idlo, uint16_t crc) void SimulateTagLowFrequency(int period, int gap, int ledcontrol) { int i; - uint8_t *tab = (uint8_t *)BigBuf; + uint8_t *tab = BigBuf_get_addr(); FpgaDownloadAndGo(FPGA_BITSTREAM_LF); FpgaWriteConfWord(FPGA_MAJOR_MODE_LF_EDGE_DETECT); @@ -527,7 +528,7 @@ void SimulateTagLowFrequencyBidir(int divisor, int t0) // compose fc/8 fc/10 waveform static void fc(int c, int *n) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int idx; // for when we want an fc8 pattern every 4 logical bits @@ -631,7 +632,7 @@ void CmdHIDsimTAG(int hi, int lo, int ledcontrol) // loop to get raw HID waveform then FSK demodulate the TAG ID from it void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); size_t size=sizeof(BigBuf); uint32_t hi2=0, hi=0, lo=0; @@ -646,6 +647,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); // FSK demodulator + idx = HIDdemodFSK(dest, BigBuf_max_trace_len(), &hi2, &hi, &lo); WDT_HIT(); size = sizeof(BigBuf); @@ -720,7 +722,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); size_t size=0, idx=0; int clk=0, invert=0, errCnt=0; @@ -734,7 +736,7 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) if (ledcontrol) LED_A_ON(); DoAcquisition125k_internal(-1,true); - size = sizeof(BigBuf); + size = BigBuf_max_trace_len(); //Dbprintf("DEBUG: Buffer got"); //askdemod and manchester decode errCnt = askmandemod(dest, &size, &clk, &invert); @@ -772,7 +774,7 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int idx=0; uint32_t code=0, code2=0; uint8_t version=0; @@ -787,7 +789,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); //fskdemod and get start index WDT_HIT(); - idx = IOdemodFSK(dest,sizeof(BigBuf)); + idx = IOdemodFSK(dest, BigBuf_max_trace_len()); if (idx>0){ //valid tag found @@ -959,11 +961,11 @@ void T55xxWriteBlock(uint32_t Data, uint32_t Block, uint32_t Pwd, uint8_t PwdMod // Read one card block in page 0 void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) { - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); //int m=0, i=0; //enio adjustment 12/10/14 uint32_t m=0, i=0; FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); + m = BigBuf_max_trace_len(); // Clear destination buffer before sending the command memset(dest, 128, m); // Connect the A/D to the peak-detected low-frequency path. @@ -1024,11 +1026,11 @@ void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) // Read card traceability data (page 1) void T55xxReadTrace(void){ - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int m=0, i=0; FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = sizeof(BigBuf); + m = BigBuf_max_trace_len(); // Clear destination buffer before sending the command memset(dest, 128, m); // Connect the A/D to the peak-detected low-frequency path. @@ -1378,8 +1380,8 @@ void CopyIndala224toT55x7(int uid1, int uid2, int uid3, int uid4, int uid5, int int DemodPCF7931(uint8_t **outBlocks) { uint8_t BitStream[256]; uint8_t Blocks[8][16]; - uint8_t *GraphBuffer = (uint8_t *)BigBuf; - int GraphTraceLen = sizeof(BigBuf); + uint8_t *GraphBuffer = BigBuf_get_addr(); + int GraphTraceLen = BigBuf_max_trace_len(); int i, j, lastval, bitidx, half_switch; int clock = 64; int tolerance = clock / 8; @@ -1796,7 +1798,7 @@ void EM4xLogin(uint32_t Password) { void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { uint8_t fwd_bit_count; - uint8_t *dest = (uint8_t *)BigBuf; + uint8_t *dest = BigBuf_get_addr(); int m=0, i=0; //If password mode do login @@ -1806,7 +1808,7 @@ void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); fwd_bit_count += Prepare_Addr( Address ); - m = sizeof(BigBuf); + m = BigBuf_max_trace_len(); // Clear destination buffer before sending the command memset(dest, 128, m); // Connect the A/D to the peak-detected low-frequency path. diff --git a/armsrc/mifaresniff.c b/armsrc/mifaresniff.c index 9b6f5f04c..69138811c 100644 --- a/armsrc/mifaresniff.c +++ b/armsrc/mifaresniff.c @@ -151,7 +151,8 @@ bool intMfSniffSend() { int pckSize = 0; int pckLen = traceLen; int pckNum = 0; - + uint8_t *trace = BigBuf_get_addr(); + FpgaDisableSscDma(); while (pckLen > 0) { pckSize = MIN(USB_CMD_DATA_SIZE, pckLen); diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index 163eca790..1de4819e7 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -23,13 +23,13 @@ int MF_DBGLEVEL = MF_DBG_ALL; // memory management uint8_t* get_bigbufptr_recvrespbuf(void) { - return (((uint8_t *)BigBuf) + RECV_RESP_OFFSET); + return BigBuf_get_addr() + RECV_RESP_OFFSET; } uint8_t* get_bigbufptr_recvcmdbuf(void) { - return (((uint8_t *)BigBuf) + RECV_CMD_OFFSET); + return BigBuf_get_addr() + RECV_CMD_OFFSET; } uint8_t* get_bigbufptr_emlcardmem(void) { - return (((uint8_t *)BigBuf) + CARD_MEMORY_OFFSET); + return BigBuf_get_addr() + CARD_MEMORY_OFFSET; } // crypto1 helpers @@ -717,4 +717,4 @@ int mifare_desfire_des_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){ return 0; } return 1; -} \ No newline at end of file +} From f71f4deb8f8f1e932c81f3e62e6ab67012e07b33 Mon Sep 17 00:00:00 2001 From: pwpiwi Date: Tue, 27 Jan 2015 08:34:48 +0100 Subject: [PATCH 129/133] BigBuf and tracing rework: allow much longer traces in in hf commands - provided a BigBuf_malloc() function to dynamically allocate parts of BigBuf e.g. for DMA-Buffers, Frame-Buffers, Emulator-Memory - the whole rest of BigBuf is now available for traces (instead of a small fixed amount) - send actual traceLen together with trace data - changed client side to cope with varying traceLen - changed small buffers to automatic variables instead of parts of BigBuf --- armsrc/BigBuf.c | 59 +++++++++--- armsrc/BigBuf.h | 22 ++--- armsrc/appmain.c | 11 ++- armsrc/hitag2.c | 110 +++++++++++----------- armsrc/iclass.c | 41 +++++---- armsrc/iso14443.c | 21 +++-- armsrc/iso14443a.c | 114 +++++++++++++---------- armsrc/lfops.c | 24 ++--- armsrc/mifarecmd.c | 18 ++-- armsrc/mifaresniff.c | 2 +- armsrc/mifareutil.c | 75 +++++++-------- armsrc/mifareutil.h | 6 -- client/cmddata.c | 18 ++-- client/cmddata.h | 2 + client/cmdhf.c | 48 +++++++--- client/cmdhf14b.c | 27 ++++-- client/cmdhfmf.c | 59 +++++++----- client/cmdlfhitag.c | 215 +++++++++++++++++++++++-------------------- client/cmdmain.c | 1 - client/data.c | 2 - client/data.h | 4 - include/hitag2.h | 6 +- 22 files changed, 485 insertions(+), 400 deletions(-) diff --git a/armsrc/BigBuf.c b/armsrc/BigBuf.c index 987fee7d5..7f56e9a01 100644 --- a/armsrc/BigBuf.c +++ b/armsrc/BigBuf.c @@ -14,22 +14,38 @@ #include "apps.h" #include "string.h" -// The large multi-purpose buffer, typically used to hold A/D samples or traces, -// may be processed in some way. Also used to hold various smaller buffers. -static uint8_t BigBuf[BIGBUF_SIZE]; +// BigBuf is the large multi-purpose buffer, typically used to hold A/D samples or traces. +// Also used to hold various smaller buffers and the Mifare Emulator Memory. + +// declare it as uint32_t to achieve alignment to 4 Byte boundary +static uint32_t BigBuf[BIGBUF_SIZE/sizeof(uint32_t)]; // High memory mark static uint16_t BigBuf_hi = BIGBUF_SIZE; -// trace related global variables. Change to function calls? -//uint8_t *trace = BigBuf; -uint16_t traceLen; +// pointer to the emulator memory. +static uint8_t *emulator_memory = NULL; + +// trace related global variables +// (only one left). ToDo: make this static as well? +uint16_t traceLen = 0; // get the address of BigBuf uint8_t *BigBuf_get_addr(void) { - return BigBuf; + return (uint8_t *)BigBuf; +} + + +// get the address of the emulator memory. Allocate part of Bigbuf for it, if not yet done +uint8_t *BigBuf_get_EM_addr(void) +{ + if (emulator_memory == NULL) { // not yet allocated + emulator_memory = BigBuf_malloc(CARD_MEMORY_SIZE); + } + + return emulator_memory; } @@ -41,28 +57,41 @@ void BigBuf_Clear(void) } -// allocate a chunk of memory from BigBuf. We allocate high memory first. Low memory -// is always for traces/samples +// allocate a chunk of memory from BigBuf. We allocate high memory first. The unallocated memory +// at the beginning of BigBuf is always for traces/samples uint8_t *BigBuf_malloc(uint16_t chunksize) { if (BigBuf_hi - chunksize < 0) { - return NULL; // no memory left + return NULL; // no memory left } else { - BigBuf_hi -= chunksize; // aligned to 4 Byte boundary - return BigBuf + BigBuf_hi; + chunksize = (chunksize + 3) & 0xfffc; // round to next multiple of 4 + BigBuf_hi -= chunksize; // aligned to 4 Byte boundary + return (uint8_t *)BigBuf + BigBuf_hi; } } -// free ALL allocated chunks. The whole BigBuf is available for traces again. +// free ALL allocated chunks. The whole BigBuf is available for traces or samples again. void BigBuf_free(void) { BigBuf_hi = BIGBUF_SIZE; + emulator_memory = NULL; +} + + +// free allocated chunks EXCEPT the emulator memory +void BigBuf_free_keep_EM(void) +{ + if (emulator_memory != NULL) { + BigBuf_hi = emulator_memory - (uint8_t *)BigBuf; + } else { + BigBuf_hi = BIGBUF_SIZE; + } } // return the maximum trace length (i.e. the unallocated size of BigBuf) -uint16_t BigBuf_max_trace_len(void) +uint16_t BigBuf_max_traceLen(void) { return BigBuf_hi; -} \ No newline at end of file +} diff --git a/armsrc/BigBuf.h b/armsrc/BigBuf.h index 075352770..9d89a4f0f 100644 --- a/armsrc/BigBuf.h +++ b/armsrc/BigBuf.h @@ -14,26 +14,20 @@ #define BIGBUF_SIZE 40000 -#define TRACE_OFFSET 0 -#define TRACE_SIZE 3000 -#define RECV_CMD_OFFSET (TRACE_OFFSET + TRACE_SIZE) -#define MAX_FRAME_SIZE 256 -#define MAX_PARITY_SIZE ((MAX_FRAME_SIZE + 1)/ 8) -#define RECV_CMD_PAR_OFFSET (RECV_CMD_OFFSET + MAX_FRAME_SIZE) -#define RECV_RESP_OFFSET (RECV_CMD_PAR_OFFSET + MAX_PARITY_SIZE) -#define RECV_RESP_PAR_OFFSET (RECV_RESP_OFFSET + MAX_FRAME_SIZE) -#define CARD_MEMORY_OFFSET (RECV_RESP_PAR_OFFSET + MAX_PARITY_SIZE) +#define MAX_FRAME_SIZE 256 // maximum allowed ISO14443 frame +#define MAX_PARITY_SIZE ((MAX_FRAME_SIZE + 7) / 8) +#define MAX_MIFARE_FRAME_SIZE 18 // biggest Mifare frame is answer to a read (one block = 16 Bytes) + 2 Bytes CRC +#define MAX_MIFARE_PARITY_SIZE 3 // need 18 parity bits for the 18 Byte above. 3 Bytes are enough to store these #define CARD_MEMORY_SIZE 4096 -#define DMA_BUFFER_OFFSET CARD_MEMORY_OFFSET -#define DMA_BUFFER_SIZE CARD_MEMORY_SIZE -#define FREE_BUFFER_OFFSET (CARD_MEMORY_OFFSET + CARD_MEMORY_SIZE) -#define FREE_BUFFER_SIZE (BIGBUF_SIZE - FREE_BUFFER_OFFSET - 1) +#define DMA_BUFFER_SIZE 128 extern uint8_t *BigBuf_get_addr(void); -extern uint16_t BigBuf_max_trace_len(void); +extern uint8_t *BigBuf_get_EM_addr(void); +extern uint16_t BigBuf_max_traceLen(void); void BigBuf_Clear(void); extern uint8_t *BigBuf_malloc(uint16_t); extern void BigBuf_free(void); +extern void BigBuf_free_keep_EM(void); extern uint16_t traceLen; diff --git a/armsrc/appmain.c b/armsrc/appmain.c index a4d9c3354..791ad4f86 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -240,7 +240,10 @@ void MeasureAntennaTuningHf(void) void SimulateTagHfListen(void) { - uint8_t *dest = BigBuf_get_addr() + FREE_BUFFER_OFFSET; + // ToDo: historically this used the free buffer, which was 2744 Bytes long. + // There might be a better size to be defined: + #define HF_14B_SNOOP_BUFFER_SIZE 2744 + uint8_t *dest = BigBuf_malloc(HF_14B_SNOOP_BUFFER_SIZE); uint8_t v = 0; int i; int p = 0; @@ -275,7 +278,7 @@ void SimulateTagHfListen(void) p = 0; i++; - if(i >= FREE_BUFFER_SIZE) { + if(i >= HF_14B_SNOOP_BUFFER_SIZE) { break; } } @@ -912,10 +915,10 @@ void UsbPacketReceived(uint8_t *packet, int len) uint8_t *BigBuf = BigBuf_get_addr(); for(size_t i=0; iarg[1]; i += USB_CMD_DATA_SIZE) { size_t len = MIN((c->arg[1] - i),USB_CMD_DATA_SIZE); - cmd_send(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K,i,len,0,BigBuf+c->arg[0]+i,len); + cmd_send(CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K,i,len,traceLen,BigBuf+c->arg[0]+i,len); } // Trigger a finish downloading signal with an ACK frame - cmd_send(CMD_ACK,0,0,0,0,0); + cmd_send(CMD_ACK,0,0,traceLen,0,0); LED_B_OFF(); break; diff --git a/armsrc/hitag2.c b/armsrc/hitag2.c index 689167483..4a2d9d9d4 100644 --- a/armsrc/hitag2.c +++ b/armsrc/hitag2.c @@ -24,19 +24,19 @@ static bool bQuiet; -bool bCrypto; -bool bAuthenticating; -bool bPwd; -bool bSuccessful; +static bool bCrypto; +static bool bAuthenticating; +static bool bPwd; +static bool bSuccessful; -int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader) +static int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader) { static uint16_t traceLen = 0; uint8_t *trace = BigBuf_get_addr(); // Return when trace is full - if (traceLen >= TRACE_SIZE) return FALSE; + if (traceLen + sizeof(rsamples) + sizeof(dwParity) + sizeof(iBits) + nbytes(iBits) > BigBuf_max_traceLen()) return FALSE; // Trace the random, i'm curious rsamples += iSamples; @@ -89,20 +89,17 @@ static struct hitag2_tag tag = { }, }; -//#define TRACE_LENGTH 3000 -//uint8_t *trace = (uint8_t *) BigBuf; -//int traceLen = 0; -//int rsamples = 0; +// ToDo: define a meaningful maximum size for auth_table. The bigger this is, the lower will be the available memory for traces. +// Historically it used to be FREE_BUFFER_SIZE, which was 2744. +#define AUTH_TABLE_LENGTH 2744 +static byte_t* auth_table; +static size_t auth_table_pos = 0; +static size_t auth_table_len = AUTH_TABLE_LENGTH; -#define AUTH_TABLE_OFFSET FREE_BUFFER_OFFSET -#define AUTH_TABLE_LENGTH FREE_BUFFER_SIZE -size_t auth_table_pos = 0; -size_t auth_table_len = AUTH_TABLE_LENGTH; - -byte_t password[4]; -byte_t NrAr[8]; -byte_t key[8]; -uint64_t cipher_state; +static byte_t password[4]; +static byte_t NrAr[8]; +static byte_t key[8]; +static uint64_t cipher_state; /* Following is a modified version of cryptolib.com/ciphers/hitag2/ */ // Software optimized 48-bit Philips/NXP Mifare Hitag2 PCF7936/46/47/52 stream cipher algorithm by I.C. Wiener 2006-2007. @@ -180,14 +177,14 @@ static u32 _hitag2_byte (u64 * x) return c; } -int hitag2_reset(void) +static int hitag2_reset(void) { tag.state = TAG_STATE_RESET; tag.crypto_active = 0; return 0; } -int hitag2_init(void) +static int hitag2_init(void) { // memcpy(&tag, &resetdata, sizeof(tag)); hitag2_reset(); @@ -303,10 +300,9 @@ static void hitag_send_frame(const byte_t* frame, size_t frame_len) LOW(GPIO_SSC_DOUT); } -void hitag2_handle_reader_command(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) + +static void hitag2_handle_reader_command(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { - byte_t* auth_table; - auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; byte_t rx_air[HITAG_FRAME_LEN]; // Copy the (original) received frame how it is send over the air @@ -462,6 +458,7 @@ static void hitag_reader_send_bit(int bit) { LED_A_OFF(); } + static void hitag_reader_send_frame(const byte_t* frame, size_t frame_len) { // Send the content of the frame @@ -480,7 +477,7 @@ static void hitag_reader_send_frame(const byte_t* frame, size_t frame_len) size_t blocknr; -bool hitag2_password(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { +static bool hitag2_password(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { // Reset the transmission frame length *txlen = 0; @@ -535,7 +532,7 @@ bool hitag2_password(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) return true; } -bool hitag2_crypto(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { +static bool hitag2_crypto(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { // Reset the transmission frame length *txlen = 0; @@ -628,7 +625,7 @@ bool hitag2_crypto(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { } -bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { +static bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { // Reset the transmission frame length *txlen = 0; @@ -668,10 +665,8 @@ bool hitag2_authenticate(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txl return true; } -bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { - byte_t* auth_table; - auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; +static bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_t* txlen) { // Reset the transmission frame length *txlen = 0; @@ -684,17 +679,17 @@ bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_ if (bCrypto) { Dbprintf("auth: %02x%02x%02x%02x%02x%02x%02x%02x Failed, removed entry!",NrAr[0],NrAr[1],NrAr[2],NrAr[3],NrAr[4],NrAr[5],NrAr[6],NrAr[7]); - // Removing failed entry from authentiations table - memcpy(auth_table+auth_table_pos,auth_table+auth_table_pos+8,8); - auth_table_len -= 8; + // Removing failed entry from authentiations table + memcpy(auth_table+auth_table_pos,auth_table+auth_table_pos+8,8); + auth_table_len -= 8; - // Return if we reached the end of the authentiactions table + // Return if we reached the end of the authentications table bCrypto = false; if (auth_table_pos == auth_table_len) { return false; } - - // Copy the next authentication attempt in row (at the same position, b/c we removed last failed entry) + + // Copy the next authentication attempt in row (at the same position, b/c we removed last failed entry) memcpy(NrAr,auth_table+auth_table_pos,8); } *txlen = 5; @@ -727,6 +722,7 @@ bool hitag2_test_auth_attempts(byte_t* rx, const size_t rxlen, byte_t* tx, size_ return true; } + void SnoopHitag(uint32_t type) { int frame_count; int response; @@ -739,15 +735,15 @@ void SnoopHitag(uint32_t type) { byte_t rx[HITAG_FRAME_LEN]; size_t rxlen=0; + auth_table_len = 0; + auth_table_pos = 0; + BigBuf_free(); + auth_table = (byte_t *)BigBuf_malloc(AUTH_TABLE_LENGTH); + memset(auth_table, 0x00, AUTH_TABLE_LENGTH); + // Clean up trace and prepare it for storing frames iso14a_set_tracing(TRUE); iso14a_clear_trace(); - - auth_table_len = 0; - auth_table_pos = 0; - byte_t* auth_table; - auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; - memset(auth_table, 0x00, AUTH_TABLE_LENGTH); DbpString("Starting Hitag2 snoop"); LED_D_ON(); @@ -771,7 +767,7 @@ void SnoopHitag(uint32_t type) { AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_TC1); AT91C_BASE_PIOA->PIO_BSR = GPIO_SSC_FRAME; - // Disable timer during configuration + // Disable timer during configuration AT91C_BASE_TC1->TC_CCR = AT91C_TC_CLKDIS; // Capture mode, defaul timer source = MCK/2 (TIMER_CLOCK1), TIOA is external trigger, @@ -951,15 +947,17 @@ void SimulateHitagTag(bool tag_mem_supplied, byte_t* data) { bool bQuitTraceFull = false; bQuiet = false; - // Clean up trace and prepare it for storing frames - iso14a_set_tracing(TRUE); - iso14a_clear_trace(); auth_table_len = 0; auth_table_pos = 0; byte_t* auth_table; - auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; + BigBuf_free(); + auth_table = (byte_t *)BigBuf_malloc(AUTH_TABLE_LENGTH); memset(auth_table, 0x00, AUTH_TABLE_LENGTH); + // Clean up trace and prepare it for storing frames + iso14a_set_tracing(TRUE); + iso14a_clear_trace(); + DbpString("Starting Hitag2 simulation"); LED_D_ON(); hitag2_init(); @@ -1139,22 +1137,20 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { bool bStop; bool bQuitTraceFull = false; - FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - // Reset the return status - bSuccessful = false; + FpgaDownloadAndGo(FPGA_BITSTREAM_LF); + // Reset the return status + bSuccessful = false; // Clean up trace and prepare it for storing frames iso14a_set_tracing(TRUE); iso14a_clear_trace(); - byte_t* auth_table; - auth_table = (byte_t *)BigBuf_get_addr() + AUTH_TABLE_OFFSET; DbpString("Starting Hitag reader family"); // Check configuration switch(htf) { case RHT2F_PASSWORD: { - Dbprintf("List identifier in password mode"); + Dbprintf("List identifier in password mode"); memcpy(password,htd->pwd.password,4); blocknr = 0; bQuitTraceFull = false; @@ -1168,7 +1164,7 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { Dbhexdump(8,NrAr,false); bQuiet = false; bCrypto = false; - bAuthenticating = false; + bAuthenticating = false; bQuitTraceFull = true; } break; @@ -1176,17 +1172,17 @@ void ReaderHitag(hitag_function htf, hitag_data* htd) { DbpString("Authenticating using key:"); memcpy(key,htd->crypto.key,4); //HACK; 4 or 6?? I read both in the code. Dbhexdump(6,key,false); - blocknr = 0; + blocknr = 0; bQuiet = false; bCrypto = false; - bAuthenticating = false; + bAuthenticating = false; bQuitTraceFull = true; } break; case RHT2F_TEST_AUTH_ATTEMPTS: { Dbprintf("Testing %d authentication attempts",(auth_table_len/8)); auth_table_pos = 0; - memcpy(NrAr,auth_table,8); + memcpy(NrAr, auth_table, 8); bQuitTraceFull = false; bQuiet = false; bCrypto = false; diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 334eb362a..4436602cf 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -640,20 +640,24 @@ void RAMFUNC SnoopIClass(void) // The command (reader -> tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! - uint8_t *readerToTagCmd = BigBuf_get_addr() + RECV_CMD_OFFSET; + #define ICLASS_BUFFER_SIZE 32 + uint8_t readerToTagCmd[ICLASS_BUFFER_SIZE]; // The response (tag -> reader) that we're receiving. - uint8_t *tagToReaderResponse = BigBuf_get_addr() + RECV_RESP_OFFSET; + uint8_t tagToReaderResponse[ICLASS_BUFFER_SIZE]; FpgaDownloadAndGo(FPGA_BITSTREAM_HF); - // reset traceLen to 0 + // free all BigBuf memory + BigBuf_free(); + // The DMA buffer, used to stream samples from the FPGA + uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE); + + // reset traceLen to 0 iso14a_set_tracing(TRUE); iso14a_clear_trace(); iso14a_set_trigger(FALSE); - // The DMA buffer, used to stream samples from the FPGA - uint8_t *dmaBuf = BigBuf_get_addr() + DMA_BUFFER_OFFSET; - int lastRxCounter; + int lastRxCounter; uint8_t *upTo; int smpl; int maxBehindBy = 0; @@ -703,7 +707,7 @@ void RAMFUNC SnoopIClass(void) (DMA_BUFFER_SIZE-1); if(behindBy > maxBehindBy) { maxBehindBy = behindBy; - if(behindBy > 400) { + if(behindBy > (9 * DMA_BUFFER_SIZE / 10)) { Dbprintf("blew circular buffer! behindBy=0x%x", behindBy); goto done; } @@ -1064,27 +1068,28 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader int trace_data_size = 0; //uint8_t sof = 0x0f; + // free eventually allocated BigBuf memory + BigBuf_free(); // Respond SOF -- takes 1 bytes - uint8_t *resp1 = (BigBuf_get_addr() + FREE_BUFFER_OFFSET); + uint8_t *resp1 = BigBuf_malloc(2); int resp1Len; // Anticollision CSN (rotated CSN) // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte) - uint8_t *resp2 = (BigBuf_get_addr() + FREE_BUFFER_OFFSET + 2); + uint8_t *resp2 = BigBuf_malloc(28); int resp2Len; // CSN // 22: Takes 2 bytes for SOF/EOF and 10 * 2 = 20 bytes (2 bytes/byte) - uint8_t *resp3 = (BigBuf_get_addr() + FREE_BUFFER_OFFSET + 30); + uint8_t *resp3 = BigBuf_malloc(30); int resp3Len; // e-Purse - // 18: Takes 2 bytes for SOF/EOF and 8 * 2 = 16 bytes (2 bytes/byte) - uint8_t *resp4 = (BigBuf_get_addr() + FREE_BUFFER_OFFSET + 60); + // 144: Takes 16 bytes for SOF/EOF and 8 * 16 = 128 bytes (2 bytes/bit) + uint8_t *resp4 = BigBuf_malloc(150); int resp4Len; - // + 1720.. - uint8_t *receivedCmd = BigBuf_get_addr() + RECV_CMD_OFFSET; + uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE); memset(receivedCmd, 0x44, MAX_FRAME_SIZE); int len; @@ -1529,7 +1534,7 @@ uint8_t handshakeIclassTag(uint8_t *card_data) static uint8_t identify[] = { 0x0c }; static uint8_t select[] = { 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static uint8_t readcheck_cc[]= { 0x88, 0x02 }; - uint8_t *resp = BigBuf_get_addr() + RECV_RESP_OFFSET; + uint8_t resp[ICLASS_BUFFER_SIZE]; uint8_t read_status = 0; @@ -1587,7 +1592,7 @@ void ReaderIClass(uint8_t arg0) { while(!BUTTON_PRESS()) { - if(traceLen > TRACE_SIZE) { + if(traceLen > BigBuf_max_traceLen()) { DbpString("Trace full"); break; } @@ -1650,7 +1655,7 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { int keyaccess; } memory; - uint8_t* resp = BigBuf_get_addr() + RECV_RESP_OFFSET; + uint8_t resp[ICLASS_BUFFER_SIZE]; setupIclassReader(); @@ -1659,7 +1664,7 @@ void ReaderIClass_Replay(uint8_t arg0, uint8_t *MAC) { WDT_HIT(); - if(traceLen > TRACE_SIZE) { + if(traceLen > BigBuf_max_traceLen()) { DbpString("Trace full"); break; } diff --git a/armsrc/iso14443.c b/armsrc/iso14443.c index e94a8ec27..6a2e4d6a4 100644 --- a/armsrc/iso14443.c +++ b/armsrc/iso14443.c @@ -1013,18 +1013,19 @@ void RAMFUNC SnoopIso14443(void) int triggered = TRUE; FpgaDownloadAndGo(FPGA_BITSTREAM_HF); + BigBuf_free(); // The command (reader -> tag) that we're working on receiving. - uint8_t *receivedCmd = BigBuf_get_addr() + DEMOD_TRACE_SIZE; + uint8_t *receivedCmd = BigBuf_malloc(READER_TAG_BUFFER_SIZE); // The response (tag -> reader) that we're working on receiving. - uint8_t *receivedResponse = BigBuf_get_addr() + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE; + uint8_t *receivedResponse = BigBuf_malloc(TAG_READER_BUFFER_SIZE); // As we receive stuff, we copy it from receivedCmd or receivedResponse // into trace, along with its length and other annotations. uint8_t *trace = BigBuf_get_addr(); - int traceLen = 0; + traceLen = 0; // The DMA buffer, used to stream samples from the FPGA. - uint8_t *dmaBuf = BigBuf_get_addr() + DEMOD_TRACE_SIZE + READER_TAG_BUFFER_SIZE + TAG_READER_BUFFER_SIZE; + uint8_t *dmaBuf = BigBuf_malloc(DEMOD_DMA_BUFFER_SIZE); int lastRxCounter; uint8_t *upTo; int ci, cq; @@ -1035,7 +1036,7 @@ void RAMFUNC SnoopIso14443(void) int samples = 0; // Initialize the trace buffer - memset(trace, 0x44, DEMOD_TRACE_SIZE); + memset(trace, 0x44, BigBuf_max_traceLen()); // Set up the demodulator for tag -> reader responses. Demod.output = receivedResponse; @@ -1050,7 +1051,7 @@ void RAMFUNC SnoopIso14443(void) // Print some debug information about the buffer sizes Dbprintf("Snooping buffers initialized:"); - Dbprintf(" Trace: %i bytes", DEMOD_TRACE_SIZE); + Dbprintf(" Trace: %i bytes", BigBuf_max_traceLen()); Dbprintf(" Reader -> tag: %i bytes", READER_TAG_BUFFER_SIZE); Dbprintf(" tag -> Reader: %i bytes", TAG_READER_BUFFER_SIZE); Dbprintf(" DMA: %i bytes", DEMOD_DMA_BUFFER_SIZE); @@ -1077,7 +1078,7 @@ void RAMFUNC SnoopIso14443(void) (DEMOD_DMA_BUFFER_SIZE-1); if(behindBy > maxBehindBy) { maxBehindBy = behindBy; - if(behindBy > (DEMOD_DMA_BUFFER_SIZE-2)) { // TODO: understand whether we can increase/decrease as we want or not? + if(behindBy > (9*DEMOD_DMA_BUFFER_SIZE/10)) { // TODO: understand whether we can increase/decrease as we want or not? Dbprintf("blew circular buffer! behindBy=0x%x", behindBy); goto done; } @@ -1148,7 +1149,7 @@ void RAMFUNC SnoopIso14443(void) trace[traceLen++] = Demod.len; memcpy(trace+traceLen, receivedResponse, Demod.len); traceLen += Demod.len; - if(traceLen > DEMOD_TRACE_SIZE) { + if(traceLen > BigBuf_max_traceLen()) { DbpString("Reached trace limit"); goto done; } @@ -1174,9 +1175,9 @@ done: LED_A_OFF(); LED_B_OFF(); LED_C_OFF(); - AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS; + AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS; DbpString("Snoop statistics:"); - Dbprintf(" Max behind by: %i", maxBehindBy); + Dbprintf(" Max behind by: %i", maxBehindBy); Dbprintf(" Uart State: %x", Uart.state); Dbprintf(" Uart ByteCnt: %i", Uart.byteCnt); Dbprintf(" Uart ByteCntMax: %i", Uart.byteCntMax); diff --git a/armsrc/iso14443a.c b/armsrc/iso14443a.c index f43c59a1d..b1639a88c 100644 --- a/armsrc/iso14443a.c +++ b/armsrc/iso14443a.c @@ -148,7 +148,8 @@ void iso14a_set_trigger(bool enable) { void iso14a_clear_trace() { uint8_t *trace = BigBuf_get_addr(); - memset(trace, 0x44, TRACE_SIZE); + uint16_t max_traceLen = BigBuf_max_traceLen(); + memset(trace, 0x44, max_traceLen); traceLen = 0; } @@ -208,7 +209,8 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_ uint16_t duration = timestamp_end - timestamp_start; // Return when trace is full - if (traceLen + sizeof(iLen) + sizeof(timestamp_start) + sizeof(duration) + num_paritybytes + iLen >= TRACE_SIZE) { + uint16_t max_traceLen = BigBuf_max_traceLen(); + if (traceLen + sizeof(iLen) + sizeof(timestamp_start) + sizeof(duration) + num_paritybytes + iLen >= max_traceLen) { tracing = FALSE; // don't trace any more return FALSE; } @@ -591,9 +593,6 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { // bit 1 - trigger from first reader 7-bit request LEDsoff(); - // init trace buffer - iso14a_clear_trace(); - iso14a_set_tracing(TRUE); // We won't start recording the frames that we acquire until we trigger; // a good trigger condition to get started is probably when we see a @@ -601,22 +600,25 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { // triggered == FALSE -- to wait first for card bool triggered = !(param & 0x03); + // Allocate memory from BigBuf for some buffers + // free all previous allocations first + BigBuf_free(); + // The command (reader -> tag) that we're receiving. - // The length of a received command will in most cases be no more than 18 bytes. - // So 32 should be enough! - uint8_t *receivedCmd = BigBuf_get_addr() + RECV_CMD_OFFSET; - uint8_t *receivedCmdPar = BigBuf_get_addr() + RECV_CMD_PAR_OFFSET; + uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE); + uint8_t *receivedCmdPar = BigBuf_malloc(MAX_PARITY_SIZE); // The response (tag -> reader) that we're receiving. - uint8_t *receivedResponse = BigBuf_get_addr() + RECV_RESP_OFFSET; - uint8_t *receivedResponsePar = BigBuf_get_addr() + RECV_RESP_PAR_OFFSET; - - // As we receive stuff, we copy it from receivedCmd or receivedResponse - // into trace, along with its length and other annotations. - //uint8_t *trace = (uint8_t *)BigBuf; + uint8_t *receivedResponse = BigBuf_malloc(MAX_FRAME_SIZE); + uint8_t *receivedResponsePar = BigBuf_malloc(MAX_PARITY_SIZE); // The DMA buffer, used to stream samples from the FPGA - uint8_t *dmaBuf = BigBuf_get_addr() + DMA_BUFFER_OFFSET; + uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE); + + // init trace buffer + iso14a_clear_trace(); + iso14a_set_tracing(TRUE); + uint8_t *data = dmaBuf; uint8_t previous_data = 0; int maxDataLen = 0; @@ -656,7 +658,7 @@ void RAMFUNC SnoopIso14443a(uint8_t param) { // test for length of buffer if(dataLen > maxDataLen) { maxDataLen = dataLen; - if(dataLen > 400) { + if(dataLen > (9 * DMA_BUFFER_SIZE / 10)) { Dbprintf("blew circular buffer! dataLen=%d", dataLen); break; } @@ -895,10 +897,6 @@ typedef struct { uint32_t ProxToAirDuration; } tag_response_info_t; -void reset_free_buffer() { - free_buffer_pointer = BigBuf_get_addr() + FREE_BUFFER_OFFSET; -} - bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffer_size) { // Example response, answer to MIFARE Classic read block will be 16 bytes + 2 CRC = 18 bytes // This will need the following byte array for a modulation sequence @@ -910,7 +908,8 @@ bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffe // ----------- + // 166 bytes, since every bit that needs to be send costs us a byte // - + + // Prepare the tag modulation bits from the message CodeIso14443aAsTag(response_info->response,response_info->response_n); @@ -931,15 +930,22 @@ bool prepare_tag_modulation(tag_response_info_t* response_info, size_t max_buffe return true; } + +// "precompile" responses. There are 7 predefined responses with a total of 28 bytes data to transmit. +// Coded responses need one byte per bit to transfer (data, parity, start, stop, correction) +// 28 * 8 data bits, 28 * 1 parity bits, 7 start bits, 7 stop bits, 7 correction bits +// -> need 273 bytes buffer +#define ALLOCATED_TAG_MODULATION_BUFFER_SIZE 273 + bool prepare_allocated_tag_modulation(tag_response_info_t* response_info) { // Retrieve and store the current buffer index response_info->modulation = free_buffer_pointer; // Determine the maximum size we can use from our buffer - size_t max_buffer_size = BigBuf_get_addr() + FREE_BUFFER_OFFSET + FREE_BUFFER_SIZE - free_buffer_pointer; + size_t max_buffer_size = ALLOCATED_TAG_MODULATION_BUFFER_SIZE; // Forward the prepare tag modulation function to the inner function - if (prepare_tag_modulation(response_info,max_buffer_size)) { + if (prepare_tag_modulation(response_info, max_buffer_size)) { // Update the free buffer offset free_buffer_pointer += ToSendMax; return true; @@ -954,10 +960,6 @@ bool prepare_allocated_tag_modulation(tag_response_info_t* response_info) { //----------------------------------------------------------------------------- void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) { - // Enable and clear the trace - iso14a_clear_trace(); - iso14a_set_tracing(TRUE); - uint8_t sak; // The first response contains the ATQA (note: bytes are transmitted in reverse order). @@ -1067,9 +1069,17 @@ void SimulateIso14443aTag(int tagType, int uid_1st, int uid_2nd, byte_t* data) .modulation_n = 0 }; - // Reset the offset pointer of the free buffer - reset_free_buffer(); - + BigBuf_free_keep_EM(); + + // allocate buffers: + uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE); + uint8_t *receivedCmdPar = BigBuf_malloc(MAX_PARITY_SIZE); + free_buffer_pointer = BigBuf_malloc(ALLOCATED_TAG_MODULATION_BUFFER_SIZE); + + // clear trace + iso14a_clear_trace(); + iso14a_set_tracing(TRUE); + // Prepare the responses of the anticollision phase // there will be not enough time to do this at the moment the reader sends it REQA for (size_t i=0; i tag) that we're receiving. // The length of a received command will in most cases be no more than 18 bytes. // So 32 should be enough! - uint8_t *receivedCmd = BigBuf_get_addr() + RECV_CMD_OFFSET; - uint8_t *receivedCmdPar = BigBuf_get_addr() + RECV_CMD_PAR_OFFSET; + uint8_t receivedCmd[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedCmdPar[MAX_MIFARE_PARITY_SIZE]; // The response (tag -> reader) that we're receiving. - uint8_t *receivedResponse = BigBuf_get_addr() + RECV_RESP_OFFSET; - uint8_t *receivedResponsePar = BigBuf_get_addr() + RECV_RESP_PAR_OFFSET; + uint8_t receivedResponse[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedResponsePar[MAX_MIFARE_PARITY_SIZE]; // As we receive stuff, we copy it from receivedCmd or receivedResponse // into trace, along with its length and other annotations. //uint8_t *trace = (uint8_t *)BigBuf; - // The DMA buffer, used to stream samples from the FPGA - uint8_t *dmaBuf = BigBuf_get_addr() + DMA_BUFFER_OFFSET; + // free eventually allocated BigBuf memory + BigBuf_free(); + // allocate the DMA buffer, used to stream samples from the FPGA + uint8_t *dmaBuf = BigBuf_malloc(DMA_BUFFER_SIZE); uint8_t *data = dmaBuf; uint8_t previous_data = 0; int maxDataLen = 0; @@ -2792,7 +2806,7 @@ void RAMFUNC SniffMifare(uint8_t param) { // test for length of buffer if(dataLen > maxDataLen) { // we are more behind than ever... maxDataLen = dataLen; - if(dataLen > 400) { + if(dataLen > (9 * DMA_BUFFER_SIZE / 10)) { Dbprintf("blew circular buffer! dataLen=0x%x", dataLen); break; } diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 201a52f20..31ee63588 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -26,7 +26,7 @@ void DoAcquisition125k_internal(int trigger_threshold,bool silent) { uint8_t *dest = BigBuf_get_addr(); - int n = BigBuf_max_trace_len(); + int n = BigBuf_max_traceLen(); int i; memset(dest, 0, n); @@ -178,7 +178,7 @@ void ReadTItag(void) #define FREQHI 134200 signed char *dest = (signed char *)BigBuf_get_addr(); - uint16_t n = BigBuf_max_trace_len(); + uint16_t n = BigBuf_max_traceLen(); // 128 bit shift register [shift3:shift2:shift1:shift0] uint32_t shift3 = 0, shift2 = 0, shift1 = 0, shift0 = 0; @@ -331,7 +331,7 @@ void AcquireTiType(void) // clear buffer uint32_t *BigBuf = (uint32_t *)BigBuf_get_addr(); - memset(BigBuf,0,BigBuf_max_trace_len()/sizeof(uint32_t)); + memset(BigBuf,0,BigBuf_max_traceLen()/sizeof(uint32_t)); // Set up the synchronous serial port AT91C_BASE_PIOA->PIO_PDR = GPIO_SSC_DIN; @@ -634,7 +634,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = BigBuf_get_addr(); - size_t size=sizeof(BigBuf); + size_t size = BigBuf_max_traceLen(); uint32_t hi2=0, hi=0, lo=0; int idx=0; // Configure to go in 125Khz listen mode @@ -647,10 +647,6 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); // FSK demodulator - idx = HIDdemodFSK(dest, BigBuf_max_trace_len(), &hi2, &hi, &lo); - WDT_HIT(); - size = sizeof(BigBuf); - idx = HIDdemodFSK(dest, &size, &hi2, &hi, &lo); if (idx>0 && lo>0){ @@ -736,7 +732,7 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) if (ledcontrol) LED_A_ON(); DoAcquisition125k_internal(-1,true); - size = BigBuf_max_trace_len(); + size = BigBuf_max_traceLen(); //Dbprintf("DEBUG: Buffer got"); //askdemod and manchester decode errCnt = askmandemod(dest, &size, &clk, &invert); @@ -789,7 +785,7 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); //fskdemod and get start index WDT_HIT(); - idx = IOdemodFSK(dest, BigBuf_max_trace_len()); + idx = IOdemodFSK(dest, BigBuf_max_traceLen()); if (idx>0){ //valid tag found @@ -965,7 +961,7 @@ void T55xxReadBlock(uint32_t Block, uint32_t Pwd, uint8_t PwdMode) //int m=0, i=0; //enio adjustment 12/10/14 uint32_t m=0, i=0; FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = BigBuf_max_trace_len(); + m = BigBuf_max_traceLen(); // Clear destination buffer before sending the command memset(dest, 128, m); // Connect the A/D to the peak-detected low-frequency path. @@ -1030,7 +1026,7 @@ void T55xxReadTrace(void){ int m=0, i=0; FpgaDownloadAndGo(FPGA_BITSTREAM_LF); - m = BigBuf_max_trace_len(); + m = BigBuf_max_traceLen(); // Clear destination buffer before sending the command memset(dest, 128, m); // Connect the A/D to the peak-detected low-frequency path. @@ -1381,7 +1377,7 @@ int DemodPCF7931(uint8_t **outBlocks) { uint8_t BitStream[256]; uint8_t Blocks[8][16]; uint8_t *GraphBuffer = BigBuf_get_addr(); - int GraphTraceLen = BigBuf_max_trace_len(); + int GraphTraceLen = BigBuf_max_traceLen(); int i, j, lastval, bitidx, half_switch; int clock = 64; int tolerance = clock / 8; @@ -1808,7 +1804,7 @@ void EM4xReadWord(uint8_t Address, uint32_t Pwd, uint8_t PwdMode) { fwd_bit_count = Prepare_Cmd( FWD_CMD_READ ); fwd_bit_count += Prepare_Addr( Address ); - m = BigBuf_max_trace_len(); + m = BigBuf_max_traceLen(); // Clear destination buffer before sending the command memset(dest, 128, m); // Connect the A/D to the peak-detected low-frequency path. diff --git a/armsrc/mifarecmd.c b/armsrc/mifarecmd.c index a96164fc6..4279e63f2 100644 --- a/armsrc/mifarecmd.c +++ b/armsrc/mifarecmd.c @@ -529,11 +529,13 @@ void MifareNested(uint32_t arg0, uint32_t arg1, uint32_t calibrate, uint8_t *dat struct Crypto1State mpcs = {0, 0}; struct Crypto1State *pcs; pcs = &mpcs; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; uint32_t auth1_time, auth2_time; static uint16_t delta_time; + // free eventually allocated BigBuf memory + BigBuf_free(); // clear trace iso14a_clear_trace(); iso14a_set_tracing(false); @@ -920,8 +922,8 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai uint8_t d_block[18] = {0x00}; uint32_t cuid; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; // reset FPGA and LED if (workFlags & 0x08) { @@ -1039,8 +1041,8 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai uint8_t data[18] = {0x00}; uint32_t cuid = 0; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; if (workFlags & 0x08) { LED_A_ON(); @@ -1104,8 +1106,8 @@ void MifareCIdent(){ // variables byte_t isOK = 1; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; ReaderTransmitBitsPar(wupC1,7,0, NULL); if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) { @@ -1181,4 +1183,4 @@ void Mifare_DES_Auth2(uint32_t arg0, uint8_t *datain){ cmd_send(CMD_ACK, isOK, 0, 0, dataout, sizeof(dataout)); FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF); LEDsoff(); -} \ No newline at end of file +} diff --git a/armsrc/mifaresniff.c b/armsrc/mifaresniff.c index 69138811c..59e846975 100644 --- a/armsrc/mifaresniff.c +++ b/armsrc/mifaresniff.c @@ -157,7 +157,7 @@ bool intMfSniffSend() { while (pckLen > 0) { pckSize = MIN(USB_CMD_DATA_SIZE, pckLen); LED_B_ON(); - cmd_send(CMD_ACK, 1, pckSize, pckNum, trace + traceLen - pckLen, pckSize); + cmd_send(CMD_ACK, 1, traceLen, pckSize, trace + traceLen - pckLen, pckSize); LED_B_OFF(); pckLen -= pckSize; diff --git a/armsrc/mifareutil.c b/armsrc/mifareutil.c index 1de4819e7..f79c2ede2 100644 --- a/armsrc/mifareutil.c +++ b/armsrc/mifareutil.c @@ -21,17 +21,6 @@ int MF_DBGLEVEL = MF_DBG_ALL; -// memory management -uint8_t* get_bigbufptr_recvrespbuf(void) { - return BigBuf_get_addr() + RECV_RESP_OFFSET; -} -uint8_t* get_bigbufptr_recvcmdbuf(void) { - return BigBuf_get_addr() + RECV_CMD_OFFSET; -} -uint8_t* get_bigbufptr_emlcardmem(void) { - return BigBuf_get_addr() + CARD_MEMORY_OFFSET; -} - // crypto1 helpers void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *data, int len){ uint8_t bt = 0; @@ -186,8 +175,8 @@ int mifare_classic_authex(struct Crypto1State *pcs, uint32_t uid, uint8_t blockN uint32_t nt, ntpp; // Supplied tag nonce uint8_t mf_nr_ar[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; // Transmit MIFARE_CLASSIC_AUTH len = mifare_sendcmd_short(pcs, isNested, 0x60 + (keyType & 0x01), blockNo, receivedAnswer, receivedAnswerPar, timing); @@ -273,8 +262,8 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo int len; uint8_t bt[2]; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; // command MIFARE_CLASSIC_READBLOCK len = mifare_sendcmd_short(pcs, 1, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL); @@ -302,8 +291,8 @@ int mifare_classic_readblock(struct Crypto1State *pcs, uint32_t uid, uint8_t blo int mifare_ultra_auth1(uint32_t uid, uint8_t *blockData){ uint16_t len; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_short(NULL, 1, 0x1A, 0x00, receivedAnswer,receivedAnswerPar ,NULL); if (len == 1) { @@ -327,8 +316,8 @@ int mifare_ultra_auth1(uint32_t uid, uint8_t *blockData){ int mifare_ultra_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){ uint16_t len; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_short_mfucauth(NULL, 1, 0xAF, key, receivedAnswer, receivedAnswerPar, NULL); if (len == 1) { @@ -353,8 +342,8 @@ int mifare_ultra_readblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) { uint16_t len; uint8_t bt[2]; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; // command MIFARE_CLASSIC_READBLOCK @@ -392,8 +381,8 @@ int mifare_classic_writeblock(struct Crypto1State *pcs, uint32_t uid, uint8_t bl byte_t res; uint8_t d_block[18], d_block_enc[18]; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; // command MIFARE_CLASSIC_WRITEBLOCK len = mifare_sendcmd_short(pcs, 1, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL); @@ -435,8 +424,8 @@ int mifare_ultra_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *blockData) uint16_t len; uint8_t par[3] = {0}; // enough for 18 parity bits uint8_t d_block[18] = {0x00}; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t* receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; // command MIFARE_CLASSIC_WRITEBLOCK len = mifare_sendcmd_short(NULL, true, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL); @@ -466,8 +455,8 @@ int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *bloc { uint16_t len; uint8_t d_block[8] = {0x00}; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; // command MIFARE_CLASSIC_WRITEBLOCK d_block[0]= blockNo; @@ -487,8 +476,8 @@ int mifare_ultra_special_writeblock(uint32_t uid, uint8_t blockNo, uint8_t *bloc int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) { uint16_t len; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_short(pcs, pcs == NULL ? false:true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL); if (len != 0) { @@ -503,8 +492,8 @@ int mifare_classic_halt(struct Crypto1State *pcs, uint32_t uid) int mifare_ultra_halt(uint32_t uid) { uint16_t len; - uint8_t *receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_short(NULL, true, 0x50, 0x00, receivedAnswer, receivedAnswerPar, NULL); if (len != 0) { @@ -538,22 +527,22 @@ uint8_t FirstBlockOfSector(uint8_t sectorNo) // work with emulator memory void emlSetMem(uint8_t *data, int blockNum, int blocksCount) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); memcpy(emCARD + blockNum * 16, data, blocksCount * 16); } void emlGetMem(uint8_t *data, int blockNum, int blocksCount) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); memcpy(data, emCARD + blockNum * 16, blocksCount * 16); } void emlGetMemBt(uint8_t *data, int bytePtr, int byteCount) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); memcpy(data, emCARD + bytePtr, byteCount); } int emlCheckValBl(int blockNum) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); uint8_t* data = emCARD + blockNum * 16; if ((data[0] != (data[4] ^ 0xff)) || (data[0] != data[8]) || @@ -568,7 +557,7 @@ int emlCheckValBl(int blockNum) { } int emlGetValBl(uint32_t *blReg, uint8_t *blBlock, int blockNum) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); uint8_t* data = emCARD + blockNum * 16; if (emlCheckValBl(blockNum)) { @@ -581,7 +570,7 @@ int emlGetValBl(uint32_t *blReg, uint8_t *blBlock, int blockNum) { } int emlSetValBl(uint32_t blReg, uint8_t blBlock, int blockNum) { - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); uint8_t* data = emCARD + blockNum * 16; memcpy(data + 0, &blReg, 4); @@ -599,7 +588,7 @@ int emlSetValBl(uint32_t blReg, uint8_t blBlock, int blockNum) { uint64_t emlGetKey(int sectorNum, int keyType) { uint8_t key[6]; - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); memcpy(key, emCARD + 16 * (FirstBlockOfSector(sectorNum) + NumBlocksPerSector(sectorNum) - 1) + keyType * 10, 6); return bytes_to_num(key, 6); @@ -610,7 +599,7 @@ void emlClearMem(void) { const uint8_t trailer[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x07, 0x80, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; const uint8_t uid[] = {0xe6, 0x84, 0x87, 0xf3, 0x16, 0x88, 0x04, 0x00, 0x46, 0x8e, 0x45, 0x55, 0x4d, 0x70, 0x41, 0x04}; - uint8_t* emCARD = get_bigbufptr_emlcardmem(); + uint8_t* emCARD = BigBuf_get_EM_addr(); memset(emCARD, 0, CARD_MEMORY_SIZE); @@ -665,8 +654,8 @@ int mifare_desfire_des_auth1(uint32_t uid, uint8_t *blockData){ int len; // load key, keynumber uint8_t data[2]={0x0a, 0x00}; - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_special(NULL, 1, 0x02, data, receivedAnswer,receivedAnswerPar,NULL); if (len == 1) { @@ -695,8 +684,8 @@ int mifare_desfire_des_auth2(uint32_t uid, uint8_t *key, uint8_t *blockData){ data[0] = 0xAF; memcpy(data+1,key,16); - uint8_t* receivedAnswer = get_bigbufptr_recvrespbuf(); - uint8_t *receivedAnswerPar = receivedAnswer + MAX_FRAME_SIZE; + uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE]; + uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE]; len = mifare_sendcmd_special2(NULL, 1, 0x03, data, receivedAnswer, receivedAnswerPar ,NULL); diff --git a/armsrc/mifareutil.h b/armsrc/mifareutil.h index 2770a442f..195afa534 100644 --- a/armsrc/mifareutil.h +++ b/armsrc/mifareutil.h @@ -53,7 +53,6 @@ extern int MF_DBGLEVEL; #define cardSTATE_TO_IDLE() cardSTATE = MFEMUL_IDLE; LED_B_OFF(); LED_C_OFF(); //functions -uint8_t* mifare_get_bigbufptr(void); int mifare_sendcmd_short(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); int mifare_sendcmd_short_special(struct Crypto1State *pcs, uint8_t crypted, uint8_t cmd, uint8_t *data, uint8_t* answer, uint8_t *answer_parity, uint32_t *timing); @@ -83,11 +82,6 @@ void mf_crypto1_decrypt(struct Crypto1State *pcs, uint8_t *receivedCmd, int len) void mf_crypto1_encrypt(struct Crypto1State *pcs, uint8_t *data, uint16_t len, uint8_t *par); uint8_t mf_crypto1_encrypt4bit(struct Crypto1State *pcs, uint8_t data); -// memory management -uint8_t* get_bigbufptr_recvrespbuf(void); -uint8_t* get_bigbufptr_recvcmdbuf(void); -uint8_t* get_bigbufptr_emlcardmem(void); - // Mifare memory structure uint8_t NumBlocksPerSector(uint8_t sectorNo); uint8_t FirstBlockOfSector(uint8_t sectorNo); diff --git a/client/cmddata.c b/client/cmddata.c index 79ff93bed..8c91f0e11 100644 --- a/client/cmddata.c +++ b/client/cmddata.c @@ -1426,7 +1426,7 @@ int CmdHexsamples(const char *Cmd) int offset = 0; char string_buf[25]; char* string_ptr = string_buf; - uint8_t got[40000]; + uint8_t got[BIGBUF_SIZE]; sscanf(Cmd, "%i %i", &requested, &offset); @@ -1435,7 +1435,7 @@ int CmdHexsamples(const char *Cmd) requested = 8; } if (offset + requested > sizeof(got)) { - PrintAndLog("Tried to read past end of buffer, + > 40000"); + PrintAndLog("Tried to read past end of buffer, + > %d", BIGBUF_SIZE); return 0; } @@ -1485,7 +1485,7 @@ int CmdHpf(const char *Cmd) int CmdSamples(const char *Cmd) { - uint8_t got[40000] = {0x00}; + uint8_t got[BIGBUF_SIZE] = {0x00}; int n = strtol(Cmd, NULL, 0); if (n == 0) @@ -1495,14 +1495,14 @@ int CmdSamples(const char *Cmd) n = sizeof(got); PrintAndLog("Reading %d samples from device memory\n", n); - GetFromBigBuf(got,n,0); - WaitForResponse(CMD_ACK,NULL); + GetFromBigBuf(got,n,0); + WaitForResponse(CMD_ACK,NULL); for (int j = 0; j < n; j++) { GraphBuffer[j] = ((int)got[j]) - 128; - } - GraphTraceLen = n; - RepaintGraphWindow(); - return 0; + } + GraphTraceLen = n; + RepaintGraphWindow(); + return 0; } int CmdTuneSamples(const char *Cmd) diff --git a/client/cmddata.h b/client/cmddata.h index d87c8b82e..514be3a2b 100644 --- a/client/cmddata.h +++ b/client/cmddata.h @@ -60,4 +60,6 @@ int CmdIndalaDecode(const char *Cmd); extern uint8_t DemodBuffer[MAX_DEMOD_BUF_LEN]; extern int DemodBufferLen; +#define BIGBUF_SIZE 40000 + #endif diff --git a/client/cmdhf.c b/client/cmdhf.c index fbc2d7b25..1dae1d9b9 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -32,8 +32,6 @@ int CmdHFTune(const char *Cmd) SendCommand(&c); return 0; } -// for the time being. Need better Bigbuf handling. -#define TRACE_SIZE 3000 //The following data is taken from http://www.proxmark.org/forum/viewtopic.php?pid=13501#p13501 /* @@ -384,18 +382,18 @@ uint8_t iclass_CRC_check(bool isResponse, uint8_t* data, uint8_t len) } } -uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, uint8_t protocol, bool showWaitCycles) +uint16_t printTraceLine(uint16_t tracepos, uint16_t traceLen, uint8_t *trace, uint8_t protocol, bool showWaitCycles) { bool isResponse; - uint16_t duration, data_len,parity_len; + uint16_t duration, data_len, parity_len; uint32_t timestamp, first_timestamp, EndOfTransmissionTimestamp; char explanation[30] = {0}; + if (tracepos + sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t) > traceLen) return traceLen; + first_timestamp = *((uint32_t *)(trace)); timestamp = *((uint32_t *)(trace + tracepos)); - // Break and stick with current result if buffer was not completely full - if (timestamp == 0x44444444) return TRACE_SIZE; tracepos += 4; duration = *((uint16_t *)(trace + tracepos)); @@ -411,8 +409,8 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, uint8_t protocol, boo } parity_len = (data_len-1)/8 + 1; - if (tracepos + data_len + parity_len >= TRACE_SIZE) { - return TRACE_SIZE; + if (tracepos + data_len + parity_len > traceLen) { + return traceLen; } uint8_t *frame = trace + tracepos; @@ -498,6 +496,8 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, uint8_t protocol, boo } } + if (tracepos + sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t) > traceLen) return traceLen; + bool next_isResponse = *((uint16_t *)(trace + tracepos + 6)) & 0x8000; if (showWaitCycles && !isResponse && next_isResponse) { @@ -510,9 +510,11 @@ uint16_t printTraceLine(uint16_t tracepos, uint8_t* trace, uint8_t protocol, boo (next_timestamp - EndOfTransmissionTimestamp)); } } + return tracepos; } + int CmdHFList(const char *Cmd) { bool showWaitCycles = false; @@ -570,12 +572,28 @@ int CmdHFList(const char *Cmd) } - uint8_t trace[TRACE_SIZE]; + uint8_t *trace; uint16_t tracepos = 0; - GetFromBigBuf(trace, TRACE_SIZE, 0); - WaitForResponse(CMD_ACK, NULL); + trace = malloc(USB_CMD_DATA_SIZE); - PrintAndLog("Recorded Activity"); + // Query for the size of the trace + UsbCommand response; + GetFromBigBuf(trace, USB_CMD_DATA_SIZE, 0); + WaitForResponse(CMD_ACK, &response); + uint16_t traceLen = response.arg[2]; + if (traceLen > USB_CMD_DATA_SIZE) { + uint8_t *p = realloc(trace, traceLen); + if (p == NULL) { + PrintAndLog("Cannot allocate memory for trace"); + free(trace); + return 2; + } + trace = p; + GetFromBigBuf(trace, traceLen, 0); + WaitForResponse(CMD_ACK, NULL); + } + + PrintAndLog("Recorded Activity (TraceLen = %d bytes)", traceLen); PrintAndLog(""); PrintAndLog("Start = Start of Start Bit, End = End of last modulation. Src = Source of Transfer"); PrintAndLog("iso14443a - All times are in carrier periods (1/13.56Mhz)"); @@ -584,10 +602,12 @@ int CmdHFList(const char *Cmd) PrintAndLog(" Start | End | Src | Data (! denotes parity error) | CRC | Annotation |"); PrintAndLog("-----------|-----------|-----|-----------------------------------------------------------------|-----|--------------------|"); - while(tracepos < TRACE_SIZE) + while(tracepos < traceLen) { - tracepos = printTraceLine(tracepos, trace, protocol, showWaitCycles); + tracepos = printTraceLine(tracepos, traceLen, trace, protocol, showWaitCycles); } + + free(trace); return 0; } diff --git a/client/cmdhf14b.c b/client/cmdhf14b.c index ea07b894a..cf8658750 100644 --- a/client/cmdhf14b.c +++ b/client/cmdhf14b.c @@ -145,11 +145,25 @@ demodError: int CmdHF14BList(const char *Cmd) { - uint8_t got[TRACE_BUFFER_SIZE]; - GetFromBigBuf(got,sizeof(got),0); - WaitForResponse(CMD_ACK,NULL); + uint8_t *got = malloc(USB_CMD_DATA_SIZE); - PrintAndLog("recorded activity:"); + // Query for the actual size of the trace + UsbCommand response; + GetFromBigBuf(got, USB_CMD_DATA_SIZE, 0); + WaitForResponse(CMD_ACK, &response); + uint16_t traceLen = response.arg[2]; + if (traceLen > USB_CMD_DATA_SIZE) { + uint8_t *p = realloc(got, traceLen); + if (p == NULL) { + PrintAndLog("Cannot allocate memory for trace"); + free(got); + return 2; + } + got = p; + GetFromBigBuf(got, traceLen, 0); + WaitForResponse(CMD_ACK,NULL); + } + PrintAndLog("recorded activity: (TraceLen = %d bytes)", traceLen); PrintAndLog(" time :rssi: who bytes"); PrintAndLog("---------+----+----+-----------"); @@ -158,7 +172,7 @@ int CmdHF14BList(const char *Cmd) for(;;) { - if(i >= TRACE_BUFFER_SIZE) { break; } + if(i >= traceLen) { break; } bool isResponse; int timestamp = *((uint32_t *)(got+i)); @@ -175,7 +189,7 @@ int CmdHF14BList(const char *Cmd) if(len > 100) { break; } - if(i + len >= TRACE_BUFFER_SIZE) { + if(i + len >= traceLen) { break; } @@ -218,6 +232,7 @@ int CmdHF14BList(const char *Cmd) prev = timestamp; i += (len + 9); } + free(got); return 0; } diff --git a/client/cmdhfmf.c b/client/cmdhfmf.c index 24d04dc2d..f225359d7 100644 --- a/client/cmdhfmf.c +++ b/client/cmdhfmf.c @@ -1765,15 +1765,16 @@ int CmdHF14AMfSniff(const char *Cmd){ int res = 0; int len = 0; int blockLen = 0; - int num = 0; int pckNum = 0; - uint8_t uid[7] = {0x00}; + int num = 0; + uint8_t uid[7]; uint8_t uid_len; uint8_t atqa[2] = {0x00}; uint8_t sak; bool isTag; - uint8_t buf[3000] = {0x00}; - uint8_t * bufPtr = buf; + uint8_t *buf = NULL; + uint16_t bufsize = 0; + uint8_t *bufPtr = NULL; char ctmp = param_getchar(Cmd, 0); if ( ctmp == 'h' || ctmp == 'H' ) { @@ -1816,32 +1817,47 @@ int CmdHF14AMfSniff(const char *Cmd){ break; } - UsbCommand resp; - if (WaitForResponseTimeout(CMD_ACK,&resp,2000)) { + UsbCommand resp; + if (WaitForResponseTimeout(CMD_ACK,&resp,2000)) { res = resp.arg[0] & 0xff; - len = resp.arg[1]; - num = resp.arg[2]; - - if (res == 0) return 0; - if (res == 1) { - if (num ==0) { + uint16_t traceLen = resp.arg[1]; + len = resp.arg[2]; + + if (res == 0) return 0; // we are done + + if (res == 1) { // there is (more) data to be transferred + if (pckNum == 0) { // first packet, (re)allocate necessary buffer + if (traceLen > bufsize) { + uint8_t *p; + if (buf == NULL) { // not yet allocated + p = malloc(traceLen); + } else { // need more memory + p = realloc(buf, traceLen); + } + if (p == NULL) { + PrintAndLog("Cannot allocate memory for trace"); + free(buf); + return 2; + } + buf = p; + } bufPtr = buf; - memset(buf, 0x00, 3000); + bufsize = traceLen; + memset(buf, 0x00, traceLen); } memcpy(bufPtr, resp.d.asBytes, len); bufPtr += len; pckNum++; } - if (res == 2) { + + if (res == 2) { // received all data, start displaying blockLen = bufPtr - buf; bufPtr = buf; printf(">\n"); PrintAndLog("received trace len: %d packages: %d", blockLen, pckNum); - num = 0; while (bufPtr - buf < blockLen) { - bufPtr += 6; + bufPtr += 6; // skip (void) timing information len = *((uint16_t *)bufPtr); - if(len & 0x8000) { isTag = true; len &= 0x7fff; @@ -1850,12 +1866,10 @@ int CmdHF14AMfSniff(const char *Cmd){ } bufPtr += 2; if ((len == 14) && (bufPtr[0] == 0xff) && (bufPtr[1] == 0xff) && (bufPtr[12] == 0xff) && (bufPtr[13] == 0xff)) { - memcpy(uid, bufPtr + 2, 7); memcpy(atqa, bufPtr + 2 + 7, 2); uid_len = (atqa[0] & 0xC0) == 0x40 ? 7 : 4; sak = bufPtr[11]; - PrintAndLog("tag select uid:%s atqa:0x%02x%02x sak:0x%02x", sprint_hex(uid + (7 - uid_len), uid_len), atqa[1], @@ -1873,18 +1887,21 @@ int CmdHF14AMfSniff(const char *Cmd){ AddLogHex(logHexFileName, isTag ? "TAG: ":"RDR: ", bufPtr, len); if (wantDecrypt) mfTraceDecode(bufPtr, len, wantSaveToEmlFile); + num++; } bufPtr += len; bufPtr += ((len-1)/8+1); // ignore parity - num++; } + pckNum = 0; } } // resp not NULL } // while (true) - + + free(buf); return 0; } + static command_t CommandTable[] = { {"help", CmdHelp, 1, "This help"}, diff --git a/client/cmdlfhitag.c b/client/cmdlfhitag.c index 549c427c7..fe5ba5876 100644 --- a/client/cmdlfhitag.c +++ b/client/cmdlfhitag.c @@ -29,110 +29,125 @@ size_t nbytes(size_t nbits) { int CmdLFHitagList(const char *Cmd) { - uint8_t got[TRACE_BUFFER_SIZE]; - GetFromBigBuf(got,sizeof(got),0); - WaitForResponse(CMD_ACK,NULL); + uint8_t *got = malloc(USB_CMD_DATA_SIZE); - PrintAndLog("recorded activity:"); - PrintAndLog(" ETU :nbits: who bytes"); - PrintAndLog("---------+-----+----+-----------"); - - int i = 0; - int prev = -1; - int len = strlen(Cmd); - - char filename[FILE_PATH_SIZE] = { 0x00 }; - FILE* pf = NULL; - - if (len > FILE_PATH_SIZE) - len = FILE_PATH_SIZE; - memcpy(filename, Cmd, len); - - if (strlen(filename) > 0) { - if ((pf = fopen(filename,"wb")) == NULL) { - PrintAndLog("Error: Could not open file [%s]",filename); - return 1; + // Query for the actual size of the trace + UsbCommand response; + GetFromBigBuf(got, USB_CMD_DATA_SIZE, 0); + WaitForResponse(CMD_ACK, &response); + uint16_t traceLen = response.arg[2]; + if (traceLen > USB_CMD_DATA_SIZE) { + uint8_t *p = realloc(got, traceLen); + if (p == NULL) { + PrintAndLog("Cannot allocate memory for trace"); + free(got); + return 2; + } + got = p; + GetFromBigBuf(got, traceLen, 0); + WaitForResponse(CMD_ACK,NULL); } - } - - for (;;) { - - if(i >= TRACE_BUFFER_SIZE) { break; } - - bool isResponse; - int timestamp = *((uint32_t *)(got+i)); - if (timestamp & 0x80000000) { - timestamp &= 0x7fffffff; - isResponse = 1; - } else { - isResponse = 0; - } - - int parityBits = *((uint32_t *)(got+i+4)); - // 4 bytes of additional information... - // maximum of 32 additional parity bit information - // - // TODO: - // at each quarter bit period we can send power level (16 levels) - // or each half bit period in 256 levels. - - int bits = got[i+8]; - int len = nbytes(got[i+8]); - - if (len > 100) { - break; - } - if (i + len >= TRACE_BUFFER_SIZE) { break;} - - uint8_t *frame = (got+i+9); - - // Break and stick with current result if buffer was not completely full - if (frame[0] == 0x44 && frame[1] == 0x44 && frame[3] == 0x44) { break; } - - char line[1000] = ""; - int j; - for (j = 0; j < len; j++) { - int oddparity = 0x01; - int k; - - for (k=0;k<8;k++) { - oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); - } - - //if((parityBits >> (len - j - 1)) & 0x01) { - if (isResponse && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) { - sprintf(line+(j*4), "%02x! ", frame[j]); - } - else { - sprintf(line+(j*4), "%02x ", frame[j]); - } - } - - PrintAndLog(" +%7d: %3d: %s %s", - (prev < 0 ? 0 : (timestamp - prev)), - bits, - (isResponse ? "TAG" : " "), - line); - - - if (pf) { - fprintf(pf," +%7d: %3d: %s %s\n", - (prev < 0 ? 0 : (timestamp - prev)), - bits, - (isResponse ? "TAG" : " "), - line); - } - prev = timestamp; - i += (len + 9); - } - - if (pf) { - fclose(pf); - PrintAndLog("Recorded activity succesfully written to file: %s", filename); - } + PrintAndLog("recorded activity (TraceLen = %d bytes):"); + PrintAndLog(" ETU :nbits: who bytes"); + PrintAndLog("---------+-----+----+-----------"); - return 0; + int i = 0; + int prev = -1; + int len = strlen(Cmd); + + char filename[FILE_PATH_SIZE] = { 0x00 }; + FILE* pf = NULL; + + if (len > FILE_PATH_SIZE) + len = FILE_PATH_SIZE; + memcpy(filename, Cmd, len); + + if (strlen(filename) > 0) { + if ((pf = fopen(filename,"wb")) == NULL) { + PrintAndLog("Error: Could not open file [%s]",filename); + return 1; + } + } + + for (;;) { + + if(i > traceLen) { break; } + + bool isResponse; + int timestamp = *((uint32_t *)(got+i)); + if (timestamp & 0x80000000) { + timestamp &= 0x7fffffff; + isResponse = 1; + } else { + isResponse = 0; + } + + int parityBits = *((uint32_t *)(got+i+4)); + // 4 bytes of additional information... + // maximum of 32 additional parity bit information + // + // TODO: + // at each quarter bit period we can send power level (16 levels) + // or each half bit period in 256 levels. + + int bits = got[i+8]; + int len = nbytes(got[i+8]); + + if (len > 100) { + break; + } + if (i + len > traceLen) { break;} + + uint8_t *frame = (got+i+9); + + // Break and stick with current result if buffer was not completely full + if (frame[0] == 0x44 && frame[1] == 0x44 && frame[3] == 0x44) { break; } + + char line[1000] = ""; + int j; + for (j = 0; j < len; j++) { + int oddparity = 0x01; + int k; + + for (k=0;k<8;k++) { + oddparity ^= (((frame[j] & 0xFF) >> k) & 0x01); + } + + //if((parityBits >> (len - j - 1)) & 0x01) { + if (isResponse && (oddparity != ((parityBits >> (len - j - 1)) & 0x01))) { + sprintf(line+(j*4), "%02x! ", frame[j]); + } + else { + sprintf(line+(j*4), "%02x ", frame[j]); + } + } + + PrintAndLog(" +%7d: %3d: %s %s", + (prev < 0 ? 0 : (timestamp - prev)), + bits, + (isResponse ? "TAG" : " "), + line); + + if (pf) { + fprintf(pf," +%7d: %3d: %s %s\n", + (prev < 0 ? 0 : (timestamp - prev)), + bits, + (isResponse ? "TAG" : " "), + line); + } + + prev = timestamp; + i += (len + 9); + } + + if (pf) { + fclose(pf); + PrintAndLog("Recorded activity succesfully written to file: %s", filename); + } + + free(got); + return 0; } int CmdLFHitagSnoop(const char *Cmd) { diff --git a/client/cmdmain.c b/client/cmdmain.c index 15cb3f987..512aa13cc 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -188,7 +188,6 @@ void UsbCommandReceived(UsbCommand *UC) } break; case CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K: { - sample_buf_len += UC->arg[1]; memcpy(sample_buf+(UC->arg[0]),UC->d.asBytes,UC->arg[1]); } break; diff --git a/client/data.c b/client/data.c index 3f0193266..4d7d1e410 100644 --- a/client/data.c +++ b/client/data.c @@ -16,11 +16,9 @@ #include "cmdmain.h" uint8_t* sample_buf; -size_t sample_buf_len; void GetFromBigBuf(uint8_t *dest, int bytes, int start_index) { - sample_buf_len = 0; sample_buf = dest; UsbCommand c = {CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K, {start_index, bytes, 0}}; SendCommand(&c); diff --git a/client/data.h b/client/data.h index 41bd9a414..7d85e1f15 100644 --- a/client/data.h +++ b/client/data.h @@ -13,13 +13,9 @@ #include -//trace buffer size as defined in armsrc/apps.h TRACE_SIZE -#define TRACE_BUFFER_SIZE 4096 #define FILE_PATH_SIZE 1000 -#define SAMPLE_BUFFER_SIZE 64 extern uint8_t* sample_buf; -extern size_t sample_buf_len; #define arraylen(x) (sizeof(x)/sizeof((x)[0])) void GetFromBigBuf(uint8_t *dest, int bytes, int start_index); diff --git a/include/hitag2.h b/include/hitag2.h index 713c2cb8c..ca15d81d2 100644 --- a/include/hitag2.h +++ b/include/hitag2.h @@ -14,8 +14,8 @@ typedef enum { RHT2F_PASSWORD = 21, RHT2F_AUTHENTICATE = 22, - RHT2F_CRYPTO = 23, - RHT2F_TEST_AUTH_ATTEMPTS = 25, + RHT2F_CRYPTO = 23, + RHT2F_TEST_AUTH_ATTEMPTS = 25, } hitag_function; typedef struct { @@ -33,7 +33,7 @@ typedef struct { typedef union { rht2d_password pwd; rht2d_authenticate auth; - rht2d_crypto crypto; + rht2d_crypto crypto; } hitag_data; #endif From 08ebca682cc85e938b3863d60e74ebf5b728a622 Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 28 Jan 2015 11:45:31 -0500 Subject: [PATCH 130/133] lf hid fskdemod bug re-introduced in last bigbuf changes --- armsrc/lfops.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index 31ee63588..b703c3cdf 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -633,8 +633,8 @@ void CmdHIDsimTAG(int hi, int lo, int ledcontrol) void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) { uint8_t *dest = BigBuf_get_addr(); - - size_t size = BigBuf_max_traceLen(); + const size_t sizeOfBigBuff = BigBuf_max_traceLen(); + size_t size = 0; uint32_t hi2=0, hi=0, lo=0; int idx=0; // Configure to go in 125Khz listen mode @@ -647,6 +647,7 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) DoAcquisition125k_internal(-1,true); // FSK demodulator + size = sizeOfBigBuff; //variable size will change after demod so re initialize it before use idx = HIDdemodFSK(dest, &size, &hi2, &hi, &lo); if (idx>0 && lo>0){ From 0892b968ceaacda1b295ba7afa4553b48479f9eb Mon Sep 17 00:00:00 2001 From: marshmellow42 Date: Wed, 28 Jan 2015 12:55:04 -0500 Subject: [PATCH 131/133] fix hid prox standalone bug Fixed standalone bug by re-making the function return the hi and lo values. (used only by samyrun function in appmain.c) --- armsrc/lfops.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/armsrc/lfops.c b/armsrc/lfops.c index b703c3cdf..7b6fa97a7 100644 --- a/armsrc/lfops.c +++ b/armsrc/lfops.c @@ -706,6 +706,8 @@ void CmdHIDdemodFSK(int findone, int *high, int *low, int ledcontrol) } if (findone){ if (ledcontrol) LED_A_OFF(); + *high = hi; + *low = lo; return; } // reset @@ -753,6 +755,8 @@ void CmdEM410xdemod(int findone, int *high, int *low, int ledcontrol) } if (findone){ if (ledcontrol) LED_A_OFF(); + *high=lo>>32; + *low=lo & 0xFFFFFFFF; return; } } else{ @@ -819,6 +823,8 @@ void CmdIOdemodFSK(int findone, int *high, int *low, int ledcontrol) if (findone){ if (ledcontrol) LED_A_OFF(); //LED_A_OFF(); + *high=code; + *low=code2; return; } code=code2=0; From b3cc5f298707e54bd5c6c8e98f5d13a130baa77c Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 29 Jan 2015 19:58:46 +0100 Subject: [PATCH 132/133] Reverted erroneous commit from bigbuf-rework --- armsrc/iclass.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/armsrc/iclass.c b/armsrc/iclass.c index 4436602cf..1a3751182 100644 --- a/armsrc/iclass.c +++ b/armsrc/iclass.c @@ -1085,8 +1085,8 @@ int doIClassSimulation(uint8_t csn[], int breakAfterMacReceived, uint8_t *reader int resp3Len; // e-Purse - // 144: Takes 16 bytes for SOF/EOF and 8 * 16 = 128 bytes (2 bytes/bit) - uint8_t *resp4 = BigBuf_malloc(150); + // 18: Takes 2 bytes for SOF/EOF and 8 * 2 = 16 bytes (2 bytes/bit) + uint8_t *resp4 = BigBuf_malloc(20); int resp4Len; uint8_t *receivedCmd = BigBuf_malloc(MAX_FRAME_SIZE); From 92623113b43d1f36cb72e61b8ce29ac74cf7db71 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 29 Jan 2015 20:01:30 +0100 Subject: [PATCH 133/133] Minor documentation on 'hf list' --- client/cmdhf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/client/cmdhf.c b/client/cmdhf.c index 1dae1d9b9..a55c41b2b 100644 --- a/client/cmdhf.c +++ b/client/cmdhf.c @@ -554,12 +554,13 @@ int CmdHFList(const char *Cmd) if (errors) { PrintAndLog("List protocol data in trace buffer."); - PrintAndLog("Usage: hf list [14a|14b|iclass] [f]"); + PrintAndLog("Usage: hf list [f]"); + PrintAndLog(" f - show frame delay times as well"); + PrintAndLog("Supported values:"); + PrintAndLog(" raw - just show raw data without annotations"); PrintAndLog(" 14a - interpret data as iso14443a communications"); PrintAndLog(" 14b - interpret data as iso14443b communications"); PrintAndLog(" iclass - interpret data as iclass communications"); - PrintAndLog(" raw - just show raw data"); - PrintAndLog(" f - show frame delay times as well"); PrintAndLog(""); PrintAndLog("example: hf list 14a f"); PrintAndLog("example: hf list iclass");